Systemy Rozproszone TECHNOLOGIA JAVA 2 ENTERPRISE EDITION PRZEMYSŁAW SOŁTAN.

Wielkość: px
Rozpocząć pokaz od strony:

Download "Systemy Rozproszone TECHNOLOGIA JAVA 2 ENTERPRISE EDITION PRZEMYSŁAW SOŁTAN. email: kerk@moskit.ie.tu.koszalin.pl"

Transkrypt

1 Systemy Rozproszone TECHNOLOGIA JAVA 2 ENTERPRISE EDITION PRZEMYSŁAW SOŁTAN

2 Co powinieneś znać? Podstawy HTML i XML Programowanie obiektowe w Javie Serwery aplikacji (JSP i Servlety) Obsługa baz danych (SQL) 2

3 Cel! Tworzenie aplikacji rozproszonych w oparciu o technologię J2EE Instalowanie i obsługa aplikacji enterprise na wzorcowym serwerze J2EE server Tworzenie rozproszonych systemów wykorzystujących: komponenty rozproszone, systemy katalogowe, przetwarzanie komunikatów, wywoływanie metod usług webowych. 3

4 4 Zagadnienia poruszane na zajęciach Serwery WWW i serwery aplikacji Technologia Java 2 Enterprise Edition Enterprise Java Bean Transakcje i bezpieczeństwo Wzorce Projektowe Serwery nazewnicze JNDI i systemy katalogów LDAP Java Message Services (komunikaty) JavaMail (poczta) Web Services (usługi webowe)

5 Literatura The J2EE Tutorial Sun Microsystems Enterprise JavaBean Specification ver2.1 Sun Microsystems Mastering Enterprise JavaBeans second edition Ed Roman The Java Web Services Tutorial Sun Microsystems Thinking in Java - edycja polska Bruce Eckel, Helion 2001 Design Enterprise Application with the J2EE Nicholas Kassen and Enterprise Team EJB Designe Patterns Floyd Marinescu, Wiley Computer Publishing J2EE and XML development Kurt A. Gabrick, David B. Weiss, Mmanning Bitter Java Bruce A. Tade, Mmanning Sun Microsystems - 5

6 Ewolucja J2EE J2EE Serwery komunikatów Serwery pocztowe Transakcje Bazy danych Serwery nazw Systemy Katalogowe EJB Architektura komponentowa Autoryzacja użytkowników Programowanie obiektowe Kontenery JAVA Serwery aplikacji Programowanie strukturalne Page Engine CGI Web Serwices SSL HTTPS HTTP XML HTML 6

7 7 N-Tier Przeglądarka internetowa Serwer webowy Serwer aplikacji Dane Warstwa prezentacji Warstwa logiki biznesowej Warstwa danych

8 N-Tier Technologia obiektów rozproszonych: rozbicie aplikacji na samozarządzalne komponenty współdziałanie komponentów pomiędzy różnymi sieciami i systemami operacyjnymi Integracja ze starszymi technologiami - technologia konektorów 8

9 Enterprise API Enterprise Java Beans (EJB) komponenty działające w warstwie logiki biznesowej, zarządzane i wykonywane na serwerze w kontenerze EJB Java Naming and Directory Interface (JNDI) usługa katalogowania pełniąca rolę zapamiętywania informacji o położeniu zasobów, scalania i zarządzania aplikacji J2EE 9

10 10 Platforma J2EE HTML Serwer Aplikacji Kontener WEB JDBC DBMS XHTML XML APPLET Servlets JSP TAG Lib JAF JAVAMAIL JMS JDBC JTA JNDI RMI/IIOP JavaMail RMI Mail Server Aplikacja JAVA Kontener EJB IIOP CORBA Server Aplikacja klienta RMI/IIOP JNDI Session Beans JTA JDBC JMS Message Beans JAVAMAIL JAF Entity Beans JNDI JMS Directory Service Message queue

11 Serwlety DBMS Przeglądarka internetowa Klient HTTP HTML Kontener WEB Servlety i strony JSP EJB Baza Danych Kontener EJB Serwer aplikacji - ograniczenia przy rozbudowie systemu 11

12 Serwlety JavaBean DBMS Przeglądarka internetowa Klient HTTP HTML Kontener WEB Servlety i strony JSP Java Bean EJB Baza Danych Kontener EJB Serwer aplikacji + oddzielenie widoku od logiki biznesowej 12

13 Serwlety EJB DBMS Przeglądarka internetowa Klient HTTP HTML Kontener WEB Servlety i strony JSP Java Bean EJB Baza Danych Kontener EJB Serwer aplikacji + transakcyjność, trwałość i bezpieczeństwo 13

14 Heterogeniczny dostęp do danych LDAP JMS BEAN EJB KLIENT JSP Custom Tag XML JDBC DBMS Korzystanie z danych z różnorodnych źródeł (transformacje po stronie serwera, abstrakcyjność danych) 14

15 EJB 15

16 Warstwa logiki biznesowej Logika biznesowa jest odpowiedzialna za wykonywanie głównych zadań aplikacji: dostępu do źródeł danych integracji systemu z nowymi funkcjami Odwzorowanie metod za pomocą komponentów biznesowych: session bean i wielu entity beans. Warstwa obsługiwana jest przez serwer aplikacji zgodny z architekturą J2EE 16

17 17 Enterprise Java Bean Architektura EJB jest przeznaczona do tworzenia aplikacji bazujących na rozproszonych komponentach wsparcie transakcji bezpieczeństwo Kontakt z innymi komponentami biznesowymi Kontakt z klientem Komponenty biznesowe Administracja Bezpieczeństwo Kontakt z danymi Transakcje

18 Enterprise Java Bean Specyfikacja EJB określa strukturę usług działajcych po stronie serwera producenci serwerów aplikacji webowch tworzą kontenery EJB Serwer Kontener WEB Servlet Java Server Pages Kontener EJB EJB EJB EJB EJB EJB EJB Komponenty rozproszone Komponenty lokalne 18

19 Zalety komponentów EJB otwartość standardu wieloplatformowość javy izolacja od problemów połączeń oraz transakcji dystrybucja EJB w sieci serwerów wielokrotne użycie komponentów 19

20 20 EJB EJB architektura do dystrybucji komponentów transakcyjnych po stronie serwera Zdefiniowanie standardowych interfejsów i ich implementacja w serwerach aplikacji (kontenerach EJB)

21 21 EJB <<Interface>> java.rmi.remote <<Interface>> java.io.serializable jdk API <<Interface>> EJBHome <<Interface>> EJBObject <<Interface>> EnterpriseBean javax.ejb API <<Interface>> SessionBean Projektant Komponentu EJB

22 Architektura EJB Kontener EJB EJBHome (interfejs) EJBHome (implementacja) KLIENT EJB EJBObject (interfejs) EJBObject (implementacja) Dostęp do komponentów EJB za pomocą zdefiniowanych interfejsów (HOME i REMOTE) 22

23 Architektura EJB Kontener EJB EJBHome KLIENT EJBObject EJB Dostęp do komponentów EJB za pomocą zdefiniowanych interfejsów (HOME i REMOTE) 23

24 24 Przykład: Witaj public class Witaj { public String witaj() { return "Witaj!!!"; } } Przykładowa klasa przeznaczona do implementacji jako komponent EJB Należy stworzyć: klasę dziedziczącą z EnterpriseBean Interfejs EJBHome Interfejs EJBObject

