1 Platforma J2EE korporacyjny standard wytwarzania złożonych systemów informatycznychAutor: Jarosław Lis Warszawa, 2006r.
2 Cel prezentacji Przedstawienie platformy J2EEArchitektura aplikacji wielowarstwowych Technologie platformy J2EE Technologie tworzenia interfejsu użytkownika
3 J2EE – co to jest? J2EE, czyli Java 2 Platform, Enterprise Edition to zbiór technologii w pełni opartych o język programowania Java Sun Microsystems Inc. – twórcy platformy J2EE, którzy jako pierwsi wyszli naprzeciw zapotrzebowaniu rynku w 1997 roku
4 Cechy aplikacji J2EE Standard powstał z myślą o tworzeniu aplikacji:Dostępnych – wyznacznik sukcesu firmy w erze globalnej konkurencji Bezpiecznych – zapewnienie prywatności klientów oraz integralności danych Wydajnych Skalowalnych – transakcje zapewniające niezawodność i prawidłowe przetwarzanie danych
5 Cechy aplikacji J2EE c.d. Przenośnych (wieloplatformowość) – niezależne od zastanej architektury Wielowarstwowych – izolacja danych, logiki biznesowej, prezentacji
6 Warstwa middleware Middleware – warstwa zapewniająca aplikacji wymienione cechy, zbiór skomplikowanych technologii Korzyści: Koncentracja projektanta na wyższym poziomie abstrakcji, tj. na logice aplikacji Unikanie błędów programistycznych w krytycznych mechanizmach systemów Przyśpieszenie i ułatwienie procesu projektowania, tworzenia oraz wdrażania systemu Ciągły rozwój middleware
7 Aplikacje wielowarstwoweRozwiązania dla systemów, które sprawdzają się w większości zastosowań oparte są na podziale: Warstwa prezentacji – wyświetlanie wyników zapytania Warstwa kontrolera – sterowanie warstwą prezentacji Warstwa logiki biznesowej – przetwarzanie informacji Warstwa integracji – dostosowanie logiki biznesowej z warstwą danych Warstwa źródła danych – mechanizm składowania i udostępniania danych
8 Wielowarstwowość - zaletySeparacja fragmentów rozwiązania Niezależne przetwarzanie Wysoka skalowalność Zwiększone bezpieczeństwo Ułatwione zarządzanie warstwą prezentacją
9 Serwery aplikacji Rola i zadania serwera aplikacji:Równoważenie obciążenia Transakcyjność Dostęp do baz danych Komunikacja w środowisku rozproszonym (przezroczystość) Zarządzanie cyklem życia komponentów
10 Serwery aplikacji c.d. BEA Weblogic ServerIBM WebSphere Application Server HP Bluestone Total-e-Server Oracle Application Server Java Appliacation Server JBoss Borland AppServer Sybase EAServer
11 Technologie J2EE Platforma J2EE – konglomerat wielu zaawansowanych technologii, m.in.: Technologia komponentowa EJB Technologie budowy warstwy prezentacji JSP i JavaServlets Technologia JNDI
12 Technologia EJB Technologia komponentowa EJB(ang. Enterprise JavaBeans): Podstawa platformy J2EE Tworzenie komponentów programistycznych Komponenty uruchamiane na serwerach aplikacyjnych zgodnych z EJB Przetwarzanie informacji w warstwie logiki biznesowej
13 Technologia EJB c.d. Rodzaje komponentów EJB:Komponenty sesyjne (ang. session beans) Komponenty encyjne (ang. entity beans) Komponenty sterowane komunikatami (ang. message driven beans) Składniki komponentu: Klasa implementująca ziarno Interfejs domowy (ang. home interface) Interfejs zdalny (ang. remote interface)
14 Technologia EJB c.d. Interfejs domowy:Deklaracje metod tworzenia obiektów EJB, ich wyszukiwania oraz usuwania Interfejs zdalny: Deklaracje wszystkich metod biznesowych ziarna
15 Technologia EJB c.d. Komponenty sesyjne Obsługa żądań od klientaPrzetwarzanie danych Zapewnienie logiki biznesowej aplikacji Rodzaje komponentów sesyjnych: Stanowe (ang. statefull) Bezstanowe (ang. stateless)
16 Technologia EJB c.d. Komponenty encyjneReprezentowanie trwałych danych Dostępne dla wielu klientów równocześnie Żyją tak długo jak dane w bazie danych Rodzaje komponentów encyjnych: CMP (ang. Container Managed Persistency) BMP (ang. Bean Managed Persistency)
17 Technologia EJB c.d. Komponenty sterowane komunikatamiPrzesyłanie komunikatów pomiędzy innymi komponentami i aplikacjami Przechowywanie komunikatów w kolejce wiadomości JMS (ang. Java Messaging Services) do chwili odebrania lub utraty ważności komunikatu
18 Warstwa prezentacji Podstawowe technologie budowy warstwy prezentacjiJava Server Pages JavaServlets
19 Technologia JSP Tworzenie dynamicznych stron wwwStosowana na różnych platformach Możliwość mieszania statycznego kodu HTML z kodem Java Udostępnia zmienne predefiniowane (request, response, session) Możliwość korzystania z komponentów JavaBeans
20 JavaServlets Servlety, czyli programy wykonywane na serwerze wwwGłówne zadania servletów: Odbieranie żądania Generowanie wyników żądania Formatowanie odpowiedzi Wysyłanie odpowiedzi do użytkownika
21 JavaServlets c.d. Metody klasy implementującej servlet:init() – wykonywana raz w trakcie życia servletu service() – wykonywana przy każdym żądaniu doGet() – parametry przesyłane w URL doPost() – parametry przesyłane w nagłówku destroy() – wykonywana przed usunięciem servletu
22 Koncepcja MVC MVC, czyli Model-View-ControllerRozdzielenie modelu danych, interfejsu użytkownika oraz kontrolera: Model – dane przechowywane w sposób trwały Widok – wyświetlanie danych użytkownikom Kontroler – sterowanie żądaniem
23 Struts Technologia budowania złożonych aplikacji wwwDojrzała z dobrze rozwiniętą i dopracowaną specyfikacją Korzysta z JSP, Servletów, XML Opłacalna, gdy złożona aplikacja z dużą ilością ekranów
24 Struts c.d. Klasy bazowe ActionServlet – pełni funkcję kontroleraActionForm – pełni funkcję formularza Action – łącznik pomiędzy żądaniem, a logiką biznesową dla danego żądania ActionMapping – mechanizm pomocniczy kontrolera
25 Struts c.d. Plik konfiguracyjny struts-config.xml Rodzaje nawigacjiStatyczna Dynamiczna
26 Struts c.d. Walidacja danych wejściowychPrzy wykorzystaniu metody validate klasy ActionForm Przy wykorzystaniu własnych walidatorów Przy użyciu standardowych walidatorów (obowiązkowe wypełnienie pola, minimalna i maksymalna długość, walidacja daty, )
27 J2EE - podsumowanie Używana do budowy różnorakich usługStandardowe rozwiązanie korporacyjne, również odpowiednia dla małych i średnich przedsiębiorstw Przyśpieszone tworzenie aplikacji Wolny standard, możliwość dowolnego dopasowania platformy sprzętowej, systemu operacyjnego oraz serwera aplikacji
28 J2EE – podsumowanie c.d. Przykładowe aplikacje oparte na J2EE
29 Pytania ???
30 Dziękuję za uwagę