Java oder .Net?

10. Juni 2004, 0:00 Uhr | Werner Fritsch

Java oder .Net?. Ob im Rahmen strategischer Planungen oder in konkreten Projekten: Viele IT-Abteilungen stehen bei der Wahl einer Anwendungsplattform vor der Alternative Java oder .Net. Die Hersteller entwickeln unterdessen ihre Technologien vor allem im Hinblick auf Webservices weiter.

Java oder .Net?

Die Anwendungsplattformen Java und .Net haben viele Gemeinsamkeiten. Beide bieten objektorientierte Programmierung, umfangreiche Klassenbibliotheken, Komponentenmodelle und Frameworks, Funktionen zur dezentralen Verarbeitung, Webservices sowie eine verwaltete Ausführungsumgebung. Java-Programme können im Prinzip mit allen Java-Applikationsservern und allen Betriebssystemen eingesetzt werden. Bei der Entscheidung für Java bleiben Wahlfreiheiten zwischen verschiedenen Softwareherstellern. Microsoft hingegen unterstützt mit .Net zwar mehr als 25 Programmiersprachen, aber nur die eigenen Windows-Betriebssysteme.

Viele Unternehmen bevorzugen bei Portalen Java, weil die hier maßgebliche Java 2 Enterprise Edition (J2EE) standardisiert und dadurch die Interoperabilität gewährleistet ist. Für Desktop-zentrierte Anwendungen mit umfangreicher Benutzerschnittstelle wird hingegen oft .Net favorisiert. Neben umfassenden Java-Produkten kann auch der Einsatz eines leichtgewichtigen Applikationsservers sinnvoll sein, der nur einen Teil der J2EE-Spezifikationen implementiert und dafür billiger ist. Solche Middleware wie Tomcat oder Jetty enthält einen Web-Container für das Hosting von Servlets und JSPs, unterstützt jedoch EJBs, CORBA und JMS gewöhnlich nicht. Diese leichtgewichtigen Applikationsserver werden auch als Servlet Engines bezeichnet.

Sun und IBM sind bisher die einzigen Anbieter eines Applikationsservers, der der J2EE-Version 1.4 entspricht. Die anderen wichtigen Hersteller planen, die Version 1.4 im Rahmen ihrer nächsten Updates zu implementieren. Bereits jetzt unterstützen alle J2EE-Applikationsserver Webservices und die Programmierschnittstellen JAX-RPC und SAAJ (siehe Kasten zu Java-Standards). In der .Net-Umgebung ist der Applikationsserver für Anwendungsprogramme in das Betriebssystem Windows Server 2003 eingebaut und besteht im Wesentlichen aus Internet Information Services (IIS) sowie Active Server Pages für .Net (ASP.Net).

Anwendungsplattformen Der Markt für Java-Applikationsserver ist bereits stark vereinheitlicht, entsprechende Produkte unterscheiden sich in ihren Funktionen nur mehr geringfügig. IBM mit Websphere und Bea mit Weblogic halten aufgrund vieler Kunden und umfangreicher Middleware-Produkte den Löwenanteil. Oracle und Sun liegen mit deutlichem Abstand dahinter. Wenn niedrige Kosten ein wichtiger Faktor sind, kommen bei den Anwendern Open-Source-Produkte wie JBoss AS ins Spiel, das als Gratisdownload zur Verfügung steht. Wenn der Einsatzbereich durch Microsoft-Produkte geprägt ist, bietet sich Microsofts .Net als Alternative an.

Verschiedene Plattformen

Die Technologien für Applikationsserver sind inzwischen so ausgereift, dass zwischen den einzelnen Produkten nur noch geringe Unterschiede bestehen. Tatsächlich hat die Vereinheitlichung der Applikationsserver dazu geführt, dass sich die Anbieter nicht durch Produktfunktionen und -vorteile profilieren, sondern vielmehr versuchen, sich durch Preis, Kundenunterstützung und Plattformintegration zu differenzieren.

Jeder Hersteller offeriert seine Plattform in verschiedenen Ausgaben - von schlanken Varianten bis zu umfänglichen Enterprise-Editionen - sowie zusätzliche Werkzeuge für die Entwicklung und Integration von Anwendungen. Bei den führenden Enterprise-Editionen sind Portal-Server und Integrationsbroker zwar enthalten, doch mit unterschiedlichen Funktionen und Eignungen.

Viele Produkte

Als Marktführer leistet IBM für seine Websphere-Produktlinie umfangreichen Support für Webservices und für die Sicherheit über verschiedenste Hardware-Plattformen hinweg. Der IBM Websphere Application Developer (WSAD) stellt integrierte Entwicklungswerkzeuge bereit. Die meisten vorgefertigten Anwendungsprodukte unterstützen Websphere. Das mit IBM um die Marktführerschaft konkurrierende Unternehmen Bea vertreibt unter der Marke Weblogic einen Applikationsserver und eine Webservices-Plattform auf fortgeschrittenem Niveau, die unter mehr als zwanzig Betriebssystemen laufen. Entwickler können wieder verwendbare Java-Komponenten erstellen und die J2EE-Applikationen und Webservices dann mit Hilfe des Werkzeugs Weblogic Workshop zusammenstellen. Die meisten vorgefertigten Applikationen unterstützen Bea Weblogic.

