Encyjne komponenty EJB
|
|
- Maksymilian Kalinowski
- 9 lat temu
- Przeglądów:
Transkrypt
1 132 Encyjne komponenty EJB Marek Wojciechowski
2 Plan rozdziału 133 Wprowadzenie do encyjnych komponentów EJB Cykl życia encyjnego EJB Tworzenie encyjnego EJB w środowisku Oracle JDeveloper Wykorzystywanie encyjnych EJB Powiązania między encyjnymi EJB Transakcje zarządzane przez kontener Dostęp do encyjnych EJB z poziomu JSP
3 Encyjne komponenty EJB 134 Reprezentują obiekty składowane w bazie danych Na platformie J2EE podstawowym mechanizmem trwałego przechowywania danych jest relacyjna baza danych Przykłady trwałych obiektów: pracownicy, oddziały, produkty,... Nie modelują procesów, nie zawierają skomplikowanej logiki biznesowej, ale zarządzają danymi wykorzystywanymi w procesach biznesowych Mogą zawierać kod np. walidujący dane Typowo każdy komponent encyjny jest oparty o tabelę w relacyjnej bazie danych, a każda instancja komponentu encyjnego reprezentuje wiersz w tabeli Dane z tabel przedstawiane w formie obiektów
4 Instancje encyjnych EJB a dane w bazie danych 135 Wiele instancji encyjnego komponentu EJB może w danej chwili reprezentować te same dane (ten sam wiersz tabeli) Synchronizacja instancji komponentu z bazą danych jest obsługiwana przez kontener Dana instancja encyjnego komponentu EJB nie musi przez cały czas swego istnienia reprezentować tych samych danych (!) Kontener utrzymuje pulę (pool) instancji komponentu W czasie swego istnienia instancje są aktywowane (pobierane z puli) i pasywowane (zwracane do puli) Aktywowane instancje są dynamicznie przypisywane do reprezentacji instancji danych z bazy danych (w kolejnych "okresach aktywności" instancja komponentu może reprezentować różne obiekty tego samego typu)
5 Cechy encyjnych komponentów EJB 136 Trwałość Składowane w bazie danych (typowo) Odporne na awarie aplikacji, serwera aplikacji, serwera bd Trwałość zarządzana przez kontener (CMP) lub komponent (BMP) Współdzielenie komponentu przez wielu klientów Działanie w ramach transakcji (zarządzanych przez kontener: CMT) Możliwość współdzielenia instancji komponentu przez kilku klientów lub korzystania z różnych instancji reprezentujących te same dane Klucz główny (primary key) Unikalny identyfikator obiektu Podstawowe kryterium wyszukiwania obiektów Związki Powiązania z innymi komponentami encyjnymi Analogia do związków między tabelami w relacyjnej bazie danych
6 Trwałość zarządzana przez kontener 137 CMP - Container-Managed Persistence Kontener EJB obsługuje wszystkie operacje na bazie danych, których wymaga komponent Kod komponentu nie zawiera żadnych instrukcji SQL Przenaszalność dzięki niezależności od konkretnej bazy danych Kontener generuje odwołania do bazy danych w oparciu o abstrakcyjny schemat podany w deskryptorach instalacji Kontener EJB obsługuje również związki między komponentami encyjnymi CMR Container-Managed Relationships
7 Trwałość zarządzana przez komponent 138 BMP - Bean-Managed Persistence Twórca komponentu dostarcza kod zarządzający trwałością komponentu: Implementując metody callback do odczytu, zapisu i manipulacji danymi oraz zarządzania związkami np. ejbload(), ejbstore(), ejbcreate(), ejbpostcreate(), ejbremove(), ejbfindxxx() Kod komponentu zawiera wywołania JDBC / SQLJ Ograniczona przenaszalność kod odwołuje się do konkretnego schematu bazy danych Elastyczność twórca komponentu ma "pełną władzę" nad zarządzaniem jego trwałością Niekoniecznie komponent musi odpowiadać jednej tabeli Dane mogą być składowane np. w LDAP, a nie tylko w bazie danych!
8 CMP czy BMP? 139 CMP BMP
9 Składniki encyjnego komponentu EJB 140 Interfejs domowy (Home / LocalHome) Wykorzystywany przez klientów do tworzenia, usuwania i wyszukiwania obiektów encyjnych Interfejs komponentowy (Remote / Local) Zawiera deklaracje metod biznesowych komponentu, udostępnianych klientom Klasa komponentu Reprezentuje dane Zawiera metody dostępu do danych i manipulacji danymi Klasa klucza głównego Wykorzystywana do identyfikacji instancji komponentu Deskryptor instalacji (deployment descriptor) Plik XML zawierający informacje dla kontenera
10 Interfejs domowy 141 Interfejs Home dla klientów zdalnych (i lokalnych) Rozszerza javax.ejb.ejbhome Interfejs LocalHome dla klientów lokalnych Rozszerza javax.ejb.ejblocalhome Zawiera metody do: Tworzenia obiektów encyjnych: 0 lub więcej metod create() Typowo dodające nowy wiersz do tabeli Zwracające interfejs komponentowy Wyszukiwania obiektów encyjnych : metody findxxx() Zwracające interfejs komponentowy lub Collection Obowiązkowo wśród nich findbyprimarykey() Usuwania obiektów encyjnych : remove() Typowo usuwające wiersz z tabeli Podstawowa wersja jako parametr przyjmuje klucz główny Opcjonalnie inne metody nieodnoszące się do konkretnej instancji
11 Interfejs komponentowy 142 Interfejs Remote dla klientów zdalnych (i lokalnych) Rozszerza javax.ejb.ejbobject Interfejs Local dla klientów lokalnych Rozszerza javax.ejb.ejblocalobject Zawiera metody getxxx/setxxx odczytujące i modyfikujące poszczególne pola Opcjonalnie może zawierać metody biznesowe Dziedziczy metody: getejbhome() lub getejblocalhome() getprimarykey()
12 Klasa klucza głównego 143 Klucz główny Jednoznacznie identyfikuje instancje komponentu encyjnego Wykorzystywany przy usuwaniu instancji Podstawowe kryterium selekcji przy wyszukiwaniu instancji Klasa klucza głównego Musi implementować java.io.serializable Definiowana przede wszystkim przy kluczach złożonych Dla kluczy prostych (pojedynczy atrybut) można wykorzystać jedną z klas bibliotecznych np. java.lang.string java.lang.integer java.lang.long...
13 Klasa komponentu 144 Musi implementować interfejs javax.ejb.entitybean Dla każdej metody create() interfejsu domowego zawiera: ejbcreate() inicjalizującą trwałe pola (persistent fields) ejbpostcreate() inicjalizującą pola związków między komp. EJB Implementuje metody: Wyszukujące poprzez ejbfindxxx() Inne metody interfejsu domowego poprzez ejbhomexxx() Metody callback z interfejsu javax.ejb.entitybean: ejbload(), ejbstore(), ejbactivate(), ejbpassivate(), ejbremove(), setentitycontext(...), unsetentitycontext() Metody biznesowe zawarte w interfejsie komponentowym Opcjonalnie inne prywatne metody
14 Cykl życia encyjnego EJB 145 Brak newinstance() setentitycontext() unsetentitycontext() Pasywny (w puli) ejbcreate() ejbpostcreate() ejbremove() ejbactivate() ejbpassivate() ejbload() Gotowy ejbstore()
15 146 Tworzenie encyjnego komponentu EJB CMP - Przykład (1/8) Tworzenie komponentów encyjnych CMP w oparciu o tabele
16 147 Tworzenie encyjnego komponentu EJB CMP - Przykład (2/8) Kreator: wybór tabel z bazy danych Planowane wykorzystanie z serwletu, więc interfejs Local
17 148 Tworzenie encyjnego komponentu EJB CMP - Przykład (3/8) Utworzone pliki dla komponentu encyjnego Emp: EmpLocalHome.java interfejs LocalHome EmpLocal.java interfejs Local EmpBean.java klasa komponentu ejb-jar.xml standardowy deskryptor instalacji orion-ejb-jar.xml specyficzny dla OC4J deskryptor instalacji JDev 9i JDev 10g
18 149 Tworzenie encyjnego komponentu EJB CMP - Przykład (4/8) Interfejs LocalHome (EmpLocalHome.java) package mypackage1; import javax.ejb.ejblocalhome; import javax.ejb.createexception; import javax.ejb.finderexception; import java.util.collection; public interface EmpLocalHome extends EJBLocalHome { EmpLocal create() throws CreateException; EmpLocal create(long empno) throws CreateException; EmpLocal findbyprimarykey(long primarykey) throws FinderException; } Collection findall() throws FinderException;
19 150 Tworzenie encyjnego komponentu EJB CMP - Przykład (5/8) Interfejs Local (EmpLocal.java) package mypackage1; import javax.ejb.ejblocalobject; public interface EmpLocal extends EJBLocalObject { Long getempno(); void setempno(long newempno); String getename(); void setename(string newename);... Long getsal(); void setsal(long newsal); Metody getxxx i setxxx dla pól komponentu } Long getdeptno(); void setdeptno(long newdeptno);
20 151 Tworzenie encyjnego komponentu EJB CMP - Przykład (6/8) Klasa komponentu (EmpBean.java) package mypackage1.impl; import javax.ejb.entitybean; import javax.ejb.entitycontext; import java.sql.timestamp; public abstract class EmpBean implements EntityBean { private EntityContext context; public Long ejbcreate() { return null; } public void ejbpostcreate() {} public Long ejbcreate(long empno) { setempno(empno); return empno; } public void ejbpostcreate(long empno) {} public void ejbactivate() {} public void ejbload() {} public void ejbpassivate() {} public void ejbremove() {} public void ejbstore() {} public void setentitycontext(entitycontext ctx) { this.context = ctx; } public void unsetentitycontext() { this.context = null; } public abstract Long getempno(); public abstract void setempno( Long newempno); public abstract String getename(); public abstract void setename( String newename); public abstract Long getsal(); public abstract void setsal( Long newsal); public abstract Long getdeptno(); public abstract void setdeptno( Long newdeptno); } Metody z interfejsów Local i LocalHome CMP setxxx/getxxx abstrakcyjne CMP wiele spośród "callback" pustych CMP brak metod ejbfindxxx
21 152 Tworzenie encyjnego komponentu EJB CMP - Przykład (7/8) Standardowy deskryptor instalacji (ejb-jar.xml) <?xml version = '1.0' encoding = 'windows-1250'?> <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" " <ejb-jar> <enterprise-beans> <entity> <description>entity Bean ( CMP )</description> <display-name>emp</display-name> <ejb-name>emp</ejb-name> <local-home>mypackage1.emplocalhome</local-home> <local>mypackage1.emplocal</local> <ejb-class>mypackage1.impl.empbean</ejb-class> <persistence-type>container</persistence-type> <prim-key-class>java.lang.long</prim-key-class> <reentrant>false</reentrant> <cmp-version>2.x</cmp-version> <abstract-schema-name>emp</abstract-schema-name> <cmp-field> <field-name>empno</field-name> </cmp-field> <cmp-field> <field-name>ename</field-name> </cmp-field>... <cmp-field> <field-name>sal</field-name> </cmp-field> <cmp-field> <field-name>deptno</field-name> </cmp-field> <primkey-field>empno</primkey-field> </entity> </enterprise-beans> </ejb-jar> Składniki komponentu Abstrakcyjny schemat
22 153 Tworzenie encyjnego komponentu EJB CMP - Przykład (8/8) Specyficzny dla OC4J deskryptor instalacji (orion-ejb-jar.xml) <?xml version = '1.0' encoding = 'windows-1250'?> <!DOCTYPE orion-ejb-jar PUBLIC "-//Evermind//DTD Enterprise JavaBeans 1.1 runtime//en" " <orion-ejb-jar> <enterprise-beans> <entity-deployment name="emp" data-source="jdbc/marek8ids" table="emp"> <primkey-mapping> <cmp-field-mapping name="empno" persistence-name="empno" persistence-type="number(4)"/> </primkey-mapping> <cmp-field-mapping name="empno" persistence-name="empno" persistence-type="number(4)"/> <cmp-field-mapping name="ename" persistence-name="ename" persistence-type="varchar2(10)"/>... <cmp-field-mapping name="sal" persistence-name="sal" persistence-type="number(7,2)"/> <cmp-field-mapping name="deptno" persistence-name="deptno" persistence-type="number(2)"/> </entity-deployment> </enterprise-beans> <assembly-descriptor> <default-method-access> <security-role-mapping impliesall="true" name="<default-ejb-caller-role>"/> </default-method-access> </assembly-descriptor> </orion-ejb-jar> Mapowanie abstrakcyjnego schematu na schemat konkretnej bazy danych
23 Korzystanie z encyjnych EJB (1/3) 154 Definicja referencji w deskryptorze instalacji: web.xml dla odwołań z serwletów i JSP ejb-jar.xml dla odwołań z innych EJB web.xml <web-app>... <ejb-local-ref> <ejb-ref-name> ejb/emp </ejb-ref-name> <ejb-ref-type> Entity </ejb-ref-type> <local-home> mypackage1.emplocalhome </local-home> <local> mypackage1.emplocal </local> </ejb-local-ref> </web-app>
24 Korzystanie z encyjnych EJB (2/3) 155 Wyszukiwanie metodą findbyprimarykey() try { Context context = new InitialContext(); EmpLocalHome lh = (EmpLocalHome) context.lookup("java:comp/env/ejb/emp"); EmpLocal el = lh.findbyprimarykey(new Long("7499")); out.println("7499: " + el.getename()); } catch (Exception e) { out.println(e); } 7499: ALLEN Wyszukiwanie metodą findall() try { Context context = new InitialContext(); EmpLocalHome lh = (EmpLocalHome) context.lookup("java:comp/env/ejb/emp"); out.println("employees: "); Collection emps = lh.findall(); Iterator it = emps.iterator(); while (it.hasnext()) { el = (EmpLocal) it.next(); out.println(el.getempno() + ": " + el.getename() + ", " + el.getsal()); } } catch (Exception e) { out.println(e); } Employees: 7369: SMITH, : ALLEN, : WARD, : JONES, : MARTIN, : BLAKE, : CLARK, : SCOTT, : KING, : TURNER, : ADAMS, : JAMES, : FORD, : MILLER, 1300
25 Korzystanie z encyjnych EJB (3/3) 156 Tworzenie, modyfikacja i usuwanie danych try { Context context = new InitialContext(); EmpLocalHome lh = (EmpLocalHome) context.lookup("java:comp/env/ejb/emp"); // dodanie nowego pracownika EmpLocal el = lh.create(new Long("9999")); // modyfikacja danych pracownika el.setename("bush"); el.setsal(new Long("4500")); // usuniecie pracownika lh.remove(new Long("9999")); } catch (Exception e) { out.println(e); } Wykorzystanie metody create utworzonej przez kreator (lepszym rozwiązaniem jest dodanie nowej metody create z "pełnym" zestawem parametrów)
26 Metody wyszukujące findxxx() 157 Do wyszukiwania instancji encyjnych EJB służą metody findxxx() zawarte w interfejsie Home / LocalHome Zwracają interfejs komponentowy lub typ Collection BMT: twórca komponentu implementuje odpowiednie metody ejbfindxxx() w klasie komponentu CMT: dla metod findxxx() zadeklarowanych w interfejsie Home / LocalHome, deskryptor instalacji zawiera odpowiednie zapytania w języku EJB QL Nie dotyczy findbyprimarykey() i findall(), które są automatycznie implementowane przez kontener
27 CMP: Dodatkowe metody findxxx() Przykład (1/2) Dodanie metody wyszukującej wg pensji 158 ejb-jar.xml </ejb-jar> </enterprise-beans> </entity>... <query> <query-method> <method-name> findbyminsal </method-name> <method-params> <method-param> int </method-param> </method-params> </query-method> <ejb-ql> SELECT DISTINCT OBJECT(e) FROM Emp e WHERE e.sal >?1 </ejb-ql> </query> </entity> </enterprise-beans> </ejb-jar> Zapytanie odwołujące się do abstrakcyjnego schematu zdefiniowanego w deskryptorze instalacji, wyrażone w języku EJB QL
28 CMP: Dodatkowe metody findxxx() Przykład (2/2) 159 Wyszukiwanie metodą findbyminsal() try { Context context = new InitialContext(); EmpLocalHome lh = (EmpLocalHome) context.lookup("java:comp/env/ejb/emp"); out.println("rich Employees: "); Collection emps = lh.findbyminsal(1280); Iterator it = emps.iterator(); while (it.hasnext()) { el = (EmpLocal) it.next(); out.println(el.getempno() + ": " + el.getename() + ", " + el.getsal()); } } catch (Exception e) { out.println(e); } Rich Employees: 7499: ALLEN, : JONES, : BLAKE, : CLARK, : SCOTT, : KING, : TURNER, : FORD, : MILLER, 1300
29 Język EJB QL 160 Język zapytań dla EJB oparty o SQL-92 Wykorzystywany do deklaratywnego specyfikowania działania metod wyszukujących w komponentach encyjnych CMP Zapewnia przenaszalność zapytań Zapytania definiowane w kontekście abstrakcyjnego schematu (definiowanego w deskryptorze instalacji) Podczas instalacji zapytania tłumaczone na język danej platformy Składnia SELECT... FROM... WHERE... Brak klauzul ORDER BY, GROUP BY, HAVING (!) SELECT DISTINCT OBJECT(e) FROM Emp e WHERE e.sal >?1 Eliminacja duplikatów Zwracanie obiektów Nazwa z abstrakcyjnego schematu Wyrażenie ścieżkowe Pierwszy parametr
30 Powiązania między encyjnymi EJB 161 Zazwyczaj w modelu danych występują związki między danymi W bazie danych istnieją związki między tabelami (poprzez klucze obce) W aplikacji J2EE związki te mogą być reprezentowane jako powiązania między encyjnymi komponentami EJB Podstawowe własności związku to: Liczebność liczba instancji biorących udział w związku: 1:1, 1:N, M:N Kierunkowość kierunki w których możliwa jest nawigacja wg związku: związki jedno- i dwukierunkowe Dla komponentów CMP kontener zarządza związkami CMRs: Container-Managed Relationships (od EJB 2.0) Związki wykorzystują lokalne interfejsy docelowych EJB
31 Tworzenie związków 162 Uwagi o implementacji związków: Dostępne tylko dla EJB 2.0 Dla komponentów opisanych w tym samym deskryptorze instalacji Definicja związku obejmuje: W klasie komponentu: abstrakcyjne metody getxxx/setxxx dla każdego pola reprezentującego powiązanie W deskryptorze instalacji: Nazwa związku, liczebność i kierunkowość Dla każdego kierunku informacje o polu reprezentującym związek Opcjonalnie dla jednego kierunku specyfikacja kaskadowego usuwania Tworzenie związków za pomocą JDevelopera "Ręczna" edycja modułu EJB Wykorzystanie kreatora tworzącego encyjne EJB na podstawie tabel
32 163 Tworzenie związku CMR - Przykład (1/2) Nowy komponent encyjny Dept (CMP), powiązany z wcześniej utworzonym Emp (CMP) Utworzenie związków z wcześniej utworzonymi encyjnymi EJB w oparciu o klucze obce z bazy danych
33 164 Tworzenie związku CMR - Przykład (2/2) Właściwości utworzonego związku
34 CMR: Metody do obsługi związku 165 Metody utworzone przez kreator do obsługi związku: Interfejs EmpLocal komponentu Emp: DeptLocal getdept_deptno() (zamiast Long getdeptno()) void setdept_deptno(deptlocal newdept_deptno) (zamiast void setdeptno(long newdeptno)) Interfejs DeptLocal komponentu Dept: Collection getemp_deptno() void setemp_deptno(collection newemp_deptno)
35 CMR: Nawigacja w oparciu o związek - Przykład 166 try { Context context = new InitialContext(); EmpLocalHome lh = (EmpLocalHome) context.lookup("java:comp/env/ejb/emp"); EmpLocal el = lh.findbyprimarykey(new Long("7499")); out.println("employee #7499's department:"); out.println("7499: " + el.getename() + ", " + el.getdept_deptno().getdname()); out.println("employees in the same department as Emp #7499:"); Odczyt nazwy departamentu dla obiektu Dept DeptLocal dl = el.getdept_deptno(); Collection emps = dl.getemp_deptno(); Iterator it = emps.iterator(); while (it.hasnext()) { EmpLocal e = (EmpLocal) it.next(); if (!e.isidentical(el)) out.println(e.getempno() + ": " + e.getename()); } } catch (Exception e) { out.println(e); } Odczyt obiektu Dept związanego z danym obiektem Emp Odczyt kolekcji obiektów Emp związanych z danym obiektem Dept Test czy 2 obiekty EJB są identyczne Employee #7499's department: 7499: ALLEN, SALES Employees in the same department as Emp #7499: 7521: WARD 7654: MARTIN 7698: BLAKE 7844: TURNER 7900: JAMES
36 Transakcje zarządzane przez kontener 167 W kodzie aplikacji nie ma instrukcji rozpoczynających i kończących transakcje Funkcjonalność ta jest realizowana przez kontener w oparciu o informacje z pliku deployment descriptor CMT to jedyna opcja dla encyjnych EJB (dla sesyjnych wybór między CMT lub BMT)... <assembly-descriptor> <container-transaction> <description>no description</description> <method> <ejb-name>myemployee</ejb-name> <method-name>*</method-name> </method> <trans-attribute>requiresnew</trans-attribute> </container-transaction> </assembly-descriptor> </ejb-jar> ejb-jar.xml
37 Transakcje zarządzane przez kontener 168 atrybut transakcyjny Znaczenie wartości atrybutu transakcyjnego: Komponent encyjny korzystający z CMP, CMR musi działać w ramach transakcji (!) Dozwolone wartości atrybutu transakcyjnego: Required, RequiresNew, Mandatory
38 Transakcje zarządzane przez kontener 169 wycofanie transakcji Kod komponentu korzystającego CMT nie może zawierać instrukcji kończących transakcję (commit(), rollback()) Komponent może zlecić kontenerowi wycofanie transakcji wołając metodę setrollbackonly() na rzecz swego kontekstu EJBContext Referencja na obiekt EJBContext jest zapisywana w jednym z pól komponentu przez metodę setentitycontext() na początku cyklu życia Typowo metoda wywołuje setrollbackonly() przed rzuceniem wyjątku Samo rzucenie wyjątku nie wycofuje transakcji (!) Metoda może sprawdzić czy transakcja została "zaznaczona do wycofania" metodą getrollbackonly()... context.setrollbackonly();...
39 Dostęp do encyjnych EJB z poziomu JSP przy użyciu biblioteki znaczników OJSP EJB 170 Biblioteka znaczników JSP dla EJB może być wykorzystana zarówno do operacji na komponentach sesyjnych jak i encyjnych Plik opisu biblioteki: ejbtaglib.tld musi być instalowany z aplikacją W Oracle ias biblioteka należy do "dobrze znanych" Znaczniki usehome, usebean, createbean zachowują swe znaczenie Typowe dla komponentów encyjnych jest użycie znacznika iterate: Do utworzenia kolekcji instancji encyjnych EJB i iteracji po niej
40 Dostęp do encyjnych EJB z poziomu JSP przy użyciu biblioteki znaczników OJSP EJB- Przykład Salaries.jsp <%@ page contenttype="text/html;charset=windows-1250"%> <%@ taglib uri="/web-inf/ejbtaglib.tld" prefix="ejb" %> <html> <head> <title>employees</title> </head> <body> <ejb:usehome id="home" type="mypackage1.emplocalhome" location="java:comp/env/ejb/emp" local="true"/> <ejb:iterate id="emp" type="mypackage1.emplocal" collection="<%=home.findall()%>" max="50"> Employee #<%=emp.getempno()%>: <%=emp.getename()+" "+ emp.getsal()%>$. <br> </ejb:iterate> </body> </html> Atrybut local konieczny przy korzystaniu z interfejsów lokalnych <%@ page contenttype="text/html;charset=windows-1250"%> <%@ taglib uri="/web-inf/ejbtaglib.tld" prefix="ejb" %> <html> <head> <title>employees</title> </head> <body> <ejb:usehome id="home" type="mypackage1.emplocalhome" location="java:comp/env/ejb/emp" local="true"/> <ejb:iterate id="emp" type="mypackage1.emplocal" collection="<%=home.findall()%>" max="50"> Employee #<jsp:getproperty name="emp" property="empno" />: <jsp:getproperty name="emp" property="ename" /> <jsp:getproperty name="emp" property="sal" />$. <br> </ejb:iterate> </body> </html> Możliwość korzystania jak z JavaBeans 171
Budowa 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ół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ółowoBudowa komponentów Enterprise JavaBeans
VII Seminarium PLOUG Warszawa Marzec 2003 Budowa komponentów Enterprise JavaBeans Maciej Zakrzewicz, Marek Wojciechowski mzakrz, marek@cs.put.poznan.pl Politechnika Poznañska Instytut Informatyki Streszczenie
Bardziej szczegółowoWprowadzenie do Enterprise JavaBeans 2.0
71 Wprowadzenie do Enterprise JavaBeans 2.0 Maciej Zakrzewicz Maciej.Zakrzewicz@cs.put.poznan.pl http://www.cs.put.poznan.pl/mzakrzewicz/ Plan rozdziału 72 Wprowadzenie do EJB Rodzaje komponentów Zdalny
Bardziej szczegółowoObsługa transakcji rozproszonych Java. Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska
Obsługa transakcji rozproszonych w języku j Java Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska Plan prezentacji Transakcje i ich własności Proste transakcje w JDBC
Bardziej szczegółowoAplikacje internetowe i rozproszone - laboratorium
Aplikacje internetowe i rozproszone - laboratorium Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z technologią EJB w wersji 3.0, a w szczególności: implementacja komponentów sesyjnych,
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ółowoDostęp do baz danych z aplikacji J2EE
47 Dostęp do baz danych z aplikacji J2EE Marek Wojciechowski Marek.Wojciechowski@cs.put.poznan.pl http://www.cs.put.poznan.pl/mwojciechowski/ Plan rozdziału 48 Źródła danych w JDBC Java Naming and Directory
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ółowoPlatforma J2EE i EJB. Oprogramowanie systemów równoległych i rozproszonych Wykład 9. Rola EJB na platformie J2EE. Dr inż. Tomasz Olas olas@icis.pcz.
Platforma J2EE i EJB Oprogramowanie systemów równoległych i rozproszonych Wykład 9 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Platforma
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ółowoUsługa TimerService ejbtimeout() @javax.ejb.timeout
TimerService i JNDI 1. Usługa TimerServiece, interfejsy TimedObject, TimerService, Timer, TimerHandle transakcje, zastosowanie usługi w komponentach EJB, cykl życia EJB, problemy. 2. Zasoby JNDI i wstrzykiwanie,
Bardziej szczegółowoBezstanowe komponenty sesyjne i zdarzenia zwrotne
Bezstanowe komponenty sesyjne i zdarzenia zwrotne 1. Zdarzenia zwrotne. klasy nasłuchujące, klasy nasłuchujące a dziedziczenie. 2. Bezstanowe komponenty sesyjne. interfejsy: bazowy, zdalny i lokalny, obiekty
Bardziej szczegółowoStanowe komponenty sesyjne
Stanowe komponenty sesyjne 1. Porównanie komponentów stanowych i bezstanowych. 2. Cykl życia stanowego komponentu sesyjnego, 3. Komponenty sesyjne a kontekst utrwalania, 4. Zagnieżdżanie komponentów sesyjnych,
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ół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ół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ół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ółowoEnterprise JavaBeans (EJB)
Enterprise JavaBeans (EJB) Wykład prowadzi: Marek Wojciechowski Enterprise JavaBeans (EJB) 1 Plan wykładu Wprowadzenie do technologii EJB Typy komponentów EJB Klienci dla komponentów EJB Transakcje w EJB
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ół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ółowoZaawansowane aplikacje internetowe
Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne
Bardziej szczegółowoPodejście obiektowe do budowy systemów rozproszonych
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak 1 Mechanizm RMI umożliwia
Bardziej szczegółowoJava RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Bardziej szczegółowoJava RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć
interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka stub interfejs serwer szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Bardziej szczegółowoWywoływanie metod zdalnych
Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia
Bardziej szczegółowoD:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44
Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne
Bardziej szczegółowo1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)
Instrukcja tworzenia aplikacji EE na podstawie aplikacji z dostępem do bazy danych, prezentowanej na zajęciach lab.5 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie
Bardziej szczegółowo2) W wyświetlonym oknie należy zaznaczyć chęć utworzenia nowej aplikacji (wygląd okna może się różnić od powyższego); kliknąć OK
Zaawansowane aplikacje internetowe EJB 2 Celem tego laboratorium jest pokazanie, w jaki sposób aplikacje stworzone w różnych technologiach mogą korzystać z funkcjonalności udostępnianej przez komponenty
Bardziej szczegółowo"Biznesowe" wzorce projektowe
POLITECHNIKA GDAŃSKA WYDZIAŁ ELEKTRONIKI TELEKOMUNIKACJI I INFORMATYKI Katedra Architektury Systemów Komputerowych Jarosław Kuchta Instrukcja do laboratorium z przedmiotu Projektowanie Aplikacji Internetowych
Bardziej szczegółowoPodstawowe informacje o technologii Java Persistence API - przykład
Podstawowe informacje o technologii Java Persistence API - przykład na podstawie https://docs.oracle.com/javaee/7/jeett.pdf Programowanie komponentowe 3_2 1 1. Wykonanie kopii programu Sklep_6 2 1. Wykonanie
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ółowoKomponenty sterowane komunikatami
Komponenty sterowane komunikatami 1. Usługa JMS asynchroniczność, model przesyłania komunikatów, 2. Przykład wysyłanie wiadomości, odbieranie wiadomości, komponent sterowany komunikatami 3. Komponenty
Bardziej szczegółowoEnterprise Java Beans wykład 7 i 8
Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej Enterprise Java Beans wykład 7 i 8 Programowanie w Javie 2 mgr inż. Michał Misiak Agenda Co to jest EJB Architektura EJB
Bardziej szczegółowoInstrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.
Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie systemów informatycznych Przekształcenie
Bardziej szczegółowoObiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1
Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,
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ółowoProjektowanie Aplikacji Internetowych Jarosław Kuchta. Wzorce projektowe warstwy biznesowej
Jarosław Kuchta Wzorce projektowe warstwy biznesowej Wzorce projektowe dotyczące danych, obiektów i logiki biznesowej Transfer Object Assembler Łączy dane pochodzące z różnych komponentów biznesowych Composite
Bardziej szczegółowo1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1
1 LINQ 1 1. Cel zajęć Celem zajęć jest zapoznanie się z technologią LINQ oraz tworzeniem trójwarstwowej aplikacji internetowej. 2. Zadanie Proszę przygotować aplikację WWW, która: będzie pozwalała na generowanie
Bardziej szczegółowoBaza danych sql. 1. Wprowadzenie
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 edytora graficznego struktury bazy danych, który
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ółowoJava EE: JSF + EJB + JPA
Java EE: JSF + EJB + JPA Celem ćwiczenia jest utworzenie prostej aplikacji bazodanowej umożliwiającej przeglądanie i dodawanie zleceń serwisowych. Ćwiczenie pokazuje współpracę technologii JSF (podstawowej
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ółowoAplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów
Bardziej szczegółowoAplikacje RMI Lab4
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych 1 1. Koncepcja budowy aplikacji RMI (aplikacja rozproszonych
Bardziej szczegółowoObs³uga transakcji rozproszonych w jêzyku Java
VII Seminarium PLOUG Warszawa Marzec 2003 Obs³uga transakcji rozproszonych w jêzyku Java Marek Wojciechowski, Maciej Zakrzewicz marek, mzakrz}@cs.put.poznan.pl Politechnika Poznañska, Instytut Informatyki
Bardziej szczegółowoBazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych
Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy
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ółowo1. Model ACID. 2. Deklaratywne zarządzanie transakcjami, atrybuty transakcji. 3. Propagacja transakcji. transakcje rozproszone, propagacja kontekstu
Transakcje 1. Model ACID. 2. Deklaratywne zarządzanie transakcjami, atrybuty transakcji. 3. Propagacja transakcji. transakcje rozproszone, propagacja kontekstu utrwalania. 3. Izolacja typowe problemy,
Bardziej szczegółowoWywoływanie metod zdalnych
Wywoływanie metod zdalnych Podejście obiektowe do budowy systemów rozproszonych Wywoływanie metod zdalnych model systemu obiekt aplikacja kliencka interfejs serwer proxy szkielet sieć Istota podejścia
Bardziej szczegółowoTransakcje w systemach Java Enterprise Korzystanie z systemów kolejkowania w serwerach aplikacji
Transakcje w systemach Java Enterprise Korzystanie z systemów kolejkowania w serwerach aplikacji Systemy kolejkowania w środowisku serwera aplikacji Możliwość korzystania z systemów kolejkowania w aplikacjach
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ółowoBlaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik
Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie
Bardziej szczegółowoRemote Method Invocation 17 listopada 2010
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja klienckak interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Bardziej szczegółowoWprowadzenie do J2EE. Maciej Zakrzewicz. Maciej.Zakrzewicz@cs.put.poznan.pl http://www.cs.put.poznan.pl/mzakrzewicz/
1 Wprowadzenie do J2EE Maciej Zakrzewicz Maciej.Zakrzewicz@cs.put.poznan.pl http://www.cs.put.poznan.pl/mzakrzewicz/ Plan rozdziału 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji
Bardziej szczegółowoRola EJB na platformie Java EE. Enterprise JavaBeans (EJB)
Wielowarstwowe aplikacje internetowe Plan wykładu Enterprise JavaBeans (EJB) Wprowadzenie do technologii EJB Typy komponentów EJB Klienci dla komponentów EJB Transakcje w EJB JavaServer Faces (JSF) Enterprise
Bardziej szczegółowoProjektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz
Projektowanie oprogramowania Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz 1 Wykonanie czterowarstwowej aplikacji EE z dostępem do bazy danych,
Bardziej szczegółowoPodejście obiektowe do budowy systemów rozproszonych
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak (IIPP) 1 Mechanizm
Bardziej szczegółowoRemote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1
interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
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ół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ół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ółowoBusiness Intelligence Beans + Oracle JDeveloper
Business Intelligence Beans + Oracle JDeveloper 360 Plan rozdziału 361 Wprowadzenie do Java OLAP API Architektura BI Beans Instalacja katalogu BI Beans Tworzenie aplikacji BI Beans Zapisywanie obiektów
Bardziej szczegółowoPlan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza
4 Budowa prostych formularzy, stany sesji, tworzenie przycisków Plan Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 2 Formularz i jego typy Tworzenie formularza
Bardziej szczegółowoEnterprise JavaBeans (EJB)
Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z sesyjnymi komponentami Enterprise JavaBeans. Zilustrowane będą różnice między komponentami stanowymi i bezstanowymi. Pokazane będzie
Bardziej szczegółowoWykład 8. SQL praca z tabelami 5
Wykład 8 SQL praca z tabelami 5 Podzapytania to mechanizm pozwalający wykorzystywać wyniki jednego zapytania w innym zapytaniu. Nazywane często zapytaniami zagnieżdżonymi. Są stosowane z zapytaniami typu
Bardziej szczegółowoZaawansowane aplikacje internetowe - laboratorium Web Services (część 1).
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).
Bardziej szczegółowoEnterprise Java Beans Narzędzia i Aplikacje Java EE
Enterprise Java Beans Narzędzia i Aplikacje Java EE Michał Piotrowski Michał Wójcik Waldemar Korłub Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika
Bardziej szczegółowoPrzykładowa baza danych BIBLIOTEKA
Przykładowa baza danych BIBLIOTEKA 1. Opis problemu W ramach zajęć zostanie przedstawiony przykład prezentujący prosty system biblioteczny. System zawiera informację o czytelnikach oraz książkach dostępnych
Bardziej szczegółowoPodstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko
Podstawowe pojęcia dotyczące relacyjnych baz danych mgr inż. Krzysztof Szałajko Czym jest baza danych? Co rozumiemy przez dane? Czym jest system zarządzania bazą danych? 2 / 25 Baza danych Baza danych
Bardziej szczegółowo77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.
77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele
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ółowoOracle9iAS: instalacja i konfiguracja aplikacji J2EE
276 Oracle9iAS: instalacja i konfiguracja aplikacji J2EE Marek Wojciechowski Marek.Wojciechowski@cs.put.poznan.pl http://www.cs.put.poznan.pl/mwojciechowski/ Plan rozdziału 277 Przypomnienie architektury
Bardziej szczegółowoBuilder (budowniczy) Cel: Przykład:
1/8 Builder (budowniczy) Cel: Oddzielenie konstruowania złożonego obiektu od jego reprezentacji, tak aby ten sam proces konstrukcji mógł tworzyć różne reprezentacje. Przykład: 2/8 abstract class TableBuilder
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ółowoKurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/
Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Wprowadzenie Automatyczne ładowanie klas Składowe klasy, widoczność składowych Konstruktory i tworzenie obiektów Destruktory i
Bardziej szczegółowoProjektowanie Aplikacji Internetowych. Wzorce projektowe warstwy usług
Wzorce projektowe warstwy usług Wzorce projektowe warstwy usług Service Locator Ułatwia wyszukanie komponentów usługowych Service Activator Umożliwia asynchroniczne przesyłanie żądań do komponentów biznesowych
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ółowoakademia androida Składowanie danych część VI
akademia androida Składowanie danych część VI agenda 1. SharedPreferences. 2. Pamięć wewnętrzna i karta SD. 3. Pliki w katalogach /res/raw i /res/xml. 4. Baza danych SQLite. 5. Zadanie. 1. SharedPreferences.
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ółowoModelowanie obiektowe
Modelowanie obiektowe ZPO 2018/2019 Dr inż. W. Cichalewski Materiały wykonane przez W. Tylman Diagramy klas Diagramy klas Zawiera informacje o statycznych związkach między elementami (klasami) Są ściśle
Bardziej szczegółowoProjektowanie aplikacji J2EE w architekturze Model-View-Controller
XI Konferencja PLOUG Kościelisko Październik 2005 Projektowanie aplikacji J2EE w architekturze Model-View-Controller Maciej Zakrzewicz PLOUG, Instytut Informatyki Politechniki Poznańskiej mzakrz@cs.put.poznan.pl
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 03 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas abstrakcyjnych i interfejsów. Wprowadzenie
Bardziej szczegółowoOracle11g: Wprowadzenie do SQL
Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom
Bardziej szczegółowoContexts and Dependency Injection (CDI) Autor wykładu: Marek Wojciechowski
Contexts and Dependency Injection (CDI) Autor wykładu: Marek Wojciechowski ASP.NET (2) Contexts and Dependency Injection (CDI) Specyfikacja składowa Java EE 6 dotycząca współpracy warstwy prezentacji z
Bardziej szczegółowoWprowadzenie do projektu QualitySpy
Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować
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ółowoWyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz
Wyzwalacze Wyzwalacze są specjalnymi procedurami składowanymi, uruchamianymi automatycznie w następstwie zaistnienia określonego typu zdarzenia. Ich główne zadanie polega na wymuszaniu integralności danych
Bardziej szczegółowo1. Podstawowe usługi bezpieczeństwa. 2. Użytkownicy i role. przydzielanie uprawnie ń metodom, role komponentów, korzystanie i konfiguracja
Bezpieczeństwo 1. Podstawowe usługi bezpieczeństwa. 2. Użytkownicy i role. przydzielanie uprawnie ń metodom, role komponentów, korzystanie i konfiguracja mechanizmów bezpieczeństwa w Jboss 3. Java Authentication
Bardziej szczegółowoProtokół JDBC współpraca z relacyjnymi bazami danych lab4. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych
Protokół JDBC współpraca z relacyjnymi bazami danych lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych Zadanie1 Połączenie z bazą danych travel systemu bazodanowego Derby (metoda void
Bardziej szczegółowoDiagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com
Diagramy klas dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com O czym będzie? Notacja Ujęcie w różnych perspektywach Prezentacja atrybutów Operacje i metody Zależności Klasy aktywne,
Bardziej szczegółowoZasady transformacji modelu DOZ do projektu tabel bazy danych
Zasady transformacji modelu DOZ do projektu tabel bazy danych A. Obiekty proste B. Obiekty z podtypami C. Związki rozłączne GHJ 1 A. Projektowanie - obiekty proste TRASA # * numer POZYCJA o planowana godzina
Bardziej szczegółowoMateriały do laboratorium MS ACCESS BASIC
Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I
Bardziej szczegółowoPlan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone
Plan wykładu CORBA Wprowadzenie Architektura CORBA IDL język definicji interfejsów ORB Object Request Broker Usługi i POA Aplikacje CORBA tworzenie serwera tworzenie klienta Aplikacje rozproszone Cechy
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ół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ółowoPHP 5 język obiektowy
PHP 5 język obiektowy Wprowadzenie Klasa w PHP jest traktowana jak zbiór, rodzaj różnych typów danych. Stanowi przepis jak stworzyć konkretne obiekty (instancje klasy), jest definicją obiektów. Klasa reprezentuje
Bardziej szczegółowoInformatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java
Informatyka I Standard JDBC Programowanie aplikacji bazodanowych w języku Java dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Standard JDBC Java DataBase Connectivity uniwersalny
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ółowo