Wprowadzenie do Enterprise JavaBeans 2.0

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

Download "Wprowadzenie do Enterprise JavaBeans 2.0"

Transkrypt

1 71 Wprowadzenie do Enterprise JavaBeans 2.0 Maciej Zakrzewicz

2 Plan rozdziału 72 Wprowadzenie do EJB Rodzaje komponentów Zdalny i lokalny dostęp do komponentów

3 Charakterystyka EJB 73 Enterprise JavaBeans (EJB) to przenaszalne komponenty implementujące przetwarzanie danych zgodne z logiką biznesową Enterprise JavaBeans nigdy nie są wykonywane samodzielnie ich metody są wywoływane przez programy klientów EJB (którymi mogą być inne EJB) Dwa rodzaje klientów EJB: zdalny i lokalny (ta sama JVM) Rodzaje komponentów EJB: Sesyjne EJB (Session EJB): pozwalają wykonywać dowolny kod w architekturze RMI Encyjne EJB (Entity EJB): obsługują komunikację z bazą danych; reprezentują rekordy znajdujące się w bazie danych Komunikatowe EJB (Message-Driven EJB): są odbiorcami asynchronicznych komunikatów JMS (Java Messaging System)

4 Przegląd rodzajów komponentów EJB 74 EJB Sesyjne Encyjne Komunikatowe Stanowe Bezstanowe CMP BMP Wartości atrybutów obiektu są przechowywane pomiędzy wywołaniami Wartości atrybutów obiektu są tracone pomiędzy wywołaniami Interakcja z bazą danych implementowana przez programistę Interakcja z bazą danych implementowana przez kontener

5 EJB 2.0: składniki (1/2) 75 Interfejs Remote: (javax.ejb.ejbobject) deklaruje metody komponentu, które będą dostępne dla klientów zdalnych Interfejs Local: (javax.ejb.ejblocalobject) deklaruje metody komponentu, które będą dostępne dla klientów lokalnych Obiekt EJB: wygenerowana przez kontener implementacja interfejsu Remote; deleguje wywołania metod do obiektu komponentu (EJB Bean) Interfejs Home: (javax.ejb.ejbhome) deklaruje metody zarządzania cyklem życia komponentu dla klientów zdalnych Interfejs Local Home: (javax.ejb.ejblocalhome) deklaruje metody zarządzania cyklem życia komponentu dla klientów lokalnych Obiekt Home: wygenerowana przez kontener implementacja interfejsu Home; wykorzystuje metody callback klasy komponentu

6 EJB 2.0: składniki (2/2) 76 Klasa komponentu EJB: (javax.ejb.sessionbean/entitybean) implementuje metody biznesowe oraz metody zarządzania cyklem życia komponentu Klasa komponentu EJB dla komponentów komunikatowych implementuje interfejsy javax.ejb.messagedrivenbean i MessageListener; zawiera metodę onmessage(), implementującą logikę biznesową Deskryptor instalacji: dokument XML opisujący wszystkie pozostałe składniki komponentu EJB

7 Zdalny dostęp do komponentu EJB (sesyjny EJB, encyjny EJB) 77 Klient EJB 3 Żądanie utworzenia obiektu EJB OC4J kontener EJB obiekt Home 5 Referencja do obiektu EJB 2 Referencja do obiektu Home 1 Pobranie referencji do obiektu Home JNDI 4 Utworzenie obiektu EJB obiekt EJB 6 Wywołanie metody EJB 7 Delegacja wywołania EJB Bean

8 Zdalny dostęp do komponentu EJB (komunikatowy EJB) 78 OC4J Klient EJB 3 Nazwiązanie połączenia z kolejką 4 Wysłanie komunikatu EJB Bean 6 Delegacja wywołania obiekt EJB 5 Odbiór komunikatu 2 Referencja do kolejki 1 Pobranie referencji do kolejki JNDI JMS

9 Klient EJB dla sesyjnych i encyjnych EJB 79 Klientem EJB może być samodzielna aplikacja Java, serwlet Java, aplikacja JSP lub komponent EJB Klient lokalny: funkcjonuje w ramach tej samej JVM, w której pracuje komponent przekazuje argumenty metod komponentu za pomocą referencji posiada dostęp do metod komponentu EJB zadeklarowanych w interfejsie Local Klient zdalny: może znajdować się na dowolnej maszynie przekazuje argumenty metod komponentu za pomocą wartości posiada dostęp do metod komponentu EJB zadeklarowanych w interfejsie Remote

