Java öffnet sich für SOA und Web 2.0

29.05.2006
Service-orientierte Architekturen, Web-2.0-Anwendungen und die Aussicht auf eine quelloffene Java-Plattform dominierten Suns Entwicklerkonferenz JavaOne.

Lange vor Beginn der weltgrößten Entwicklerkonferenz in San Francisco galten die Highlights der JavaOne 2006 als ausgemacht. Die bereits angekündigte Freigabe der "Java Enterprise Edition 5" (Java EE 5 oder JEE 5) und ein Ausblick auf kommende Versionen der Java Standard Edition (JSE) würden im Mittelpunkt stehen, darin waren sich die meisten Experten einig. Doch mit einem einzigen Satz lenkte Suns Softwarechef Rich Green die Diskussion auf ein anderes Thema und sorgte damit für Schlagzeilen in der Fachpresse: "Es ist keine Frage des Ob, sondern des Wie", kommentierte er die immer wieder erhobene Forderung, die Kontrolle über Java der Open-Source-Gemeinde zu übertragen. Dass Green ebenso wenig wie Sun-CEO Jonathan Schwartz kaum konkretere Angaben dazu machte, heizte die im Grunde alte Debatte nur noch mehr an.

OpenAjax Alliance

Hinter der Fassade vieler Websites findet unter dem Namen "Ajax" eine Revolution statt. Mit Hilfe der Technik lassen sich die Seiten deutlich beschleunigen und so ergonomisch wie Desktop-Anwendungen bedienen. Inzwischen haben sich mehrere Hersteller mit dem Ziel zusammengeschlossen, Ajax zu spezifizieren, damit eine Interoperabilität der darauf beruhenden Produkte gewährleistet ist. 31 Mitglieder umfasst die OpenAjax-Initiative derzeit, darunter namhafte Hersteller wie Adobe, SAP, Software AG und Tibco. Im Rahmen der JavaOne hat sich die Gruppe in "OpenAjax Alliance" umbenannt und ein erstes offizielles Treffen veranstaltet.

Eine erste Entscheidung der Initiative war, dass man zwar nicht als Standardisierungsgremium fungieren, aber ähnlich arbeiten wolle, wie es zum Beispiel von der Web Services Interoperability Organization (WS-I) bekannt ist. Dazu gehöre etwa, Best Practices zu identifizieren und zu konsolidieren sowie die Voraussetzungen für Programmiermodelle zu definieren, die mit einer Referenzimplementierung von Ajax korrespondieren. Auf diese Weise wolle man die Interoperabilität von Ajax-Tools und -Laufzeitumgebungen sicherstellen. Deshalb gelte es zunächst, eine XML-Syntax für Ajax-Features zu spezifizieren. Ferner müsse man APIs ent- wickeln, über die sich Ajax-Komponenten diverser Anbieter zusammenstellen lassen. (ue)

Oracle beschwört SOA 2.0: Echtzeitverarbeitung ermöglicht Ereignisfähigkeit

In seiner Keynote auf der JavaOne erläuterte Thomas Kurian, Senior Vice President für Server-Technologien bei Oracle, wie sich sein Unternehmen unter dem Schlagwort SOA 2.0 die nächste Generation einer Softwarearchitektur vorstellt. Demnach muss sich zur Serviceorientierung derzeitiger Lösungen eine ausgeprägte Ereignisfähigkeit in Form von echtzeitfähigen Komponenten ge- sellen.

Das momentane Vorgehen in Richtung SOA folge noch überwiegend dem Request-Reply-Paradigma, das letztlich nicht anderes sei als eine Geschäftsprozess-Implementierung nach dem Store-and-Forward-Prinzip eines E-Mail-Systems.

Doch ähnlich wie Instant Messaging eine Echtzeitkomponente in E-Mails gebracht habe, müsse ein Realtime-Processing SOAs aufwerten. Die zeitnahe Reaktion auf Ereignisse habe in einer Service-orientierten Architektur oberste Priorität, so Kurian. Als Anwendungsbeispiel nannte der Oracle-Mann die Über- wachung von Lieferketten, wo Störungen im Warenfluss eine sehr schnelle Reaktion erfordern, soll die Beziehung zwischen den Geschäftspartnern nicht leiden.