25 Klasa SessionBean WitajBean.java import javax.ejb.*; public class WitajBean implements SessionBean { <<Interface>> java.io.serializable public String witaj() { return "Witaj!!!"; } public WitajBean(){} public void ejbcreate(){} public void ejbremove(){} <<Interface>> EnterpriseBean <<Interface>> SessionBean public void ejbactivate(){} public void ejbpassivate(){} public void setsessioncontext(sessioncontext ctx) { } WitajBean } 25

26 Interfejs EJBHome WitajHome.java import javax.ejb.*; import java.rmi.remoteexception; <<Interface>> java.rmi.remote public interface WitajHome extends EJBHome { } Witaj create() throws RemoteException,CreateException; <<Interface>> EJBHome <<Interface>> WitajHome 26

27 Interfejs EJBObject Witaj.java import javax.ejb.*; import java.rmi.remoteexception; <<Interface>> java.rmi.remote public interface Witaj extends EJBObject { } public String witaj() throws RemoteException; <<Interface>> EJBObject <<Interface>> Witaj 27

28 28 Witaj EJB <<Interface>> java.rmi.remote <<Interface>> java.io.serializable jdk API <<Interface>> EJBHome <<Interface>> EJBObject <<Interface>> EnterpriseBean javax.ejb API <<Interface>> SessionBean <<Interface>> WitajHome <<Interface>> Witaj WitajEJB Projektant Komponentu EJB

29 29 Witaj EJB Diagram klas komponentu WitajBean (Power Desinger - Sybase) interfejs klasa

30 Witaj EJB <<Interface>> java.rmi.remote <<Interface>> java.io.serializable jdk API <<Interface>> EJBHome <<Interface>> EJBObject <<Interface>> EnterpriseBean javax.ejb API <<Interface>> SessionBean <<Interface>> WitajHome <<Interface>> Witaj WitajEJB Projektant Komponentu EJB xxxwitaj EJBHome xxxwitaj EJBObject xxx WitajBean Kontener EJB 30

31 Klienci komponentów EJB Klient Biznesowy (web service) SOAP Kontener WEB Przeglądarka HTML Aplikacja Javy HTTP RMI-IIOP JSP i servlety RMI-IIOP Kontener EJB EJB Applet Klient C++ Klient JMS RMI-IIOP CORBA-IIOP JMS EJB RMI-IIOP EJB 31

32 32 Klient (strona JSP) Kontener WEB Kontener EJB Przeglądarka HTML HTTP JSP EJB

33 Klient EJB KLIENT try { Context initial = new InitialContext(); Object objref = initial.lookup("java:comp/env/ejb/witaj"); WitajHome home = (WitajHome)PortableRemoteObject. narrow(objref,witajhome.class); 1 1 Serwer Nazw JNDI Witaj witaj = home.create(); out.println(witaj.witaj()); } catch (Exception ex) { } Klient przesyła do Serwera JNDI nazwę obiektu java:comp/env/ejb/witaj 33

34 Klient EJB KLIENT try { Context initial = new InitialContext(); Object objref = initial.lookup("java:comp/env/ejb/witaj"); WitajHome home = (WitajHome)PortableRemoteObject. narrow(objref,witajhome.class); Witaj witaj = home.create(); out.println(witaj.witaj()); 1 2 } catch (Exception ex) { } 2 Serwer Nazw JNDI Serwer JNDI odsyła do Klienta referencję do obiektu o określonej nazwie 34

35 Klient EJB Interfejs domowy HOME 3 4 EJBHome Kontener EJB KLIENT EJB EJB EJB 1 2 Serwer Nazw JNDI Referencja zostaje wykorzystana przez Klienta do pobrania nowej referencji wskazującej na obiekt domowy Home kontenera EJB 35

36 Klient EJB try { Context initial = new InitialContext(); Object objref = initial.lookup("java:comp/env/ejb/witaj"); WitajHome home = 3 (WitajHome)PortableRemoteObject. narrow(objref,witajhome.class); Witaj witaj = home.create(); out.println(witaj.witaj()); } catch (Exception ex) { } Klient otrzymuje dostęp do obiektu home stworzonego przez Kontener na podstawie klasy wygenerowanej z interfejsu domowego Home 4 EJBHome 36

37 WitajHome & WitajBean_RemoteHomeImpl Klasa WitajBean_RemoteHomeImpl.java <<Interface>> WitajHome Metoda create() Interfejs Witaj.java xxxwitaj EJBHome 37

38 Klient EJB Interfejs domowy HOME 3 4 EJBHome Kontener EJB KLIENT Interfejs zdalny REMOTE 5 create() EJB EJB EJBObject EJB 1 2 Serwer Nazw JNDI Klient posiadając referencję na obiekt domowy HOME wywołuje jego metodę create() tworzącą obiekt zdalny EJBObject 38

39 Klient EJB 5 try { Context initial = new InitialContext(); Object objref = initial.lookup("java:comp/env/ejb/witaj"); WitajHome home = (WitajHome)PortableRemoteObject. narrow(objref,witajhome.class); Witaj witaj = home.create(); out.println(witaj.witaj()); } catch (Exception ex) { } Klient otrzymuje dostęp do obiektu zdalnego witaj stworzonego przez Kontener na podstawie klasy wygenerowanej z interfejsu zdalnego Remote EJBObject 39

40 Witaj & WitajBean_EJBObjectImpl Metoda witaj() Interfejs Witaj.java <<Interface>> Witaj Klasa WitajBean_EJBObjectImpl.java xxxwitaj EJBObject 40

41 41 Instancje EJB & Kontener Kontener (nie klient) decyduje o tworzeniu i usuwaniu instancji komponentów EJB Kontener EJB EJB możliwość wykorzystania wolnych instancji przez innych klientów (tworzenie puli komponentów już przy starcie serwera wzrost wydajności) EJB EJB

42 Klient EJB Interfejs domowy HOME 3 4 EJBHome Kontener EJB KLIENT Interfejs zdalny REMOTE 5 Create() EJB EJB 6 witaj() EJBObject EJB 1 2 Serwer Nazw JNDI Klient ma teraz pełny dostęp do komponentu EJB i może wykonywać jego metody biznesowe np. metodę witaj() 42

43 43 Klient EJB try { Context initial = new InitialContext(); Object objref = initial.lookup("java:comp/env/ejb/witaj"); WitajHome home = (WitajHome)PortableRemoteObject. narrow(objref,witajhome.class); Witaj witaj = home.create(); out.println(witaj.witaj()); } catch (Exception ex) { } 6 Klient wywołuje metodę biznesową witaj() obiektu witaj komponentu EJB w taki sam sposób jak w przypadku komponentów lokalnych

44 Klient EJB Interfejs domowy HOME 3 4 EJBHome Kontener EJB KLIENT Interfejs zdalny REMOTE 5 Create() EJB EJB 6 EJBObject witaj() 7 EJB 1 2 Serwer Nazw JNDI Obiekt zdalny po otrzymaniu od Klienta nakazu wykonania metody witaj() wywołuje metodę na określonej instancji komponentu EJB 44

45 Klient(Przeglądarka) 45 Klient Serwer Serwer(Kontener WEB) Serwer(Kontener EJB) Przeglądarka HTML Kontener WEB JSP Kontener EJB EJB

46 Serwer J2EE 46

47 47 Instalacja i uruchomienie instalacja serwera np. do katalogu c:\java\j2ee ustawienie zmiennych środowiskowych JAVA_HOME=c:\java\jdk j2ee_home=c:\java\j2ee start serwera c:\java\j2ee\bin\j2ee -verbose test serwera zatrzymanie serwera c:\java\j2ee\bin\j2ee -stop

48 Uruchomienie i zatrzymanie serwera j2ee -stop j2ee -verbose W celu uruchomienia serwera w środowisku Windows 9x należy dokonać modyfikacji plików startowych 48