10 Zdalny klient EJB: przykład Przygotuj ustawienia JNDI 2. Utwórz obiekt klasy InitialContext() 3. Pobierz referencję do obiektu Home przy pomocy metody lookup 4. Dokonaj rzutowania otrzymanego obiektu przy pomocy interfejsu Local Home i metody PortableRemoteObject.narrow() 5. Utwórz obiekt komponentu przy pomocy metody create() Hashtable env = new Hashtable(); env.put(context.initial_context_factory, "com.evermind.server.rmi.rmiinitialcontextfactory"); env.put(context.security_principal, "admin"); env.put(context.security_credentials, "welcome"); env.put(context.provider_url, " Context context = new InitialContext(env); SessionEJBHome myhome = (SessionEJBHome) PortableRemoteObject.narrow(context.lookup("SessionEJB"), SessionEJBHome.class); SessionEJB myejb; myejb = myhome.create(); System.out.println(myEJB.dodaj(2,3));

11 Lokalny klient EJB: przykład Zarejestruj wołany komponent EJB w pliku web.xml (application-client.xml, ejb-jar.xml) nadaj mu nazwę logiczną 2. Utwórz obiekt klasy InitialContext() 3. Pobierz referencję do obiektu Home przy pomocy metody lookup (stosuj lokalny adres o postaci java:comp/env/...) 4. Dokonaj rzutowania otrzymanego obiektu przy pomocy interfejsu Local Home 5. Utwórz obiekt komponentu przy pomocy metody create() web.xml <ejb-local-ref> <ejb-ref-name>ejb/myejb</ejb-ref-name> <ejb-ref-type>session</ejb-ref-type> <local-home>sessionejblocalhome</local-home> <local>sessionejblocal</local> </ejb-local-ref> Context context = new InitialContext(); SessionEJBLocalHome myhome = (SessionEJBLocalHome) context.lookup("java:comp/env/ejb/myejb"); SessionEJBLocal myejblocal; myejblocal = myhome.create(); out.println(myejblocal.dodaj(2,3)); serwlet Java

12 Dostęp do EJB z poziomu JSP 82 Użycie biblioteki znaczników OJSP EJB: <%@ taglib uri="/web-inf/ejbtaglib.tld" prefix="ejb" %> Wyszukanie komponentu poprzez JNDI oraz utworzenie obiektu Home: <ejb:usehome id = "nazwa_obiektu_home" type = "nazwa_interfejsu_home" location = "nazwa_jndi" [local = "true" "false"]/> Utworzenie obiektu komponentu i rzutowanie przy pomocy interfejsu Remote <ejb:usebean id = "nazwa_obiektu_komponentu" type = "nazwa_interfejsu_remote" [scope="page" "request" "session" "application"][local="true" "false"]> <ejb:createbean instance="<%=nazwa_obiektu_home.create()%>" /> </ejb:usebean> Wywoływanie metod obiektu komponentu <% nazwa_obiektu_komponentu.metoda() %>

13 OJSP EJB: przykład 83 taglib uri="/web-inf/ejbtaglib.tld" prefix="ejb" %>... <!-- Utwórz obiekt Home --> <ejb:usehome id="baskethome" type="mypackage6.basketejblocalhome" location="java:comp/env/ejb/basketejb" local="true" /> <!-- Utwórz obiekt EJB --> <ejb:usebean id = "basketbean" type = "mypackage6.basketejblocal" scope="session" local="true"> <ejb:createbean instance="<%=baskethome.create()%>" /> </ejb:usebean> <!-- Dodaj nowy element do koszyka --> <% if (request.getparameter("add")!=null) basketbean.addtobasket(request.getparameter("add")); %>...

14 Sesyjne komponenty EJB 84

15 Plan rozdziału 85 Wprowadzenie Rodzaje sesyjnych EJB Implementacja sesyjnych EJB Przykład tworzenia prostego sesyjnego EJB Tworzenie sesyjnego komponentu EJB w środowisku JDeveloper9i/10g

16 Wprowadzenie 86 Sesyjny EJB to komponent biznesowy o następującej charakterystyce: Jest używany przez jednego klienta lub użytkownika Istnieje tylko przez czas trwania sesji Jest niszczony w wypadku awarii kontenera Nie jest obiektem trwałym Może zostać przekroczony dla niego limit czasu życia Może uczestniczyć w transakcjach Może posłużyć do zamodelowania stanowej lub bezstanowej komunikacji między klientem a komponentami warstwy biznesowej

17 Rodzaje sesyjnych EJB 87 Stanowy sesyjny EJB (Stateful Session EJB) zapamiętuje stan pomiędzy kolejnymi wywołaniami przez tego samego klienta dla każdego klienta powoływane jest oddzielne wystąpienie komponentu stan komponentu może być zapisywany w systemie plików (pasywacja) algorytm LRU pasywacji nie podlegają zasoby: połączenia sieciowe, połączenia z bazą danych, itp. jest to zadaniem programisty (ejbpassivate(), ejbactivate()) przykładowe zastosowania: koszyk zakupów, tymczasowe struktury danych Bezstanowy sesyjny EJB (Stateless Session EJB) nie zapamiętuje stanu przykładowe zastosowania: przeliczanie walut, wyliczanie rat kredytu kolejne odwołania pochodzące od tego samego klienta mogą być realizowane przez różne obiekty komponentu, znajdujące się w puli kontenera EJB zwykle nie implementuje ciała żadnych metod interfejsu SessionBean Wyboru rodzaju sesyjnego EJB dokonuje się w pliku deskryptora instalacji (ejb-jar.xml)

18 Implementacja sesyjnych EJB 88 Implementują interfejs javax.ejb.sessionbean: setsessioncontext(sessioncontext ctx) W chwili utworzenia, obiekt komponentu otrzymuje tzw. obiekt kontekstu, przydatny do interakcji z kontenerem (calback) ejbactivate() Wywoływana gdy kontener przywraca obiekt komponentu do pamięci, po jego wcześniejszym przeniesieniu na dysk ejbpassivate() Wywoływana gdy kontener przenosi obiekt komponentu z pamięci na dysk ejbcreate() Wywoływana gdy tworzony jest nowy obiekt komponentu ejbremove() Wywoływana bezpośrednio przed likwidacją obiektu komponentu przez kontener (np. zakończenie sesji)

19 Metoda setsessioncontext() 89 Obiekt SessionContext przekazywany przez kontener do metody setsessioncontext() oferuje następujące metody: getejbobject() zwraca referencję do obiektu EJB getejbhome() zwraca interfejs Home getcalleridentity() obiekt opisujący tożsamość wołającego użytkownika getenvironment() zwraca zmienne środowiska komponentu EJB setrollbackonly() zaznacza bieżącą transakcję jako transakcję do wycofania getusertransaction() zwraca kontekst transkakcji iscallerinrole() sprawdza, czy wołający użytkownik posiada podaną rolę public class mybean implements SessionBean { SessionContext sessctx; void setsessioncontext(sessioncontext ctx) { sessctx = ctx; Typowa implementacja metody setsessioncontext() polega na kopiowaniu obiektu SessionContext do zmiennej wystąpienia, która będzie dostępna dla innych metod komponentu. }...

20 Cykl życia sesyjnego EJB 90 Brak setsessioncontext(ctx) ejbcreate() ejbremove() Gotowy ejbpassivate() ejbactivate() Pasywny wyłącznie dla stanowych sesyjnych EJB

21 91 Przykład tworzenia prostego sesyjnego EJB Klasa komponentu Interfejs Remote import javax.ejb.*; import javax.ejb.*; import java.rmi.remoteexception; public class SessionEJBBean implements SessionBean { public void ejbcreate() {} public void ejbactivate() {} public void ejbpassivate() {} public void ejbremove() {} public void setsessioncontext(sessioncontext ctx) {} public double dodaj(double a, double b) { return a+b; }} Interfejs Home import javax.ejb.*; import java.rmi.remoteexception; public interface SessionEJB extends EJBObject { double dodaj(double a, double b) throws RemoteException; } Deskryptor instalacji... <description>session Bean ( Stateless )</description> <display-name>sessionejb</display-name> <ejb-name>sessionejb</ejb-name> <home>sessionejbhome</home> <remote>sessionejb</remote> <ejb-class>sessionejbbean</ejb-class> <session-type>stateless</session-type> public interface SessionEJBHome extends EJBHome { SessionEJB create() throws RemoteException,... CreateException; }

22 Tworzenie sesyjnego komponentu EJB w 92 środowisku JDeveloper9i/10g Utworzenie nowego komponentu EJB Nazwa komponentu, jego rodzaj (stanowy/bezstanowy) Na kolejnych stronach: nazwa klasy komponentu, nazwy interfejsów Home, Remote, Local Home, Local Remote

23 Tworzenie sesyjnego komponentu EJB w 93 środowisku JDeveloper9i/10g Utworzone pliki dla komponentu sesyjnego SessionEJB: SessionEJB.java interfejs Remote SessionEJBBean.java klasa komponentu SessionEJBHome interfejs Home SessionEJBLocal.java interfejs Local Remote SessionEJBLocalHome.java interfejs Local Home ejb-jar.xml standardowy deskryptor instalacji orion-ejb-jar.xml specyficzny dla OC4J deskryptor instalacji 9i 10g

24 Tworzenie sesyjnego komponentu EJB w 94 środowisku JDeveloper9i/10g Implementacja metod komponentu: 9i: (Menu kontekstowe na ikonie reprezentującej komponent -> Edit EJB -> Methods ->Add) 10g: (Dwuklik -> Methods-> Add)

25 Tworzenie sesyjnego komponentu EJB w 95 środowisku JDeveloper9i/10g Tworzenie aplikacji klienta EJB Uruchamianie lokalnie: Run na komponencie Run na kliencie

26 Komunikatowe komponenty EJB 96

27 Plan rozdziału 97 Wstęp: systemy przekazywania komunikatów Charakterystyka OC4J Java Messaging Service Wykorzystywanie JMS API Przykładowy komunikatowy EJB Tworzenie komunikatowego EJB w środowisku JDeveloper9i/10g

28 Wstęp: systemy przekazywania komunikatów 98 Systemy przekazywania komunikatów (Messaging Systems) służą do asynchronicznej wymiany danych pomiędzy aplikacjami OC4J JMS Oracle Advanced Queueing IBM MQSeries BEA WebLogic JMS Sun iplanet Message Queue Programy Java wykorzystują systemy przekazywania komunikatów przy pomocy biblioteki JMS API (Java Messaging Service API) Klient JMS API publisher OC4J JMS Klient JMS API subscriber

29 OC4J JMS 99 Obiekty zarejestrowane w JNDI: Connection Factory: odpowiada za tworzenie połączeń klientów z usługą JMS Destination: tematy (topics) lub kolejki (queues) do których komunikaty są wysyłane lub z których są odbierane Modele komunikacji: Point-to-point: nadawca wysyła wiadomość do kolejki, odbiorca odbiera wiadomość z kolejki; z jednej kolejki może korzystać wielu nadawców i wielu odbiorców, ale każdy nadawany komunikat jest adresowany do konkretnego odbiorcy Publish-and-subscribe: nadawca wysyła wiadomość do tematu, wiadomość jest automatycznie rozsyłana do wszystkich odbiorców tematu; z jednego tematu może korzystać wielu nadawców i odbiorców

30 Konfiguracja OC4J: jms.xml 100 <jms-server port="9127"> <topic name="demo Topic" location="jms/demotopic"> <description>temat demo</description> </topic> <topic-connection-factory name="demo Connection Factory" location="jms/thetopicconnectionfactory"> <description>connection Factory dla tematu demo</description> </topic-connection-factory> <log> <file path="../log/jms.log" /> </log> </jms-server>

31 JMS API 101 Wysyłanie komunikatu do kolejki: wyszukaj Connection Factory poprzez JNDI wyszukaj kolejkę poprzez JNDI otwórz połączenie i rozpocznij sesję utwórz obiekt-nadawcę utwórz komunikat wyślij komunikat zamknij używane obiekty Typy komunikatów: TextMessage MapMessage BytesMessage StreamMessage ObjectMessage Context ctx = new InitialContext(); QueueConnectionFactory cf = (QueueConnectionFactory) ctx.lookup(...); QueueConnection conn = cf.createqueueconnection(); conn.start(); QueueSession sess = conn.createqueuesession(false, Session.AUTO_ACKNOWLEDGE); Queue queue = (Queue) ctx.lookup(...); QueueSender sender = sess.createsender(queue); TextMessage message = sess.createtextmessage(); message.setlongproperty("msgid",...); message.settext(...); sender.send(message); sender.close(); sess.close(); conn.close();

32 JMS API 102 Wysyłanie komunikatu do tematu: wyszukaj Connection Factory poprzez JNDI wyszukaj temat poprzez JNDI otwórz połączenie i rozpocznij sesję utwórz obiekt-nadawcę utwórz komunikat wyślij komunikat zamknij używane obiekty Context ctx = new InitialContext(); TopicConnectionFactory topicfactory = (TopicConnectionFactory) ctx.lookup(...); TopicConnection topicconnection = topicfactory.createtopicconnection(); TopicSession session = topicconnection.createtopicsession( false, Session.AUTO_ACKNOWLEDGE); Topic topic = (Topic) context.lookup("..."); TopicPublisher pub = session.createpublisher(topic); TextMessage message = session.createtextmessage(); message.settext(...); pub.publish(topic, message); topicconnection.close();

33 Komunikatowe komponenty EJB 103 Komunikatowe EJB (Message-Driven Beans): są asynchronicznymi odbiorcami komunikatów JMS są bezstanowe, wykonywane po stronie serwera aplikacji nie łączą się bezpośrednio z klientami nie posiadają interfejsu Home ani interfejsu Remote są uruchamiane w chwili nadejścia nowego komunikatu (metoda onmessage()) implementują interfejsy javax.ejb.messagedrivenbean i javax.jms.messagelistener cykl życia jest identyczny jak cykl życia bezstanowego sesyjnego EJB

34 Przykładowy komunikatowy EJB 104 Klasa komponentu public class MyMessageDrivenEJBBean implements MessageDrivenBean, MessageListener { private MessageDrivenContext context; public void ejbcreate() {} public void onmessage(message msg) { try { TextMessage textmessage = (TextMessage) msg; String text = textmessage.gettext(); System.out.println(text); } catch (Exception e) {} } public void ejbremove() {} public void setmessagedrivencontext (MessageDrivenContext ctx) { this.context = ctx; } } <enterprise-beans> <message-driven> Deskryptor instalacji <description>message Driven Bean</description> <display-name>mymessagedrivenejb</display-name> <ejb-name>mymessagedrivenejb</ejb-name> <ejb-class>mypackage7.impl.mymessagedrivenejbbean </ejb-class> <transaction-type>container</transaction-type> <acknowledge-mode>auto-acknowledge </acknowledge-mode> <message-driven-destination> <destination-type>javax.jms.queue</destination-type> </message-driven-destination> </message-driven> </enterprise-beans>

35 Tworzenie komunikatowego EJB w środowisku JDeveloper9i/10g 105 Utworzenie nowego komponentu EJB Powiązanie z JMS (orion-ejb-jar.xml)

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

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

Aplikacje internetowe i rozproszone - laboratorium

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

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

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

Java Enterprise Edition

Java Enterprise Edition Java Enterprise Edition spotkanie nr 16 Java Message Service i Message-Driven Beans Alternatywa dla RMI-IIOP asynchroniczność (asynchrony) brak blokowania możliwy jest fire-and-forget rozprężenie (decoupling)

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

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

Java wybrane technologie

Java wybrane technologie Java wybrane technologie spotkanie nr 9 Java Message Service i Message-Driven Beans Alternatywa dla RMI-IIOP asynchroniczność (asynchrony) brak blokowania daje się fire-and-forget rozprężenie (decoupling)

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

Enterprise Java Beans Narzędzia i Aplikacje Java EE

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

Projektowanie Aplikacji Internetowych. Wzorce projektowe warstwy usług

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

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

Podstawowe informacje o technologii Java EE 7

Podstawowe informacje o technologii Java EE 7 Podstawowe informacje o technologii Java EE 7 na podstawie https://docs.oracle.com/javaee/7/jeett.pdf Programowanie komponentowe 2 Programowanie komponentowe 2, Zofia Kruczkiewicz 1 I. Wielowarstwowa architektura

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

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html

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

Zaawansowane aplikacje internetowe

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

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

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

Dostęp do baz danych z aplikacji J2EE

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

Programowanie komponentowe 5

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

Enterprise JavaBean 3.0

Enterprise JavaBean 3.0 Enterprise JavaBean 3.0 Michał Szymczak, Grzegorz Dziemidowicz Politechnika Wrocławska Inżynieria Oprogramowania 26 maja 2009 Ogólne spojrzenie na EJB EJB jako komponent EJB jako framework Typy beanów

Bardziej szczegółowo

Enterprise JavaBeans (EJB)

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

Enterprise Java Beans wykład 7 i 8

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

Stanowe komponenty sesyjne

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

Aplikacje RMI Lab4

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

Podejście obiektowe do budowy systemów rozproszonych

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

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć

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

Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1

Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1 Szkolenie wycofane z oferty Program szkolenia: Enterprise Java Beans 3.0/3.1 Informacje: Nazwa: Enterprise Java Beans 3.0/3.1 Kod: Java-EE-EJB Kategoria: Java EE Grupa docelowa: developerzy Czas trwania:

Bardziej szczegółowo

Remote Method Invocation 17 listopada 2010

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

Podejście obiektowe do budowy systemów rozproszonych

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

Obsługa transakcji rozproszonych Java. Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska

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

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć

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

Contexts and Dependency Injection (CDI) Autor wykładu: Marek Wojciechowski

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

Kolejkowanie wiadomości Standard MQ (JMS)

Kolejkowanie wiadomości Standard MQ (JMS) Kolejkowanie wiadomości Standard MQ (JMS) Kolejkowanie wiadomości Standard wymiany informacji wiadomości (ang. message) między procesami (mogą być rozproszone) Przykładowe rozwiązania: - RabbitMQ - ActiveMQ

Bardziej szczegółowo

2) W wyświetlonym oknie należy zaznaczyć chęć utworzenia nowej aplikacji (wygląd okna może się różnić od powyższego); kliknąć OK

2) 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

