Podstawowe informacje o technologii Java EE 7
|
|
- Mirosław Majewski
- 6 lat temu
- Przeglądów:
Transkrypt
1 Podstawowe informacje o technologii Java EE 7 na podstawie Programowanie komponentowe 2 Programowanie komponentowe 2, Zofia Kruczkiewicz 1
2 I. Wielowarstwowa architektura systemu informatycznego Programowanie komponentowe 2, Zofia Kruczkiewicz 2
3 Definicja systemu informatycznego Nieformalny system informacyjny: zasoby osobowe - ludzie Formalny system informacyjny: procedury zarządzania, bazy wiedzy Techniczny system informacyjny: Sprzęt Oprogramowanie Bazy danych, bazy wiedzy System informatyczny jest to zbiór powiązanych ze sobą elementów nieformalnych, formalnych i technicznych, którego funkcją jest przetwarzanie danych przy użyciu techniki Techniczny system informacyjny zorganizowany zespół środków technicznych (komputerów, oprogramowania, urządzeń teletransmisyjnych itp.) służący do gromadzenia, przetwarzania i przesyłania informacji 3
4 Java EE 7 ze strony Pięciowarstwowy model logicznego rozdzielania zadań Warstwa klienta Klienci aplikacji, aplety, aplikacje i inne elementy z graficznym interfejsem użytkownika Warstwa prezentacji Strony JSP, serwlety i inne elementy interfejsu użytkownika Warstwa biznesowa Komponenty EJB i inne obiekty biznesowe Interakcja z użytkownikiem, urządzenia i prezentacja interfejsu użytkownika Logowanie, zarządzanie sesją, tworzenie zawartości, formatowania i dostarczanie Logika biznesowa, transakcje, dane i usługi Warstwa integracji JMS, JDBC, konektory i połączenia z systemami zewnetrznymi Warstwa zasobów Bazy danych, systemy zewnętrzne i pozostałe zasoby Adaptery zasobów, systemy zewnętrzne, mechanizmy zasobów, przepływ sterowania Zasoby, dane i usługi zewnętrzne Programowanie komponentowe 2, Zofia Kruczkiewicz 4
5 II. Komponenty typu EJB Programowanie komponentowe 2, Zofia Kruczkiewicz 5
6 Komponent element do budowy warstw skompilowany moduł programowy, funkcjonalność dostarczana za pomocą interfejsu biznesowego, zdolny do współdziałania z innymi komponentami oraz innymi częściami systemu informatycznego. Programowanie komponentowe 2, Zofia Kruczkiewicz 6
7 1. Enterprise Bean implementacja technologii Enterprise JavaBeans (EJB) 1) Komponent napisany w języku Java do hermetyzacji logiki biznesowej po stronie serwera. 2) Logika biznesowa spełnia podstawowe funkcje aplikacji i jest używana przez warstwę klienta aplikacji za pomocą komponentu obsługującego warstwę klienta lub za pośrednictwem komponentów warstwy internetowej. np Managed_produkt obsługujący warstwę internetową aplikacji używa metod komponentu typu Fasada_warstwy_biznesowej: public void utworz_produkt(string[] dane, Date data), public dane_produktu(), public ArrayList<ArrayList<String>> Items() 7
8 1.1. Zalety użycia komponentów typu Enterprise Beans (EJB) Komponenty EJB ułatwiają tworzenie dużych rozproszonych aplikacji: 1) kontener komponentu EJB obsługuje usługi na poziomie systemowym, np: tranzakcje, autoryzacja. Programista może skoncentrować się na rozwiązaniu problemów logiki biznesowej 2) Komponenty EJB w przeciwieństwie do warstwy klienta (GUI desktopowe lub strona www) zawierają kod logiki biznesowej. Powoduje to, że programiści warstwy klienta skupiają się funkcjonalności formularzy GUI internetowego lub desktopowego, możliwych do uruchomienia na małych urządzeniach 3) Komponety EJB są komponentami przenośnymi - można budować nowe aplikacje z wykorzystaniem istniejących komponentów EJB na kompatybilnym serwerze 8
9 1.2. Kiedy stosować komponenty EJB Komponenty EJB są używane wtedy, gdy tworzona aplikacja musi spełniać następujące wymagania: 1) Konieczność zapewnienia skalowalności aplikacji. Przy wzrastającej liczbie użytkowników aplikacji, można komponenty EJB umieścić na wielu maszymach. Dla warstwy klienta jest to niewidoczne - różne serwery oraz ich lokalizacja. 2) Transakcje muszą zapewnić integralność danych. Komponenty EJB wspierają obsługę tranzakcji przy równoczesnym dostępie wielu instancji warstwy klienta 3) Aplikacja może obsługiwać wiele różnych typów instancji warstwy klienta. Dodając jedynie kilka linii kodu, wiele instancji warstwy klienta mogą w łatwy sposób lokalizować zdalne komponenty EJB. 9
10 1.3. Typy komponentów EJB Typ komponentu EJB Session Message-driven Cel Wykonuje zadania dla warstwy klienta aplikacji. Opcjonalnie, może implementować usługi internetowe Działa jako detektor określonego typu wiadomości, takich jak API Java Message Service Programowanie komponentowe 2, Zofia Kruczkiewicz 10
11 2. Czym jest komponent typu Session Bean 1) Komponent typu Session Bean hermetyzuje logikę biznesową i jest umieszczony na serwerze w warstwie biznesowej aplikacji, która może być używana programowo przez warstwę klienta: lokalnie, zdalnie lub jako usługa internetowa. W celu dostępu do aplikacji po stronie serwera, warstwa klienta wywołuje metody komponentu typu Session Bean. 2) Warstwa klienta, umieszczona na innym komputerze jest niezależna od złożoności działania usług biznesowych po stronie serwera. 3) Komponent typu Session Bean nie jest utrwalany w bazie danych Programowanie komponentowe 2, Zofia Kruczkiewicz 11
12 2.1. Rodzaje komponentów typu Session Bean - stateful, stateless i singleton Stateful (stanowy) komponent typu Session Bean Stan obiektu składa się z wartości jego atrybutów. W stanowej sesji komponentu wartości atrybutów komponentu przedstawiają unikatowy stan komponentu warstwy klienta. Ponieważ klient komunikuje się ( "rozmawia") z komponentem, stan ten nazywany jest często stanem konwersacji. Sesja komponentu nie jest współdzielona - może obsługiwać tylko jedną instancję warstwy klienta. Gdy instancja warstwy klienta zamyka sesję, komponent kończy swoje działanie. 12
13 (1) Przykłady architektury wielowarstwowej aplikacji internetowej typu EE opartej na komponentach stanowych (stateful) typu Session Bean Programowanie komponentowe 2, Zofia Kruczkiewicz 13
14 Architektura aplikacji pięciowarstwowej Java EE 7.0 JavaServer Faces Baza danych Warstwa zasobów katalog Warstwa integrująca (EntityManager, ) Technologia EclipseLink TopLink Wzorce: Domain Store Transfer Object fasady (XXXController) fabryki obiektów Warstwa integrująca (EntityManager, ) Technologia EclipseLink TopLink Wzorce: Domain Store Transfer Object fasady (XXXController) fabryki obiektów Warstwa integrująca (EntityManager, ) Technologia EclipseLink TopLink Wzorce: Domain Store Transfer Object fasady (XXXController) fabryki obiektów Warstwa integracji Obiektowy model danych Wzorce: fasady TAplikacja fabryki obiektów strategii Komponent EJB Obiektowy model danych Wzorce: fasady TAplikacja fabryki obiektów strategii Obiektowy model danych Wzorce: fasady TAplikacja fabryki obiektów strategii (1) (2) (3) Komponent EJB Komponent EJB Warstwa biznesowa ApplicationBean1 Wzorzec fasady usług SessionBean1 Komponent (1) Wzorzec typu ManagedBean fasady sesji SessionBean1 Komponent (2) Wzorzec typu ManagedBean fasady sesji SessionBean1 Komponent Wzorzec (3) typu ManagedBean fasady sesji (1) Strony JSF (2) Strony JSF (3) Strony JSF Warstwa prezentacji Przeglądarka Klient1 - Przeglądarka Klient2 - Przeglądarka Klient3 - (1) klient (2) klient (3) klient Warstwa klienta
15 2.1.2 Stateless (bezstanowe) komponenty typu Session Bean 1) Bezstanowa sesja komponentu nie utrzymuje stanu konwersacji z instancją warstwy klienta. Gdy warstwa klienta wywołuje metody bezstanowego komponentu, wartości atrybutów komponentu mogą zawierać stan specyficzny dla danej instancji warstwy klienta tylko w czasie trwania wywołania. Gdy wywołana metoda jest zakończona, stan wywołującej warstwy klienta nie jest zachowany. Instancje warstwy klienta mogą jednak zmienić stan atrybutów bezstanowego komponentu i stan ten utrzymuje się do następnego wywołania metody tego komponentu. 2) Komponenty bezstanowe mogą obsługiwać wielu klientów, umożliwiają dużą skalowalność aplikacji. Mogą one obsłużyć większą ilość instancji klienta niż komponenty stanowe (stateful). 3) Bezstanowe komponenty mogą implementować usługi internetowe, w przeciwieństwie do stanowych komponentów. 15
16 (2) Przykłady architektury wielowarstwowej aplikacji internetowej typu EE opartej na komponentach bezstanowych (stateless) typu Session Bean Programowanie komponentowe 2, Zofia Kruczkiewicz 16 16
17 Architektura aplikacji pięciowarstwowej -Java EE 7.0 JavaServer Faces Baza danych katalog Warstwa integrująca (EntityManager, ) Technologia TopLink Wzorce: Domain Store Technologia Transfer Object EclipseLink fasady (XXXController) fabryki obiektów Warstwa zasobów Warstwa integracji Komponent EJB ApplicationBean1 Wzorzec fasady usług Obiektowy model danych Wzorce: fasady TAplikacja fabryki obiektów strategii Warstwa biznesowa Warstwa biznesowa SessionBean1 Komponent Wzorzec typu ManagedBean fasady sesji SessionBean1 Komponent Wzorzec typu ManagedBean fasady sesji SessionBean1 Komponent Wzorzec typu ManagedBean fasady sesji Warstwa prezentacji Strony JSF Strony JSF Strony JSF Warstwa prezentacji Przeglądarka Klient1 - Przeglądarka Klient2 - Przeglądarka Klient3 - klient klient klient Warstwa klienta
18 Singleton - komponent typu Session Bean 1) Komponent typu Singleton jest tworzony raz w aplikacji i istnieje do końca czasu działania aplikacji. 2) Singleton jest stosowany wtedy, gdy jako jedyny jest używany współbieżnie przez wiele instancji warstwy klienta. 3) Singleton oferuje podobną funkcjonalność do komponentów bezstanowych, ale różnią się od nich tym, że istnieje tylko jedna instancja komponentu, w przeciwieństwie do puli komponentów bezstanowych, z których każdy może odpowiedzieć na żądanie klienta. 4) Podobnie jako komponenty bezstanowe, Singleton może implementować usługę internetową. 5) Singleton utrzymuje swój stan pomiędzy wywołaniami klienta, ale nie jest wymagane utrzymanie stanu podczas awarii serwera lub przestojów. 6) Aplikacje korzystające z komponentów typu Singleton używają go do wykonania czynności inicjujących aplikacji. Podobnie, komponent typu Singleton może wykonywać czynności czyszczące podczas 18 zamykania aplikacji.
19 2.2. Kiedy należy używać komponenty typu Session Bean Kontekst użycia stanowych (statefull) komponentów Session Bean: 1) Stan komponentu reprezentuje interakcje z warstwą klienta 2) Komponent musi utrzymać informację o warstwie klienta podczas wykonywania wywołanej metody przez warstwe klienta. 3) Komponent pośredniczy między klientem i innymi komponentami reprezentując uproszczony widok tej warstwy klienta. 4) Komponent może zarządzać przepływem pracy innych komponentów EJB. 19
20 2.2. Kiedy należy używać komponenty typu Session Bean (cd) Kontekst użycia bezstanowych (stateless) komponentów Session Bean - w celu poprawy wydajności, jeśli: 1) Komponenty nie muszą przechowywać w swoich atrybutach danych instancji warstwy klienta. 2) W pojedynczym wywołaniu komponent wykonuje ogólne zadanie dla wszystkich klientów np w celu wyslania z potwierdzeniem złożenia zamówienia on-line. 3) Komponent musi implementować usługę internetową. Programowanie komponentowe 2, Zofia Kruczkiewicz 20
21 2.2. Kiedy należy używać komponenty typu Session Bean (cd) Kontekst użycia komponentów Singleton typu Session Bean stosuje się, jeśli: 1) Stan tego komponentu musi reprezentować stan aplikacji. 2) Pojedynczy komponent musi być dostępny dla wielu wątków. 3) Aplikacja potrzebuje komponentów typu Singleton w celu wykonywania zadań dotyczących uruchamiania i zamykania aplikacji. 4) Komponent realizuje usługę internetową. Programowanie komponentowe 2, Zofia Kruczkiewicz 21
22 2.3 Czym jest komponent typu Message- Driven Bean 1) Jest to komponent, który umożliwia aplikacjom Java EE przetwarzać wiadomości asynchronicznie. 2) Działa jako słuchacz wiadomości JMS (Java Message Service), podobnie jak detektor zdarzeń, ale odbiera komunikaty JMS zamiast zdarzeń. Komunikaty mogą być wysyłane przez każdy komponent Java EE (klient aplikacji komponentu EE lub komponentu internetowego) lub za pomocą aplikacji JMS lub systemu, który nie korzysta z technologii Java EE. 3) Komponent typu Message-Driven Bean przetwarza wiadomości JMS lub inne rodzaje komunikatów. 22
23 Czym różnią się komponenty typu Message-Driven Beans od komponentów typu Session Beans? Główna różnica między komponentami sterowanymi komunikatami i komponentami typu Session jest to, że warstwa klienta nie ma dostępu do metod komponentów typu Message-Driven. Komponenty typu Message-Driven w kilku aspektach przypomina zachowanie komponentów bezstanowych typu Session Bean: 1) Komponenty typu Message-Driven nie przechowują danych konkretnej warstwy klienta. 2) Wszystkie instancje komponentów typu Message-Driven są równoważne, dzięki czemu kontener EJB może przypisać wiadomość do dowolnego komponentu typu Message-Driven. Kontener może połączyć te instancje, aby umożliwić równoległe przetwarzanie strumienia wiadomości. 3) Pojedynczy komponent typu Message-Driven może przetwarzać wiadomości wielu nadawców wiadomości. 23
24 Czym różnią się komponenty typu Message-Driven Beans od komponentów typu Session Beans? (cd) Komponenty typu Message-Driven mogą zawierać stany reprezentujące : połączenia JMS API, otwarte połączenia z bazą danych odwołania do komponentów typu EJB. Komponenty klienckie nie mogą zlokalizować komponentów typu Message-Driven i wywoływać metod tych komponentów. Zamiast tego, klient uzyskuje dostęp do komponentu typu Message-Driven za pośrednictwem komunikatów JMS poprzez wysłanie wiadomości do komponentu Message-Driven typu MessageListener. Przypisanie odbiorcy wiadomości następuje podczas tworzenia bajtkodu dla serwera typu GlassFish. 24
25 Czym różnią się komponenty typu Message-Driven Beans od komponentów typu Session Beans? (cd) Komponenty typu Message-Driven mają następujące cechy; 1) działają po otrzymaniu pojedynczej wiadomości 2) działają asynchronicznie 3) mają relatywnie krótki czas życia 4) nie reprezentują bezpośrednio udostępnionych dane w bazie danych, ale mają dostęp i aktualizują te dane 5) mogą świadomie dokonywać transakcji 6) są bezstanowe. Programowanie komponentowe 2, Zofia Kruczkiewicz 25
26 Czym różnią się komponenty typu Message-Driven Beans od komponentów typu Session Beans? (cd) 1) Gdy przychodzi wiadomość, kontener wywołuje metodę onmessage komponentu typu Message-Driven 2) Metoda onmessage normalnie rzutuje otrzymaną wiadomość do jednego z pięciu typów komunikatów JMS i obsługuje je zgodnie z logiką biznesową aplikacji. Metoda onmessage może wywołać metody pomocnicze lub może wywołać metodę komponentu typu Session Bean do przetwarzania informacji w wiadomości lub może zapisać je w bazie danych. 3) Wiadomość może być dostarczona do komponentu typu Message-Driven w kontekście transakcji, więc wszystkie operacje w metodzie onmessage są częścią jednej transakcji. Jeśli przetwarzanie wiadomości zostanie wycofane, wiadomość zostanie zwrócona. 26
27 Kiedy stoduje się komponenty typu Message-Driven? Aby odbierać wiadomości w sposób asynchroniczny, ponieważ: 1) Aby uniknąć uruchamiania zasobów serwera, czyli aby nie używać blokowania synchronicznego odbioru wiadomości po stronie serwera; 2) Komunikaty JMS powinny być wysyłane lub odbierane asynchronicznie. Komponenty typu Session Bean mogą wysyłać i odbierać wiadomości JMS tylko synchronicznie. Programowanie komponentowe 2, Zofia Kruczkiewicz 27
28 4. Dostęp do komponentów typu Enterprise (z wyłączeniem komponentów typu Message-Driven) Warstwa klienta uzyskuje dostęp do komponentów EJB 1) bez interfejsu biznesowego wtedy może wywołać wszystkie publiczne metody komponentu EJB 2) przez interfejs biznesowy wtedy może wywołać tylko te metody, które implementuje komponent, a są zadeklarowane w interfejsie biznesowym. Programowanie komponentowe 2, Zofia Kruczkiewicz 28
29 4. Dostęp do komponentów typu Enterprise (z wyłączeniem komponentów typu Message-Driven) (cd) 1) Mechanizm dostępu oparty na dobrze zaprojektowanych interfejsach biznesowych lub braku interfejsu upraszczają opracowywanie i utrzymanie aplikacji Java EE. 2) Taki mechanizm dostępu ukrywa przed warstwą klienta wszelkie zawiłości w warstwie biznesowej i pozwala modyfikować definicje metod bez wpływu na kod warstwy klienta. 3) Jeśli jednak zostanie zmodyfikowana nazwa metody w komponencie EJB, to wymaga zmiany kodu w warstwie klienta. 4) Komponent typu EJB może mieć więcej niż jeden interfejs biznesowy. Komponenty typu EJB powinny, ale nie muszą, implementować wszystkich interfejsów biznesowych. 29
30 4.1 Sposób użycia komponentu typu Enterprise Beans w warstwie klienta Warstwa klienta uzyskuje odwołanie komponentu EJB: 1) poprzez wstrzyknięcie zależności (Dependency Injection) używając adnotacji języka programowania Java za pośrednictwem klasy javax.ejb.ejb np. w warstwie klienta w obrębie środowiska serwera JavaEE, w aplikacjach JSF, JAX-RS Web Services. 2) za pomocą operacji lookup realizowanej w JNDI (Java Naming and Directory Interface) - aplikacje działające poza środowiskiem serwera Java EE Programowanie komponentowe 2, Zofia Kruczkiewicz 30
31 Trzy przestrzenie nazw w procesie lookup technologii JNDI 1) java:global ścieżka wyszukiwania zdalnego komponentu EJB java:global [/nazwa aplikacji] /nazwa modulu/ nazwa komponentu EJB[/nazwa interfejsu] 2) java:module ścieżka wyszukiwania komponentu typu EJB w tym samym module java:module/nazwa komponentu EJB / [nazwa interfejsu] 2) java:app ścieżka wyszukiwania komponentu EJB w tej samej aplikacji, spakowanego w pliku EAR java:app[/nazwa modulu]/nazwa komponentu EJB [/nazwa interfejsu] Nazwa interfejsu biznesowego jest używana wtedy, gdy komponent EJB implementuje więcej niż jeden interfejs. 31
32 4.2 Kiedy należy stosować zdalny, kiedy lokalny, a kiedy jako usługa internetowa dostęp do komponentu typu EJB 1) silne lub luźne logiczne sprzężenie komponentów EJB - przy silnym powiązaniu lepiej stosować lokalny dostęp między komponentami (np jeden obsługuje sprzedaż, a drugi wysyła maile potwierdzające sprzedaż) 2) typ klienta: instancje warstwy klienta umieszczane na innych maszynach niż komponent typu EJB dostarczający usługi biznesowe lepszy zdalny dostęp 3) dystrybucja komponentów: aplikacje Java EE są skalowalne, ponieważ ich komponenty po stronie serwera może być rozłożone na wielu maszynach. Wtedy konieczny jest dostęp zdalny pomiędzy komponentami EJB 4) Wydajność: Ze względu na takie czynniki, jak opóźnienia w sieci, połączenia zdalne mogą być wolniejsze od połączeń lokalnych Bardziej elastyczne są połączenia zdalne. Nie można jednocześnie definiować interfejsu biznesowego jako lokalnego i zdalnego.
33 Charakterystyka: 4.3. Lokalna warstwa klienta 1) Musi działać w tej samej aplikacji, w której działa komponent typu EJB 2) Musi być komponentem internetowym lub innym komponentem EJB 3) Dla lokalnej warstwy klienta dostęp do komponentu EJB nie jest jawny. Brak interfejsu biznesowego w dostępie do metod komponentu EJB oznacza lokalny dostęp do pulicznych metod komponentu. Lokalny interfejs biznesowy oznacza implementację metod i cykl życia tych metod. oznacza domyślnie lokalny interfejs biznesowy. 33
34 4.3. Lokalna warstwa klienta definicje komponentu EJB (cd) Przykłady: 1) Brak interfejsu biznesowego definicja public class MyBean {... } 2) Definicja lokalnego interfejsu public interface InterfaceName {... public class MyBean implements InterfaceName {... } 3) Specyfikacja interjesju biznesowego w nazwie public class MyBean implements InterfaceName {... }
35 Lokalna warstwa klienta dostęp do komponentu typu EJB przy brak interfejsu biznesowego Definicja komponentu public class MyBean {... } 1) Dostęp do komponentu MyBean za pomocą adnotacji javax.ejb.ejb z lokalnej warstwy MyBean mybean; 2) Dostęp do komponentu EJB za pomocą JNDI, lookup (javax.naming.initialcontext) MyBean mybean = (MyBean) InitialContext.lookup ( java:module/mybean ) 35
36 Lokalna warstwa klienta dostęp do komponentu typu EJB z definicją interfejsu biznesowego Definicja komponentu public interface InterfaceName {... public class MyBean implements InterfaceName {... } 1) Dostęp do komponentu MyBean za pomocą adnotacji javax.ejb.ejb z lokalnej warstwy MyBean mybean; 2) Dostęp do komponentu EJB za pomocą JNDI, lookup (javax.naming.initialcontext) MyBean mybean = (MyBean) InitialContext.lookup ( java:module/mybean ) 36
37 Charakterystyka: 4.4. Zdalni klienci 1) Działa na innej maszynie, z wykorzystaniem innej maszyny wirtualnej Java (może być również ta sama maszyna JVM) 2) Może to być komponent internetowy, aplikacja klienta, lub inny komponent typu EJB 3) Dla klienta zdalnego dostęp do komponentu typu EJB jest przezroczysty 4) Komponent EJB musi implementować interfejs biznesowy w przeciwnym wypadku warstwa klienta nie ma dostępu do takkiego komponentu typu EJB Pogramowanie komponentowe 2, Zofia Kruczkiewicz 37
38 4.4. Zdalni klienci (cd) Definicja komponentu EJB dla zdalnego public interface InterfaceName {... public class MyBean implements InterfaceName {... } 1) Dostęp do komponentu EJB ze zdalnej warstwy klienta za pomocą adnotacji MyBean mybean; 2) Dostęp do komponentu EJB za pomocą JNDI, lookup (javax.naming.initialcontext) MyBean mybean = (MyBean) InitialContext.lookup ( java:global/myapp/mybean );
39 4.4. Zdalni klienci (cd) Kontrola odwołań zdalnej warstwy klienta do komponentu typu EJB za pomocą zdalnego interfejsu biznesowego Pogramowanie komponentowe 2, Zofia Kruczkiewicz 39
40 4.5. Klienci usługi internetowej (Web Service) Tworzenie usługi internetowej: 1) Warstwa klienta ma dostęp do usługi internetowej wykonanej za pomocą technologii JAX-WS 2) Warstwa klienta usługi internetowej wywołuje metody biznesowe bezstanowego (stateless) komponentu typu Session Bean z wykorzystaniem protokołów (SOAP, HTTP, WSDL). 3) Warstwą klienta usługi internetowej moga być: komponent internetowy oraz komponent typu EJB. Umożliwia to integrację aplikacji Java EE z usługami internetowymi. 4) Warstwa klienta usługi internetowej uzyskuje dostęp do bezstanowego komponentu Session Bean za pomocą klasy implementującej tzw. endpoint komponentu usługi internetowej. Można wywołać metody usługi internetowej zdefiniowane z
41 4.5. Parametry zdalnych metod dostępu do komponentów typu EJB 1) Separacja - parametry metod zdalnych są odseparowane od parametrów metod wywoływanych lokalnie. Przy zdalnych wywołaniach warstwa klienta i komponent EJB operują na różnych kopiach parametrów obiektowych. W przypadku, gdy warstwa klienta zmienia wartość tych parametrów, kopia ich po stronie komponentu EJB nie jest zmieniana. Podobnie jest podczas wywołań metod usług internetowych. Podczas lokalnych wywołań obie strony modyfikują te same parametry. To powoduje, że korzystniejsze są wywołania zdalne (Remote). 2) Ziarnistość używanych danych liście parametrów lub zwracanych przez instrukcję return w metodach komponentów EJB lepiej przesyłać mniej obiektów, ale z większą liczbą danych (gruboziarniste).
42 5. Zawartość komponentu typu EJB 1) Klasa typu Enterprise bean: implementuje metody biznesowe i metody cyklu życia typu callback. 2) Biznesowe interfejsy (interface): definiuje metody biznesowe implementowe przez komponenty typu EJB, niezbędne przy zdalnym dostępie do metod komponentu typu EJB 3) Klasy pomocnicze: klasy potrzebne do definicji metod klas komponentów typu EJB np do obsługi wyjątków i inne klasy pomocnicze. Pliki te spakowane są w formacie jjar (komponenty typu EJB), WAR (komponenty typu internetowego) Programowanie komponentowe 2, Zofia Kruczkiewicz 42
43 6. Konwencja nazw dla komponentów typu EJB Pozycja Składnia Przykład Nazwa komponentu typu EJB nazwabean AccountBean Nazwa klasy typu EJB nazwabean AccountBean Interfejs biznesowy nazwa Account Programowanie komponentowe 2, Zofia Kruczkiewicz 43
44 7. Cykl życia komponentów typu EJB Każdy z komponentów EJB ma różny cykl życia i czas życia: Stateful Stateless Singleton message-driven Pogramowanie komponentowe 2, Zofia Kruczkiewicz 44
45 7.1 Cykl życia stanowych (Stateful) komponentów typu Session Bean Zadania kontenera EJB: 1. Tworzy komponent 2. Dependency injection, jeśli są 3. Metoda PostConstruct callback, jeśli jest 4. Metoda Init, lub ejbcreate<method>, jeśli są 1. Usuwa komponent 2. Metoda PreDestroy callback, jeśli jest 45
46 7.1 Cykl życia stanowych (stateful) komponentów typu Session Bean (cd) Warstwa klienta inicjuje cykl życia stanowego komponentu typu Session Bean. Kontener EJB realizuje wstrzyknięcie referencji do komponentu EJB i wywołuje metodę z jeśli jest. Po takim wstępie z warstwy klienta można wywołać metody z komponentu EJB. W stanie Ready kontener EJB decyduje, czy dokonać pasywacji lub dezaktywacji (algorytm: najmniej używany jest przesuwany do pamięci pomocniczej) wywołując metody z (jeśli jest). Jeśli warstwa klienta wywoła wtedy metodę komponentu EJB, wywołana jest przez kontener (jeśli jest). Podczas zakończenia działania warstwy klienta, wywołana jest przez kontener metoda z (jeśi jest). Wtedy komponent EJB jest usuwany z pamięci.
47 7.2. Cykl życia bezstanowych (Stateless) komponentów typu Session Bean Ponieważ bezstanowy komponent typu Session Bean nigdy nie przechodzi w stan pasywny, cykl życia składa sie tylko z dwóch stanów: nonexistent and ready podczas wywoływania metod przez warstwę klienta. Pogramowanie komponentowe 2, Zofia Kruczkiewicz 47
48 7.3. Cykl życia komponentów Singleton typu Session Bean Ponieważ bezstanowy komponent typu Session Bean nigdy nie przechodzi w stan pasywny, cykl życia składa sie tylko z dwóch stanów: nonexistent and ready podczas wywoływania metod przez warstwę klienta. Singleton startuje razem z aplikacją, jeśli ma i inicjuje aplikację za pomocą (jeśli jest) i czyści za pomocą (jeśli jest). 48
49 7.4 Cykl życia komponentu typu Message- Driven Bean Kontener EJB tworzy pulę komponentów typu Message-Driven wykonując podane zadania: 1) Wykonuje wszystkie wstrzyknięcia, jeśli są 2) Kontener wywołuje jeśli jest 49
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
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
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
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
Tworzenie warstwy prezentacji w wielowarstwowej aplikacji Przykład w środowisku Visual Web JSP
Tworzenie warstwy prezentacji w wielowarstwowej aplikacji Przykład w środowisku Visual Web JSP Autor Zofia Kruczkiewicz Programowanie i wdrażanie systemów informatycznych 1. Wykonanie formularzy typy JSP
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
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
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,
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
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
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
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ć
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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:
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
Warstwa prezentacji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.
Warstwa prezentacji wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. 1. Definicja warstwy prezentacji - pięciowarstwowy model logicznego rozdzielania zadań 2. Podstawowe przypadki - analiza
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,
Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie
Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Przykłady na podstawie zadań lab. z przedmiotu Technologie internetowe
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,
Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.
Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej Wstęp Programowanie w Javie 2 mgr inż. Michał Misiak Agenda Założenia do wykładu Zasady zaliczeń Ramowy program wykładu
JAVA EE MODEL APLIKACJI. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska
JAVA EE MODEL APLIKACJI Waldemar Korłub Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska Architektura aplikacji 2 Java EE od początku była projektowana z myślą o aplikacjach klasy enterprise
Wybrane aspekty projektowania - budowa wielowarstwowego modelu implementacji, zastosowanie wzorców projektowych Wykład 7 część 2
Wybrane aspekty projektowania - budowa wielowarstwowego modelu implementacji, zastosowanie wzorców projektowych Wykład 7 część 2 Zofia Kruczkiewicz Zofia Kruczkiewicz Wyklad_INP002017_7, część 2 1 Literatura
Tworzenie warstwy prezentacji drugi etap Przykład z laboratorium5_6. Autor Zofia Kruczkiewicz Wzorce oprogramowania laboratorium7_8
Tworzenie warstwy prezentacji drugi etap Przykład z laboratorium5_6 Autor Zofia Kruczkiewicz Wzorce oprogramowania laboratorium7_8 1. Wykonanie formularzy typy JSP zawierających wieloużywalne formularze
Wprowadzenie. Dariusz Wawrzyniak 1
Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak
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
problem w określonym kontekście siły istotę jego rozwiązania
Wzorzec projektowy Christopher Alexander: Wzorzec to sprawdzona koncepcja, która opisuje problem powtarzający się wielokrotnie w określonym kontekście, działające na niego siły, oraz podaje istotę jego
Programowanie Urządzeń Mobilnych. Część II: Android. Wykład 2
Programowanie Urządzeń Mobilnych Część II: Android Wykład 2 1 Aplikacje w systemie Android Aplikacje tworzone są w języku Java: Skompilowane pliki programów ( dex ) wraz z plikami danych umieszczane w
Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4
Utrwalanie danych zastosowanie obiektowego modelu danych warstwy biznesowej do generowania schematu relacyjnej bazy danych Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 1. Relacyjne
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
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
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
Wzorce Strukturalne. Adapter: opis. Tomasz Borzyszkowski
Adapter: opis Wzorce Strukturalne Tomasz Borzyszkowski Alternatywna nazwa: Wrapper (opakowanie) Rola obiektu Adapter: pełni wobec Klienta rolę otoczki, która umożliwia przetłumaczenie jego żądań na protokół
Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski
Technologie dla aplikacji klasy enterprise Wprowadzenie Marek Wojciechowski Co oznacza enterprise-ready? Bezpieczeństwo Skalowalność Stabilność Kompatybilność wstecz Wsparcie Dokumentacja Łatwość integracji
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),
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
Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2
Modelowanie i analiza systemów informatycznych 1. Warstwowa budowa systemów informatycznych 2. Model procesu wytwarzania oprogramowania - model cyklu życia oprogramowania 3. Wstęp do modelowania systemów
Literatura. J. Nilsson: Applying Domain-Driven Design and Patterns,With Examples in C# and.net, Addison-Wesley Professional, 2006
Literatura Booch G., Rumbaugh J., Jacobson I., Język UML. Przewodnik użytkownika, Seria: Inżynieria oprogramowania, Warszawa, WNT, 2002. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Wzorce
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,
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
Java Developers Day. Implementacja ESB przy użyciu Mule. ESB Mule Obsługa zamówień DEMO
Java Developers Day Implementacja ESB przy użyciu Mule Michał Majcher michal.majcher@altkom.pl Łukasz Krawczyk lukasz.krawczyk@altkom.pl slide 1 Tematy ESB Mule Obsługa zamówień DEMO Opis problemu Przepływ
Projekt INP Instrukcja 1. Autor Dr inż. Zofia Kruczkiewicz
Projekt INP002017 Instrukcja 1 Autor Dr inż. Zofia Kruczkiewicz I. Czynności wykonane zgodnie z harmonogramem grupy w tygodniach 1-6 1. Czynności (str. 3-12) wg instrukcji do lab3: http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/inp002017/lab_inp002017_3.pdf
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
Programowanie Komponentowe WebAPI
Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,
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
Przykłady pytań do zaliczenia programu wykonywanego w ramach zajęć laboratoryjnych 6-8 z Programowania komponentowego w Javie. Zofia Kruczkiewicz
Przykłady pytań do zaliczenia programu wykonywanego w ramach zajęć laboratoryjnych 6-8 z Programowania komponentowego w Javie Zofia Kruczkiewicz 1. Jakie warstwy zawiera aplikacja internetowa? 2. Wymień
Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy
Dokumentacja techniczna Młodzieżowe Pośrednictwo Pracy Spis Treści 1. Widok ogólny architektury MPP... 3 2. Warstwy systemu... 5 3. Struktura systemu/komponentów... 7 3.1 Aplikacje... 7 3.2 Biblioteki...
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
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
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
Wzorce projektowe. dr inż. Marcin Pietroo
Wzorce projektowe dr inż. Marcin Pietroo Adapter - strukturalny wzorzec projektowy, którego celem jest umożliwienie współpracy dwóm klasom o niekompatybilnych interfejsach - adapter przekształca interfejs
Projekt INP Instrukcja 2. Autor Dr inż. Zofia Kruczkiewicz
Projekt INP002017 Instrukcja 2 Autor Dr inż. Zofia Kruczkiewicz I. Czynności wykonane zgodnie z harmonogramem grupy w tygodniach 1-15 Tabela 2. Przebieg realizacji każdego z projektów (tabela 1) Opis realizacji
Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi
Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Jerzy Brzeziński, Anna Kobusińska, Dariusz Wawrzyniak Instytut Informatyki Politechnika Poznańska Plan prezentacji 1 Architektura
Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz
Programowanie komponentowe Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System Application
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
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
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
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
Middleware wprowadzenie października 2010
Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak/middleware
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
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
Middleware wprowadzenie października Dariusz Wawrzyniak (IIPP) 1
Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl poznan pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak/middleware
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
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
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
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
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
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
Programowanie usług działających w tle
Programowanie usług działających w tle Android Paweł Szafer Po co programować usługi działające w tle? Plan prezentacji O aplikacjach w Androidzie, Sposób podejmowania decyzji o zabiciu procesu, Rodzaje
Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa,
Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa, 2008-01-08 1 Agenda 1. Teza 2. Bezpieczeństwo aplikacji internetowych Usługi bezpieczeństwa
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
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
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
Wypożyczalnia VIDEO. Technologie obiektowe
Wypożyczalnia VIDEO Jest to program do obsługi wypożyczalni i wypożyczeń klientów. Głównym zadaniem programu jest zarządzanie wypożyczeniami i drukowanie potwierdzenia wypożyczenia oraz naliczenie punktów
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
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
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
Architektury usług internetowych. Tomasz Boiński Mariusz Matuszek
Architektury usług internetowych 2016 Tomasz Boiński Mariusz Matuszek Organizacja przedmiotu 1. Wykład 2 kolokwia po 25 punktów (23 listopada i 27 stycznia) 2. 6 zadań laboratoryjnych, zadania 1-5 po 8
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
Programowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)
Serwery Statefull i Stateless
Serwery Statefull i Stateless Wszystkie serwery aplikacji są określone jako stateless podczas projektowania. Te aplikacje nie przetrzymują stałego połączenia z klientem. Wysyłają one pakiety danych na
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ń
SOA Web Services in Java
Wydział Informatyki i Zarządzania Wrocław,16 marca 2009 Plan prezentacji SOA 1 SOA 2 Usługi Przykłady Jak zacząć SOA Wycinek rzeczywistości Problemy zintegrowanych serwisów : Wycinek Rzeczywistości Zacznijmy
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
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
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
Szczególne problemy projektowania aplikacji internetowych. Jarosław Kuchta Projektowanie Aplikacji Internetowych
Szczególne problemy projektowania aplikacji Jarosław Kuchta Miejsce projektowania w cyklu wytwarzania aplikacji SWS Analiza systemowa Analiza statyczna Analiza funkcjonalna Analiza dynamiczna Analiza behawioralna
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