J2EE und .NET: Komplexität von IT-Umgebungen verringern

Feature | 29. April 2003 von admin 0

Die Informationstechnologie hat in den vergangenen Jahrzehnten unzählige Trends erlebt. Davon erwiesen sich manche als langlebig, andere verschwanden wieder. Dieser permanente Wandel hat, neben positiven Effekten wie etwa sinnvoller Innovation, für IT-Anwender auch Schattenseiten: Da sich bestehende Altsysteme selten einfach austauschen lassen, entstehen im Laufe der Zeit selbst in kleinen und mittleren Unternehmen heterogene Systemlandschaften. Das Schlagwort, unter dem sich viele IT-Verantwortliche eine einheitliche Technik und, damit verbunden, vor allem geringere Kosten versprechen, lautet Standardisierung.
Die Chancen, die Komplexität zu reduzieren, scheinen heute besser als je zuvor. Eine Vielzahl unterschiedlicher Technologien, die in den 90er Jahren verbreitet waren, ist heute obsolet oder dürfte in Zukunft verdrängt werden. Dazu zählen 4GL-Sprachen, Smalltalk oder die Common Object Request Broker Architecture (Corba). Nun stellt sich die Frage, welche Techniken dazu geeignet sind, die zahlreichen Anforderungen an die IT im Rahmen einer konsistenten und umfassenden Architektur abzudecken. Neben SAP NetWeaver haben sich zwei Entwicklungsplattformen als Basis für zukunftssichere Anwendungen herauskristallisiert: Die von Sun Microsystems initiierte Java 2 Enterprise Edition (J2EE) sowie Microsoft .NET.
Microsoft hat mit .NET im Jahr 2000 einen grundlegenden Strategiewechsel vollzogen. Denn im Zuge des Internet-Booms fand Java vor allem wegen seines Sicherheitskonzepts mit der vom Restsystem abgeschotteten Laufzeitumgebung einen enormen Zuspruch. Microsoft bot dagegen mit seiner aus der Vor-Web-Zeit stammenden Windows-Technik keine schlüssige Lösung für die Entwicklung von Internet-fähigen, server-basierenden Anwendungen, die sowohl sicher als auch einfach zu verteilen und zu installieren sind.

Zahlreiche Gemeinsamkeiten

Konzeptionell weisen .NET und J2EE viele Gemeinsamkeiten auf: Eine virtuelle Ablaufumgebung für die Geräteunabhängigkeit von Programmen (Java Virtual Machine, JVM, und Common Language Runtime, CLR), einen neutralen Zwischencode sowie eine einheitliche Klassenbibliothek. Damit wird den Bedürfnissen heutiger IT Rechnung getragen. Anwendungen sollten im Idealfall auf zentralen Servern ausgeführt werden, den Zugriff über Internet oder Intranet bieten, unterschiedliche Clients wie Browser oder GUI (Graphical User Interface) bedienen und jede erdenkliche Art von mobilen Endgeräten unterstützen.
Da sowohl .NET als auch J2EE über ein ähnlich umfangreiches technologisches Potenzial verfügen, stehen Unternehmen bei der Frage nach einer zukünftigen Plattform vor einer schwierigen Entscheidung. Nach Einschätzung des IDC-Analysten Rob Hailstone hängt dabei vieles von der bestehenden Infrastruktur ab: “Eine wichtige Grundsatzfrage ist, welches Know-how im Unternehmen vorhanden ist. In vielen Großunternehmen, in denen es bereits Unix- oder Java-Spezialisten gib, liegt eine Entscheidung für J2EE nahe. Wo mit Windows gearbeitet wird, dürfte die Entscheidung eher zugunsten von .NET fallen.”

Java-Anwendungen laufen auf verschiedenen Applikations-Servern

J2EE-Architektur

J2EE-Architektur

Zu den großen Vorzügen von J2EE gegenüber .NET zählt die Portabilität von Anwendungen. So ist es ein Leichtes, Java-Anwendungen auf Applikations-Servern verschiedener Hersteller laufen zu lassen. Mussten früher Anwendungen auf vielen verschiedenen Betriebssystem-Umgebungen getestet werden, reicht heute ein Test auf der Referenzimplementierung von Sun. Andererseits gibt es hier laut Hailstone gewisse Einschränkungen: Zum einen wichen viele Hersteller bei ihren Applikations-Servern von den Spezifikationen ab, um beispielsweise die Leistung zu optimieren. Zum anderen wandle sich der J2EE-Standard schnell und verursache damit Portabilitätsprobleme.