Wywoływanie metod zdalnych

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

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.

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

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1

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

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

Systemy Rozproszone TECHNOLOGIA JAVA 2 ENTERPRISE EDITION PRZEMYSŁAW SOŁTAN. email: kerk@moskit.ie.tu.koszalin.pl Systemy Rozproszone TECHNOLOGIA JAVA 2 ENTERPRISE EDITION PRZEMYSŁAW SOŁTAN email: kerk@moskit.ie.tu.koszalin.pl 07.11.2002 Co powinieneś znać? Podstawy HTML i XML Programowanie obiektowe w Javie Serwery

Bardziej szczegółowo

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)

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

Systemy Rozproszone - Ćwiczenie 6

Systemy Rozproszone - Ćwiczenie 6 Systemy Rozproszone - Ćwiczenie 6 1 Obiekty zdalne Celem ćwiczenia jest stworzenie obiektu zdalnego świadczącego prostą usługę nazewniczą. Nazwy i odpowiadające im punkty końcowe będą przechowywane przez

Bardziej szczegółowo

Remote Method Invocation 17 listopada rozproszonych. Dariusz Wawrzyniak (IIPP) 1

Remote Method Invocation 17 listopada rozproszonych. Dariusz Wawrzyniak (IIPP) 1 P d jś i bi kt d b d t ó Podejście obiektowe do budowy systemów rozproszonych Dariusz Wawrzyniak (IIPP) 1 interfejs (w języku Java),wywiedziony idi z Remote obie kt aplikacja klie ncka interfe js serw

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

