1. Wprowadzenie
Plik PDF tego dokumentu jest dostępny pod nazwą |TUTAJ|.
Przykłady z tego dokumentu są dostępne pod numerem |TUTAJ|.
Niniejszy dokument stanowi kontynuację poprzedniego dokumentu napisanego w 2010 roku i zatytułowanego „Wprowadzenie do języka Java EE z wykorzystaniem NetBeans 6.8 i serwera GlassFish v3”. Zawiera on głównie następujące zmiany:
- część dotycząca JSF (Java Server Faces) została omówiona w osobnym dokumencie: „Wprowadzenie do Java Server Faces, PrimeFaces i PrimeFaces Mobile”, dostępnym pod adresem URL [Wprowadzenie na przykładach do Java Server Faces, PrimeFaces i PrimeFaces Mobile (2012)]. W dokumencie tym wykorzystano funkcje wersji 2 JSF,
- a projekty są projektami Maven.
Java EE oznacza Java Enterprise Edition. J2EE (Java 2 Enterprise Edition) było poprzednim terminem. J2EE odnosi się do technologii Java wykorzystywanych do tworzenia aplikacji korporacyjnych przy użyciu JDK 1.4 lub starszej wersji. Wraz z wprowadzeniem wersji JDK 1.5, która wniosła wiele nowości do języka Java, firma Sun wprowadziła nowe technologie oparte na tym ulepszonym języku, aby wyeliminować niedociągnięcia tych samych technologii w wersji J2EE. Termin „Java EE 5” był wówczas używany do określenia całego zestawu technologii, które wspólnie przyczyniają się do tworzenia aplikacji korporacyjnych na platformie Java. W momencie aktualizacji niniejszego dokumentu najnowszą wersją Java EE jest Java EE 6.
Książki Antonio Goncalvesa:
- „Java EE 5” wydane przez Eyrolles
- „Beginning Java EE 6 Platform with Glassfish 3” wydane przez Apress
są doskonałymi pozycjami do zapoznania się z technologiami Java EE 5 i Java EE 6. Wszystkie istotne technologie Java EE zostały w nich omówione w kontekście realistycznych studiów przypadków. Autor prowadzi stronę internetową [http://www.antoniogoncalves.org], którą czytelnik może odwiedzić.
Niniejszy dokument omawia niektóre technologie języka Java EE 5. Tworzymy w nim podstawową aplikację trójwarstwową [présentation, métier, accès aux données] w kilku wersjach:
Aplikacja internetowa wykorzystująca następujące technologie:
- Java Server Faces: dla warstwy internetowej
- EJB3 lub Spring: dla warstwy biznesowej
- EJB3 lub Spring, JPA/Hibernate, JPA/EclipseLink: do tworzenia różnych warstw dostępu do danych
Aplikacja klient-serwer wykorzystująca następujące technologie:
- Swing: dla warstwy graficznej po stronie klienta z obsługą Spring
- EJB3 lub usługa internetowa: dla warstwy serwerowej
Niektóre technologie Java, takie jak EE, nie zostały tutaj omówione, np. MDB (Message Driven Bean) czy EJB3 (stateful). Aby się z nimi zapoznać, warto sięgnąć po książki Antonio Goncalvesa.
Istnieją również inne technologie open source służące do tworzenia aplikacji trójwarstwowych. Bardzo popularnym połączeniem jest Spring (http://www.springframework.org/) / Hibernate (http://www.hibernate.org/). Aby umożliwić czytelnikowi porównanie technologii EJB3 i Spring, poprzednia aplikacja posiada wersje, w których Spring zastępuje EJB3.
Niniejszy dokument jest pracą kierowaną (TD) realizowaną na piątym roku studiów inżynierskich ISTIA na Uniwersytecie w Angers [http://www.istia.univ-angers.fr]. Niniejszy TD opisuje aplikację, którą należy stworzyć, technologie Java, z których należy skorzystać, oraz źródła informacji. Proponowane rozwiązanie jest często ściśle określone. TD zawiera pytania, na które nie podaje odpowiedzi. Zadaniem studenta jest ich znalezienie.
Proponowany tutaj kurs nauki języka Java EE wymaga od czytelnika poświęcenia około 50–100 godzin. Dokument zawiera dużo kodu, co umożliwia kopiowanie i wklejanie. Ponadto wszystkie projekty NetBeans są szczegółowo opisane. Ogólnie rzecz biorąc, dokument przedstawia szkielety rozwiązań, a od studenta oczekuje się dopracowania niektórych szczegółów. Dokument może być przydatny nawet dla osób, które nie mogą lub nie chcą poświęcić tyle czasu. Można skupić się wyłącznie na opisanych architekturach i pominąć część dotyczącą kodu, która jest przedmiotem pytań.
Do opracowania i uruchomienia aplikacji używamy środowiska NetBeans o numerze IDE. NetBeans jest dość zasobochłonnym oprogramowaniem: aby pracować komfortowo, należy zapewnić 1 GB pamięci RAM. Można je pobrać pod adresem [http://www.netbeans.org/].
Dokument odnosi się do następujących kursów:
- Praktyczne zastosowanie trwałości danych w Javie 5: [Trwałość danych w Javie 5 na przykładach (2007)] – dostarcza narzędzi do tworzenia warstwy dostępu do danych przy użyciu JPA (Java Persistence API)
- Wprowadzenie do języka Java [Wprowadzenie do języka Java (1998)] – dla początkujących
- Wprowadzenie do Java Server Faces, PrimeFaces i PrimeFaces Mobile na przykładach [Wprowadzenie na przykładach do Java Server Faces, PrimeFaces i PrimeFaces Mobile (2012)]
Materiały te są dalej oznaczone numerami [ref1], [ref2] i [ref3].
Serge Tahé, czerwiec 2012 r.