Privacy Policy Cookie Policy Terms and Conditions Java Platform, Enterprise Edition - Wikipedia

Java Platform, Enterprise Edition

aus Wikipedia, der freien Enzyklopädie

Java Platform, Enterprise Edition, abgekürzt Java EE, ist die Spezifikation einer Softwarearchitektur für die transaktionsbasierte Ausführung von in Java programmierten Webanwendungen.

In der Spezifikation werden Softwarekomponenten und Dienste definiert, die primär in der Programmiersprache Java erstellt werden. Die Spezifikation dient dazu, einen allgemein akzeptierten Rahmen zur Verfügung zu stellen, um auf dessen Basis aus modularen Komponenten verteilte, mehrschichtige Anwendungen entwickeln zu können. Klar definierte Schnittstellen zwischen den Komponenten und Schichten sollen dafür sorgen, dass Softwarekomponenten unterschiedlicher Hersteller interoperabel sind, wenn sie sich an die Spezifikation halten, und dass die verteilte Anwendung gut skalierbar ist.

Bestandteile der Spezifikation werden innerhalb des Java Community Process von diversen Unternehmen erarbeitet und schließlich der Öffentlichkeit in Form eines Dokuments und einer Referenzimplementierung zur Verfügung gestellt.

Inhaltsverzeichnis

[Bearbeiten] Bisherige Versionen

Die aktuelle Version der J2EE-Spezifikation ist die Version 5.0.

Der neue Name für die Spezifikation lautet Java Platform, Enterprise Edition, kurz Java EE [ˈdʒɑːvə ˌiːˈiː]. Dies ersetzt die vorherige Abkürzung J2EE [ˌdʒeɪˈtuː ˌiːˈiː] (Java 2 Platform, Enterprise Edition).

Version Ausführlicher Name Veröffentlichungsdatum Release-Status
1.0 Java 2 Platform Enterprise Edition, v 1.0 1999 Final Release
1.2 Java 2 Platform Enterprise Edition, v 1.2 2000 Final Release
1.3 Java 2 Platform Enterprise Edition, v 1.3 2002 Final Release
1.4 Java 2 Platform Enterprise Edition, v 1.4 24. November 2003 Final Release
5 Java Platform, Enterprise Edition, v 5 11. Mai 2006 Final Release

[Bearbeiten] Infrastruktur

Schematischer Aufbau der Architektur, wie sie in der J2EE-Spezifikation 1.4 beschrieben ist
vergrößern
Schematischer Aufbau der Architektur, wie sie in der J2EE-Spezifikation 1.4 beschrieben ist

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 zugrundeliegenden Betriebssystems (Dateisystem, Netzwerk ...). J2EE-Server werden häufig auch mit dem Begriff Application Server bezeichnet.

Ein J2EE-Server wird in diverse logische Komponenten unterteilt. Diese werden Container genannt. Die aktuelle Spezifikation erfordert die folgenden Container:

  • einen EJB-Container als Laufzeitumgebung für Enterprise Java Beans
  • einen Web-Container als Laufzeitumgebung für Servlets und Java Server Pages (JSP)
  • einen JCA-Container als Laufzeitumgebung für JCA Connectoren. Dieser ist zwar nicht explizit definiert, faktisch jedoch muss jeder Application-Server-Hersteller diesen implementieren. Denn im Enterprise Java Beans(EJB) sowie im Web-Container sind Restriktionen definiert, welche für die JCA-Laufzeitumgebung nicht gelten. Dabei handelt es sich beispielsweise um das Starten von Threads oder das Lesen und Schreiben in Dateien etc.

Es sind zahlreiche Implementierungen für J2EE-Server verfügbar, teils proprietär, teils in Form frei verfügbarer Open-Source-Lösungen (z.B. JBoss). Eine Referenzimplementierung wird von Sun Microsystems zur Verfügung gestellt. Zu beachten ist, dass nicht alle Server die Spezifikation von J2EE vollständig abdecken.

Als weitere Infrastrukturkomponente kommt für die persistente Speicherung von Daten ein Datenbankmanagementsystem (DBMS) zum Einsatz. Hierbei kann es sich um ein relationales System handeln, oder aber auch um ein vergleichbares System wie beispielsweise ein OODBMS.

