Więcej, szybciej i prościej z Java EE 5 i Apache Geronimo 2
Transkrypt
Więcej, szybciej i prościej z Java EE 5 i Apache Geronimo 2
Więcej, szybciej i prościej z Java EE 5 i Apache Geronimo 2 Jacek Laskowski [email protected] O mnie... ● ● ● ● ● ● Pasjonat technologii Java EE 5 i projektów otwartych Aktywny uczestnik wielu projektów otwartych Członek zespołów Apache Geronimo oraz Apache OpenEJB Założyciel i lider Warszawa JUG Przemyślenia, opinie, relacje publikuje w Notatniku Projektanta Java EE http://www.JacekLaskowski.pl Służbowo: konsultant oprogramowania w IBM O Java EE 5... ● ● Najnowsze wydanie zbioru technologii rozwiązań Java do tworzenia aplikacji przemysłowych Wynik wpływu projektów otwartych, m.in. Spring Framework, Hibernate, XDoclet, AspectJ ● Wykorzystanie usprawnień Java SE 5 ● JavaServer Faces 1.2 ● Enterprise JavaBeans 3.0 ● Java Persistence 1.0 Fundamenty Java EE 5 ● ● ● ● ● POJO (ang. Plain-Old Java Object) – powrót do korzeni – JavaBeans Konfiguracja przez nadpisywanie (ang. configuration by exception) Java SE 5 – przede wszystkim adnotacje Wstrzeliwanie zależności (ang. DI – dependency injection) – alternatywa dla JNDI Interceptory (ang. interceptors) – AOP Rezultat prac nad Java EE 5 ● ● ● ● ● Intuicyjność podczas tworzenie aplikacji Bezinwazyjność - realizujemy założenia biznesowe a nie specyfikacji Brak wymagań odnośnie środowiska programistycznego – dowolne Java IDE Możliwość uruchomienia komponentów encyjnych w ramach Java SE Uproszczone testowanie poza środowiskiem serwera aplikacyjnego O Apache Geronimo... ● ● ● Projekt otwarty serwera aplikacyjnego Java EE w Apache Software Foundation (ASF) Strona domowa – http://geronimo.apache.org Utworzony w 2003 r. przez programistów z wielu otwartych projektów (JBoss, OpenEJB, MX4J, Jetty) na licencji ASL 2.0 ● 2004-04-29 – Geronimo 1.0M1 – Java EE 1.4 ● 2007-03-04 – Geronimo 2.0M3 – Java EE 5 ● IBM WebSphere Application Server Community Edition (IBM WASCE) Architektura Geronimo Za Understand Geronimo's deployment architecture autorstwa Hemapani Srinath Perera Architektura Geronimo Układanka Geronimo Java EE 5 w Geronimo ● Servlet 2.5 – Apache Tomcat 6 oraz Jetty 6 ● JSP 2.1 – Apache Tomcat 6 oraz Jetty 6 ● JSF 1.2 – Apache MyFaces 1.2 ● EJB 3.0 – Apache OpenEJB 3 ● JPA 1.0 – Apache OpenJPA 0.9 ● JAX-WS 2.0 – Apache Axis 2 oraz Apache CXF ● Web Services Metadata 2.0 – Axis2 oraz CXF Administracja to trudne zadanie... ...ale nie z Apache Geronimo! Konsola administracyjna Wtyczka Geronimo do Eclipse IDE Wtyczka Geronimo do NetBeans IDE Plany rozwojowe ● ● Certyfikowana wersja Apache Geronimo 2.0 z Java EE 5 przed JavaOne – 8-11.05.2007 Pełne klastrowanie – nie tylko w warstwie kontenera servletów ● Jądro oparte o OSGi ● Więcej narzędzi wspierających Komponent EJB3 – przykład ● Interfejs biznesowy - ExamScheduler package pl.jaceklaskowski.exam.scheduler; import java.util.List; import pl.jaceklaskowski.exam.beans.Exam; public interface ExamScheduler { List<Exam> getExams(); } Komponent EJB3 – przykład ● Klasa komponentu package pl.jaceklaskowski.exam.scheduler; import java.util.List; import pl.jaceklaskowski.exam.beans.Exam; public class ExamSchedulerBean implements ExamScheduler { public List<Exam> getExams() { return ...; } } ● Nie, to nie wszystko... ;-) Komponent EJB3 – przykład ● Obowiązkowo określamy typ komponentu package pl.jaceklaskowski.exam.scheduler; import java.util.List; import javax.ejb.Stateless; import pl.jaceklaskowski.exam.beans.Exam; @Stateless public class ExamSchedulerBean implements ExamScheduler { public List<Exam> getExams() { return ...; } } ● Teraz wszystko! Pytania Słucham?