J2EE Java 2 Enterprise Edition
description
Transcript of J2EE Java 2 Enterprise Edition
1
J2EEJava 2 Enterprise Edition
Rozproszone programowanie komponentowe
Jakub Ratajczak
2
Bibliografia
• http://java.sun.com/j2ee
• J2EE. Vademecum profesjonalisty. Wydanie 2, S.Bodoff, E.Armstrong, J.Ball, D.B.Carson, Helion, 2005
• J2EE. Wzorce projektowe. Wydanie 2, D.Alur, J.Crupi, D.Malks, Helion, 2004
3
Wstęp - Java 2
• Standard Edition (J2SE)– lang, io, math, util, text, sql, awt, rmi, crypto,
sound, swing, xml, corba, security
• Micro Edition (J2ME)– Connected Limited Device Configuration
(CLDC), Mobile Information Device Profile (MIDP)
• Enterprise Edition (J2EE)
4
J2EERozproszony model komponentowy
• projektowanie, tworzenie, składanie, instalacja aplikacji klasy „enterprise”
• wielowarstwowość
• wielokrotne użycie komponentów
• wspólny model zabezpieczeń
• zarządzanie transakcjami
• wsparcie aplikacji www
5
J2EE
• Platformy– kontenery
• Warstwy
• WebServices
• EJB Enterprise Java Bean
• Transakcje
• Bezpieczeństwo
6
Platformy, narzędzia
• IDE– NetBeans (Sun) www.netbeans.org
– JDeveloper (Oracle)
www.oracle.com/technology/software/products/jdev/ – Eclipse (IBM) www.eclipse.org, Lombozz, myEclipse
• Serwery (kontenery)– JBoss (JBoss) www.jboss.org
– Resin (Caucho) www.caucho.com
– WebLogic (BEA) www.bea.com
7
Warstwy J2EE
AplikacjaAplikacja
wwwWarstwa Maszyna
Aplikacja klienta
Strony (dyn.) HTML
Prezentacji Klienta
Strony JSP, Servlet
Sieci Serwer www
Enterprise Beans
Enterprise Beans
Logiki biznesowej
Serwer aplikacji
Baza danych Baza danych Danych Serwer bazy danych
8
WebServices
• XML
• SOAP Simple Object Access Protocol
• WSDL Web Service Description Language
• JAX-RPC
• SAAJ SOAP with Attachements for Java
• UDDI Universal Description, Discovery and Integration
9
EJB
• Komponenty po stronie serwera– session – realizacja zadań, serwisów– entity – odwzorowanie obiektów warstwy danych– message driven – asynchroniczne przetwarzanie komunikatów
(JMS)
• Mapowanie relacyjno-obiektowe– relacje– CMP Container-Managed Persistence– BMP Bean-Managed Persistence– Hibernate
• JNDI Java Naming & Directory Interface
10
EJB - nazwy
Obiekt Nazwa Przykład
Nazwa Enterprise Bean (DD)
<name>Bean AccountBean
EJB JAR nazwa wyświetlana (DD)
<name>JAR AccountJAR
Klasa Enterprise Bean <name>Bean AccountBean
Home interface <name>Home AccountHome
Remote interface <name> Account
Local home interface <name>LocalHome AccountLocalHome
Local interface <name>Local AccountLocal
Schemat (DD) <name> Account
11
Transakcje
• Container-Managed Transactions– „transakcyjność” metod opisywana w
deskryptorze– brak zagnieżdżeń
• Bean-Managed Transactions– większa kontrola nad transakcjami– JTA Java Transaction API– JDBC
12
Bezpieczeństwo
• Deklaratywne– zewnętrznie wobec aplikacji– deskryptor wdrożenia
• Programowe• Identyfikacja, Autoryzacja• Użytkownicy, grupy, role• Warstwy www, SSL• Warstwy EJB• JAX-RPC