49 49

50 50 Cloudscape (baza danych pakietu J2EE) cloudview.bat cloudscape.bat -start cloudscape.bat -stop

51 51 Dystrybuja komponentów EJB Tworzenie Komponentów EJB Budowa aplikacji Instalacja aplikacji Projektant komponentów EJB Projektant aplikacji Instalator aplikacji Instalacja serwera Administrator Instalator kontenera EJB (serwera aplikacji)

52 Program zarządza archiwami aplikacji Enterprise (EAR) oraz ich instalacją na serwerze aplikacyjnym 52 Application Deployment Tool deployment

53 Deskryptory rozmieszczenia (Deployment Descriptions) EAR (Enterprise Application Resource) WAR (Web Application Resource) RAR (Resource Adapters) EJB Klient JAR Deskryptory DD opisują wewnętrzną strukturą archiwum aplikacji 53

54 DD deployment descriptor (desktyptor rozmieszczenia w formacie XML) 54 Deployment Tool Klasa i interfejsy komponentu EJB EJB home EJB object EJB DD EJB home EJB object EJB DeployTool DD jar Archiwum ejb-jar

55 55 Deployment Tool Archiwa komponentów EJB jar Archiwa komponentów webowych war jar DD ear Archiwa aplikacji klientów jar war jar Archiwum aplikacji (plik ear) Deskryptor rozmieszczenia DD DeployTool

56 56 Mapowanie klas Komponent Session Stateless Klasa WitajBean Interfejs domowy WitajHome Interfejs zdalny Witaj

57 57 Komponent EJB WitajBean Nowy komponent WitajBean znajdujący się w archiwum WitajEJB Zamapowane klasy komponentu

58 58 Mapowanie nazw JNDI Dla komponentów należy przypisać nazwy za pomocą których będą rozpoznawane przez inne komponenty, czy też przez kod klienta (jsp, servlety) Wprowadzenie nazwy ejb/witaj dla komponentu WitajBean

59 59 Archiwum webowe WAR Nowe archiwum WAR Plik witaj.jsp

60 60 Web Context Nazwa w Context Root określa lokalizator dostępu URL aplikacji do archiwum WitajWAR

61 Referencja do komponentu EJB 61

62 Deployment 62

63 Serwer Nazw JNDI Przeglądarka internetowa 1 Kontener WEB Strona JSP 4 Kontener EJB EJB Klient 2 3 Serwer JNDI Serwer Aplikacji 63

64 Test komponentu EJB Przeglądarka internetowa Klient HTTP HTML Kontener WEB Servlety i strony JSP Kontener EJB EJB W konsoli serwera można podglądać informacje o poprawności lub ewentualnych błędach publikowania aplikacji 64

65 Wzorcowa aplikacja J2EE 65

66 66 Petstore (deployment) Archiwum EAR zawierające komponenty aplikacji Enterprise (archiwa jar, war, rar)

67 Cykl tworzenia aplikacji Projekt logiki biznesowej oraz kontrolera UML (Rational Rose) Tworzenie i debugowanie klas javy (servlety, java beans, EJB) Java IDE Tworzenie archiwum EAR Deployment PUBLIKOWANIE Umieszczenie codu logiki biznesowej, kontrolera oraz widoku Serwer Aplikacji (J2EE Server) Edytory JSP i HTML (notepad ) Tworzenie stron HTML i JSP (widoki) 67

68 Platforma Eclipse 68

69 Session Bean 69

70 Ziarenka EJB J2EE Message-Driven EJB Session EJB BMP Entity EJB CMT (Container-Managed Transactions) BMT (Bean-Managed Transactions) Stateless Stateful CMT (Container-Managed Transactions) BMT (Bean-Managed Transactions) Interfejsy Remote i Local Interfejsy Remote i Local CMP Entity EJB Powiązane komponenty CMP Entity EJB Obsługa tabeli z podłączonej bazy danych Obsługa EJB-QL Interfejsy Remote i Local Obsługa tabel z podłączonej bazy danych CMR (Container-Managed Relationships) Interfejsy Remote i Local 70

71 Session Bean Reprezentacja przypadków użycia (Use Cases) lub procesów biznesowych realzowanych w imieniu klienta Wypłata gotówki Klient Dokonanie przelewu System Bankowy Złożenie depozytu BANKOMAT Komponenty Session reprezentują działanie na danych (nie reprezentują samych danych) 71

72 72 Session Bean klient klient klient Session Bean Session Bean Session Bean Komponent typu Session (reprezentacja klienta po stronie serwera) Komponenty Session Bean charakteryzują się: - reprezentacja procesów biznesowych - krótki żywot komponentu (podobie jak sesje w jsp) - osobna instancja komponentu dla klientów - komponent ma charakter pośrednika (TRANSIENT)

73 Przeznaczenie komponentów SessionBean Użycie komponentu do modelowania procesów i kontroli Przenoszenie logiki biznesowej z aplikacji klienckich (client-serwer) na serwery aplikacji Kontrolowanie interakcji pomiędzy komponentami EJB 73

74 74 Rodzaje komponentów Session Session Bean Stateless Komponent nie utrzymuje żadnych stanów wewnętrznych, które można wykorzystać przy ponownym wywołaniu komponentu przez klienta (bezstanowość) Stateful Komponent ma możliwość utrzymania stanów wewnętrznych pomiędzy wywołaniami komponentu przez klienta (mapowanie jednego komponentu na jednego klienta)

75 75 Session Stateless Bean

76 76 Cykl życia komponentu Stateless Bean Komponent nie istnieje Class.newInstance() setsessioncontext() ejbcreate() ejbremove() Wywoływanie metod biznesowych Komponent istnieje

77 Diagram sekwencji Stateless Session Bean Klient Kontener Bean Baza Danych newinstance() setsessioncontext() ejbcreate() Dodanie nowej instancji komponentu bean do puli komponentów 77

78 Diagram sekwencji Stateless Session Bean Klient Kontener Bean Baza Danych newinstance() setsessioncontext() ejbcreate() Dodanie nowej instancji komponentu bean do puli komponentów home.create() new EJB object Obsługa metody create 78

79 Diagram sekwencji Stateless Session Bean Klient Kontener Bean Baza Danych newinstance() setsessioncontext() ejbcreate() Dodanie nowej instancji komponentu bean do puli komponentów home.create() new EJB object ejbobject.method(arg) Obsługa metody create method(arg) read or update data register resource manager with transaction Obsługa metod biznesowych 79

80 Diagram sekwencji Stateless Session Bean Klient Kontener Bean Baza Danych newinstance() setsessioncontext() ejbcreate() Dodanie nowej instancji komponentu bean do puli komponentów home.create() new EJB object ejbobject.method(arg) Obsługa metody create method(arg) read or update data register resource manager with transaction Obsługa metod biznesowych ejbobject.remove() or home.remove(...) Obsługa metody remove 80

81 Diagram sekwencji Stateless Session Bean Klient Kontener Bean Baza Danych newinstance() setsessioncontext() ejbcreate() Dodanie nowej instancji komponentu bean do puli komponentów home.create() new EJB object ejbobject.method(arg) Obsługa metody create method(arg) read or update data register resource manager with transaction Obsługa metod biznesowych ejbobject.remove() or home.remove(...) Obsługa metody remove ejbremove() Usunięcie instancji komponentu bean z puli komponentów 81

82 Interfejsy i klasa bean a Interfejs CalculatorHome Klasa CalculatorBean Interfejs Calculator W klasie komponentu CalculatorBean zdefiniowano dwie metody biznesowe: add oraz substract 82