NET-Architektur

NET-Architektur

Mit .NET ist der Kunde hingegen an Microsoft gebunden, da .NET-Software nur in Windows-Umgebungen läuft. Vorteile dieser Plattform sind hingegen die Integration der einzelnen Systembestandteile sowie die Nutzung spezieller Funktionen des Betriebssystems.

Mit Web-Services gegen Verständigungsprobleme

Unterdessen ist in der IT-Welt ein neues Thema in den Vordergrund gerückt, das dem Expertenstreit zwischen dem Java- und dem .NET-Lager etwas Wind aus den Segeln genommen hat. Web-Services gelten mittlerweile als der universelle Standard für die Integration unterschiedlichster Software-Platfformen, sie werden sowohl von .NET als auch von J2EE unterstützt. Inzwischen hat praktisch die gesamte IT-Industrie die Wichtigkeit von Web-Services erkannt. Hinter dem Konzept steckt die Idee, mit Hilfe von allgemein verfügbaren Internet-Protokollen und Standards wie SOAP und WSDL die Kommunikation unterschiedlichster Programme über sämtliche Plattformengrenzen hinweg zu ermöglichen. Dies hat den großen Vorteil, dass heterogene Systemlandschaften bestehen bleiben können.
Nach Einschätzung von Hailstone sei ein Streben nach einer homogenen IT ohnehin ein Ideal, das in der Praxis nicht umzusetzen sei. “Allein aus Gründen der Betriebssicherheit wird kein Unternehmen ein Altsystem einfach abschalten und durch ein neues ersetzen. Strategische Technologien gehen deshalb stets auch von einer Integration bestehender Systeme aus.” Web-Services bieten sich hier als ideale Integrationstechnik an. Mit Hilfe von Web-Service-Adaptern kann praktisch jede bestehende Software nachträglich Web-Service-fähig gemacht werden und behält somit ihre Existenzberechtigung, ohne dass sie aufwändig modifiziert werden müsste.

Integration unterschiedlicher Welten

Durch die Etablierung der Web-Services sind auch viele Fragen der Interoperabilität zwischen der .NET- und der Java-Welt geklärt. Aufgrund einiger noch nicht endgültig verabschiedeter Spezifikationen gibt es nach wie vor Unstimmigkeiten. Jedoch bemühen sich alle wichtigen Hersteller in Gremien wie der Web Sevices Interoperability Organization (WS-I), die letzten Hürden auszuräumen. Die Möglichkeit der Integration beider Welten dürfte vor allem für große Unternehmen von Bedeutung sein. Zwar lauten heute bei der Wahl der Plattform die Empfehlungen, sich für eine Technologie zu entscheiden, doch durch individuelle Bedürfnisse von Fachabteilungen oder Firmenübernahmen werden Bestrebungen nach Homogenität in der Praxis regelmäßig zunichte gemacht.

SAP NetWeaver

SAP NetWeaver

Was die Beherrschbarkeit solcher Mischumgebungen betrifft, bietet SAP mit SAP NetWeaver eine Integrations- und Anwendungsplattform, die auf eine vollständige Kompatibilität und Interoperabilität mit J2EE und Microsoft .NET ausgelegt ist. Damit lassen sich heterogene Infrastrukturen flexibel verwalten. Auf diese Weise sichert SAP NetWeaver bestehende Investitionen in IT-Systeme und verringert die Komplexität von IT-Umgebungen.

Standardisierte Clients via HTML-Technik

Ein Aspekt, der beim Thema Standardisierung nicht unterschätzt werden darf, ist der Client-Bereich. Beflügelt vom Internet-Boom hat sich hier seit einigen Jahren ein Trend zu Browser-basierenden Front-Ends manifestiert. Vieles spricht für Benutzerschnittstellen mit HTML-Technik. Denn anders als mit dem etablierten Windows-PC – auch “Fat Client” genannt – lassen sich hiermit Server-basierende, einfach zu administrierende Anwendungen realisieren.
Was die Marktchancen betrifft, dürften sich sowohl die Java- als auch die Microsoft-Architektur fest etablieren. Dafür spricht auf der einen Seite die Anbietervielfalt mit Größen wie IBM, BEA und Oracle, auf der anderen Seite die Marktmacht von Microsoft.

Wolfgang Miedl

Wolfgang Miedl

Leave a Reply