Als Zutaten für die erweiterte Architektur listet Kurian bekannte Techniken aus den Web-Services-Standards auf, wie etwa die Business Process Execution Language (BPEL) zur Orchestrierung der Softwareservices. Wichtig sei auch die Möglichkeit, Programme mit Workflow-Funktionen für die menschliche Vorgangsbearbeitung koppeln zu können. Zudem sei eine komponentenbasierende Softwareentwicklung nötig, die zum Beispiel die von IBM und anderen Herstellern zur Standardisierung unterbreiteten Vorschläge zur Service Component Architecture (SCA) und zum Services Data Object (SDO) beinhalte. Eine weitere Voraussetzung ist mit dem jetzt verabschiedeten Standard von Java EE 5 und dessen Java Persistence Architecture bereits gegeben. (ue)

Java in Zahlen

• 3,3 Milliarden Geräte weltweit nutzen Java;

• 1,2 Milliarden Telefone werden von Java gesteuert;

• 750 Millionen PCs sind mit Java-Technik ausgerüstet;

• 1,5 Millionen Java Cards sind weltweit in Gebrauch;

• Fünf Millionen Entwickler arbeiten mit Java;

• die elfte JavaOne besuchten rund 15000 Softwareexperten. Quellen: Sun, Ovum

Mehr zum Thema

www.computerwoche.de/

576397: JavaOne: Sun verspricht Open-Source-Java;

576539: JavaOne: Standards für Mobile Java;

558455: Java: Was Mustang und Dolphin bringen;

556437: Sun feiert Java- Jubiläum.

Hier lesen Sie …

Mehr Substanz enthielten Suns Einlassungen zur Server-Version der Java-Plattform, die zuvor unter dem Namen J2EE bekannt war. Mit JEE 5 bringt das Unternehmen eine ganze Reihe von Verbesserungen, die Softwareentwicklern das Leben leichter machen sollen. Sun selbst bezeichnet das Paket als das wichtigste Update seit sechs Jahren. Die Spezifikationen für JEE 5 waren Anfang Mai vom Java Community Process (JCP), der für Java-Standards zuständigen Industriegruppe, abgesegnet worden

Die Plattform besteht aus einer Reference Implementation (RI), einem Technology Compatibility Kit (TCK) und einem Software Development Kit (SDK). Letzteres enthält unter anderem Suns "Java System Application Server Platform Edition 9", der aus dem Open-Source-Projekt Glassfish stammt. Sun verspricht für das gesamte Paket Abwärtskompatibilität zu älteren Enterprise-Plattformen. Diese seien bereits rund fünf Millionen Mal aus dem Netz geladen worden, mehr als 30 Organisationen hätten dafür eine Lizenz erworben. Wegen der Vielzahl an Erweiterungen ist Java in den vergangenen Jahren indes allzu komplex geraten. Die Kritik der Entwickler entzündete sich insbesondere an der aufwändigen Programmierung mit Enterprise Javabeans (EJBs) und Java Server Faces (JSF). Mit JEE 5 verspricht Sun erhebliche Verbesserungen im Rahmen der neuen Versionen EJB 3.0 und JSF 1.2.

Ein Kernproblem mit EJBs bestand bislang darin, dass Entwickler schon für einfache Anwendungen mehrere Komponenten-Interfaces und unnötige Callback-Methoden und Exception Handler implementieren mussten. Damit war stets auch ein komplexer und fehleranfälliger Deployment Descriptor erforderlich.

Enterprise Javabeans 3.0

Die Unterstützung von Plain Old Java Objects (Pojos) in EJB 3.0 soll hier Erleichterungen bringen. Pojos werden dazu mit Metadaten in Form so genannter Annotations versehen. Diese ermöglichen eine Art attributorientiertes Programmieren, indem im Code Zusatzinformationen eingefügt werden, die dem EJB-Container während der Laufzeit Auskunft über die Eigenschaften der Pojos geben. In der EJB-3.0-Welt entsprechen alle Objekte einfachen Pojos. Alles, was früher durch Deployment-Descriptors und Home-Interfaces definiert wurde, können jetzt Annotations übernehmen.

Mit EJB 3.0 tauscht Sun zudem das bisherige Persistenzmodell aus. Wurden bislang mit den in JSR 243 (Java Specification Request) spezifizierten "Java Data Objects" (JDO) und dem EJB-Persistenzmodell zwei unterschiedliche Techniken parallel verwendet, so hat das Unternehmen diese nun in einem neuen Persistenzmodell vereint, das sich stark am Open-Source-Projekt "Hibernate" orientiert. Das in JEE 5 enthaltene "Java Persistence API" erlaubt ein standardisiertes objektrelationales Mapping.

Ajax und Web 2.0