Tworzenie komponentów logiki biznesowej i warstwy dostępu do danych w oparciu o EJB3.0/JPA lub EJB 3.1/JPA2

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

Tworzenie i wykorzystanie usług

Tworzenie i wykorzystanie usług Strona 1 Co to jest usługa w systemie Android? Usługi HTTP Obsługa wywołania HTTP GET Obsługa wywołania HTTP POST Obsługa wieloczęściowego wywołania HTTP POST Usługi lokalne Usługi zdalne Tworzenie usługi

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

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

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

Zdalne wywołanie metod - koncepcja. Oprogramowanie systemów równoległych i rozproszonych Wykład 7. Rodzaje obiektów. Odniesienie do obiektu

Zdalne wywołanie metod - koncepcja. Oprogramowanie systemów równoległych i rozproszonych Wykład 7. Rodzaje obiektów. Odniesienie do obiektu Zdalne wywołanie metod - koncepcja Oprogramowanie systemów równoległych i rozproszonych Wykład 7 RMI (Remote Method Invocation) - obiektowe RPC, dostarcza klientowi interfejs do obiektu, implementacja

Bardziej szczegółowo

Nowy powiew od Słońca: EJB 3.0. Copyright Piotr Kochański & Erudis,

Nowy powiew od Słońca: EJB 3.0. Copyright Piotr Kochański & Erudis, Nowy powiew od Słońca: EJB 3.0 Wstęp Agenda EJB podstawowe informacje Problemy EJB 1.X i 2.X Zmiany wprowadzone w EJB v. 3.0 uproszczone API nowe komponenty encyjne wzorce i antywzorce Przykład, czyli