83 Strona JSP (metody init i destroy) 83 Kalkulator klient (jsp) Komunikacja z komponentem EJB poprzez JNDI

84 84 Aplikacja klienta cd.. Strona JSP (wywołanie metody biznesowej)

85 85 Session Stateful Bean

86 86 Session Stateful Zalety Łatwość użycia Obiektowość Skalowalność Określanie logiki biznesowej dla pojedynczego klienta Komponent Session Stateful pełni rolę komunikatora serwera aplikacji z klientem przechowującego stany konwersacji (typowe zastosowanie to wózek na zakupy)

87 Ciasteczka (cookies) HTTP Session Stateful Session Wpisy w bazie danych 87 Sesyjność N-tier Serwer aplikacji Przeglądarka internetowa Klient HTTP HTML Kontener WEB Servlety i strony JSP EJB Baza Danych Kontener EJB

88 88 Metody sterujące cyklem życia Stateful Session Bean 2 3 Pasywność komponentu EJB Aktywacja komponentu EJB 1 Aktywacja komponentu EJB ej bcreat e() ejbpasivate() ejbactivate() ejbremove() 4 Niszczenie komponentu EJB Kontener EJB

89 89 Cykl życia komponentu Stateful Bean Komponent nie istnieje Class.newInstance() setsessioncontext() ejbcreate() ejbremove() Upłynięcie czasu obsługi klienta Wywoływanie metod biznesowych Komponent istnieje ejbpasivate() ejbactivate() Uśpienie komponentu (serializacja)

90 90 Diagram sekwencji Stateful Session Bean Klient Kontener Bean Baza Danych home.create(arg) new EJB object newinstance() setsessioncontext() ejbcreate(arg) Obsługa metody create

91 91 Diagram sekwencji Stateful Session Bean Klient Kontener Bean Baza Danych home.create(arg) new EJB object ejbobject.method(arg) newinstance() setsessioncontext() ejbcreate(arg) Obsługa metody create method(arg) Obsługa metod biznesowych

92 92 Diagram sekwencji Stateful Session Bean Klient Kontener Bean Baza Danych home.create(arg) new EJB object ejbobject.method(arg) newinstance() setsessioncontext() ejbcreate(arg) Obsługa metody create method(arg) Obsługa metod biznesowych ejbpasivate() Serializacja instancji komponentu i utrwalenie w magazynie Uśpienie instancji komponentu

93 Diagram sekwencji Stateful Session Bean Klient Kontener Bean Baza Danych home.create(arg) new EJB object ejbobject.method(arg) newinstance() setsessioncontext() ejbcreate(arg) Obsługa metody create method(arg) Obsługa metod biznesowych ejbpasivate() Serializacja instancji komponentu i utrwalenie w magazynie Uśpienie instancji komponentu Odczyt serialozowanego komponentu z magazynu i deserializacja komponentu ejbobject.method(arg) ejbactivate() method(arg) Aktywacja instancji komponentu i obsługa metod biznesowych 93

94 Metoda ejbpasivate() Kontener 1 ejbpasivate() Instancja komponentu EJB 2 Przed uśpieniem komponentu (utrwaleniem komponentu) 2 kontener wywołuje metodę ejbpasivate() 1. Projektant komponentu EJB ma możliwość zdefiniowania własnego kodu wywoływanego podczas zasypiania 94

95 Metoda ejbactivate() Kontener 1 4 ejbpasivate() ejbactivate() Instancja komponentu EJB 2 3 Kontener ożywia utrwalony komponent wywołująć metodę ejbactivate() 4. 3 Projektant komponentu EJB ma możliwość zdefiniowania własnego kodu wywoływanego po uaktywnieniu komponentu 95

96 Diagram sekwencji Stateful Session Bean Klient Kontener Bean Baza Danych home.create(arg) new EJB object ejbobject.method(arg) newinstance() setsessioncontext() ejbcreate(arg) Obsługa metody create method(arg) Obsługa metod biznesowych ejbpasivate() Serializacja instancji komponentu i utrwalenie w magazynie Uśpienie instancji komponentu Odczyt serialozowanego komponentu z magazynu i deserializacja komponentu ejbobject.method(arg) ejbactivate() method(arg) Aktywacja instancji komponentu i obsługa metod biznesowych 96

97 97 Diagram sekwencji Stateful Session Bean Klient Kontener Bean Baza Danych ejbobject.transactional method(arg) afterbegin() read database data register resource manager with transaction Obsługa sekwencji transakcji (w przypadku implementacji javax.ejb.sessionsynchronization)

98 98 Diagram sekwencji Stateful Session Bean Klient Kontener Bean Baza Danych ejbobject.transactional method(arg) afterbegin() read database data register resource manager with transaction Obsługa sekwencji transakcji (w przypadku implementacji javax.ejb.sessionsynchronization) beforecompletion() prepare commit write database data If commit = true then aftercommpletion(true) If commit = false then aftercommpletion(false) Zatwierdzenie sekwencji transakcji (w przypadku implementacji javax.ejb.sessionsynchronization)

99 Diagram sekwencji Stateful Session Bean Klient Kontener Bean Baza Danych ejbobject.transactional method(arg) afterbegin() read database data register resource manager with transaction Obsługa sekwencji transakcji (w przypadku implementacji javax.ejb.sessionsynchronization) beforecompletion() prepare commit write database data If commit = true then aftercommpletion(true) If commit = false then aftercommpletion(false) Zatwierdzenie sekwencji transakcji (w przypadku implementacji javax.ejb.sessionsynchronization) ejbobject.remove() or home.remove(...) ejbremove() Obsługa metody remove 99

100 100 Interfejsy i klasa bean a Interfejs WozekHome Interfejs Wozek Klasa WozekBean

101 DeployTool 101

102 102 Wózek na zakupy klient (jsp) Inicjalizacja komponentu za pomocą JNDI tak samo jak przy WitajBean

103 Interfejsy lokalne (LocalHome i LocalObject) 103

104 Lokalny dostęp do komponentu Klient JVM 1 JVM Komponent W przypadku dystrybucji komponentu na inną maszynę Javy korzystamy z metod wywoływane zdalnie 1 Klient 2 1 JVM Komponent W przypadku dystrybucji komponentu na tej samej maszynie Javy można stosować także metody 2 wywoływane lokalnie 104

105 Interfejsy zdalne Zalety Niezależność od lokacji komponentu Elastyczność w dystrybucji Izolacja komponentów Wady Większa złożoność Możliwość występowania wyjątków RemoteException 105

106 Interfejsy lokalne Zalety Lepsza wydajność Wady Trudności w dystrybucji obiektu Klient i komponent korzystają z tej samej maszyny wirtualnej JAVA 106

107 Interfejs EJBLocalHome WitajLocalHome.java import javax.ejb.*; public interface WitajLocalHome extends EJBLocalHome { <<Interface>> EJBLocalHome WitajLocal create() throws CreateException;; } <<Interface>> WitajLocalHome WitajHome.java import javax.ejb.*; import java.rmi.remoteexception; public interface WitajHome extends EJBHome { } Witaj create() throws RemoteException,CreateException; 107

108 Interfejs EJBLocalObject WitajLocal.java import javax.ejb.*; public interface WitajLocal extends EJBLocalObject { <<Interface>> EJBLocalObject public String witaj(); } <<Interface>> WitajLocal Witaj.java import javax.ejb.*; import java.rmi.remoteexception; public interface Witaj extends EJBObject { } public String witaj() throws RemoteException; 108