Der clientseitige Zugriff auf eine J2EE-Anwendung erfolgt meist über einen Browser, daneben sind aber auch Applikations-Clients (Java-Applikationen, CORBA-Komponenten, Web-Service-Clients über XML) möglich.

[Bearbeiten] Wichtige APIs

Die J2EE-APIs beinhalten verschiedene Technologien, die die Funktionalität des Basis-J2SE-APIs erweitern.

Abkürzung Name Beschreibung seit Version 1.4 seit Version 5
EJB Enterprise Java Beans (EJB) beinhalten die Geschäftslogik einer Enterprise Anwendung oder gestatten Zugriff auf persistente Daten. Die Beans laufen in einem EJB-Container ab. Es gibt drei unterschiedliche Typen von EJBs:
  • Session-Beans, sowohl statusbehaftet als auch ohne internen Status, welche die Geschäftslogik implementieren und meistens vom Client zugreifbar sind
  • Message-Driven-Beans, kurz MDB, für die Verarbeitung von JMS-Nachrichten
  • Entity-Beans für die Abbildung von persistenten Datenobjekten
MDBs wurden in dieser Version neu eingeführt durch Detachment auch außerhalb des Containers nutzbar; macht Datentransferobjekte obsolet
Servlet Java Servlet API Im Allgemeinen erlaubt das Java-Servlet-API die Erweiterung von Servern, deren Protokoll auf Anfragen und Antworten basiert. Primär werden Servlets im Zusammenhang mit dem Hypertext Transfer Protocol (HTTP) verwendet wo sie in einem Web-Container leben und Anfragen von Webbrowsern beantworten. o o
JSP Java Server Pages sind Textdokumente, die zum einen aus statischem Text und zum anderen aus dynamischen Textelementen - den JSP-Elementen - bestehen. Die JSP-Seiten werden transparent vom Web-Container in ein Servlet umgewandelt. o o
WS Web Services definieren Schnittstellen zu EJBs, die mit einem Uniform Resource Identifier (URI) eindeutig identifizierbar sind und deren Schnittstellen als XML-Artefakte definiert, beschrieben und gefunden werden können. x o
JMX Management ermöglicht es, die einzelnen J2EE-Komponenten und Anwendungen zu verwalten. So können Komponenten beispielsweise gestartet und gestoppt werden. x o
JNDI Java Naming and Directory Interface ist eine gemeinsame Schnittstelle mit der alle Java Klassen auf Namens- und Verzeichnisdienste zugreifen können. Über JNDI wird insbesondere der Zugriff auf J2EE-Komponenten sichergestellt. o o
JMS Java Message Service ist eine API für die asynchrone Nachrichtenverarbeitung. x o
JDBC Java Database Connectivity lässt die Anwendung auf eine relationale Datenbank mittels SQL zugreifen. o o
JTA Java Transaction API erlaubt der Anwendung die Steuerung der Transaktionsverwaltung. JTA ist die Java-Schnittstelle zu Transaktionsmonitoren. Standardmäßig wird diese Schnittstelle implementiert vom Java Transaction Service (JTS), welcher eine Schnittstelle zu CORBA Object Transaction Service (OTS) bietet. o o
JAAS Java Authentication and Authorization Service Der "Java Authentication and Authorization Service" (JAAS) ist eine Java-API, die es ermöglicht, Dienste zur Authentifikation und Zugriffrechte in Java-Programmen bereitzustellen. JAAS implementiert ein Standard-"Pluggable Authentication Module" (PAM) und unterstützt durch dieses Modul eine einfache Authentifizierung und benutzerbasierte Autorisierung. x o
JavaMail JavaMail erlaubt den Zugriff auf Mail Services, wie z.B. SMTP, POP3, IMAP oder NNTP. x o
JAXB Java Architecture for XML Binding ermöglicht es, ein XML-Schema direkt an Java-Klassen zu binden. o x (2.0)
JAXP Java API for XML Processing hilft dem Entwickler bei der Bearbeitung von XML-Dokumenten. x o
JAX-RPC Java API for XML-Based Remote Procedure Calls ermöglicht den entfernten Zugriff auf RPC-Dienste. x o
JAXR Java API for XML Registries dient dazu, einen transparenten Zugriff auf so genannte Business-Registries, wie beispielsweise ebXML oder ein UDDI basiertes Verzeichnis sicherzustellen. x o
JACC Java Authorization Contract for Containers definiert diverse Sicherheitsrichtlinien für die diversen J2EE-Container. x o
JCA J2EE Connector Architecture dient dazu, andere Systeme transparent zu integrieren (Stichwort: EAI). x o
JAF Java Beans Activation Framework bietet die Möglichkeit, verschiedene Daten anhand des MIME-Headers zu erkennen. x o
JAX-WS Java API for XML Web Services hilft bei der Erstellung von Web Services und zugehörigen Clients, die über XML kommunizieren, z.B. über SOAP. o x
- Web Service Metadata - o x
- Java Persistence - o x
StAX Streaming APIs for XML Parsers - o x
JSF Java Server Faces Mit Hilfe von JSF kann der Entwickler auf einfache Art und Weise Komponenten für Benutzerschnittstellen in Webseiten einbinden und die Navigation definieren. o x
JSTL JavaServer Pages Standard Tag Library - o x