Bardziej szczegółowo

Zastosowanie komponentów EJB typu Session

Zastosowanie komponentów EJB typu Session Zastosowanie komponentów EJB typu Session na podstawie https://docs.oracle.com/javaee/7/jeett.pdf Programowanie komponentowe Lab1 1 1. Refaktoryzacja kodu programu Sklep_6 z lab5, TINT 1.1. Należy wykonać

Bardziej szczegółowo

Oprogramowanie systemów równoległych i rozproszonych Wykład 7

Oprogramowanie systemów równoległych i rozproszonych Wykład 7 Wykład 7 p. 1/2 Oprogramowanie systemów równoległych i rozproszonych Wykład 7 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Zdalne wywołanie

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

Projektowanie Aplikacji Internetowych Jarosław Kuchta. Wzorce projektowe warstwy biznesowej

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

Message Oriented Middleware

Message Oriented Middleware Systemy kolejkowania komunikatów 1. Koncepcja paradygmat kolejkowania (punkt-punkt) paradygmat publish/subscribe 2. Model systemu 3. Przykłady rozwiązań 4. JMS Uniezależnienie funkcjonowania składników

Bardziej szczegółowo

Message Oriented Middleware

Message Oriented Middleware Systemy kolejkowania komunikatów 1. Koncepcja paradygmat kolejkowania (punkt-punkt) paradygmat publish/subscribe 2. Model systemu 3. Przykłady rozwiązań 4. JMS Dariusz Wawrzyniak 1 Uniezależnienie funkcjonowania