109 109 Witaj EJB <<Interface>> java.rmi.remote <<Interface>> java.io.serializable jdk <<Interface>> EnterpriseBean javax.ejb <<Interface>> EJBLocalHome <<Interface>> EJBLocalObject <<Interface>> EJBHome <<Interface>> EJBObject <<Interface>> SessionBean <<Interface>> WitajLocalHome <<Interface>> WitajLocal <<Interface>> WitajHome <<Interface>> Witaj WitajBean Projektant Komponentu EJB xxxwitaj EJBLocalHome xxxwitaj EJBLocalObject xxxwitaj EJBHome xxxwitaj EJBObject xxx WitajBean Kontener EJB

110 Deploytool 110

111 111 Interfejsy lokalne Local EJBHome EJBHome klient EJBObject A Bean Local EJBObject B Bean Local EJBObject B Bean Komponent B Bean posiada zdefiniowane interfejsy lokalne LocalEJBHome oraz LocalEJBObject

112 112 Klasa adaptacyjna

113 113 Klasa Adaptera - dziedziczenie StatelessSessionAdapter <<Interface>> SessionBean WitajBean Do klasy Adaptera można przenieść puste metody, których definiowanie wymusza specyfikacja EJB

114 114 Klasa Adaptera - dziedziczenie <<Interface>> SessionBean StatelessSessionAdapter WitajBean Klasa WitajBean definiuje wyłącznie metody biznesowe

115 Klasa Adaptera - dziedziczenie Z klasy Adaptera mogą teraz korzystać inne klasy komponentów biznesowych tworzonej aplikacji <<Interface>> SessionBean StatelessSessionAdapter CalculatorBean Zalety: W klasie adaptera można definiować metody, które będą widziane przez inne klasy z niej dziedziczące ConverterBean WitajBean 115

116 Entity Beans 116

117 Ziarenka EJB J2EE Message-Driven EJB Session EJB BMP Entity EJB CMT (Container-Managed Transactions) BMT (Bean-Managed Transactions) Stateless Stateful CMT (Container-Managed Transactions) BMT (Bean-Managed Transactions) Interfejsy Remote i Local Interfejsy Remote i Local CMP Entity EJB Powiązane komponenty CMP Entity EJB Obsługa tabeli z podłączonej bazy danych Obsługa EJB-QL Interfejsy Remote i Local Obsługa tabel z podłączonej bazy danych CMR (Container-Managed Relationships) Interfejsy Remote i Local 117

118 118 Rodzaje komponentów EJB klient klient Entity Bean Komponent typu Entity (obiekt biznesowy reprezentujący przechowywanie danych) klient Komponenty Entity Bean charakteryzują się: - reprezentacja danych biznesowych -długi okes życia komponentu (dane baz danych) - wspólna (dzielona) instancja komponentu dla klientów - komponent ma charakter trwałości (PERSISTENT)

119 Komponety EJB klient Komponent SessionBean reprezentuje klienta na serwerze Entity Bean Entity Bean - redukcja liczby odwołań do serwera klient - komponent session pełni rolę osłony oddzielającej klienta od wewnętrznych relacji pomiędzy komponentami entity Session Bean Entity Bean Entity Bean Wzorzec projektowy FASADY 119

120 120 Komponety EJB klient klient klient Session Session Bean Session Bean Bean Entity Entity Bean Entity Bean Bean Message Queue Session Session Bean Session Bean Bean Entity Entity Bean Entity Bean Bean klient Message Driven Bean Entity Entity Bean Entity Bean Bean

121 ANT 121

122 122 ANT make dla javy?! ANT narzędzie do tworzenia skryptów opartych o XML a przeznaczonych do automatyzacji kompilacji projektów Niektóre zalety: przenośność (niezależność od systemu) Automatyzacja pracy poprzez kompilacje projektów i ich automatyczne publikowanie na serwerach aplikacji, wywoływanie skryptów SQL, tworzenie dokumentacji JDK itd...

123 Skrtypt build.xml 123

124 124 ant build.xml deploy Inicjalizacja i tworzenie katalogów Kompilacja plików java Tworzenie archiwów jar, war i ear Publikowanie aplikacji ear na serwerze J2EE

125 125 ant build.xml undeploy Inicjalizacja Usunięcie publikowanej aplikacji z serwera J2EE Usunięcie tumczasowych plików i katalogów

126 JNLP 126

127 JNLP JNLP Java Network Launching Protocol Archiwum JAR aplikacji klienta Lokalizacja archiwum wskazywana jest przez lokalizator URI lub file:/// Aplikacja klienta Komputer Klienta Java Web Start 127

128 JNLP - przykład <?xml version="1.0" encoding="utf-8"?> <jnlp spec="1.0+" codebase="http://localhost:8080/jnlp/" href="baner.jnlp"> <information> <title>systemy Rozproszone - BANER</title> <vendor>technical University of Koszalin</vendor> <homepage href="http://kik.ie.tu.koszalin.pl/systemy"/> <description>przykład</description> <description kind="short">baner</description> <description kind="tooltip">baner</description> <icon href="gfx/icon.gif"/> <offline-allowed/> </information> <resources> <j2se version="1.3+"/> <jar href="baner.jar"/> </resources> <application-desc main-class="systemy.rozproszone.baner"/> </jnlp> Lokalizacja plików: 128

129 JNLP - przykład <?xml version="1.0" encoding="utf-8"?> <jnlp spec="1.0+" codebase="http://localhost:8080/jnlp/" href="baner.jnlp"> <information> <title>systemy Rozproszone - BANER</title> <vendor>technical University of Koszalin</vendor> <homepage href="http://kik.ie.tu.koszalin.pl/systemy"/> <description>przykład</description> <description kind="short">baner</description> <description kind="tooltip">baner</description> <icon href="gfx/icon.gif"/> <offline-allowed/> </information> <resources> <j2se version="1.3+"/> <jar href="baner.jar"/> </resources> <application-desc main-class="systemy.rozproszone.baner"/> </jnlp> 129

Budowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG

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ółowo

Plan 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: 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ółowo

Java Enterprise Edition spotkanie nr 1. Sprawy organizacyjne, wprowadzenie

Java Enterprise Edition spotkanie nr 1. Sprawy organizacyjne, wprowadzenie Java Enterprise Edition spotkanie nr 1 Sprawy organizacyjne, wprowadzenie 1 Informacje organizacyjne Program: Co będzie na tym wykładzie, a czego nie będzie? apteka rolnictwo Java Enterprise Edition vs

Bardziej szczegółowo

Enterprise JavaBeans

Enterprise 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ółowo

Warstwa 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. 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ółowo

EJB 2.x oraz zmiany w standardzie dla EJB 3.0. Michał Stanek

EJB 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ółowo

Wprowadzenie do Enterprise JavaBeans 2.0

Wprowadzenie 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ółowo

Serwery LDAP w środowisku produktów w Oracle

Serwery LDAP w środowisku produktów w Oracle Serwery LDAP w środowisku produktów w Oracle 1 Mariusz Przybyszewski Uwierzytelnianie i autoryzacja Uwierzytelnienie to proces potwierdzania tożsamości, np. przez: Użytkownik/hasło certyfikat SSL inne

Bardziej szczegółowo

1 Wprowadzenie do J2EE

1 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ółowo

Wywoływanie metod zdalnych

Wywoł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ółowo

Enterprise JavaBeans. 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss.

Enterprise 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ółowo

Platforma 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. 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ółowo

EJB 3.0 (Enterprise JavaBeans 3.0)

EJB 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ółowo

Wprowadzenie do J2EE. Maciej Zakrzewicz. Maciej.Zakrzewicz@cs.put.poznan.pl http://www.cs.put.poznan.pl/mzakrzewicz/

