J2EE-Support in Together 6.2 J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 1/26 Gliederung 1. 2. 3. 4. 5. 6. J2EE was ist das? Wozu J2EE? J2EE Komponenten & Diagrammtypen in Together Application Server anbinden Reengineering /Import am Beispiel Kritische Würdigung und Ausblick J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 2/26 J2EE – Was ist das? ¾ J2EE = Java 2 Platform, Enterprise Edition ¾ Spezifikation einer durch Schnittstellen definierten Standardarchitektur für die Ausführung von Anwendungskomponenten Balzert, Helmut: „Eine Software-Architektur ist eine strukturierte oder hierarchische Anordnung der Systemkomponenten sowie Beschreibung ihrer Komponenten.“ ¾ aktuelle Version der J2EE-Spezifikation ist die Version 5.0 ¾ J2EE-Applikationen laufen auf einem Application Server • einfachster Fall auch Web-Container (wie z.B. Tomcat) J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 3/26 Wozu J2EE? ¾ definiert Softwarekomponenten und Dienste, primär in Java ¾Spezifikation stellt allgemein akzeptierten Rahmen zur Verfügung ¾Basis modularer Komponenten zur Entwicklung verteilter, mehrschichtiger Anwendungen ¾klar definierte Schnittstellen zwischen den Komponenten und Schichten ¾um Kosten und Komplexität von verteilten, mehrschichtigen Anwendungen zu reduzieren J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 4/26 Wozu J2EE? Die Vorteile von J2EE sind: ¾standardisierte modulare Komponenten, vielfältige Auswahl an Diensten für diese Komponenten ¾ die J2EE-Architektur übernimmt viele Schritte der Anwendungsentwicklung ¾ Mehrschichtarchitektur für Unternehmensanwendungen (Multitier enterprise applications) ¾ Write Once, Run Anywhere (Plattformunabhängigkeit) ¾basiert u.a. auf den Standardprogrammierschnittstellen (APIs) z.B. Enterprise Java Beans 2.0, Java Servlet 2.3,Java Server Pages 1.2 ¾XML für einfachen Datenaustausch ¾ Basis für robuste, skalierbare und leicht zu erstellende ClientServer-Anwendungen J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 5/26 J2EE Komponenten Ein J2EE-Server wird in diverse logische Komponenten unterteilt. Diese werden Container genannt. Die aktuelle Spezifikation erfordert die folgenden Container: ¾Applet-Container: •Der Applet-Container entspricht dem Java Plug-In eines Browsers. •Er läuft auf der Client-Seite einer Webanwendung. ¾Application-Client-Container: •Der Application- Client- Container läuft auf der Client-Seite einer Webanwendung. •Er unterstützt als Komponenten Java-Clients, die mit der Anwendungslogik des Servers kommunizieren. J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 6/26 J2EE Komponenten ¾Web- Container mit Servlets und Java Server Pages (JSP): ¾Der Web-Container läuft in einem Webserver. ¾Er unterstützt als Komponenten Webanwendungen basierend auf Servlets und JSP. ¾EJB- Container mit Enterprise Java Beans: ¾Der EJB- Container läuft auf einer Zwischenschicht im Anwendungsserver. ¾Er stellt die Anwendungslogik in Form von Enterprise Java Beans zur Verfügung. J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 7/26 J2EE Komponenten J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 8/26 J2EE Komponenten Container-Konzept ¾ Laufzeitumgebung für Anwendungskomponenten einer J2EEArchitektur ¾ Bereitstellung von APIs, welche von den Anwendungskomponenten genutzt werden können ¾ Container nutzen Protokolle, um miteinander zu kommunizieren ¾ Bereitstellung und Wiederverwendung von Diensten ¾Abhängigkeit der Anwendung vom Container ¾Abhängigkeit der Anwendung von anderen Anwendungen ¾Implementation der vom Container gefordeten Schnittschtellen notwendig J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 9/26 J2EE-Diagrammtypen in Together J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 10/26 J2EE-Diagrammtypen in Together Web Application Diagramm J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 11/26 J2EE-Diagrammtypen in Together Enterprise Application Diagramms J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 12/26 J2EE-Diagrammtypen in Together EJB Assembler Diagramm J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 13/26 J2EE-Diagrammtypen in Together J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 14/26 J2EE Application Server J2EE-Komponenten erfordern als Laufzeitumgebung eine spezielle Infrastruktur, einen sogenannten J2EE Application Server. Dieser Server stellt technische Funktionalitäten wie: ¾ Sicherheit (Security) ¾ Transaktionsmanagement ¾ Namens- und Verzeichnisdienste ¾ Kommunikation zwischen J2EE-Komponenten ¾ Management der Komponenten über den gesamten Lebenszyklus (inklusive Instanziierung) ¾ Unterstützung für die Installation (Deployment) zur Verfügung. Des weiteren kapselt der Server den Zugriff auf die Ressourcen des zugrunde liegenden Betriebssystems (Dateisystem, Netzwerk ...). J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 15/24 Application Server anbinden J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 16/24 Application Server anbinden J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 17/24 Application Server anbinden J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 18/24 Application Server Vorteile von Webapplikationen über einen Applikationsserver: Bei den Anwendern muss keine Software installiert werden, ein einfacher Webbrowser reicht, PC, Laptop, PDA, Smartphone und Handy können eingesetzt werden Die Anwendungen sind multiuser- und netzwerkfähig (Intranet und Internet), viele Benutzer können gleichzeitig arbeiten Integration mit vorhandenen Datenbanken sowie Legacy- und ERPSystemen, zum Beispiel SAP R/3, ist möglich Realisierung von Verteilung, Transaktionsmanagement, Sicherheit, Skalierung, Load Balancing, Ausfallsicherheit, Fail Over Anwendungen auf einem zentralen Application Server sind leichter wartbar Webanwendungen werden typischerweise in drei Schichten realisiert (3-Tier): -Präsentationsschicht (Webbrowser) -Applikationslogik (Applikationsserver) -Datenbankschicht (ausser SQL-DB auch Legacy- und ERPSysteme) J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 19/24 Import am Beispiel J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 20/24 Import am Beispiel J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 21/24 Import am Beispiel J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 22/24 Kritische Würdigung & Ausblick Interview mit Peter Coad, Chairman und Gründer von Togethersoft (Oktober 2002): •Es gibt heutzutage de facto zwei konkurrierende Technologien im komponentenbasierten Software-Engineering: J2EE und Microsofts .NET. Was denken Sie, wie diese Situation in fünf Jahren aussehen wird? Wird es nur noch eine geben? • Vertreter des J2EE- und des .NET-Lagers wollen Kunden an sich binden und bekämpfen sich gegenseitig • Entscheidung über Technologie ist oft langfristig und in den verschiedenen Bereichen unterschiedlich • mehr Anbieter (wie IBM, Oracle, BEA, usw.) im J2EE-Bereich; Tendenziell bewegen wir uns in Richtung Java und J2EE • Risiko mit .NET ist größer, da ausschließlich Microsoft in diesem Bereich tätig ist •hoffe im übrigen, dass es zu einem Gleichgewicht zwischen J2EE und .NET kommen wird J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 23/24 Kritische Würdigung & Ausblick Interview mit Peter Coad, Chairman und Gründer von Togethersoft (Oktober 2002): •Was denken Sie, was in den nächsten fünf Jahren mit unseren Technologien passieren wird? Welche Visionen haben Sie? • Together wird natürlich weiter entwickelt • Vision ist es, dass wir demnächst Anwendungen visuell mit Hilfe von Komponenten und Adaptern zusammenstecken können Æneuer Weg der Programmierung • Geschäftsleute können die Anwendungen selbst zusammenstecken, und das befreit die Entwickler von sich wiederholenden Tätigkeiten • Entwickler können sich dann auf die Funktionalitäten der einzelnen Komponenten konzentrieren J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 24/24 Literatur Borland Together 6.2 User Guide und Online-Hilfe Balzert Helmut, Lehrbuch der Software-Technik 1/2 http://java.sun.com/j2ee/j2ee-1_4-fr-spec.pdf http://www.softec.uni-due.de/lehre.html http://de.wikipedia.org/wiki/ http://info.borland.com/techpubs/together/ http://ieee.students.uni-passau.de/j2eecourses.html http://www.ssw.uni-linz.ac.at/Teaching/Lectures/SpezialLVA/Loeffler/ http://www.javamagazin.de/ http://www.pentagroup.ch/portal/KnowHow/Entwicklung/J2EEundJava/tabid/ 148/Default.aspx J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 25/24 Vielen Dank für die Aufmerksamkeit J2EE-Support in Together 6.2 von Lena Alokhina und Daniel Schöneberg Seite 26/24