Bardziej szczegółowo

Tworzenie aplikacji dla Oracle Application Server 10g R3 w technologii EJB 3.0

Tworzenie aplikacji dla Oracle Application Server 10g R3 w technologii EJB 3.0 Tworzenie aplikacji dla Oracle Application Server 10g R3 w technologii EJB 3.0 Marek Wojciechowski Politechnika Poznańska, PLOUG e mail: Marek.Wojciechowski@cs.put.poznan.pl Abstrakt. Jedną z nowych cech

Bardziej szczegół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

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Java Enterprise Edition. WebServices. Język XML. Serwer aplikacji GlassFish. Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki

Bardziej szczegółowo

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów A Zasady współpracy Ocena rozwiązań 3.0 25 40 punktów 3.5 41 65 punktów 4.0 66 80 punktów 4.5 81 100 punktów 5.0 101 130 punktów Warunki zaliczenia przedmiotu Student uzyska ocenę zaliczającą (3.0) o ile

Bardziej szczegółowo

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE) Programowanie w języku Java Wykład 13: Java Platform, Enterprise Edition (Java EE) Standard J2EE Programowanie w języku Java 2 J2EE - komunikacja Programowanie w języku Java 3 J2EE warstwa biznesowa Programowanie

Bardziej szczegółowo