Wprowadzenie 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ółowo

Budowa komponentów Enterprise JavaBeans

Budowa 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ółowo

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.pl Serwer aplikacji Serwer aplikacji to: Serwer wchodzący w skład sieci komputerowej, przeznaczony

Bardziej szczegółowo

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z

Bardziej szczegółowo

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Maciej Zakrzewicz PLOUG mzakrz@cs.put.poznan.pl Plan prezentacji Wprowadzenie do architektury zorientowanej na usługi Charakterystyka technologii

Bardziej szczegółowo

Usługa TimerService ejbtimeout() @javax.ejb.timeout

Usł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ółowo

Aplikacje Internetowe, Servlety, JSP i JDBC

Aplikacje Internetowe, Servlety, JSP i JDBC Aplikacje Internetowe, Servlety, JSP i JDBC Opis Java 2 Enterprise Edition (JEE) jest potężną platformą do tworzenia aplikacji webowych. PLatforma JEE oferuje wszystkie zalety tworzenia w Javie plus wszechstronny

Bardziej szczegółowo

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache

Bardziej szczegółowo

Java wybrane technologie

Java wybrane technologie Java wybrane technologie spotkanie nr 7 Enterprise Java Beans Zagadnienia dotyczące systemów rozproszonych Zdalne wołanie metod (ang. Remote Method Invocation) Wielowątkowość (ang. Threading) Współpraca

Bardziej szczegółowo

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej dr inż. Paweł Czarnul pczarnul@eti.pg.gda.pl Architektury usług internetowych laboratorium

Bardziej szczegółowo

Enterprise JavaBeans (EJB)

Enterprise 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ółowo

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Obiektowe 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ółowo

J2EE Project TEMATY PROJEKTÓW PRZEMYSŁAW SOŁTAN. (0.2 build 18.12.2004) e-mail: kerk@moskit.ie.tu.koszalin.pl

J2EE Project TEMATY PROJEKTÓW PRZEMYSŁAW SOŁTAN. (0.2 build 18.12.2004) e-mail: kerk@moskit.ie.tu.koszalin.pl J2EE Project PRZEMYSŁAW SOŁTAN e-mail: kerk@moskit.ie.tu.koszalin.pl TEMATY PROJEKTÓW (0.2 build 18.12.2004) Wstęp Tworząc projekty opieramy się na źródłach mojego projektu będącego swego rodzaju szkieletem

Bardziej szczegółowo

Niezbędne serwery aplikacji. Wprowadzenie do technologii JBoss i Apache Tomcat.

Niezbędne serwery aplikacji. Wprowadzenie do technologii JBoss i Apache Tomcat. Niezbędne serwery aplikacji. Wprowadzenie do technologii JBoss i Apache Tomcat. Serwer Tomcat Plan wykładu Opis serwera Jak uruchomić napisaną aplikację Podstawowa konfiguracja Pierwsze uruchomienie Tomcat

Bardziej szczegółowo

Modelowanie systemów w architekturze J2EE z wykorzystaniem notacji UML

Modelowanie systemów w architekturze J2EE z wykorzystaniem notacji UML VIII Konferencja PLOUG Koœcielisko PaŸdziernik 2002 Modelowanie systemów w architekturze J2EE z wykorzystaniem notacji UML Piotr Wilk Premium Technology Sp. z o.o. PWilk@PremiumTechnology.pl Modelowanie

Bardziej szczegółowo

Wprowadzenie 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/ 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ółowo

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008 Adam 1 grudnia 2008 Wstęp Opis Historia Apache kontener serwletów rozwijany w ramach projektu Apache jeden z bardziej popularnych kontenerów Web open source, Apache Software License rozwijany przez ASF

Bardziej szczegółowo

Zagadnienia projektowania aplikacji J2EE

Zagadnienia projektowania aplikacji J2EE 211 Zagadnienia projektowania aplikacji J2EE Maciej Zakrzewicz Maciej.Zakrzewicz@cs.put.poznan.pl http://www.cs.put.poznan.pl/mzakrzewicz/ Plan rozdziału 212 Wstęp Techniki projektowe: Wprowadzenie modułu

Bardziej szczegółowo

Programowanie obiektowe

Programowanie 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ółowo

Rola EJB na platformie Java EE. Enterprise JavaBeans (EJB)

Rola 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ółowo

Komponenty sterowane komunikatami

Komponenty 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ółowo

Wprowadzenie 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/ 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ółowo

edziennik Ustaw Opis architektury

edziennik Ustaw Opis architektury edziennik Ustaw Opis architektury Spis treści 1 Wstęp...3 2 Architektura systemu...3 2.1 Schemat poglądowy rozwiązania...3 2.2 Architektura logiczna...4 2.3 Opis elementów systemu...5 2.3.1 Moduł Udostępniający...5

Bardziej szczegółowo

Serwery Aplikacji "CC" Grzegorz Blinowski. Grzegorz.Blinowski@cc.com.pl http://www.cc.com.pl/ tel (22) 646-68-73; faks (22) 606-37-80

Serwery Aplikacji CC Grzegorz Blinowski. Grzegorz.Blinowski@cc.com.pl http://www.cc.com.pl/ tel (22) 646-68-73; faks (22) 606-37-80 Serwery Aplikacji Grzegorz Blinowski "CC" Grzegorz.Blinowski@cc.com.pl http://www.cc.com.pl/ tel (22) 646-68-73; faks (22) 606-37-80 Aplikacje Web Aplikacje Web - nowe wcielenie modelu klientserwer: przeglądarka

Bardziej szczegółowo

Plan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone

Plan 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ółowo

Protokoly w technologii obiektow rozproszonych - CORBA, RMI/IIOP, COM, SOAP. Paweł Kozioł p.koziol@students.mimuw.edu.pl

Protokoly w technologii obiektow rozproszonych - CORBA, RMI/IIOP, COM, SOAP. Paweł Kozioł p.koziol@students.mimuw.edu.pl Protokoly w technologii obiektow rozproszonych - CORBA, RMI/IIOP, COM, SOAP Paweł Kozioł p.koziol@students.mimuw.edu.pl Na początek - moja praca magisterska Narzędzie dla środowiska Eclipse wspierające

Bardziej szczegółowo

Wstęp... ix. 1 Omówienie systemu Microsoft Windows Small Business Server 2008... 1

Wstęp... ix. 1 Omówienie systemu Microsoft Windows Small Business Server 2008... 1 Spis treści Wstęp... ix 1 Omówienie systemu Microsoft Windows Small Business Server 2008... 1 Składniki systemu Windows SBS 2008... 1 Windows Server 2008 Standard... 2 Exchange Server 2007 Standard...

Bardziej szczegółowo

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne Jarosław Kuchta Internetowe Usługi Informacyjne Komponenty IIS HTTP.SYS serwer HTTP zarządzanie połączeniami TCP/IP buforowanie odpowiedzi obsługa QoS (Quality of Service) obsługa plików dziennika IIS

Bardziej szczegółowo

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1 Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1 Przykład 1- Wykonanie prostej aplikacji internetowej w technologii JavaEE w środowisku Netbeans 5.5 z wykorzystaniem

Bardziej szczegółowo

SOP System Obsługi Parkingów

SOP System Obsługi Parkingów SOP System Obsługi Parkingów JEE i Android Marcin Tatjewski Tomasz Traczyk Grzegorz Zieliński Paweł Borycki 5 listopada 2009 www.sopark.pl Plan prezentacji Java Platform, Enterprise Edition (JEE) Wstęp

