300 likes | 464 Views
Platforma J2EE korporacyjny standard wytwarzania złożonych systemów informatycznych. Warszawa, 2006r. Autor: Jarosław Lis. Cel prezentacji. Przedstawienie platformy J2EE Architektura aplikacji wielowarstwowych Technologie platformy J2EE Technologie tworzenia interfejsu użytkownika.
E N D
Platforma J2EEkorporacyjny standard wytwarzania złożonych systemów informatycznych Warszawa, 2006r. Autor: Jarosław Lis
Cel prezentacji • Przedstawienie platformy J2EE • Architektura aplikacji wielowarstwowych • Technologie platformy J2EE • Technologie tworzenia interfejsu użytkownika
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
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
Cechy aplikacji J2EE c.d. • Przenośnych (wieloplatformowość) – niezależne od zastanej architektury • Wielowarstwowych – izolacja danych, logiki biznesowej, prezentacji
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
Aplikacje wielowarstwowe Rozwią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
Wielowarstwowość - zalety • Separacja fragmentów rozwiązania • Niezależne przetwarzanie • Wysoka skalowalność • Zwiększone bezpieczeństwo • Ułatwione zarządzanie warstwą prezentacją
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
Serwery aplikacji c.d. • BEA Weblogic Server • IBM WebSphere Application Server • HP Bluestone Total-e-Server • Oracle Application Server • Java Appliacation Server • JBoss • Borland AppServer • Sybase EAServer
Technologie J2EE Platforma J2EE – konglomerat wielu zaawansowanych technologii, m.in.: • Technologia komponentowa EJB • Technologie budowy warstwy prezentacji JSP i JavaServlets • Technologia JNDI
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
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)
Technologia EJB c.d. Interfejs domowy: • Deklaracje metod tworzenia obiektów EJB, ich wyszukiwania oraz usuwania Interfejs zdalny: • Deklaracje wszystkich metod biznesowych ziarna
Technologia EJB c.d. Komponenty sesyjne • Obsługa żądań od klienta • Przetwarzanie danych • Zapewnienie logiki biznesowej aplikacji Rodzaje komponentów sesyjnych: • Stanowe (ang. statefull) • Bezstanowe (ang. stateless)
Technologia EJB c.d. Komponenty encyjne • Reprezentowanie 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)
Technologia EJB c.d. Komponenty sterowane komunikatami • Przesył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
Warstwa prezentacji Podstawowe technologie budowy warstwy prezentacji • Java Server Pages • JavaServlets
Technologia JSP • Tworzenie dynamicznych stron www • Stosowana 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
JavaServlets Servlety, czyli programy wykonywane na serwerze www Główne zadania servletów: • Odbieranie żądania • Generowanie wyników żądania • Formatowanie odpowiedzi • Wysyłanie odpowiedzi do użytkownika
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
Koncepcja MVC MVC, czyli Model-View-Controller Rozdzielenie modelu danych, interfejsu użytkownika oraz kontrolera: • Model – dane przechowywane w sposób trwały • Widok – wyświetlanie danych użytkownikom • Kontroler – sterowanie żądaniem
Struts • Technologia budowania złożonych aplikacji www • Dojrzał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
Struts c.d. Klasy bazowe • ActionServlet – pełni funkcję kontrolera • ActionForm – pełni funkcję formularza • Action – łącznik pomiędzy żądaniem, a logiką biznesową dla danego żądania • ActionMapping – mechanizm pomocniczy kontrolera
Struts c.d. Plik konfiguracyjny • struts-config.xml Rodzaje nawigacji • Statyczna • Dynamiczna
Struts c.d. Walidacja danych wejściowych • Przy 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, email)
J2EE - podsumowanie • Używana do budowy różnorakich usług • Standardowe 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
J2EE – podsumowanie c.d. Przykładowe aplikacje oparte na J2EE • www.amazon.com • www.cheapbooks.com
Pytania ???