mgr inż. Michał Paluch

mgr inż. Michał Paluch Technologie JAVA Java Platform Standard Edition JSE Java Platform Enterprise Edition JEE Java Platform Micro Edition Wersje Różnice Java Enterprise Edition Java EE to platforma umożliwiająca tworzenie

Bardziej szczegółowo

Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego.

Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Proxy (pełnomocnik) Cel: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Zastosowanie: Wszędzie tam, gdzie oczekujemy bardziej zaawansowanego odwołania do obiektu, niż zwykły

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

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

Mechanizmy pracy równoległej. Jarosław Kuchta

Mechanizmy pracy równoległej. Jarosław Kuchta Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Java Enterprise Edition WebServices Serwer aplikacji GlassFish Dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki Aplikacje

Bardziej szczegółowo

WYDZIAŁ ELEKTRONIKI INFORMATYKI I TELEKOMUNIKACJI

WYDZIAŁ ELEKTRONIKI INFORMATYKI I TELEKOMUNIKACJI WYDZIAŁ ELEKTRONIKI INFORMATYKI I TELEKOMUNIKACJI Projekt CHAT wykorzystuj cy pakiet JMS w oparciu o serwer SonicMQ Wykonali: Barbara Le niewska Krzysztof Macuda Wst p Problem integracji i wymiany danych