Bardziej szczegółowo

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone Typy przetwarzania Przetwarzanie zcentralizowane Systemy typu mainfame Przetwarzanie rozproszone Architektura klient serwer Architektura jednowarstwowa Architektura dwuwarstwowa Architektura trójwarstwowa

Bardziej szczegółowo

JAX-RS czyli REST w Javie. Adam Kędziora

JAX-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ółowo

Java Server Faces narzędzie do implementacji w wy prezentacji

Java 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ółowo

Wprowadzenie do sieciowych systemów operacyjnych. Moduł 1

Wprowadzenie do sieciowych systemów operacyjnych. Moduł 1 Wprowadzenie do sieciowych systemów operacyjnych Moduł 1 Sieciowy system operacyjny Sieciowy system operacyjny (ang. Network Operating System) jest to rodzaj systemu operacyjnego pozwalającego na pracę

Bardziej szczegółowo

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152 Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy

Bardziej szczegółowo

Usługi katalogowe i protokół LDAP

Usługi katalogowe i protokół LDAP Usługi katalogowe i protokół LDAP Grzegorz Blinowski "CC" Grzegorz.Blinowski@cc.com.pl http://www.cc.com.pl/ tel (22) 646-68-73; faks (22) 606-370-80 Co to są usługi katalogowe? Spis - książka telefoniczna,

Bardziej szczegółowo

Sieciowa instalacja Sekafi 3 SQL

Sieciowa instalacja Sekafi 3 SQL Sieciowa instalacja Sekafi 3 SQL Niniejsza instrukcja opisuje instalację Sekafi 3 SQL w wersji sieciowej, z zewnętrznym serwerem bazy danych. Jeśli wymagana jest praca jednostanowiskowa, należy postępować

Bardziej szczegółowo

Wzorce logiki dziedziny

Wzorce 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ółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

NIS/YP co to takiego?

NIS/YP co to takiego? NIS/YP co to takiego? NIS/YP Network Information System/Yellow Pages System centralizujący administrowanie systemami UNIX'owymi, bazujący na technologii RPC (Remote Procedure Call) i technologii klient/serwer,

Bardziej szczegółowo

Encyjne komponenty EJB

Encyjne komponenty EJB 132 Encyjne komponenty EJB Marek Wojciechowski Marek.Wojciechowski@cs.put.poznan.pl http://www.cs.put.poznan.pl/mwojciechowski/ Plan rozdziału 133 Wprowadzenie do encyjnych komponentów EJB Cykl życia encyjnego

Bardziej szczegółowo

Wykład 1 Inżynieria Oprogramowania

Wykład 1 Inżynieria Oprogramowania Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI

Bardziej szczegółowo

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie architektury systemu rozproszonego Jarosław Kuchta Zagadnienia Typy architektury systemu Rozproszone przetwarzanie obiektowe Problemy globalizacji Problemy ochrony Projektowanie architektury

Bardziej szczegółowo

Piotr Matkowski Wprowadzenie do J2EE 20 kwietnia 2005. "Unfortunately, no one can be...told what the J2EE is. You have to see it for yourself.

Piotr Matkowski Wprowadzenie do J2EE 20 kwietnia 2005. Unfortunately, no one can be...told what the J2EE is. You have to see it for yourself. Piotr Matkowski Wprowadzenie do J2EE 20 kwietnia 2005 "Unfortunately, no one can be...told what the J2EE is. You have to see it for yourself." Plan referatu 1.Wstęp 2.Najważniejsze koncepcje Wielowarstwowość

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium

Bardziej szczegółowo

Java JMX. Marcin Werla. Monitorowanie i zarządzanie usługami sieciowymi w Javie. mwerla@man.poznan.pl PCSS/Poznań JUG

Java JMX. Marcin Werla. Monitorowanie i zarządzanie usługami sieciowymi w Javie. mwerla@man.poznan.pl PCSS/Poznań JUG Java JMX Monitorowanie i zarządzanie usługami sieciowymi w Javie Marcin Werla mwerla@man.poznan.pl PCSS/Poznań JUG Plan prezentacji Wprowadzenie Specyfikacja Dodatkowe narzędzia i biblioteki Studium przypadku

Bardziej szczegółowo

Certyfikaty firmy Sun. Ścieżka certyfikacyjna dla Javy Egzamin SCJP

Certyfikaty firmy Sun. Ścieżka certyfikacyjna dla Javy Egzamin SCJP Certyfikaty firmy Sun Ścieżka certyfikacyjna dla Javy Egzamin SCJP Ścieżka certyfikacyjna Java Podstawa J2EE J2ME J2SE Sun Certified Programmer Sun Certified Developer Sun Certified Web Component Developer

Bardziej szczegółowo

Programowanie rozproszone w języku Java

Programowanie rozproszone w języku Java Wstęp Gniazda RMI Podsumowanie Programowanie rozproszone w języku Java Wojciech Rząsa wrzasa@prz-rzeszow.pl Katedra Informatyki i Automatyki, Politechnika Rzeszowska 25 maja 2015 Wojciech Rząsa, KIiA PRz

Bardziej szczegółowo

WPROWADZENIE DO JĘZYKA JAVA

WPROWADZENIE DO JĘZYKA JAVA WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny

Bardziej szczegółowo

Współczesne Sieciowe Systemy Operacyjne "CC" Grzegorz Blinowski. Grzegorz.Blinowski@cc.com.pl http://www.cc.com.pl/

Współczesne Sieciowe Systemy Operacyjne CC Grzegorz Blinowski. Grzegorz.Blinowski@cc.com.pl http://www.cc.com.pl/ Współczesne Sieciowe Systemy Operacyjne Grzegorz Blinowski "CC" Grzegorz.Blinowski@cc.com.pl http://www.cc.com.pl/ tel (22) 646-68-73; faks (22) 606-37-80 Zadania SSO Serwer plików Serwer drukowania Serwer

Bardziej szczegółowo

EJB 3.0 & JBoss Seam. 25 kwietnia 2007 Jacek Gerbszt 1

EJB 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ółowo

Java Server Faces - wprowadzenie

Java Server Faces - wprowadzenie Java Server Faces - wprowadzenie Java Server Faces (JSF) jest najpopularniejszą technologią opartą o język JAVA, służącą do tworzenia aplikacji webowych (dynamicznych stron WWW). pomimo że JSF i EJB wchodzą

Bardziej szczegółowo

Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus

Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus Automatyzacja procesów biznesowych Andrzej Sobecki ESB Enterprise service bus Plan prezentacji Zdefiniowanie problemu Możliwe rozwiązania Cechy ESB JBI Normalizacja wiadomości w JBI Agile ESB Apache ServiceMix

Bardziej szczegółowo

Forum Client - Spring in Swing

Forum Client - Spring in Swing Forum Client - Spring in Swing Paweł Charkowski. 0. Cel projektu Celem projektu jest próba integracji Spring Framework z różnymi technologiami realizacji interfejsu użytkownika, oraz jej ocena. Niniejszy

Bardziej szczegółowo

Komunikacja i wymiana danych

Komunikacja i wymiana danych Budowa i oprogramowanie komputerowych systemów sterowania Wykład 10 Komunikacja i wymiana danych Metody wymiany danych Lokalne Pliki txt, csv, xls, xml Biblioteki LIB / DLL DDE, FastDDE OLE, COM, ActiveX

Bardziej szczegółowo

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7 I Wprowadzenie (wersja 0906) Kurs OPC S7 Spis treści Dzień 1 I-3 O czym będziemy mówić? I-4 Typowe sytuacje I-5 Klasyczne podejście do komunikacji z urządzeniami automatyki I-6 Cechy podejścia dedykowanego

