Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego radmat radmat@math.uni.lodz.
|
|
- Arkadiusz Milewski
- 8 lat temu
- Przeglądów:
Transkrypt
1 Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego radmat radmat@math.uni.lodz.pl
2 Konwersja i walidacja W wyniku działania konwersji i walidacji surowe dane, przesyłane w postaci żądania HTTP, przekształcane są na logiczne struktury danych występujące w Javie. Następnie sprawdzane są pod kątem poprawności. Dzięki temu możemy zapomnieć o wielu pojawiających się problemach, które ujawniają się w przypadku innych technologii webowych. JSF zadba za nas niemal o wszystko. Procesy konwertowania i walidacji stanowią istotną część drugiej i trzeciej fazy cyklu życia aplikacji JSF. Po wykonaniu pierwszego kroku JSF wie, czy żądanie przesłane przez użytkownika zostało zrealizowane po raz pierwszy w obrębie danej sesji (tzw. initial view), czy też użytkownik korzysta z danego widoku po raz kolejny (tzw. postback). Oczywiście w pierwszym przypadku konwertowanie i walidacja nie występują, ponieważ użytkownik nie miał możliwości przesłania żadnych danych, które podlegałyby konwersji i walidacji.
3 Konwertowanie standardowych wartości jest procesem w dużym stopniu zautomatyzowanym. Wszystkie prymitywne typy danych, takie jak int, double, itp. mogą być bez problemu konwertowane do typu String i odwrotnie. Dzięki temu wartość typu double zapisana np. w polu tekstowym zostanie wyświetlona poprawnie, natomiast po zmianie tej wartości przez użytkownika, Java spróbuje dokonać konwersji łańcucha znaków na liczbę. Jeśli operacja ta przebiegnie poprawnie, to wartość pola zostanie przekazana dalej do walidacji. Problemy zaczynają się, gdy istnieje potrzeba skorzystania z klasy, która nie może być automatycznie konwertowana na typ String. W tej sytuacji konieczne staje się napisanie własnego konwertera.
4 Konwertery standardowe W zdecydowanej większości typowych przypadków konwersja realizowana jest za pomocą standardowych konwerterów. Programiści firmy Sun udostępnili standardowe konwertety dla wartości typów prymitywnych: 1 Liczb całkowitych IntegerConverter LongConverter ShortConverter ByteConverter 2 Liczb zmiennoprzecinkowych DoubleConverter FloatConverter 3 Znaków CharacterConverter 4 Wartości logicznych BooleanConverter
5 Oprócz wymienionych powyżej konwerterów typów prymitywnych otrzymujemy dwa dodatkowe: BigIntegerConverter - dzięki któremu można wykonywać operacje na liczbach całkowitych o dowolnej długości BigDecimalConverter - dzięki któremu można wykonywać operacje na liczbach zmiennoprzecinkowych o dowolnej długości
6 NumberConverter - rozbudowany konwerter liczb Nie w każdym przypadku konwersji liczb wystarczą nam powyższe konwertery. Trochę więcej możliowści konwersji daje klasa NumberConverter. <h:inputtext id="info" value="#{ziarno.kwota}"> <f:convertnumber type="currency" /> </h:inputtext>
7 Najważniejsze atrybuty: minfractiondigits - minimalna liczba cyfr umieszczonych po przecinku maxfractiondigits - maksymalna liczba cyfr umieszczonych po przecinku minintegerdigits - minimalna liczba cyfr części ułamkowej maxintegerdigits - maksymalna liczba cyfr części ułamkowej integeronly - określa, czy powinna być zwracana jedynie część całkowita liczby type - określa typ konwertowanej liczby. Dozwolonymi wartościami są: percent (procent), currency (kwota pieniężna), number (liczba) pattern - określa wzorzec, jaki musi spełniać konwertowany łańcuch znaków. Wzorzec ten musi spełniać reguły określone w java.text.decimalformat.
8 Zauważmy, że w zależności od przekazanej wartości i ustawień niektórych atrybutów, konwerter może zwrócić obiekt typu Long lub Double. Oba typy dziedziczą po klasie Number, dlatego to właśnie atrybuty tej klasy powinny być deklarowane w klasie ziaren zarządzanych.
9 DataTimeConverter - konwerter daty i czasu Data i czas - analogicznie jak w przypadku wcześniejszych technologii - reprezentowane są w JSF przez klasę java.util.date. W przeciwieństwie do pozostałych klas konwerterów standardowych, konwerter DataTimeConverter nie zawsze zadziała zgodnie z naszymi oczekiwaniami! Związane jest to z możliwością różnego zapisu daty i czasu. Niezbędne okazuje się wówczas jawne określenie konwertera, opcjonalnie z dodatkowymi argumentami. Można to uczynić w następujący sposób: <h:inputtext id="info" value="#{ziarno.czas}"> <f:convertdatatime type="time" /> </h:inputtext>
10 Ten prosty zapis pozwala na uzyskanie oczekiwanego przez nas efektu. Oczywiście kontrola nad konwertowaniem daty i czasu może być bardziej wyrafinowana, dzięki zastosowaniu atrybutów: type - określa składowe, jakie mogą wystąpić w obrębie zmiennej typu Date. Dozwolonymi wartościami są date, time i both. datastyle - określa jeden z predefiniowanych formatów daty, jaki może przyjąć zmienna. Dozwolonymi wartościami są default, short, medium, long, full. timestyle - określa jeden z predefiniowanych formatów czasu, jaki może przyjąć zmienna. Dozwolone wartości są takie same, jak w przypadku datastyle. pattern - określa dowolny schemat daty i czasu, zgodny ze specyfikacją akceptowaną przez klasę java.text.simpledataformat. Np. wzorcowi h:mm odpowiadają m.in. 02:18, 09:30, czy 18:00.
11 EnumConverter - konwerter typu wyliczeniowego Typy wyliczeniowe rzadko występują w aplikacjach webowych. Twórcy takich aplikacji często bowiem zamiast tradycyjnego typu wyliczeniowego stosują zwykłe łańcuchy znaków. Zauważmy bowiem, że typy wyliczeniowe są de facto łańcuchami znaków. W związku z tym konwerter typu wyliczeniowego EnumCoverter nie sprawia tylu kłopotów, ile konwerter daty i czasu. Koniecznie trzeba zwrócić uwagę w jaki sposób należy wprowadzać wartości tekstowe, aby te zostały dopasowane do typu wyliczeniowego. Oczywiście należy wprowadzać je dokładnie, trzeba zachować wielkości znaków i nie stosować białych znaków. Za bezpośrednią operację konwersji tekstu do typu wyliczeniowego odpowiedzielna jest metoda Enum.ValueOf().
12 Przykład konwertera Wbrew pozorom napisanie własnego konwertera nie jest skomplikowane. Musimy jedynie obsłużyć dwie kluczowe operacje, czyli konwersję wprowadzonego do aplikacji typu do łańcucha znaków oraz operację odwrotną. Po utworzeniu klasy musimy jedynie dodać odpowiednie wpisy w pliku faces-config.xml. Klasa konwertera musi implementować interfejs javax.faces.convert.converter. Dzięki temu interfejsowi można zapomnieć o interakcji z JSF. Można zaimplementować następujące metody: Object getasobject(facescontext kontekst, UIComponent komponent, String wartość) - metoda ta zwraca obiekt przekonwertowany z podanej wartości tekstowej. Komponent określa skąd została pobrana wartość. String getasstring(facescontext kontekst, UIComponent komponent, Object wartosc) - metoda ta zwraca łańcuch znaków, utworzony na podstawie przekazanego obiektu.
13 Walidator Wszystkie walidatory muszą implementować interfejs javax.faces.validator.validator. W tej klasie implementuje się jedną metodę public void validate (FacesContext kontekst, UIComponent komponent, Object wartość), która poddaje walidacji przekazaną wartość uzyskaną z danego komponentu, w aplikacji o podanym kontekście. W przypadku błędu, metoda powinna wyrzucić wyjątek ValidatorException.
14 Walidacja liczb Walidatory DoubleRangeValidator i LongRangeValidator odpowiadają za walidację liczb, które mieszczą się w zakresie podanym w atrybutach minimum i maximum. <h:inputtext id="wiek" value="#{osoba.wiek}"> <f:validatelongrange minimum="1" maximum="110" /> </h:inputtext>
15 Walidacja łańcuchów znaków Za walidację łańcuchów znaków odpowiada klasa LengthValidator. Udostępnia - podobnie jak walidatory liczb - atrybuty minimum i maximum, które określają minimalną i maksymalną długość łańcucha znaków, który podlega walidacji: <h:inputtext id="imie" value="#{osoba.imie}"> <f:validatelength minimum="3" maximum="15" /> </h:inputtext>
16 Jeden z podstawowych mechanizmów walidacji może polegać na sprawdzaniu, czy wartość danego pola została wypełniona. JSF daje taką możliwość, ale nie za pomocą osobnego walidatora. Wystarczy bowiem skorzystać z atrybutów required i requiredmessage komponentów wejścia. Pierwszy z nich określa, czy wprowadzenie wartości w danym polu jest obowiązkowe. Drugi natomiast zawiera informację, która zostanie wyświetlona w przypadku, gdy pole nie zostanie wypełnione: <h:inputtext id="imie" value="#{osoba.imie}" required="true" requiredmessage="nie podano imienia." />
17 Przykład konwertera i walidatora Napiszemy teraz klasę, której zadanie będzie polegało na konwertowaniu oddzielonych spacjami liczb (wprowadzanymi z pól tekstowych) do listy liczb całkowitych i odwrotnie. Taki konwerter wykorzystamy do obliczania sumy dowolnej ilość liczb.
18 Klasa Kalkulator.java public class Kalkulator { private int liczba1; private int liczba2; private int suma; private ListaLiczb liczby; public int getliczba1() { return liczba1; } public void setliczba1(int liczba1) { this.liczba1=liczba1; }
19 public int getliczba2() { return liczba2; } public void setliczba2(int liczba2) { this.liczba2=liczba2; } public int getsuma() { return suma; } public String oblicz() { this.suma=this.getliczba1()+this.getliczba2(); return null; }
20 public ListaLiczb getliczby() { return liczby; } public void setliczby(listaliczb liczby) { this.liczby=liczby; } } public String obliczmulti() { this.suma=this.getliczby().getsuma(); return null; }
21 Klasa ListaLiczb.java import java.util.list; public class ListaLiczb { private List<Integer> lista; public List<Integer> getlista() { return lista; } public void setlista(list<integer> lista) { this.lista=lista; }
22 } public int getsuma() { if(lista==null) return 0; int suma=0; for(integer i:this.lista) suma+=i; return suma; }
23 Klasa KonwerterLiczbJava import java.util.arraylist; import java.util.list; import javax.faces.application.facesmessage; import javax.faces.component.uicomponent; import javax.faces.context.facescontext; import javax.faces.convert.converterexception;
24 public class KonwerterLiczb implements javax.faces.convert.converter { public String getasstring(facescontext kontekst, UIComponent komponent, Object wartosc) { if(!(wartosc instanceof ListaLiczb)) throw new ConverterException (new FacesMessage("Blad konwersji.")); } List<Integer> lista =((ListaLiczb)wartosc).getLista(); String wynik=""; for(integer i:lista) wynik+=(i+" "); return wynik;
25 public Object getasobject(facescontext kontekst, UIComponent komponent, String wartosc) { String[] liczby=wartosc.split(" "); List<Integer> lista=new ArrayList<Integer>(); for(string s:liczby) { try { Integer i=integer.valueof(s); lista.add(i); } catch(numberformatexception nfe) { throw new ConverterException (new FacesMessage("Blad konwersji.")); } }
26 } } ListaLiczb ll=new ListaLiczb(); ll.setlista(lista); return ll;
27 Plik index.xhtml <?xml version= 1.0 encoding= UTF-8?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " <html xmlns=" xmlns:h=" <h:head> <title>kalkulator</title> </h:head>
28 <h:body> <h:form id="formularz"> <h:outputlabel for="formularz:liczba1"> Liczba 1:</h:outputLabel> <h:inputtext id="liczba1" value="#{kalkulator.liczba1}" required="true" requiredmessage="podaj 1 liczbe" /> <br />
29 <h:outputlabel for="formularz:liczba2"> Liczba 2:</h:outputLabel> <h:inputtext id="liczba2" value="#{kalkulator.liczba2}" required="true" requiredmessage="podaj 2 liczbe" /> <br /> <h:outputlabel for="formularz:liczby"> Liczby:</h:outputLabel> <h:inputtext id="liczby" value="#{kalkulator.liczby}" required="true" requiredmessage="podaj liczby" /> <br />
30 <h:commandbutton value="oblicz" action="#{kalkulator.oblicz}" /> <h:commandbutton value="oblicz sumę" action="#{kalkulator.obliczmulti}" /> <br /> <h:outputtext value="suma: #{kalkulator.suma}" /> </h:form> </h:body> </html>
31 Plik index.xhtml z własnym walidatorem <h:outputlabel for="formularz:liczba1"> Liczba 1:</h:outputLabel> <h:inputtext id="liczba1" value="#{kalkulator.liczba1}" /> <br /> <h:outputlabel for="formularz:liczba2"> Liczba 2:</h:outputLabel> <h:inputtext id="liczba2" value="#{kalkulator.liczba2}" /> <br /> <h:outputlabel for="formularz:liczby"> Liczby:</h:outputLabel>
32 <h:inputtext id="liczby" value="#{kalkulator.liczby}" > <f:validator id="walidator" validatorid="walidatorliczb"> /> </h:inputtext> <br /> <h:commandbutton value="oblicz" action="#{kalkulator.oblicz}" /> <h:commandbutton value="oblicz sumę" action="#{kalkulator.obliczmulti}" /> <br /> <h:outputtext value="suma: #{kalkulator.suma}" /> </h:form> </h:body> </html>
33 <faces-config xmlns=" xmlns:xsi=" xsi:schemalocation=" version="2.1"> <managed-bean> <managed-bean-name>kalkulator</managed-bean-name> <managed-bean-class> pl.helion.jeeweb.fazyaplikacjijsf.kalkulator </managed-bean-class> <managed-bean-scope>request</managed-bean-scope> </managed-bean>
34 <converter> <converter-for-class> pl.helion.jeeweb.fazyaplikacjijsf.listaliczb </converter-for-class> <converter-class> pl.helion.jeeweb.fazyaplikacjijsf.konwerterlicz </converter-class> </converter> </faces-config>
35 JPA W przypadku wielu aplikacji internetowych źródłem danych jest baza danych, działająca w obrębie wybranego serwera bazodanowego, który najczęściej funkcjonuje w architekturze klient-serwer. Z reguły dostęp do bazy danych odbywa się za pomocą języka zapytań SQL, dzięki któremu możliwe jest tworzenie baz danych i wszystkich elementów wchodzących w jej skład, czyli tabel, widoków, itp., a także oczywiście wypełnianie bazy danymi. Język SQL (w przeciwieństwie do języków programowania takich jak np. C++, czy Java) występuje w różnych odmianach, w zależności od serwera bazodanowego, w którym został zaimplementowany. Można m.in. wyróżnić następujące języki, wywodzące się od standardu SQL: T-SQL (Microsoft SQL Server) PL/SQL (Oracle) PL/pgSQL (PostreSQL) MySQL
36 Różnice te sprawiają, że tworzenie aplikacji z wykorzystaniem jednego standardu języka SQL trzeba pisać z myślą o konkretnej implementacji języka SQL. Problem ten został dostrzeżony przez programistów Javy. Jego rozwiązanie polega na wykorzystaniu technologii JDBC - Java DataBase Connectivity. Technologia ta pełni funkcję interfejsu między aplikacjami tworzonymi w języku Java, a konkretnymi implementacjami baz danych SQL. Dzięki zastosowaniu JDBC można tworzyć aplikacje używając jednolitego zestawu klas, niezależnie od zastosowanej implementacji. Szczegóły połączenia z bazą danych mogą być przechowywane w jednym miejscu aplikacji, dzięki czemu ewentualne zmiany ustawień nie stanowią problemu.
37 Mimo ustandaryzowania sposobu połączenia i komunikacji z bazą danych, zapytania SQL nadal pozostawały zależne od konkretnej bazy danych. W przypadku rozbudowanych aplikacji webowych bardzo kłopotliwe było wprowadzanie zmian do klas korzystających z baz danych. Natomiast sam kod był bardzo nieprzejrzysty.
38 ORM ORM (Object-Relational Mapping) - mapowanie obiektowo-relacyjne. Zadaniem tego mechanizmu jest odwzorowywanie obiektów istniejących w obrębie języków programowania i powiązań między tymi obiektami na relacje istniejące w relacyjnych bazach danych. Zasadę działania mechanizmu ORM można podzielić na etapy: 1 Przygotowania - polegają na zestawieniu połączenia z bazą danych oraz utworzeniu odwzorowań pomiędzy obiektami, a relacjami występującymi w bazie danych. 2 Właściwe operacje - na tym etapie wykonujemy żądane operacje w języku SQL na danych.
39 Hibernate Hibernate jest najpopularniejszą implementacją odwzorowania ORM dla języka Java. Założeniem jego twórców było zaoferowanie rozwiązania określanego po angielsku jako Relational Persistence For Idiomatic Java, co oznacza zapewnienie trwałości obiektów ze wsparciem dla wszystkich mechanizmów obiektowych języka Java, takich jak obsługa asocjacji, kompozycji, dziedziczenia, polimorfizmu i kolekcji. Hibernate cechuje wysoka wydajność i skalowalność oraz wiele możliwości wydawania zapytań do bazy danych. Jest rozwiązaniem kategorii professional open source. Z jednej strony jego źródła są dostępne, a z drugiej jest on rozwijany przez firmę JBoss Inc., będącą znaczącym graczem na rynku serwerów aplikacj.
40 Architektura Hibernate: Rysunek: Architektura Hibernate
41 Stany obiektu w Hibernate 1 Ulotny (ang. transient) utworzony operatorem new, ale niezwiązany z sesją 2 Trwały (ang. persistent) posiada identyfikator i reprezentację w bazie danych związany z sesją 3 Odłączony (ang. detached) obiekt, który był trwały, ale jego sesja się zakończyła można go modyfikować, a następnie związać z nową sesją
42 Obsługa trwałości obiektów w aplikacjach opartych o Hibernate polega głównie na wywoływaniu odpowiednich metod na rzecz obiektu Session. Do uczynienia obiektu trwałym służy metoda save() obiektu Session. Odczyt obiektu o znanym identyfikatorze umożliwiają bardzo podobne do siebie metody load() i get() obiektu Session, natomiast do usuwania reprezentacji obiektu z bazy danych służy metoda delete() obiektu Session.
43 Klasy trwałe public class Osoba { private Long ID; private String nazwisko; public void setid(long ID) { this.id=id; } public Long getid() { return ID; } public void setnazwisko(string nazwisko) { this.nazwisko=nazwisko; } public String getnazwisko() { return nazwisko; } }
44 Trwałe klasy to klasy implementujące encje występujące w modelu danych aplikacji. Nie wszystkie instancje trwałej klasy muszą być trwałe. Hibernate najlepiej działa z klasami spełniającymi reguły POJO - Plain Old Java Object. Klasy POJO dla Hibernate muszą posiadać metody set / get dla trwałych pól i bezargumentowy konstruktor. Zalecane jest, aby klasa posiadała wyróżniony identyfikator (najlepiej sztuczny) w formie dodatkowego pola w klasie, typu nieprostego.
45 Odwzorowanie obiektowo-relacyjne w Hibernate jest definiowane w pliku lub plikach XML. Typowo odwzorowanie dla każdej trwałej klasy opisane jest w odrębnym pliku z rozszerzeniem.hbm.xml. Język do opisu odwzorowania jest zorientowany na opis odwzorowania z punktu widzenia klasy Java, a nie tabeli. Dokumenty opisujące odwzorowanie można tworzyć ręcznie lub korzystając z narzędzi. Istnieją generatory tworzące plik odwzorowania na podstawie klasy POJO, a także generujące klasy POJO i pliki odwzorowania dla istniejących tabel w bazie danych. Dokumenty opisujące odwzorowanie wskazywane są w pliku konfiguracyjnym hibernate.cfg.xml, ale mogą też być wskazane programowo w aplikacji.
46 Praca z obiektami Utworzenie i zachowanie obiektu Osoba o=new Osoba(); o.setnazwisko("kowalski"); Long ID=(Long)session.save(o); Odczyt i modyfikacja obiektu Osoba o=osoba()session.load(osoba.class, new Long(20)) o.setnazwisko("kowalski"); Usuwanie obiektu Osoba o=osoba()session.load(osoba.class, new Long(20)) session.delete(o);
47 Przykład asocjacji Załóżmy, że mamy dwie klasy trwałe: Wydział i Osoba, będące w relacji 1:N. Plik Osoba.java public class Osoba { private Long id; private String nazwisko; private Wydział w; } Plik Osoba.hbm.xml <class name="osoba" table="osoba">... <many-to-one name="w" column="osoba_id" not-null="true" /> </class>
48 Plik Wydział.java public class Wydział { private Long id; private String nazwa; private Set os; } Plik Wydział.hbm.xml <class name="wydział" table="wydział">... <set name="os"> <key column="osoba_id" /> <one-to-many class="wydział" /> </set> </class>
49 Język zapytań HQL Zapytania w HQL (Hibernate Query Language) mają następujące cechy: składnia podobna do języka SQL zorientowany obiektowo zapytania odwołują się do klas, a nie do tabel FROM osoba AS o WHERE o.nazwisko LIKE Kowalski ; Pełna składnia: List osoba=(list)session.createquery( "FROM osoba AS o WHERE o.nazwisko LIKE Kowalski ").list();
50 Java Persistance Java Persistence to nowy, opracowany razem z EJB 3.0 standard zapewniania trwałości obiektów w aplikacjach Java EE i Java SE, stanowiący część specyfikacji Java EE od wersji 5.0. Został on opracowany razem z EJB 3.0 w odpowiedzi na niepowodzenie lansowanej do tej pory koncepcji encyjnych EJB i niewątpliwy sukces technologii odwzorowania obiektowo-relacyjnego takich jak Hibernate czy Oracle Toplink. Technologie te, mimo że oparte o te same idee, różnią się jeśli chodzi o API. Standard Java Persistence jest oparty o odwzorowanie obiektowo-relacyjne i definiuje standardowe API do obsługi trwałości obiektów.
51 Elementy standardu Java Persistence to: Interfejs programistyczny Java Persistence API, obejmujący interfejs do zarządcy trwałości EntityManager; Język zapytań Java Persistence Query Language (JPQL), o składni przypominającej SQL, umożliwiający tworzenie przenaszalnych zapytań; Metadane o odwzorowaniu obiektowo-relacyjnym, najczęściej umieszczone w kodzie w formie adnotacji, z możliwością dodatkowej konfiguracji w środowisku produkcyjnym poprzez XML-owe pliki konfiguracyjne.
52 public class Blad implements Serializable private Long id; private String opis; public Blad() {}; public Long getid() {return id;} public void setid (Long id) {this.id=id;} public String getopis() {return opis;} public void setopis (String opis) { this.opis=opis; } }
53 Zapytania do bazy danych 1 Rodzaje zapytań (metody obiektu EntityManager): dynamiczne w JPQL - createquery() dynamiczne natywne - createnativequery() zapewniają lepszą optymalizację nazwane (JPQL lub natywne) - createnamedquery() 2 Wykonanie zapytania (metody obiektu Query): getresultlist() - zwraca wyniki zapytania jako kolekcję typu List getsingleresult() - służy do odczytu pojedynczego wyniku zapytania w postaci obiektu Object executeupdate() - służy do wykonania polecenia UPDATE lub DELETE
54 Zapytanie dynamiczne EntityManager em;... List<Blad> wynik=null; Query q=em.createquery("select b FROM Blad WHERE b.opis LIKE %problem % "); wynik=q.getresultlist();
55 Zapytanie nazwane query= "SELECT b FROM Blad b WHERE b.opis LIKE:klucz")... EntityManager em;... <List> Blad wynik=null; wynik=em.createnamequery("szukaj").setparameter( "klucz","%krytyczny%").getresultlist();
Mapowanie obiektowo-relacyjne z wykorzystaniem Hibernate
Wirtualne przedsiębiorstwo II Mapowanie obiektowo-relacyjne z wykorzystaniem Hibernate Łukasz Macierzyński 157588 Daniel Nikończuk 157621 Kacper Oko 157626 Agenda 1. Co to jest mapowanie obiektowo-relacyjne
Bardziej szczegółowoBazy danych tworzenie aplikacji bazodanowych ORM / JPA
Bazy danych tworzenie aplikacji bazodanowych ORM / JPA ORM (Object Relationa Mapping)/ORB (Object Relational Broker) to nazwa mechanizmu tłumaczenia obiektowej postaci danych wykorzystywanej w aplikacjach
Bardziej szczegółowoProgramowanie wielowarstwowe i komponentowe
Programowanie wielowarstwowe i komponentowe HIBERNATE CD. Rodzaje relacji Jeden do wielu Pojedyncza Osoba ma wiele Wpisów Wiele do jednego Wiele Wpisów należy do jednej Osoby Jeden do jednego Pojedyncza
Bardziej szczegółowoDostęp do baz danych w aplikacjach Java EE
Dostęp do baz danych w aplikacjach Java EE Wykład prowadzi: Marek Wojciechowski JDBC SQLJ Plan wykładu Biblioteka znaczników JSTL SQL EJB (do wersji 2.1) Odwzorowanie obiektowo-relacyjne (O/RM) Java Persistence
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha
Bardziej szczegółowoJava Server Faces narzędzie do implementacji w wy prezentacji
Java Server Faces narzędzie do implementacji w wy prezentacji pojęcie komponentu powiązanie z modelem danych widok (View) jako drzewo komponentów obiekty pomocnicze: konwertery, walidatory, obsługa zdarzeń
Bardziej szczegółowoMetody dostępu do danych
Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie materiałów dra inż. Juliusza Mikody Jak działa JDO Podstawowym zadaniem JDO jest umożliwienie aplikacjom Javy transparentnego umieszczenia
Bardziej szczegółowoInformacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4
Utrwalanie danych zastosowanie obiektowego modelu danych warstwy biznesowej do generowania schematu relacyjnej bazy danych Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 1. Relacyjne
Bardziej szczegółowoKonwersja danych. Programowanie komponentowe 4. wg http://docs.oracle.com/javaee/6/tutorial/doc/ bnaph.html
Konwersja danych wg http://docs.oracle.com/javaee/6/tutorial/doc/ bnaph.html Programowanie komponentowe 4 Znaczniki typu f: 1. Podstawowe znaczniki JSF Znaczniki do obsługi zdarzeń f:actionlistener f:phaselistener
Bardziej szczegółowoBudowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz
Budowa prostej aplikacji wielowarstwowej Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz Konfigurowanie edytora programu za pomocą Tools/Options/Editor Konfigurowanie edytora programu za pomocą
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Bardziej szczegółowoSerwery aplikacji. dr Radosław Matusik. radmat
www.math.uni.lodz.pl/ radmat EL - Expression Language Załóżmy, że mamy klasę Pracownik, której atrybutem jest PESEL. Załóżmy dalej, że w atrybucie sesji zalogowany przechowujemy obiekt aktualnie zalogowanego
Bardziej szczegółowoTworzenie aplikacji dla Oracle Application Server 10g R3 w technologii EJB 3.0
Tworzenie aplikacji dla Oracle Application Server 10g R3 w technologii EJB 3.0 Marek Wojciechowski Politechnika Poznańska, PLOUG e mail: Marek.Wojciechowski@cs.put.poznan.pl Abstrakt. Jedną z nowych cech
Bardziej szczegółowoPodejście obiektowe do relacyjnych baz danych Hibernate.
Podejście obiektowe do relacyjnych baz danych Hibernate. Plan wykładu Czym jest Hibernate? Jakie są zalety pracy z Hibernate? Jak skonfigurować Hibernate? Jak korzystać z Hibernate? Praktyczne przykłady
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 13 Marcin Młotkowski 24 maja 2018 Plan wykładu 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 509 / 553 Plan wykładu Trwałość obiektów 1 Trwałość obiektów
Bardziej szczegółowoMetody dostępu do danych
Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie wykładów dra inż. Juliusza Mikody Obiekt interfejsu Session Jest to podstawowy interfejs komunikacji pomiędzy aplikacją, a API Hibernate
Bardziej szczegółowo1 Wprowadzenie do J2EE
Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2
Bardziej szczegółowoNHibernate Hibernate dla platformy.net. Hibernate posiada także dużą społeczność, zatem nietrudno uzyskać jakieś wsparcie w przypadku problemów.
Hibernate Każda poważniejsza aplikacja wymaga przechowywania danych w jakiejś bazie danych. Można realizować to na wiele sposobów. Można obsługę bazy danych pisać samodzielnie, do zera, albo skorzystać
Bardziej szczegółowoProgramowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych
Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,
Bardziej szczegółowoODWZOROWANIE OBIEKTOWO-RELACYJNE
PODSTAWY BAZ DANYCH Mateusz Wojtaszek Agnieszka Walczak Kamil Lisiecki ODWZOROWANIE OBIEKTOWO-RELACYJNE Co to jest ORM? ORM to skrótowe oznaczenie dla "mapowanie obiektowo-relacyjne" (od angielskiego Object-Relational
Bardziej szczegółowoHibernate. Adrian Gawor, Adam Klekotka, Piotr Kubisz. Technologie Biznesu Elektronicznego. 12 maja 2009
Agenda Hibernate Adrian Gawor, Adam Klekotka, Piotr Kubisz Technologie Biznesu Elektronicznego 12 maja 2009 Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 1 / 42 Agenda 1 2 3 4 5 6 7 Adrian Gawor,
Bardziej szczegółowoProgramowanie w języku Java WYKŁAD
Programowanie w języku Java WYKŁAD dr inż. Piotr Zabawa Certyfikowany Konsultant IBM/Rational e-mail: pzabawa@pk.edu.pl www: http://www.pk.edu.pl/~pzabawa 28.04.2014 WYKŁAD 9 Trwałość w Java cz. 2 wykład
Bardziej szczegółowoAplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - dziedziczenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 W ramach poprzedniego laboratorium
Bardziej szczegółowoWzorce logiki dziedziny
Wzorce logiki dziedziny 1. Wzorce logiki dziedziny skrypt transakcji (Transaction Script), brama tabeli (Table Data Gateway), model dziedziny (Domain model), strategia (Strategy), moduł tabeli (Table Module),
Bardziej szczegółowoOracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -
Bardziej szczegółowoPodyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle
Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle EFEKTY KSZTAŁCENIA Wiedza Absolwent tej specjalności
Bardziej szczegółowoJDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008
JDBC w LoXiMie Interfejs Java Database Connectivity dla systemu LoXiM Adam Michalik 2008 Sterownik JDBC co to jest? Sterownik JDBC to zbiór klas implementujących interfejsy opisane w specyfikacji JDBC
Bardziej szczegółowoEnterprise JavaBeans
Enterprise JavaBeans 1. Wprowadzenie. 2. Przegląd komponentów EJB. komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 3. Kontener komponentów EJB: JBoss. 1 Enterprise JavaBeans
Bardziej szczegółowoTemat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
Bardziej szczegółowoProgramowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie
Programowanie MSQL show databases; - pokazanie jakie bazy danych są dostępne na koncie show databases; - wyświetlenie wszystkich baz danych na serwerze create database nazwa; - za nazwa wstawiamy wybraną
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe IV. Interfejsy i klasy wewnętrzne Małgorzata Prolejko OBI JA16Z03 Plan Właściwości interfejsów. Interfejsy a klasy abstrakcyjne. Klonowanie obiektów. Klasy wewnętrzne. Dostęp do
Bardziej szczegółowoProjektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych
Projektowanie bazy danych Jarosław Kuchta Projektowanie Aplikacji Internetowych Możliwości projektowe Relacyjna baza danych Obiektowa baza danych Relacyjno-obiektowa baza danych Inne rozwiązanie (np. XML)
Bardziej szczegółowoTworzenie komponentów logiki biznesowej i warstwy dostępu do danych w oparciu o EJB3.0/JPA lub EJB 3.1/JPA2
Kod szkolenia: Tytuł szkolenia: EJB Tworzenie komponentów logiki biznesowej i warstwy dostępu do danych w oparciu o EJB3.0/JPA lub EJB 3.1/JPA2 Dni: 3 Opis: Adresaci szkolenia: Szkolenie adresowane jest
Bardziej szczegółowoObiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody
Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,
Bardziej szczegółowoAplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - wprowadzenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 Klasa zbiór pól i metod Obiekt
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
Bardziej szczegółowoEJB 3.0 (Enterprise JavaBeans 3.0)
EJB 3.0 (Enterprise JavaBeans 3.0) Adrian Dudek Wirtualne Przedsiębiorstwo 2 Wrocław, 1 czerwca 2010 Plan prezentacji 1 Wprowadzenie Cel prezentacji Czym jest EJB 3.0? Historia 2 3 Cel prezentacji Wprowadzenie
Bardziej szczegółowoDokumentacja do API Javy.
Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu
Bardziej szczegółowoWprowadzenie do Doctrine ORM
Wprowadzenie do Doctrine ORM Przygotowanie środowiska Do wykonania ćwiczenia konieczne będzie zainstalowanie narzędzia Composer i odpowiednie skonfigurowanie Netbeans (Tools->Options->Framework & Tools->Composer,
Bardziej szczegółowoLaboratorium 03: Podstawowe konstrukcje w języku Java [2h]
1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie
Bardziej szczegółowoBudowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz
Budowa aplikacji wielowarstwowych zastosowanie szablonów Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz Przykład 1 Zastosowanie szablonów Tworzenie kopii projektu typu Web Application o nazwie
Bardziej szczegółowoNHibernate. Narzędzie mapowania obiektowo - relacyjnego
NHibernate Narzędzie mapowania obiektowo - relacyjnego Autor : Maciej Białorucki Mapowanie obiektowo-relacyjne Mapowanie obiektowo - relacyjne Object Relation Mapping Dwa światy Dlaczego nie stosować baz
Bardziej szczegółowoProgramowanie komponentowe 5
Budowa warstwy klienta w architekturze typu klient-serwer zbudowanych z komponentów typu EE - klient desktopowy i internetowy. Zastosowanie komponentów opartych na technologii EJB 3.2. na podstawie https://docs.oracle.com/javaee/7/jeett.pdf
Bardziej szczegółowo15. Funkcje i procedury składowane PL/SQL
15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp
Bardziej szczegółowoOdwzorowanie obiektowo-relacyjne
Odwzorowanie obiektowo-relacyjne Wykład prowadzi: Marek Wojciechowski Odwzorowanie obiektowo-relacyjne 1 Plan wykładu Odwzorowanie obiektowo-relacyjne (O/RM) Hibernate Java Persistence Odwzorowanie obiektowo-relacyjne
Bardziej szczegółowoJava. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego
Bardziej szczegółowoZaawansowane Techniki Bazodanowe
Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Zaawansowane Techniki Bazodanowe Krzysztof Koptyra, Dawid Tomaszewski Raport
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Bardziej szczegółowoProjektowanie obiektowe oprogramowania Wzorce architektury aplikacji (3) Wykład 11 Repository, Unit of Work Wiktor Zychla 2016
Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (3) Wykład 11 Repository, Unit of Work Wiktor Zychla 2016 Repository dodatkowa warstwa abstrakcji na obiektową warstwę dostępu do danych.
Bardziej szczegółowoEnterprise JavaBeans. 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss.
1 Enterprise JavaBeans 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss. 2 Enterprise JavaBeans Enterprise JavaBeans (EJB) to specyfikacja
Bardziej szczegółowoPARADYGMATY PROGRAMOWANIA Wykład 4
PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej
Bardziej szczegółowoWprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/
Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia
Bardziej szczegółowoInformatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Bardziej szczegółowoBazy danych 2. Wykład 1
Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu
Bardziej szczegółowoE:\DYDAKTYKA\ZAI\ZWWW\Laboratoria\L07\Java Persistence.doc 2011-lis-24, 17:0 Zaawansowane aplikacje internetowe Laboratorium Java Persistence.
Zaawansowane aplikacje internetowe Laboratorium Java Persistence. Adaptacja rozwiązania dla środowiska NetBeans 7.0.1: Łukasz Przytuła, opracowanie materiałów: Andrzej Dawidowicz Do wykonania ćwiczeń potrzebne
Bardziej szczegółowoPodstawowe wykorzystanie Hibernate
Podstawowe wykorzystanie Hibernate Cel Wykonanie prostej aplikacji webowej przedstawiającą wykorzystanie biblioteki. Aplikacja sprawdza w zależności od wybranej metody dodaje, nową pozycje do bazy, zmienia
Bardziej szczegółowoAplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin
Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Czym jest Spring Boot? Spring Boot jest szkieletem aplikacji, opiera się o Spring Framework czyli Framework szeroko
Bardziej szczegółowoBEAN VALIDATION. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska
BEAN VALIDATION Waldemar Korłub Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska Bean Validation Uniwersalny mechanizm walidacji danych we wszystkich warstwach aplikacji Warstwa interfejsu,
Bardziej szczegółowoEJB 2.x oraz zmiany w standardzie dla EJB 3.0. Michał Stanek
Enterprise JavaBean EJB 2.x oraz zmiany w standardzie dla EJB 3.0 Michał Stanek Plan prezentacji Czym jest EJB Architektura aplikacji J2EE oraz kontener EJB Typy komponentów JavaBean EJB 1.0, EJB 2.x Wady
Bardziej szczegółowoJava. Michał Wójcik. michal.wojcik@eti.pg.gda.pl http://mwojcik.eti.pg.gda.pl
Java Michał Wójcik michal.wojcik@eti.pg.gda.pl http://mwojcik.eti.pg.gda.pl Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska 5 kwietnia
Bardziej szczegółowoJPA Java Persistance API
JPA Java Persistance API Java Persistence API (JPA) Specyfiacja ipisująca standardy mapiwania ibieitiwi-relacyjnegi (ORM ibject relatinal mapping) Przyiładiwe implementacje: Hibernate OpenJPA EclipseLini
Bardziej szczegółowoBudowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG
Budowa aplikacji w technologii Enterprise JavaBeans Maciej Zakrzewicz PLOUG Plan prezentacji Przegląd architektur aplikacji rozproszonych: CORBA, SOAP, EJB Wprowadzenie do Enterprise JavaBeans (EJB) Budowa
Bardziej szczegółowoProjektowanie obiektowe oprogramowania Wykład 9 Wzorce architektury aplikacji (1) Wiktor Zychla 2013
Projektowanie obiektowe oprogramowania Wykład 9 Wzorce architektury aplikacji (1) Wiktor Zychla 2013 1 Automated code generation To bardziej technika wspomagająca niż wzorzec, ale wykorzystywana w praktyce
Bardziej szczegółowoDotacje na innowacje. Inwestujemy w waszą przyszłość.
PROJEKT TECHNICZNY Implementacja Systemu B2B w firmie Lancelot i w przedsiębiorstwach partnerskich Przygotowane dla: Przygotowane przez: Lancelot Marek Cieśla Grzegorz Witkowski Constant Improvement Szkolenia
Bardziej szczegółowoBazy danych - wykład wstępny
Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,
Bardziej szczegółowoProgramowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)
Programowanie w języku Java Wykład 13: Java Platform, Enterprise Edition (Java EE) Standard J2EE Programowanie w języku Java 2 J2EE - komunikacja Programowanie w języku Java 3 J2EE warstwa biznesowa Programowanie
Bardziej szczegółowoSzkolenie wycofane z oferty
Szkolenie wycofane z oferty Program szkolenia: Java Server Faces 2 Informacje: Nazwa: Java Server Faces 2 Kod: Java-EE-JSF 2 Kategoria: Java EE Grupa docelowa: developerzy Czas trwania: 3 dni Forma: 50%
Bardziej szczegółowoProgramowanie w Ruby
Programowanie w Ruby Wykład 11 Marcin Młotkowski 19 grudnia 2012 Plan wykładu Modele danych i bazy danych Modele danych Migracje Bazy danych w Railsach Rusztowania Walidacja modeli Modele danych Definicje
Bardziej szczegółowoUML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.
UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami
Bardziej szczegółowoJAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Bardziej szczegółowoProgramowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska
Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego Iwona Kochaoska Programowanie Obiektowe Programowanie obiektowe (ang. object-oriented programming) - metodyka tworzenia programów komputerowych,
Bardziej szczegółowoSYSTEM MONITORINGU PARAMETRÓW WĘZŁÓW PRZECHOWYWANIA DANYCH DLA PROJEKTU KRAJOWY MAGAZYN DANYCH PODRĘCZNIK DEWELOPERA
SYSTEM MONITORINGU PARAMETRÓW WĘZŁÓW PRZECHOWYWANIA DANYCH DLA PROJEKTU KRAJOWY MAGAZYN DANYCH PODRĘCZNIK DEWELOPERA 1 Spis treści: Wstęp... 3 Opis architektury systemu... 4 Architektura modułu KMD...
Bardziej szczegółowoTechnologie i usługi internetowe cz. 2
Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,
Bardziej szczegółowoWprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/
Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia
Bardziej szczegółowoWarstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.
Warstwa integracji wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. 1. Ukrycie logiki dostępu do danych w osobnej warstwie 2. Oddzielenie mechanizmów trwałości od modelu obiektowego Pięciowarstwowy
Bardziej szczegółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej JSP - Java Server Pages dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2019 Aplikacje i skrypty WWW klasyfikacja
Bardziej szczegółowoInterfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej
Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,
Bardziej szczegółowoWykład 8: klasy cz. 4
Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD
Bardziej szczegółowoRef. 7 - Język SQL - polecenia DDL i DML
Ref. 7 - Język SQL - polecenia DDL i DML Wprowadzenie do języka SQL. Polecenia generujące strukturę bazy danych: CREATE, ALTER i DROP. Polecenia: wprowadzające dane do bazy - INSERT, modyfikujące zawartość
Bardziej szczegółowoKurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Bardziej szczegółowoPHP: bazy danych, SQL, AJAX i JSON
1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji
Bardziej szczegółowoEJB 3.0 & JBoss Seam. 25 kwietnia 2007 Jacek Gerbszt 1
EJB 3.0 & JBoss Seam 25 kwietnia 2007 Jacek Gerbszt 1 Wyzwania współczesnych aplikacji? Rozproszenie, zdalne wywołania Przetwarzanie transakcyjne Bezpieczeństwo Skalowalność Klastrowanie Łatwe wytwarzanie
Bardziej szczegółowoSystemy baz danych. mgr inż. Sylwia Glińska
Systemy baz danych Wykład 1 mgr inż. Sylwia Glińska Baza danych Baza danych to uporządkowany zbiór danych z określonej dziedziny tematycznej, zorganizowany w sposób ułatwiający do nich dostęp. System zarządzania
Bardziej szczegółowoKurs programowania aplikacji bazodanowych
Wykład 5 Instytut Informatyki Uniwersytet Wrocławski Plan wykładu Wprowadzenie do XPO Podstawowe obiekty Utrwalanie obiektów Transakcje i współbieżność Wzorzec unit of work Odwzorowanie dziedziczenia Asocjacje
Bardziej szczegółowoTechnologie obiektowe
WYKŁAD dr inż. Paweł Jarosz Instytut Informatyki Politechnika Krakowska mail: pjarosz@pk.edu.pl LABORATORIUM dr inż. Paweł Jarosz (3 grupy) mgr inż. Piotr Szuster (3 grupy) warunki zaliczenia Obecność
Bardziej szczegółowoWprowadzenie do technologii JavaServer Faces 2.2 na podstawie Wykład 2 Technologie internetowe
Wprowadzenie do technologii JavaServer Faces 2.2 na podstawie https://docs.oracle.com/javaee/7/jeett.pdf Wykład 2 Technologie internetowe Technologie internetowe 2, Zofia Kruczkiewicz 1 Technologia JavaServer
Bardziej szczegółowoJAX-RS czyli REST w Javie. Adam Kędziora
JAX-RS czyli REST w Javie Adam Kędziora Webservice Usługa sieciowa (ang. web service) komponent programowy niezależny od platformy i implementacji, dostarczający określonej funkcjonalności. SOAP,UDDI,XML,WSDL
Bardziej szczegółowoJava - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński
Java - wprowadzenie Programowanie Obiektowe Mateusz Cicheński O języku Czym jest Java Cechy charakterystyczne języka Przykładowe zastosowania Składnia języka Podstawowe typy Wybrane słowa kluczowe Plan
Bardziej szczegółowoProjektowanie aplikacji z bazami danych
Systemy mapowania relacyjno-obiektowego Instytut Informatyki Uniwersytet Wrocławski Plan wykładu Wprowadzenie do trwałości Niedopasowanie paradygmatów Architektura warstwowa Czym jest ORM? Problemy i pytania
Bardziej szczegółowoZasady generowania kluczy głównych Język Java Persistence Podstawowa architektura wielowarstwowych aplikacji w oparciu o wzorce oprogramowania
Zasady generowania kluczy głównych Język Java Persistence Podstawowa architektura wielowarstwowych aplikacji w oparciu o wzorce oprogramowania Autor Zofia Kruczkiewicz Wzorce oprogramowania 6 1. Różne
Bardziej szczegółowoInstrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania
Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania Opis biznesowy świata rzeczywistego Wymagania funkcjonalne i niefunkcjonalne aplikacji Diagram przypadków życia Diagramy klas i sekwencji:
Bardziej szczegółowoPlan prezentacji. Budowa aplikacji w technologii Enterprise JavaBeans. Przegląd architektur: CORBA. Cele budowy aplikacji rozproszonych
Plan prezentacji Budowa aplikacji w technologii Enterprise JavaBeans Przegląd architektur aplikacji rozproszonych: CORBA,, Wprowadzenie do Enterprise JavaBeans () Budowa komponentów sesyjnych Budowa komponentów
Bardziej szczegółowoEnterprise JavaBeans 3.0
Enterprise JavaBeans 3.0 Jacek Laskowski http://www.jaceklaskowski.pl Politechnika Poznańska Poznań, 07.12.2007, wersja 1 O mnie... Entuzjasta technologii Java EE 5 Założyciel i lider Warszawa JUG Członek
Bardziej szczegółowoJAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.
JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod
Bardziej szczegółowoBaza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne
Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z możliwości utworzenia struktury bazy danych z
Bardziej szczegółowoTechnologia informacyjna
Technologia informacyjna Bazy danych Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2016 Plan wykładu Wstęp do baz danych Modele baz danych Relacyjne bazy danych Język SQL Rodzaje
Bardziej szczegółowoTEMAT : KLASY DZIEDZICZENIE
TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą
Bardziej szczegółowoZaawansowane aplikacje WWW - laboratorium
Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w
Bardziej szczegółowoCo nowego w Java EE?
Co nowego w Java EE? Marek Wojciechowski Politechnika Poznańska e mail: Marek.Wojciechowski@cs.put.poznan.pl Abstrakt. Najnowsza wersja specyfikacji Java Platform Enterprise Edition wprowadza szereg istotnych
Bardziej szczegółowoGdzie jest moja tabela?
Gdzie jest moja tabela? Czyli jak sobie radzić w Javie i SQL gdy zmienia się schemat bazy danych. Tomasz Skutnik 21 Listopada 2011 r UWIELBIAM piratów programować. Dziś koduję sklep internetowy. Jak rozmawiać
Bardziej szczegółowo