Java Enterprise Edition spotkanie nr 1 Sprawy organizacyjne, wprowadzenie 1
Informacje organizacyjne Program: Co będzie na tym wykładzie, a czego nie będzie? apteka rolnictwo Java Enterprise Edition vs Tworzenie aplikacji wielowarstwowych 2
Kryteria zaliczania Dwa programy zaliczeniowe javamail, serwlety, jsp, struts 2 jpa, ejb, jsf Prosty test Zdawalność w zeszłym roku 3
Orientacyjny plan 1) Wprowadzenie + JavaMail 2) Serwlety (wprowadzenie) 3) Serwlety + JSP 4) JSP (c.d.) 5) Java Persistence 6) Struts 2 + Spring + JPA + Ajax + Maven 2 7) Java Server Faces 8) Java Server Faces c.d. 9) EJB (SB) 10)EJB (SB) i JPA 11)JMS i MDB 12)Transakcje 13)Bezpieczeństwo 14)Servlet 3.0 + JPA 2.0 + Web Beans + EJB 3.1 + JSF 2.0 4
Wersje i nazewnictwo Obecnie: Java Platform, Enterprise Edition lub Java EE (wersja 5, według starej numeracji 1.5) Wcześniej: Java 2 Platform, Enterprise Edition lub J2EE (do wersji 1.4) Znaczący skok jakościowy (POJO, DI/IoC, adnotacje) Niestety/na szczęście pełna kompatybilność wstecz 5
Czym jest Java Enterprise Edition? specyfikacja technologia platforma 6
Czym jest Java Enterprise Edition? "The aim of the Jave EE 5 platform is to provide developers a powerful set of APIs while reducing development time, reducing application compexity, and improving application performance." nie trzeba wymyślać na nowo koła sprawdzone rozwiązania i wzorce (warstwy) wyrzucenie" z aplikacji dalszych zagadnień 7
Komponenty Aplikacje Java EE są budowane z komponentów trzech rodzajów: programy i applety klienckie działają na maszynie klienckiej (np. ze względu na konieczność instalacji nowych wersji i bezpieczeństwo (w obie strony) część kodu dobrze wykonywać na serwerze) klienci mogą być używani do zapewnienia współdziałania aplikacji Java EE z systemami spadkowymi (ang. legacy systems) komponenty webowe: serwlety, jsp, jsf działają na serwerze (inaczej cienki klient) komponenty biznesowe: ejb działają na serwerze 8
Komponenty 9
Kontenery Stanowią interfejs między komponentami, a niskopoziomową funkcjonalnością, z której one korzystają transakcje bezpieczeństwo usługa nazewnicza i katalogowa komunikacja zdalna (RMI, Web Services) Kontenery zarządzają cyklem życia komponentów (ejb, serwlety, pule zasobów) i nadzorują trwałość Składanie i osadzanie aplikacji na serwerze jar, war, ear deskryptory (deployment, runtime deployment) 10
Role Jave EE Product Provider Tool provider Application component provider Enterprise Bean Developer Web Component Developer Apllication Client Developer Application Assembler Application Deployer and Administrator 11
Dostępne API 12
Składniki Enterprise JavaBean Technology (EJB) (entity beans są zastąpione przez Java persistence API) Servlety Technology (w teorii nie tylko WWW) JavaServer Pages (JSP) JavaServer Pages Standard Tag Library JavaServer Faces (JSF) Java Message Service API (JMS) Java Transaction API (jeżeli nie chcemy auto commitowania; nie tylko dla bd) JavaMail JavaBean Activation Framework Java API for XML Processing (JAXP) (SAX, DOM, XSL) Java API for XML Web Seervices (JAX-WS) (JAXB, SAOP with Attachments API) 13
Składniki Java Database Connectivity API (JDBC) Java Persistence API Java Naming and Directory Interface (JNDI) (LDAP, NDS, DNS, NIS) Java Authentication and Authorization Service (JAAS) (Javowa wersja zrębu Pluggable Authentication Module PAM)... 14
Rozwój przez powolną ewolucję Poszukiwanie kompromisu między ogólności, a wygodą stosowania. Za długi cykl wdrażania kolejnych wersji żeby wprowadzać rewolucyjne rozwiązania. Hibernate - POJO, Spring - (ang. DI = Dependency Injection bądź IoC = Inversion Of Control), XDoclet - Anotacje, 15