J2EE Java 2 Enterprise Edition

Download Report

Transcript J2EE Java 2 Enterprise Edition

J2EE
Java 2 Enterprise Edition
Rozproszone programowanie
komponentowe
Jakub Ratajczak
1
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
2
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)
3
J2EE
Rozproszony 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
4
J2EE
• Platformy
– kontenery
•
•
•
•
•
Warstwy
WebServices
EJB Enterprise Java Bean
Transakcje
Bezpieczeństwo
5
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
6
Warstwy J2EE
Aplikacja
Aplikacja
klienta
Enterprise
Beans
Aplikacja
www
Strony (dyn.)
HTML
Warstwa
Maszyna
Prezentacji
Klienta
Strony JSP,
Servlet
Sieci
Serwer www
Enterprise
Beans
Logiki
biznesowej
Serwer
aplikacji
Danych
Serwer bazy
danych
Baza danych Baza danych
7
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
8
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
9
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
10
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
11
Bezpieczeństwo
• Deklaratywne
– zewnętrznie wobec aplikacji
– deskryptor wdrożenia
•
•
•
•
•
•
Programowe
Identyfikacja, Autoryzacja
Użytkownicy, grupy, role
Warstwy www, SSL
Warstwy EJB
JAX-RPC
12