Bardziej szczegółowo

Wykład dla studentów Informatyki Stosowanej UJ 2012/2013

Wykład dla studentów Informatyki Stosowanej UJ 2012/2013 e-biznes Wykład dla studentów Informatyki Stosowanej UJ 2012/2013 Michał Cieśla pok. 440a, email: michal.ciesla@uj.edu.pl konsultacje: środy 10-12 http://users.uj.edu.pl/~ciesla/ 1 Literatura B. Burke,

Bardziej szczegółowo

Kurs programowania aplikacji bazodanowych

Kurs programowania aplikacji bazodanowych Wykład 2 Instytut Informatyki Uniwersytet Wrocławski Plan wykładu Połączenie za pomocą JNDI i DataSource Połączenie za pomocą JNDI i DataSource Krótki wstęp do usług katalogowych Dotychczas w celu uzyskania

Bardziej szczegółowo

Bazy danych 2. Wykład 1

Bazy 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ółowo

Budowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz

Budowa 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ółowo

JAVA I SIECI. MATERIAŁY: http://docs.oracle.com/javase/tutorial/networking/index.html

JAVA I SIECI. MATERIAŁY: http://docs.oracle.com/javase/tutorial/networking/index.html JAVA I SIECI ZAGADNIENIA: URL, Interfejs gniazd, transmisja SSL, protokół JNLP. MATERIAŁY: http://docs.oracle.com/javase/tutorial/networking/index.html http://th-www.if.uj.edu.pl/zfs/ciesla/ JĘZYK JAVA,

Bardziej szczegółowo

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język

Bardziej szczegółowo

Ekspert MS SQL Server Oferta nr 00/08

Ekspert MS SQL Server Oferta nr 00/08 Ekspert MS SQL Server NAZWA STANOWISKA Ekspert Lokalizacja/ Jednostka organ.: Pion Informatyki, Biuro Hurtowni Danych i Aplikacji Wspierających, Zespół Jakości Oprogramowania i Utrzymania Aplikacji Szczecin,

Bardziej szczegółowo

Java wybrane technologie

Java wybrane technologie Java wybrane technologie spotkanie nr 14 Bezpieczeństwo Podstawowe pojęcia uwierzytelniania (authentication) autoryzacja (authorization) atrybuty bezpieczeństwa informacji integralność danych (data integrity)

Bardziej szczegółowo

Bezstanowe komponenty sesyjne i zdarzenia zwrotne

Bezstanowe 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ółowo

Środowisko NetBeans. Paweł Boguszewski

Środowisko NetBeans. Paweł Boguszewski Środowisko NetBeans Paweł Boguszewski Plan prezentacji Wprowadzenie Historia Funkcjonalność Kierunek Rozwoju Wtyczki Platforma NetBeans Podsumowanie Wprowadzenie NetBeans.org projekt OpenSource zapoczątkowany

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Instalacja SQL Server Express. Logowanie na stronie Microsoftu Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy

Bardziej szczegółowo

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji

Bardziej szczegółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

J2EE wzorce projektowe. Alicja Truszkowska

J2EE wzorce projektowe. Alicja Truszkowska J2EE wzorce projektowe Alicja Truszkowska Motywacja Znaczące miejsce J2EE pośród systemów biznesowych Bogactwo narzędzi i technologii Dobre praktyki projektowania aplikacji Każde, nawet najdoskonalsze

Bardziej szczegółowo

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie 1 czerwca 2009 Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie = bjects = database for objects w pełni obiektowa

Bardziej szczegółowo

JAVA I BAZY DANYCH. MATERIAŁY: http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html

JAVA I BAZY DANYCH. MATERIAŁY: http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html JAVA I BAZY DANYCH ZAGADNIENIA: wprowadzenie; JDBC; komunikacja z bazą danych; HSQLDB. MATERIAŁY: http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html http://th-www.if.uj.edu.pl/zfs/ciesla/ JĘZYK

Bardziej szczegółowo

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz Aplikacja internetowa zbudowana w oparciu o środowisko Visual Web Java Server Faces. Zarządzanie obiektami typu SesionBeans, RequestBeen i ApplicationBeans, Laboratorium 1 Wzorce oprogramowania lab1, Okres

Bardziej szczegółowo

public interface TravelAgent { public void makereservation(int cruiseid, int cabinid, int customerid, double price); }

public interface TravelAgent { public void makereservation(int cruiseid, int cabinid, int customerid, double price); } Web Services 1. Podstawy usług sieciowych. SOAP, WSDL. 2. Usługi sieciowe w JAX-RPC. interfejs punktu końcowego, korzystanie z usługi z poziomu komponentu EJB, programy klienckie, narzędzia i deskryptory

Bardziej szczegółowo

Programowanie obiektowe. Wprowadzenie

Programowanie obiektowe. Wprowadzenie 1 Programowanie obiektowe Wprowadzenie 2 Programowanie obiektowe Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

Bardziej szczegółowo

Modelowanie i analiza. warstwy biznesowej aplikacji

Modelowanie i analiza. warstwy biznesowej aplikacji Modelowanie i analiza warstwy biznesowej aplikacji 1. Warstwa biznesowa aplikacji, refaktoryzacja warstwy biznesowej, refaktoryzacja systemu informatycznego 2. Przykład tworzenia warstwy biznesowej systemu

Bardziej szczegółowo

Praktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure

Praktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure Praktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure Paweł Berus Zespół Bezpieczeństwa PCSS 36. Spotkanie Poznańskiej Grupy.NET Poznań, 13.10. 2011 1 Agenda

Bardziej szczegółowo

Gerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań, 04.03.2010

Gerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań, 04.03.2010 Bezpieczeństwo interoperacyjnego hostingu Gerard Frankowski, Zespół Bezpieczeństwa PCSS 4. Konferencja MIC Nowoczesne technologie bliżej nas Poznań, 04.03.2010 1 Agenda Wprowadzenie Zespół Bezpieczeństwa

Bardziej szczegółowo

Transakcje 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 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ółowo

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Dotacje 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ółowo

Serock warsztaty epuap 28 październik 2009 r. Sławomir Chyliński Andrzej Nowicki WOI-TBD Szczecin

Serock warsztaty epuap 28 październik 2009 r. Sławomir Chyliński Andrzej Nowicki WOI-TBD Szczecin Serock warsztaty epuap 28 październik 2009 r. Sławomir Chyliński Andrzej Nowicki WOI-TBD Szczecin Plan prezentacji euw: 1. Architektura systemu i komponenty 2. Zarządzanie obszarem wspólnym 3. Wniosek

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

Java jako język programowania

Java jako język programowania Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 2).

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 2). Zaawansowane aplikacje internetowe - laboratorium Web Services (część 2). Celem ćwiczenia jest przygotowanie prostej aplikacji prezentującej technologię usług sieciowych (ang. Web Services). Przygotowana

Bardziej szczegółowo

1 Implementowanie i konfigurowanie infrastruktury wdraŝania systemu Windows... 1

1 Implementowanie i konfigurowanie infrastruktury wdraŝania systemu Windows... 1 Spis treści Wstęp... xi Wymagania sprzętowe (Virtual PC)... xi Wymagania sprzętowe (fizyczne)... xii Wymagania programowe... xiii Instrukcje instalowania ćwiczeń... xiii Faza 1: Tworzenie maszyn wirtualnych...

Bardziej szczegółowo

1. Podstawowe usługi bezpieczeństwa. 2. Użytkownicy i role. przydzielanie uprawnie ń metodom, role komponentów, korzystanie i konfiguracja

1. 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ółowo