Bardziej szczegółowo

"Biznesowe" wzorce projektowe

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

Enterprise JavaBeans 3.0

Enterprise JavaBeans 3.0 Enterprise JavaBeans 3.0 Jacek Laskowski http://www.jaceklaskowski.pl Politechnika Poznańska Poznań, 07.12.2007, wersja 1 O mnie... Entuzjasta technologii Java EE 5 Założyciel i lider Warszawa JUG Członek

Bardziej szczegół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

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

Wzorce dystrybucji i wspólbieżności autonomicznej

Wzorce dystrybucji i wspólbieżności autonomicznej Wzorce dystrybucji i wspólbieżności autonomicznej 1. Wzorce dystrybucji, fasada zdalna (Remote Facade), obiekt transfery danych (Data Transfer Object), 2. Wzorce współbieżności autonomicznej, blokada optymistyczna

Bardziej szczegółowo

Interfejsy w Javie. Przykład zastosowania interfejsów:

Interfejsy w Javie. Przykład zastosowania interfejsów: 1 Plan wykładu 1. Interfejsy w Javie. 2. Zdalne wywołanie metod (Remote Method Invocation). interfejsy w RMI, architektura RMI, przykładowa aplikacja korzystająca z RMI, przekazywanie parametrów, dystrybucja

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

RMI-2. Java Remote Method Invocation (RMI) na podstawie m.in. podręcznika firmy Sun Microsystems SYSTEMY ROZPROSZONE

RMI-2. Java Remote Method Invocation (RMI) na podstawie m.in. podręcznika firmy Sun Microsystems SYSTEMY ROZPROSZONE Java Remote Method Invocation (RMI) na podstawie m.in. podręcznika firmy Sun Microsystems www.cs.agh.edu.pl/~slawek/zrodla_rmi2.zip Kilka pytań Co mamy? rok 2005-ty, gotową wersję 2 programu NoteBoard.

Bardziej szczegółowo

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Ćwiczenie 1. Kolejki IBM Message Queue (MQ) Ćwiczenie 1. Kolejki IBM Message Queue (MQ) 1. Przygotowanie Przed rozpoczęciem pracy, należy uruchomić "Kreator przygotowania WebSphere MQ" oraz przejść przez wszystkie kroki kreatora, na końcu zaznaczając

Bardziej szczegółowo

Programowanie komponentowe

Programowanie komponentowe Enterprise Piotr Błaszyński Wydział Informatyki Zachodniopomorskiego Uniwersytetu Technologicznego 5 czerwca 2019 EJB Enterprise to podstawowa technologia komponentowa platformy Java Enterprise Edition.

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

Aplikacje w środowisku Java

Aplikacje w środowisku Java Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - dziedziczenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 W ramach poprzedniego laboratorium

Bardziej szczegół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

Fragmenty są wspierane od Androida 1.6

Fragmenty są wspierane od Androida 1.6 W androidzie można tworzyć dynamiczne interfejsy poprzez łączenie w moduły komponentów UI z aktywnościami. Moduły takie tworzy się za pomocą klasy Fragment, która zachowuje się jak zagnieżdżone aktywności

Bardziej szczegółowo

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Interfejsy. 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ół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

Rozproszone systemy internetowe. Wprowadzenie. Koncepcja zdalnego wywołania procedury

Rozproszone systemy internetowe. Wprowadzenie. Koncepcja zdalnego wywołania procedury Rozproszone systemy internetowe Wprowadzenie. Koncepcja zdalnego wywołania procedury Zakres tematyczny przedmiotu Aplikacje rozproszone Technologie /standardy internetowe Programowanie obiektowe 2 Co będzie

Bardziej szczegółowo

Obs³uga transakcji rozproszonych w jêzyku Java

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

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

Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Programowanie w Sieci Internet JSP ciąg dalszy Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić JSP tags, Używanie tagów, Custom tags, JSP objests, Obiekty

Bardziej szczegółowo