Was die Berücksichtigung von Webservices, Einsatzmöglichkeiten und Sicherheitsfunktionen betrifft, kann der Oracle Application Server 10g mit den Produkten von Bea und IBM durchaus mithalten. Durch Grid-Technologien erreicht Oracle außerdem eine besondere Skalierbarkeit. Das Ziel von Sun besteht darin, mit seinem Java System das Wesentliche zu geringen Kosten zu liefern. Diese Strategie bietet einen angemessenen Funktionsumfang und hinreichende Funktionalität zu einem relativ niedrigen Preis. Die Lizenzgebühren richten sich nach der Anzahl der Personen, die die Software benutzen. Kern der Plattform ist die J2EE-Referenzimplementierung.

Der Borland Enterprise Server fristet mit kaum einem Prozent Marktanteil im J2EE-Markt ein Nischendasein. Seine größte Stärke liegt in der engen Integration mit der beliebtesten Java-Entwicklungsumgebung, nämlich JBuilder. Der Applikationsserver unterstützt Webservices auf der Grundlage der Axis-Technologie von Apache. Allerdings unterstützen nur wenige Softwareprodukte anderer Hersteller Borlands Java-Middleware.

Die Open-Source-Implementierung von JBoss steht zwar gratis zur Verfügung, jedoch empfiehlt sich der Abschluss eines Supportvertrags gegen Zahlung einer Gebühr. JBoss unterstützt Webservices auf Basis der Axis-Technologie, enthält jedoch keine Integrations- oder Entwicklungswerkzeuge. Als Standalone-Applikationsserver ist der JBoss AS die kostengünstigste Wahl; es ist jedoch zu prüfen, ob das, was man an Lizenzgebühren einspart, nicht für Integration wieder ausgegeben werden muss.

Microsofts .Net-Software schließlich bietet der J2EE-Plattform vergleichbare Leistungen, ist jedoch auf Windows-Umgebungen eingeschränkt. Das .Net Component Model gewährt dem Entwickler Zugriff auf die Funktionalität des Betriebssystems Windows Server 2003. Mit Visual Studio .Net stellt Microsoft außerdem eine zugehörige Entwicklungsumgebung bereit.

Java-Standards

Der Markt der Java-Applikationsserver wird von der Spezifikation Java 2 Enterprise Edition (J2EE) geprägt und ist durch sie standardisiert. Die meisten aktuellen Produkte entsprechen der J2EE-Version 1.3 und implementieren die folgenden Technologien:

Web-Container für das Hosting von Servlets und Java Server Pages (JSP) Enterprise Java Beans Container (EJB) Common Object Request Broker Architecture (CORBA) Java Database Connectivity (JDBC) Java Message Service (JMS) Java Naming and Directory Interface (JNDI) Java Mail Java Beans Activation Framework (JAF) Java Authentication and Authorization Services (JAAS) Java Management Extensions (JMX) J2EE Connector Architecture (JCA) Java Transaction API (JTA) Java Transaction Services (JTS)

Die im April 2004 freigegebene Spezifikation J2EE 1.4 unterstützt außerdem Webservices mit den folgenden Technologien:

Web Services für J2EE (WSEE) Java API für XML-basierten RPC (JAX-RPC) SOAP mit Attachments API für Java (SAAJ) Java API für XML Registries (JAXR)

Webservices im Kommen

Die führenden Anbieter werden weiterhin bestrebt sein, sich durch integrierte Produktfamilien voneinander zu unterscheiden. Zukünftige Erweiterungen der Plattformen J2EE und .Net betreffen die Verbesserung der Interoperabilität von Webservices sowie die Weiterentwicklung der entstehenden Standards für zuverlässige, sichere und transaktionale Webservices. Zwar bietet beinahe jeder J2EE-Applikationsserver eine grundlegende Kommunikationsstruktur für Webservices, doch werden Anwender auch im Lauf der kommenden sechs Monate oder darüber hinaus mit Kompatibilitätsproblemen kämpfen müssen - bis die Anbieter ihre nächsten Produkt-Updates freigeben.

Microsoft wird die nächste Generation seiner Software in zwei Wellen fertig stellen. Die Version 2.0 von .Net und einer aktualisierten Version des Visual Studio .Net ist für das erste Halbjahr 2005 geplant. Die nächste Familie von Softwareprodukten aus dem Hause Microsoft einschließlich eines erweiterten Windows-Clients, der angeblich ein Desktop-Portal schaffen wird, soll dann übernächstes Jahr auf den Markt kommen. Diese Produkte werden eine proprietäre Suite von Plattformen, Werkzeugen, Anwendungen und Diensten bilden, gleichzeitig aber offene Standards nutzen, um Interoperabilität und Integration auf Systemebene zu erreichen.

Anne Thomas Manes ist Vice President Application Platform Strategies bei dem Marktforschungs- und Beratungshaus Burton Group.


Jetzt kostenfreie Newsletter bestellen!

Matchmaker+