Für die Erstellung von Web-Services unterstützt JEE 5 die neuen Standards JAX-WS 2.0 (Java API for XML-based Web Services) sowie JAXB 2.0 (Java Architecture for XML Binding). Geht es um Anwendungen für das Web 2.0, so setzt auch Sun verstärkt auf Ajax-Techniken (Asynchronous Javascript and XML). Die Erzeugung entsprechender Web-Clients wird ebenfalls über JSF und EJB 3.0 unterstützt. Ajax beschleunigt Web-Seiten und erlaubt eine ähnlich ergonomische Bedienung, wie sie Benutzer von vollwertigen Desktop-Anwendungen kennen. Im Rahmen der JavaOne nahm die OpenAjax Alliance ihre Arbeit auf, ein Industriekonsortium, das sich die Interoperabilität von Ajax-Tools und -Anwendungen auf die Fahne geschrieben hat (siehe Kasten "OpenAjax Alliance"). Eine Reihe von Herstellern präsentierte während der Konferenz Ajax-Entwicklungswerkzeuge.

Java goes SOA

Zum Lieferumfang von JEE 5 gehören ferner Vorabversionen des "Netbeans Enterprise Pack 5.5" und des "SOA Starter Kit". Letzterer enthält eine Betaver- sion des "OpenJava ESB" (ESB = Enterprise Service Bus) für den Aufbau Service-orientierter Architekturen. In Sachen SOA sieht sich Sun denn auch an der Spitze der Softwareindustrie: "Wir sind der einzige Herstel- ler, der einen komplett quelloffenen SOA-Stack anbietet", warb Senior Vice President Mark Bauhaus gegenüber der computerwoche.

In diesem Zusammenhang übergeben die Kalifornier unter anderem den "Java System Portal Server " und die Entwicklungsumgebung "Java Studio Creator" der Community. Dem Ziel, eine Open-Source-Plattform für SOA zu etablieren, dient auch die Offenlegung der mit SeeBeyond übernommenen BPEL-Engine (BPEL = Business Process Execution Language). Sie ist Bestandteil der "Java Composite Application Platform" (Java Caps) und wird von der OpenJava ESB Community betreut. Als quelloffenes SOA-Produkt positioniert Sun zudem sein JMS-basierendes Message-Queuing-System (JMS = Java Message System). Laut eigenen Angaben bedient das Unternehmen bereits mehr als 2000 SOA-Kunden. Auch Oracle, einer der wichtigsten Java-Protagonisten, machte mit der Vorstellung der "Next Generation Application Platform" seine Ambitionen deutlich. Unter dem Schlagwort "SOA 2.0" präsentierte Oracle-Manager Thomas Kurian seine Vision einer Service-orientierten und echtzeitfähigen Softwarearchitektur (siehe Kasten "Oracle beschwört SOA 2.0 …").

Lizenz für Linux-Distributoren

Dass Sun sich immer weiter Richtung Open Source bewegt, belegen auch Zugeständnisse an die Linux-Gemeinde. Mit einer neuen Lizenz kommt der Hersteller Linux-Distributoren entgegen, die das Java Development Kit (JDK) und die Java Runtime Environment (JRE) für die Java Standard Edition 5 (JSE 5) mit ihrem System ausliefern wollen. Dies war bislang nur mit Einschränkungen möglich. Das Regelwerk trägt den sperrigen Namen "Operating System Distributor’s Licence for Java" (kurz "Distro License for Java" oder DLJ) und sei gemeinsam mit GNU/Linux-Communities erarbeitet worden, berichtete Simon Phipps, Chief Open Source Officer bei Sun. Er erhoffe sich davon eine steigende Nutzung von Java unter Linux-Anwendern. Mark Shuttleworth, Gründer der Linux-Distribution Ubuntu, lobte das Lizenzmodell: "Das schafft eines der größten Hindernisse für die weitere Verbreitung von Java auf freien und Open-Source-Plattformen aus dem Weg." Theoretisch gilt diese Aussage auch für die "OpenSolaris"-Communities, die quelloffene Versionen von Suns Unix-Derivat anbieten.

Java und Microsofts .NET

Auch hinsichtlich der Interoperabilität von Java mit Microsofts .NET-Architektur meldete Sun Fortschritte. Im Rahmen des Projekts Tango präsentierte der Hersteller eine Reihe von quelloffenen Web-Services-Komponenten, die unter dem Begriff "Web Services Interoperability Technology" (WSIT) zusammengefasst sind. Sie regeln die Bereiche Sicherheit, Messaging, Quality of Service und Metadaten. Die einstigen Erzrivalen wollen damit sicherstellen, dass Java-basierende Anwendungen innerhalb des .NET-Frameworks laufen. Betreut wird WSIT von der Open-Source-Community Open Java EE, die als Teil des Glassfish-Projekts agiert. Die WSIT-Komponenten seien intensiv mit Microsofts Windows Communication Foundation (WCF) getestet worden, berichtete Sun. WSIT werde unter anderem in der nächsten Version des Java System Application Server unterstützt.

Einen Ausblick auf die Zukunft der Java-Plattform gab Sun-Manager Greg Hamilton in seinem Vortrag. Im Mittelpunkt stand die unter dem Codenamen "Mustang" geführte Version 6 der Java Standard Edition (Java SE 6 oder JSE 6), die am 29. Oktober freigegeben werden soll. Mit Hilfe der "Rhino"-Engine aus dem Open-Source-Projekt Mozilla erleichtere Mustang die Verwendung von Skriptsprachen, so Hamilton.

Ausblick auf JSE 6

Geplant seien zudem Plug-ins für Skriptsprachen wie Groovy oder Python. Entwickler würden damit in die Lage versetzt, hybride Anwendungen zu erstellen, die beide Programmiertechniken nutzen. Aus Kundensicht ergäbe sich die Möglichkeit, Java-Anwendungen mit Hilfe von Skriptsprachen zu erweitern und an spezielle Bedürfnisse anzupassen.

Zu den Neuerungen in JSE 6 gehört auch die Unterstützung von Microsofts Windows-Release "Vista" sowie des "Internet Explorer 7". Die Plattform enthält ferner eine Reihe von Management-Funktionen, darunter die "JConsole", über die Entwickler und Administratoren beispielsweise Informationen zur CPU- und Speichernutzung einer Anwendung erhalten. In Sachen Web-Services unterstützt Mustang den Standard JAX-WS (Java API for XML Web Services). Unterm Strich soll die kommende Standard Edition, die in der Regel auch als Basis für die Enterprise-Variante dient, deutliche Performance-Verbesserungen bringen. Bereits begonnen haben die Arbeiten am Mustang-Nachfolger Dolphin, der unter der Bezeichnung "Java SE 7" auf den Markt kommen wird. Unter anderem die XML-Unterstützung und die Grafikverarbeitung sollen sich damit verbessern.

Java und Visual Basic

Weiter in der Zukunft liegen Entwicklungen, die die Java-Community in den Projekten Semplice und Phobos vorantreibt. Im Rahmen von Semplice plant Sun, Konzepte von Microsofts Framework VB.NET in der Java-Welt zu nutzen. Wie Hamilton erläuterte, kompiliert Semplice Visual-Basic-Programm-Code in Java Class Files. Entwickler können ihre Anwendungen damit in Visual Basic erstellen. Im Project Phobos geht es darum, Javascript auch in Server-seitigen Web-Anwendungen zu nutzen.

Last, but not least wurde auf der JavaOne die wachsende Bedeutung von Java auf mobilen Geräten deutlich. Mit der Java Micro Edition (Java ME) bedient die Entwicklergemeinde vor allem die Hersteller von Mobil- telefonen. Betrachtet man nur die Zahlen, nutzen längst mehr Mobiltelefone und PDAs Java-Clients als herkömmliche PCs, konstatierte Motorola-CEO Ed Zander in seiner Keynote. Mit mehr als einer Milliarde ausgelieferter Mobilgeräte in diesem Jahr überflügelten die Hersteller die Anzahl der weltweit verkauften PCs bei weitem. Nach Angaben der Standardisierungsorganisation OSGi sind derzeit rund 800 Millionen Java-Handys im Einsatz.

Die nächste Generation der Java-ME-Plattform soll es Entwicklerm ermöglichen, anspruchsvolle 3D-Grafiken, Multimedia-Funktionen und Location-based Services in ihre Anwendungen zu integrieren. Ein Problem für Mobile-Java-Nutzer stellen derzeit noch die unterschiedlichen Standards der Hersteller dar. Auf der JavaOne kündigte Motorola an, sein Testing-Framework für Mobile Information Device Profiles 3.0 (MIDP) unter einer Open-Source-Lizenz freizugeben.

Mobile Java

MIDP wird derzeit von der Java-Community im Rahmen des Java Specification Request (JSR) 271 geprüft. Der Java-ME-Stack beinhaltet darüber hinaus eine Reihe weiterer Spezifikationen, darunter die Connected Limited Device Configuration (CLDC) für Mobiltelefone und die Connected Device Configuration (CDC) für leistungsstärkere Mobilgeräte. Insgesamt existierten mindestens 30 verschiedene APIs für Mobile Java, kritisierte Nokia-Manager Tom Ojala. Hinzu kämen weitere proprietäre Stacks, beispielsweise von Qualcomm, die ebenfalls Java-fähig sein sollen.