Die Javasee © 2004 Sascha Kohlmann Die Javasee Was ist Java? ● Eine Insel im Indischen Ozean ● Amerikanisch umgangssprachlich für Kaffee ● Eine Softwarephilosophie ● ● Write once, run anywhere ● einfach zu erlernen ● netzwerkorientiert, mobil, sicher Eine Softwareplattform bestehend aus ● der Java Virtuel Machine (JVM) ● der Syntax und Semantik der objektorientierten Programmiersprache Java ● einer Standardbibliothek © 2004 Sascha Kohlmann Die Javasee Seite 2 Java – ein kurzer Überblick ● 1991 – Start des Project Green ● 1994 – OAK (Object Application Kernel) in *7 (Star Seven) ● 1995 – Umbennenung in Java, erscheint in der Version 1.0 ● 1999 – Version J2SE 1.2 erscheint Die Servlet API wird freigegeben ● 2000 – J2EE erscheint in der Version 1.2.1 ● 2001 – J2ME wird vom JCP verabschiedet ● 2003 – J2EE 1.4 erscheint ● 2004 – J2SE 5.0 erscheint im Herbst (aka J2SE 1.5) ● 2006 – J2EE 5.0 ??? © 2004 Sascha Kohlmann Die Javasee Seite 3 Die Javasee JVM AWT JDK Java Bytecode JNI © 2004 Sascha Kohlmann Javascript Die Javasee Seite 4 Wer entwickelt Java? ● Ursprünglich die Firma Sun Microsystems ● Inzwischen der Java Community Process (JCP) Mitglieder z.B. Sun, IBM, Bea, Apache Consortium, Doug Lea... ● Der JCP spezifiziert Schnittstellen und Anforderungen ● Spezifikationen werden als Java Specification Request (JSR) veröffentlicht ● ● JSRs müssen mit Mehrheit angenommen werden ● Sun hat ein Vetorecht Sun und die JCP Mitglieder liefern Referenzimplementationen für JSRs ● Es werden auch Testsuites geliefert, die allerdings Geld kosten © 2004 Sascha Kohlmann Die Javasee Seite 5 Die Javasee JVM AWT JSR JDK JCP Java Bytecode JNI © 2004 Sascha Kohlmann Javascript Die Javasee Seite 6 Java heute ● ● J2ME – Java 2 Microedition ● Einsatzgebiete: Smartcards, Handies, Palmtops ● Eingeschränkt in Datentypen und Bibliotheksumfang J2SE – Java 2 Standardedition ● Der zentrale Baustein der Javawelt ● ● ● JRE für das Ausführen von Java Anwendungen - Hotspot JVM SDK für die Entwicklung von Java Anwendungen J2EE - Java 2 Enterpriseedition ● Basis für Unternehmensanwendungen und mehrschichtige Applikationen © 2004 Sascha Kohlmann Die Javasee Seite 7 Die Javasee JVM Swing JSR J2SE JCP Java J2ME J2EE Bytecode Hotspot JNI © 2004 Sascha Kohlmann Javascript Die Javasee Seite 8 J2SE ● Stellt die Standard APIs bereit für: ● ● ● Zeichenkettenverarbeitung Fehlerbehandlung (Exceptions) Ein- und Ausgabe in Dateien und Netzwerke ● ● ● ● ● Netzwerk über Sockets, RMI und Corba IIOP Listen, Maps, Sets und Queues (Collections) Authentifizierung und Verschlüsselung (JAAS, Crypto API) XML Verarbeitung (JAXP) GUI Oberflächen (Swing) Sim ulation nativer Oberflächen ● Gewährleistet die korrekte Anordnung von Kom ponenten auf unterschiedlichen Plattform en ● ● ● ● Zugriff auf Verzeichnisdienste (JNDI) z.B. LDAP Datenbankzugriffe (JDBC) Internationalisierung (I18N), Sound, Drucken, Logging, RegEx, © 2004 Sascha Kohlmann G rafikverarbeitu n g....... Die Javasee Seite 9 J2EE – Ein Überblick J2EE gliedert sich in zwei grosse Bereiche ● ● Servlets ● Dient dem Handling sogenannter Request/Response Anfragen ● HTTP als einzige Implementierung Enterprise Java Beans (EJB) ● Nicht verwechseln mit JavaBeansTM ● Schnittstelle für verteilte Geschäftsanwendungen Servlet-, EJB Container und Applicationserver ● Die Begriffe Container und Applicationserver können synonym verwendet werden ● aber: Ein Servlet Container muss nicht ein EJB Container sein © 2004 Sascha Kohlmann Die Javasee Seite 10 Die Javasee CORBA IIOP EJB JMS JNDI JVM Swing RMI JSR JAAS J2SE JCP Servlet Java JAXP JDBC J2ME J2EE WebObjects Bytecode Hotspot JNI © 2004 Sascha Kohlmann Javascript Die Javasee Seite 11 J2EE – Servlet API Servlet sind die Basis für Webapplikationen ● ● Servlet – Nimmt Anfrage entgegen ● Control im MVC Pattern ● Kann auch als Webservice Endpunkt dienen (JAX-RPC) (E)JB – für Geschäftslogik ● ● ● Model im MVC Pattern JSP – Java Server Page ● rendert HTML Seiten ● View im MVC Pattern JSTL – Java Standard Tag Library ● Für einfaches erstellen von JSP Seiten durch Webentwickler © 2004 Sascha Kohlmann Die Javasee Seite 12 J2EE – Enterprise Java Beans Zur Zeit sind drei unterschiedliche EJBs definiert ● Session Bean ● ● ● Entity Bean ● ● Kapselt das objectrelationale Mapping von Unternehmensdaten Message Driven Bean ● ● Bildet die Geschäftslogik einer verteilten Anweisung ab In J2EE 1.4 zum Teil auch als Webservice ansprechbar (JAX-RPC) Bildet asynchrone Datenverarbeitung ab JTA – Java Transaction API ● Basis für alle Transaktionen im J2EE System Ursprung der EJB Welt sind Transaktionsm onitore (CICS, Tuxedo) ● JCA – Java Connector API ● Einbindung externer Enterpriseapplikationen (SAP, Documentum, ...) © 2004 Sascha Kohlmann Die Javasee Seite 13 Die Javasee CORBA IIOP JNDI JMS EJB Messag e Entity Bean JCA JSR JVM JTS Driven Bean JTA Sessio n Bean Swing RMI JAAS JSTL JCP Java JAX RPC JSP Portal Servlet JAXPSAX J2SE JDBC CLDC J2EE WebObjects J2ME MIDP Bytecode Hotspot JNI © 2004 Sascha Kohlmann Javascript Die Javasee Seite 14 Und was gibt es sonst noch? ● JMX – Java Management Extension ● ● ● JDO – Java Data Objects ● ● ● ● GUI API von IBM Basis der Eclipse Plattform JINI – System für autonom organisierende Netzwerke ● ● Skriptsprache auf Basis der JVM wird im Rahmen des JCP entwickelt (JSR 241) SWT – Standard Widget Toolkit ● ● objectrelationales Mapping für Javaklassen Groovy ● ● API zum monitorieren und konfigurieren Zugriff z.B. über RMI oder SNMP JINI–Services gelten als Kern der Service oriented Architecture (SOA) und und und © 2004 Sascha Kohlmann Die Javasee Seite 15 Die Javasee CORBA IIOP Java Space JNDI JMS EJB Messag e Entity Bean JCA JSR JTS Driven Bean JTA Sessio n Bean Swing RMI JAAS JSTL JCP Java JAX RPC JSP Portal Servlet J2EE WebObjects JINI SWT JAXPSAX Groovy J2SE JDBC JVM JMX J2ME CLDC JDO MIDP Bytecode Hotspot JNI © 2004 Sascha Kohlmann Javascript Die Javasee Seite 16 Fragen © 2004 Sascha Kohlmann Die Javasee Seite 17