[Bearbeiten] Implementierungen

[Bearbeiten] Komplette Java-EE-Server

[Bearbeiten] Open Source Server

[Bearbeiten] Proprietäre Server

[Bearbeiten] Separate Web-Container (Servlet-/JSP-Container)

  • Apache Tomcat – Open Source
  • Caucho Technology Resin – proprietär
  • Enhydra Server – Open Source
  • Jetty – Open Source

Siehe auch: Java Platform, Standard Edition, Java Platform, Micro Edition, Spring (Framework)

[Bearbeiten] Literatur

  • Bill Shannon, Mark Hapner, Vlada Matena: Java 2 Platform, Enterprise Edition. Addison Wesley 2000 ISBN 0201704560
  • Inderjeet Singh, Beth Stearns, Mark Johnson: Designing Enterprise Applications with the J2EE Platform. 2. Auflage. Addison Wesley 2002 ISBN 0201787903
  • Inderjeet Singh, Sean Brydon, Greg Murray: Designing Web Services with the J2EE 1.4 Platform. Addison Wesley 17. Juni 2004 ISBN 0321205219
  • Jason Hunter, William Crawford: Java Servlet Programming. 2. Ausgabe. O'Reilly 1. April 2001 ISBN 0596000405
  • Bruce W. Perry: Java Servlet & JSP Cookbook. O'Reilly, 1. Januar 2004 ISBN 0596005725
  • Hans Bergsten: JavaServer Pages. 3. Ausgabe. O'Reilly, 1. Dezember 2003 ISBN 0596005636
  • Marty Hall, Larry Brown: Core Servlets and JavaServer Pages. Prentice Hall PTR 2004 ISBN 0130893404
  • Richard Monson-Haefel, Bill Burke, Sacha Labourey: Enterprise JavaBeans. 4. Ausgabe. O'REILLY 30. Juni 2004 ISBN 059600530X
  • Kevin Boone: Applied Enterprise JavaBeans Technology. Prentice Hall PTR 1. Dezember 2002 ISBN 0130449156
  • Richard Monson-Haefel, David A. Chappell: Java Message Service. O'Reilly, 1. Dezember 2000 ISBN 0596000685
  • Rahul Sharma, Beth Stearns, Tony Ng: J2EE Connector Architecture and Enterprise Application Integration. Addison Wesley 1. Dezember 2000 ISBN 0201775808
  • Jonathan Bruce, Jon Ellis, Maydene Fisher: JDBC API Tutorial and Reference. 3. Auflage. Addison Wesley 2003 ISBN 0321173848
  • Rosanna Lee, Scott Seligman: JNDI API Tutorial and Reference. Addison Wesley 1. Juni 2000 ISBN 0201705028
  • Steve J. Perry: Java Management Extensions. O'Reilly, Juli 2002 ISBN 0596002459
  • Genender: Enterprise Java Servlets. Addison-Wesley, ISBN 020170921x

[Bearbeiten] Weblinks

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -