Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere Name der Autoren: Titel der Arbeit: Hochschule und Studienort: Betreuer: Maik Befeld, Sebastian Klein Technische Unterschiede zwischen GlassFish, JBoss, WebLogic und WebSphere Fachhochschule für Oekonomie & Management Hamburg Prof. Dr. Uwe Kern A Inhaltsverzeichnis Inhaltsverzeichnis • 1 Einleitung • 2 Grundlagen ♦ 2.1 Definition und Zweck eines Application Servers ◊ 2.1.1 Application Server ◊ 2.1.2 Drei-Schichten-Architektur ♦ 2.2 Beispiel • 3 Vorstellung der Technologien ♦ 3.1 GlassFish ♦ 3.2 JBoss ♦ 3.3 WebLogic ♦ 3.4 WebSphere • 4 Vergleich der Technologien ♦ 4.1 Unterstütztung von Java EE und Verwendung deren APIs ♦ 4.2 Systemanforderungen ◊ 4.2.1 Unterstützte Prozessorarchitekturen ◊ 4.2.2 Unterstützte Betriebssysteme ♦ 4.3 Inbetriebnahme der Anwendungsserver ♦ 4.4 Clusteringmöglichkeit und Clustermanagement ♦ 4.5 Monitoring und Systemmanagement ♦ 4.6 Unterstützte Datenbanksysteme ♦ 4.7 Unterstützte Webserver ♦ 4.8 Integrierte Entwicklungsumgebung ♦ 4.9 Vergleichsübersicht • 5 Nutzwertanalyse ♦ 5.1 Begriffsdefinition ♦ 5.2 Ergebnisse des technischen Vergleichs • 6 Fazit • 7 Anhang ♦ 7.1 Quellenverzeichnis ♦ 7.2 GlassFish Screenshots Inhaltsverzeichnis 1 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere ◊ 7.2.1 GlassFish Administration Console ♦ 7.3 JBoss Screenshots ◊ 7.3.1 JBoss Web Console ♦ 7.4 WebLogic Screenshots ◊ 7.4.1 Bei der Installation enthaltene Features ◊ 7.4.2 Mehrere nutzbare JDKs ◊ 7.4.3 Die Administration Console ◊ 7.4.4 Clustering ♦ 7.5 WebSphere Screenshots ◊ 7.5.1 Die Integrated Solutions Console ◊ 7.5.2 Installation als Verwaltungsoder Anwendungsserver B Tabellenverzeichnis Tabelle Nr. Bezeichnung 1 Vergleichsübersicht 2 Nutzwertanalyse C Abbildungsverzeichnis Abbildungs-Nr. 1 2 3 4 5 6 Abbildung Beispiel einer typischen Drei-Schichten-Architektur Arbeitsweise eines Anwendungsservers GlassFish Logo JBoss Logo WebLogic Logo WebSphere Logo D Abkürzungsverzeichnis Abkürzung Bedeutung AIX Advanced Interactive eXecutive API Application Programming Interface Inhaltsverzeichnis 2 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere CDDL EIS EJB ERP ESB GPL GUI HP HP-UX HTML HTTP IBM JDBC JDK JMS JNDI JEE JRE JSP JTA JTA JVM Mac OS PA-RISC RMI SCO SNMP SOA SPARC SQL Common Development and Distribution License Enterprise Information System Enterprise JavaBeans Enterprise Resource Planning Enterprise Service Bus GNU General Public License Graphical User Interface Hewlett Packard Hewlett Packard UniX Hypertext Markup Language Hypertext Transfer Protocol International Business Machines Corporation Java Database Connectivity Java Development Kit Java Message Service Java Naming and Directory Interface Java Plattform, Enterprise Edition Java Runtime Environment JavaServer Pages Java Transaction API Java Transaction Service Java Virtual Machine Macintosh Operating System Parallel/Precision Architecture Reduced Instruction Set Computer Remote Method Invocation Santa Cruz Operation Simple Network Management Protocol Serviceorientierte Architektur Scalable Processor ARChitecture Structured Query Language 1 Einleitung Das Thema dieser wissenschaftlichen Hausarbeit ist es, die technischen Unterschiede der erhältlichen Application Server GlassFish, JBoss, WebLogic und WebSphere festzustellen. Das Ergbenis soll helfen, sich bei einem eventuell geplanten Einsatz für eine dieser Technologien zu entscheiden. Zuerst wird eine kurze Einleitung zu Application Servern gegeben, in denen der Zweck und Beispiel dieser Art von Server dargestellt wird. Danach werden kurz die vier erhältlichen Application Server vorgestellt. Im eigentichen Hauptteil werden die vier Technologien anhand verschiedener Gesichtspuntke miteinander verglichen. Um einen Vergleich und somit auch deren Unterschiede festzustellen, ist dennoch das Aufzeigen von Gemeinsamkeiten unabdingbar. Die Ergebnisse des Verglieches werden anschließend übersichtlich in einer 1 Einleitung 3 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere Vergleichstabelle dargestellt. Die Ergebnisse des Vergleiches von GlassFish, JBoss, WebLogic und WebSphere dienen anschließend für eine Nutzwertanalyse, in der die verschiedenen ausgearbeiteten Gesichtpunkte subjektiv gewichtet werden und für eine Präferenz als eine Entscheidungsbasis dienen können. Im Folgenden wird keine Leistungsanalyse der vier vorgstellten Application Server durchgeführt. Auch wird nicht explizit auf die einzelnen erhältlichen Versionen der jeweiligen Hersteller eingegangen. Es wird lediglich überprüft, ob und wie eine betrachtete Alternative allgemein eine bestimmte technische Eigenschaft erfüllen kann. 2 Grundlagen Im folgenenden Abschnitt soll kurz die Definition und Zweck eines Application Servers verdeutlich werden. Dessen Funktion wird dabei an einem Beispiel grafisch und ablauftechnisch erklärt. 2.1 Definition und Zweck eines Application Servers 2.1.1 Application Server Im Prinzip definiert ein Application Server einen Server, auf dem Aplikationen laufen. Er stellt demzufolge einen Server für Anwendungsprogramme dar, der für von Cleints genutzte Anwendungen ausführt. Im softwaretechnischen Kontext stellt er als eigene Software Dienste für Anwender oder andere Software zu Verfügung. Diese läuft innerhalb einer weiter unten genannten Drei-Schichten-Architektur als sogenannte Middleware. Ein Application Server führt in diesem Zusammenhang die Geschäftslogik aus und dient als Vermittler zwischen den Clients und Datenquellen. Auf einem Application Server werden in der Regel server-seitge komponenten-basierte Java-Anwendungen in Betrieb genommen. 2.1.2 Drei-Schichten-Architektur Beispiel einer typischen Drei-Schichten-Architektur (aus Professional J2EE with BEA WebLogic Server) Die Drei-Schichten-Architektur, auch Drei-Tier-Architektur genannt, beschreibt eine Architektur mit softwareseitig drei Schichten. Programme und deren Softwarekomponenten greifen auf Daten zu, die als Dateien, als Webservices oder als Daten in einer Datenbank vorliegen können (Tier 3). Die Daten können dabei auch aus anderen Systemen wie EIS oder ERP-Systemen kommen. Diese herangezogenen Daten werden durch eine Programmlogik, welche durch Funktionen oder Filter definiert sein können, weiterverarbeitet. Hier wird durch die Implementierung der Geschäftsprozesse das Geschäftsmodell realisiert (Tier 2). Die Anzeige und Entgegennahme des Ergenisses aus der Logikschicht übernimmt beim Client ein sogenanntes Front-End, welches zum Beispiel eine Webseite im Browser oder eine eigen entwickelte grafische Oberfläche sein kann (Tier 1). 2 Grundlagen 4 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere Der Weg dieses Vorganges läuft nicht nur von Tier 3 zu Tier 1, sondern auch in die entgegengesetzte Richtung. Die passiert genau danndann, wenn im Front-End Dateneingaben stattfinden, in Tier 2 durch den Application Server eine Verarbeitung erfolgt und letztlich in Tier 3 als Informationen in einer Datenbank abgelegt werden. Im Gegensatz zur Zwei-Schichten-Architektur werden hier die Logik und Daten voneinander getrennt jeweils in eine eigenständige Tier verlagert. Dies hat den Vorteil der besseren Skalierbarkeit, da hier getrennt Datenbankund Application Sserver nach den Ressourcenbedürfnissen und anwendungsspezifischen Anforderungen angepasst werden können. Für die Logikschicht hat sich bei diesen mehrschichtigen Architekturen der Begriff Middleware verfestigt. Da in ihr rechenintensive Prozesse ablaufen, liegt hier das Augenwerk auf Maßnahmen zur Performanveverbesserung. Für die drei Schichten dieser Architektur haben sind jeweils mehrere Bezeichnungen geläufig: • Tier 1 - Präsentationsschicht, Presentation Layer • Tier 2 - Logikschicht, Serverschicht, Anwendungsschicht, Verarbeitungsschicht, Middle Tier, Business Layer • Tier 3 - Datenhaltungsschicht, Data Access Layer 2.2 Beispiel Arbeitsweise eines Anwendungsservers [1] Der Client bzw. dessen Webbrowser fordert beim Webserver eine dynamsiche Webseite an, auf der z.B. alle Kunden aus Hamburg mit ihren Details angezeigt werden. Der Webserver sucht nun die entsprechende Seite in seinem Verzeichniss und übergibt sie anschließend an den Application Server. Der Application Server analysiert daraufhin die Anweisungen auf der Seite. 2.1.2 Drei-Schichten-Architektur 5 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere Der Application Server sendet eine entsprechende Anfrage an die entsprechende Datenbankschnittstelle. Diese vermittelt zwischen der Anwendung und der Datenbank. Der Datenbanktreiber der Schnittstelle führt letztlich die Abfrage auf die relationale Datenbank aus. Diese kann, je nach Vorhandensein des expliziten Treibers, z.B. eine SQL-, DB2-, Oracle- oder MySQL-Datenbank sein. Die extrahierten Ergebnisse der Abfrage wird danach an den Datenbankkreiber bzw. die Schnittstelle übergeben. Die Schnittstelle übergibt daraufhin die Ergebnisse weiter an den Application Server. Der Application Server fügt nun die Ergebnisse in dem HTML-Code der Seite ein und gibt diese an den Webserver weiter. Die ergebnisbefüllte Seite wird durch den Webserver als Antwort an den Browser des Clients übergeben. Im Browser wird letztendlich die Seite mit den Ergebnissen angezeigt. 3 Vorstellung der Technologien Hier sollen die 4 Technologien kurz vorgestellt und deren technischen Details aufgezeigt werden. 3.1 GlassFish GlassFish Logo Der Applikation Server GlassFish gehört dem GlassFish Project an, dass von Sun microsystems betrieben wird. Mit dem Beginn des Open-Source-Projekts, bildete sich eine Community heraus, die gemeinsam mit Sun das GlassFish Project pflegen und betreuen. Momentan stehen 2 unterschiedliche Versionen des GlassFish Applikation Servers zur Verfügung. Die Versionen 2.1.1 und 3 unterscheiden sich hierbei im Wesentlichen durch Java EE Version für die Beide jeweils zertifiziert sind. Die Version 2.1.1 ist für Java EE 5 und die Version 3 für Java EE6 zertifiziert[2]. GlassFish, dass kostenlos unter https://glassfish.dev.java.net zur Verfügung gestellt wird, ist unter der Common Development and Distrubtion License (CDDL) und auch ab Version 2 unter der General Public License (GPL) lizensiert[3][4]. Neben der JDK5 bzw. JDK6 wird für die Inbetriebnahme das Ant Script (1.65) von Apache benötigt. Folgende Technologien, wie JavaServer Faces (JSF) 1.2, JavaServer Pages (JSP) 2.1, Servlet 2.5 und Enterprise JavaBeans 3.0 werden durch GlassFish unterstützt[5]. 3.2 JBoss JBOSS Logo Das Open-Source-Projekt JBoss wurde im Jahr 1999 von Marc Fleury gestartet, "dass eine Implementation des Enterprise Java Beans (EJB)-Teils der J2EE-Spezifikazion bereitstellte".[6] Die Abkürzung JBoss steht für Java 3 Vorstellung der Technologien 6 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere Beans Open Source Software. Nachdem JBoss stetig wachsendes Interesse in der sich bildenen Community aufwieß und "Entwickler, Dokumentations-, Beratungs-, und Schulungsdienstleistungen"[6] verkauften, "gründeten Fleury & Co."[6] 2001 "die JBoss Group (LLC) und begannen 2002, Unterstützung für Entwickler anzubieten."[6] Mit der der Version 3 des Applikations Servers bot JBoss einen vergleichbaren Leistungsumfang wie Weblogic und WebSphere. 2004 ging die JBoss Group, LLC in das Unternhemen JBoss Inc. auf. Mit der Veröffentlichung der 4 Version von JBoss wurden auch direkt Dienstleistungen zur Unterstützung von Unternehmen eingeführt. 2006 wurde die Jboss Inc. durch Red Hat übernommen und weitergeführt, was in der Version 5 des JBoss Applikations Servers resultiert. JBoss ist unter der General Public License (GPL) lizensiert[6]. 3.3 WebLogic WebLogic Logo Der WebLogic Application Server, im weiter nur als WebLogic, bezeichnet, ist ein kommerzieller auf den Java EE-Standard basierender Application Server von Oracle. Ursprünglich wurde dieser von BEA Systems entwickelt und vertrieben. Seit der Übernahme von BEA Systems durch Oracle Ende April 2008 heißt er nun Oracle WebLogic Server. Er ist in den Ausführungen Standard Edition und Enterprise Edition erhältlich. Die aktuellste Version ist der Oralce WebLogic Server 11g Release 1 (10.3.2). Der Kaufpreis für die Enterprise Edition beträgt derzeit pro Prozessor mit einer unbefristeten Laufzeit und einem einjährigen Support knapp 22.000 Euro[7]. Bei der Preisermittlung ist auch eine Berechnung pro zugreifenden Benutzer möglich Die Erkenntnisse dieser Hausarbeit basieren zum Teil auf Erkenntnissen einer 30tägigen Testversion des Oracle WebLogic Server Enterprise Edition 11g, wofür allerdings eine Registrierung bei Oracle notwendig war. 3.4 WebSphere Websphere Logo Der WebSphere Applicaton Server, im weiteren Verlauf WebSphere genannt, ist ein Markenname und zugleich ein Produkt aus der WebSphere-Produktfamilie von IBM. Auch bei diesem kostenpflichtigen Application Server handelt es sich um eine auf dem JavaEE-Standard basierende Laufzeitumgebung für JavaEE-Applikationen. Dieser Application Server ist derzeit erhältlich als WebSphere Application Server und liegt in der Version 7.0 vor. Derzeit sind fünf verschieden Versionen des WebSphere Aplication Servers verfügbar. Die Hypervisor Edition ist optimiert für den Einsatz in virtualisierten Serverumgebungen. Die WebSphere Application Server Express und Base stellen die Standard-Application Server dar. Die Version des WebSphere Application Server Network Deployment ist speziell für den Hochverfügbarkeitseinsatz und der Leistungsverteilung bei geschäftskritischen Anwendungen vorgesehen. Weiterhin existiert eine kostenfreie Version als WebSphere Application Server Community Edition. Dieser Application Server ist ein schanker Open-Source Java EE-Application Server und basiert auf der Technologie des Apache Geronimo. Die Preisberechnung für den WebSphere Applicaton Server wird durch sogenannte IBM Processor Value Units ermittelt. So werden pro CPU-Kern zwischen 30 und 120 Euro für jede Processor Value Units fällig. Eine XEON Single-Core CPU nimmt derzeit 100 Processor Value Units ein. So kostet eine WebSphere Application Server Processor Value Unit Lizenz inklusive 12monatigem Support 53.16 Euro. Ein WebSphere Application Server auf 3.2 JBoss 7 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere einem x86-basierendem System mit Single-Core CPU und einer Clustering-Möglichkeit kostet derzeit knapp 26.000 Euro[8]. Die Erkenntnisse dieser Hausarbeit basieren teilweise auf eine 60tägigen Trialversion des WebSphere Application Servers Version 7.0.0.5, wofür wiederum eine Registrierung notwendig war. 4 Vergleich der Technologien Im folgenden Kapitel sollen die vier Technologien anhand diverser Gesichtspunkte miteinander verglichen werden. Im Anschluss dazu werden die Ergebnisse in einer Vergleichstabelle anschaulich dargestellt, die als Basis für die spätere Nutzwertanalyse dient. 4.1 Unterstütztung von Java EE und Verwendung deren APIs Da es sich bei GlassFish, JBoss, WebLogic und WebSphere um Laufzeitumgebungen für plattformunabhängige und portable Java EE-Anwendungen handelt, unterstützen und verwenden diese die APIs von Java EE 5[9][10]. Hier sollen nur die wichtigesten APIs angeschnitten werden. Zum Beispiel speichert der Application Server seine Konfiguration in XML-Dateien, verwendet demzufolge die XML-APIs. Die hier vorgestellten Application Server unterstützen alle die wichtigsten APIs der Java EE-Spezifikation. Sie bieten die vollständige Implementierung von EJB, JSP, Servlets, JNDI, JDBC, JMS, JTA, JTS und RMI[11][12][13]. Wie bereits erwähnt, basieren die vier zu vergleichenden Application Server auf den Java EE Standard. Das impliziert, dass die Laufzeitumgebung JRE, das Standarddevelopment Kit von Java JDK und die virtuelle Maschine JVM von diesen Alternativen nativ unterstützt werden. Im folgenden Abschnitt werden kurz die Eigenschaften dieser drei Begriffe erklärt. Das Java Development Kit ist ein Standard Development Kit von Sun, mit dem speziell Java-Anwendungen erstellt werden kann und. Es besteht neben der Laufzeitumgebung JRE aus Anwendungen, Werkzeugen wie Compiler, Archiver, Converter und Viewer und für Programmierer hilfreiche Dokumentationen. Die Java Runtime Environment, kurz JRE, bezeichnet die Laufzeitumgebung für die Java-Plattform und ist Bestandteil der Spezifikation Java EE bzw. Java SE. Sie ist verantwortlich für die Ausführung von Java-Anwendungen bzw. dessen Bytecodes. Wegen der gegenseitigen Abstimmung besteht die JRE aus der JVM und der API, welche die Standardklassen von Java bereitstellt. Die Java Virtual Machine, welche ein Teil der JRE ist, wird verwendet, um eine Java-Programm in je einer eigenen virtuellen Maschine auszuführen. Dabei dient sie als Schnittstelle zwischen der Java-Aplikation und dem auf dieser physikalischen Maschine laufendem Betriebsystem. Für die meisten gängigen Betriebssystemplattformen ist eine eigene in C oder C++ gewschriebene JVM erhältlich. GlassFish GlassFish unterstützt in der Version 2.1.1 das JDK 1.5 und in der Version 3 das JDK 1.6 von Sun. Spezielle JDK's anderer Hersteller werden nach derzeitigem Wissensstand nicht unterstützt[14][15]. JBoss Laut Herstellerangaben werden für das Betriebssystem Red Hat Enterprise Linux 4 und 5 die Sun JDK 1.6, die IBM JDK 1.6.0 und die OpenJDK 1.6.0. Für alle anderen unterstützten Plattformen wird nur das Sun JDK 1.6 unterstützt[16]. 4 Vergleich der Technologien 8 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere WebLogic WebLogic bringt als eigene JDK von Oracle JRockit mit. Sie ist voll kompatibel zur Java-VM von Sun und soll laut Hersteller für mehr Laufzeitperformance und besseres Speichermanagement im Serverbetrieb sorgen[17]. Bei der Installation von WebLogic sind bereits die Sun JDK mit der Standard JVM sowie die JRockit JDK mit der JRockit JVM verfügbar(siehe Anhang 7.4.4). Es wird bei der Installation empfohlen, die Sun JDK für die Entwicklung und das Deployment von Java-Applikationen zu verwenden (Development Mode). Für die eigentliche Produktion empfiehlt Oracle, die JRockit JDK mit der eigenen JRockit JVM zu nutzen (Production Mode)[18]. Laut Oracle werden durch WebLogic auch die JDKs von IBM, HP-UX, HP Tru64, HP Fast VM, HP, SCO, Azul Virtual Machine und NonStop unterstützt[19]. Bei der Installation können jedoch auch andere JDKs eingebunden werden. Oracle warnt aber explizit davor, da bei evetuellen Probleme der Support eingeschränkt ist. WebSphere WebSphere kann ebenso je nach verwendetem Betriebssystem und der darunter liegenden Prozessorarchitektur verschiedene JDKs verwendenden. IBM empfiehlt für einen Großteil der verfügbaren Betriebssysteme und Prozessorarchitekturen seine eigene IBM JDK, die für die verschiedensten Plattformen verfügbar ist. Weiterhin kann auch die HP JDK und die Standard-JDK von Sun verwendet werden[20]. 4.2 Systemanforderungen Im folgenden Abschnitt werden die Systemanforderungen betrachtet, die zur Inbetriebnahme der vier untersuchten Application Server nötig sind. Dabei wird nicht auf jede mögliche Kombination eingegangen, da dies den geforderten Umfang dieser Hausarbeit überschreiten und die Vergleichsübersicht unübersichtlich machen würde. 4.2.1 Unterstützte Prozessorarchitekturen Als Hardwarevorraussetzungen werden hier die verschiedenen erhältlichen Prozessortypen bzw. -architekturen untersucht. GlassFish Um einen einfachen Applications Server auf Basis von GlassFish in Betrieb nehmen zu können, genügen aktuell im Handel erhältlich Server-Prozessoren. Hierbei muss aber auch gesagt werden, dass bei wachsender Anzahl der zur Verfügung gestellten Services bzw. der Zugriffe auf eben diese, auch die zur Verfügung gestellten Hardware Ressourcen angepasst werden müssen. Stichwort Clustering/Hardwareerweiterung Grundsätzlich ist der GlassFish Applikations Server auf den Architekturen Sparc und x86 inklusive der 64Bit Version lauffähig. Dabei beansprucht eine Installation mindestens 250MB auf nicht Microsoft Windows Betriebssystemen, wie Sun Solaris. Empfohlen werden allerdings 500MB Festplattenspeicher. Auf Microsoft Betriebssystemen sind die Anforderungen, laut Sun microsystems, bezüglich des Festplattenspeichers zu verdoppeln[21][3][4]. JBoss Für die Installation des JBoss Application Servers wird Festplattenspeicher von mindestens 100MB benötigt. Weiterhin ist sollte eine CPU mit mindestens 400MHZ zum Einsatz kommen[22]. Auch hier muss auf die Hardwareseitige Anpassung des Servers hingewiesen werden, sollte die geforderte Leistung nicht mehr, durch die 4.1 Unterstütztung von Java EE und Verwendung deren APIs 9 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere gegebene Hardware, erbracht werden. JBoss ist auf den Architekturen SPARC und x86 inklusive der 64Bit Version lauffähig[23]. WebLogic WebLogic ist sowohl auf 32bit- als auch auf 64bit-Prozessorarchitekturen lauffähig. Derzeit unterstützt WebLogic Itanium, PA-SPARC, PowerPC, x86-32, x86-64 sowie SPARC[24]. WebSphere Auch WebSphere unterstützt die oben genannten Prozessorarchitekturen. Weiterhin ist WebSphere auch auf der IBM Großrechnerarchitektur System z9 lauffähig[20]. 4.2.2 Unterstützte Betriebssysteme Jeder Application Server kann auf bestimmten Betriebssystemen installiert werden. GlassFish GlassFish ist auf mehreren Betriebssystem lauffähig. Dazu zählen Betriebssysteme von SUN, Microsoft, Apple und mehreren Linux Distributoren. Genauere Angaben finden sich in der nachfolgenden Aufzählung. SUN Solaris 9 und 10 (x86, SPARC), SUN Solaris 10 64-Bit (x86, SPARC), einige Linux Distributionen wie RedHat Enterprise Linux 4.0, 5.x, SuSE Linux Enterprise Server 10 SP1 (32-Bit & 64-Bit), Ubuntu Linux, AIX 5.2 & 5.3, Windows Server 2000 SP4+, Windows 2000 Advanced Server SP4+, Windows Server 2003, Windows XP Pro SP1+, Windows Vista[13]. Für den Wirkbetrieb nicht geeignet sind MacOS, da es nur für die Entwicklung unterstützt wird sowie OpenSolaris, dass nur eingeschränkten Support bietet[3][4]. JBoss Der Application Server JBoss unterstützt laut Herstellerangaben die Betriebssysteme Red Hat Enterprise Linux 4 und 5 sowie die Microsoft Betriebssysteme Windows Server 2003 und 2008[13]. Letztgenannte Betriebssysteme werden in der 32-Bit als auch in der 64-Bit Version unterstützt. SUN Solaris 9 und 10 werden in der 32-Bit und 64-Bit unterstützt. Weiterhin ist zu vermuten, dass weitere Linux Distributionen sowie Client-Betriebssysteme der Windows-Reihe als Betriebssystem geeignet sind[22]. Weblogic WebLogic kann laut Herstellerangaben derzeit auf den Betriebssystemen Microsoft Windows (XP, Vista, Server 2003, Server 2008), Linux (Novell Suse Linux Enterprise Server 9 und 10, Oracle Enterprise Linux 4 und 5, Red Hat Enterprise Linux Advanced Server/Enterprise Server/Workstation 4 und 5), Sun Solaris (8, 9, 10), HP-UX und AIX (5 und 6)[24][13]. WebSphere WebSphere unterstützt die Betriebssysteme Microsoft Windows (XP, Vista, 7, Server 2003, Server 2008), AIX, HP-UX, i5/OS, Linux (Novell Suse Linux Enterprise Server 9, 10 und 11, Oracle Enterprise Linux 4 und 5, Red Hat Enterprise Linux Advanced Server/Enterprise Server/Workstation 4 und 5), Sun Solaris (9 und 10) und z/OS[20][13]. 4.2.1 Unterstützte Prozessorarchitekturen 10 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere 4.3 Inbetriebnahme der Anwendungsserver Um einen Anwendungsserver in Betreib nehmen zu können, gibt es grundsätzlich vier verschiedene Wege. Die erste Möglichkeit ist die klassische interaktive und durch eine GUI geführte Installationsroutine durch eine Installationsdatei, i.d.R. eine Setup.exe. Dies ist die verbreitetste und einfachste Methode einer Installation, da der Administrator hier sehen kann, was während der Installation passiert. Als zweite Möglichkeit gibt es die interaktive Installation über eine Konsole. Auch hier wird eine Installationsdatei verwendet. Dieses Verfahren wird verwendet, um eine Installation über eine Terminalverbindung mit Hilfe der Kommandozeile auf einem entfernten Remoteserver auszuführen. Der sogenannte Silent-Modus beitet die Möglichkeit, eine Installationskonfigurationen nur einmal zu setzen und dann jene Konfigurationen zu verwenden, um die Installation auf vielen Maschinen zu kopieren. Dies macht den Installationsprozess gerade bei mehreren Servern schneller und einfacher. Jedoch kann man, wenn die Installation einmal angestoßen ist, nicht mehr aktiv in den Prozess eingreifen. Diese Methode ist nicht-interaktiv und kann von einer Kommandozeile aus gestartet werden. Weiterhin kann auch ein gepacktes Archiv extrahiert werden. Daraufhin kann der Anwendungsserver direkt und ohne Installation gestartet werden. GlassFish Um die Installation von GlassFish zu beginnen, wird mindestens das installierte JDK5 für GlassFish Version 2.1.1 oder JDK6 für GlassFish Version 3 benötigt. Nun stehen 4 Installationswege zur Verfügung. Einmal kann ein komprimiertes Datenarchiv, ein Installer zur Installation unter Windows oder ein Script für den silent mode verwendet werden. Weiterhin ist es z.B. möglich GlassFish unter Linux per CLI-Kommando zu installieren[25]. Beides kann per Download über das SUN Download Center oder über die GlassFish Community Site heruntergeladen werden. Für die Installation per Datenarchiv wählt man den Zielort das zukünftigen GlassFish-Ordners (Herstellervorgabe: /glassfishv3) aus und entpackt den gesamten Archivinhalt in diesen. Danach müssen gegebenenfalls die Umgebungsvariable JAVA_HOME und der Systempfad %JAVA_HOME%\bin angepasst werden[5]. Beim GUI-Installer wird man per Menu durch die Installation geführt und bereits einige Konfigurationseinstellungen vorgenommen, wie z.B. das Setzen des Admin-Passworts. Ist die Installation erfolgreich verlaufen, kann der Applikations-Server gestartet werden. Mit Hilfe eines kompatiblen Web-Browsers und der URL http://localhost:4848/ kann die Loginseite des Applikations-Server aufgerufen werden. Hier gelangt der Administartor nach Eingabe der Zugangsdaten zur Startseite der webbasierten Administrationsoberfläche und kann weitere Einstellungen am Applications Server und oder seiner bereitgestellten Anwendungen vornehmen[14][15]. JBoss Bei JBoss gibt es nur eine Installationsvariante. Hierbei wird ein komprimiertes Datenarchiv von der WebSite http://labs.jboss.com/jbossas/downloads/ der JBoss Community heruntergeladen und in den gewählten Installationszielort (Herstellervorgabe: /JBoss) entpackt. Anschließend müssen die Umgebungsvariable JBoss_HOME und der Systempfad %JBoss_HOME%\bin angepasst werden. Nachdem man den Applikations-Server gestartet hat, kann man auch hier über die URL http://localhost:8080 und der Eingabe zuder Zugangsdaten die Startseite der webbasierten Administrationsoberfläche erreichen und weitere Einstellungen vornehmen[26]. WebLogic 4.3 Inbetriebnahme der Anwendungsserver 11 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere WebLogic bringt eine selbstextrahierende Installationsdatei mit und bietet die Möglichkeiten der Installation im GUI-, Konsolen- und Silent-Modus[27][28]. Eine Inbetriebnahme WebLogic ohne Installation ist indies nicht möglich. Bei der GUI-gestützen Installation kann der Administrator aus mehreren möglichen Features (JDBC-Treiber, Administration Console, IDE, Beispielserver, etc.) wählen. Weiterhin können die verwendeten JDKs und die individuellen Installationsverzeichnisse angegeben werden, wobei standardmäßig das Verzeichnis C:\Oracle\Middleware angelegt wird. Die grafische Oberfläche bietet zudem die Möglichkeit, gleich bei der Installation die verfügbaren Maschinen, Cluster und managebaren Application Server festzulegen. WebSphere Auch WebSphere unterstützt die Installationsarten analog zu WebLogic. Während der Installation werden die Systemvoraussetzungen überprüft und ggf. Vorschläge bei Problemen gemacht. Hier können neben auswählbaren Features Beispielanwendungen mitinstalliert werden. Auch kann gewählt werden, ob der zu installierende Application Server als reiner Anwendungsserver oder als Verwaltungsserver arbeiten soll, der alle anderen Application Server verwaltet (siehe Anhang 7.5.2). Das Standardinstallationsverzeichnis lautet C:\Program Files (x86)\IBM\WebSphere. Nach der Installation erhält der Administrator nützliche Informationen über den gelaufenen Installationsprozess. 4.4 Clusteringmöglichkeit und Clustermanagement Das Clustering bietet grundsätzlich die Möglichkeit, einen Rechnerverbund aus mindestens zwei vernetzten Servern zu bilden. Dadurch wird nicht nur die Rechenkapazität sondern auch die Verfügbarkeit und Rechen- bzw. Lastverteilung (Loadbalancing) des nach außen als ein Server sichtbaren Anwendungsservers erhöht. Zusätzlich wird auch zwischen Hardwareclustern und Software- bzw. Applikationsclustern unterschieden. Es kann auf je einer physikalischen Maschine im Cluster je ein Application Server mit einer oder mehreren unterschiedlichen Applikationen als auf den anderen Maschinen betrieben werden. Jedoch können auch auf jeder physikalischen Maschine identische parallel laufende Applikationen betrieben werden, um bei einem Hardwaredefekt den weiteren Betrieb der IT-gestützen Geschäftsprozesse zu gewährleisten und um Load-Balancing zu erreichen. Denkbar ist auch, auf entsprechend performanten Maschinen, wie z.B. Großrechnern, mehrere Application-Server Instanzen einzurichten, die dann wie oben erwähnt unterschiedliche oder identische Applikationen laufen lassen können. Glassfish Um Clustering mit GlassFish zu realisieren, wird zuerst ein Domain Administration Server (DAS) mit dem GlassFish Application Server aufgesetzt. Auf dem Domain Administration Server werden später alle zur Verfügung gestellten Applikationen installiert. Für die Kommunikation zwischen dem Domain Administration Server und den einzelnen Instanzen wird ein Node-Agent erstellt auf dem Domain Administration Server erstellt. Um weitere Server, auch hier Nodes genannt, im Clustering aufnehmen zu können, werden weitere Server werden ebenfalls mit Installationen des GlassFish Applications Servers bereitgestellt. Auf dem Domain Administration Server wird das Clustering konfiguriert und mindestens 2 zusätzliche Nodes hinzugefügt. Danach werden die Nodes dem zuvor eingerichteten Node-Agent zugeordnet. Erst dadurch wird ein Verteilen der Applikations-Instanzen auf die Nodes im Wirkbetrieb ermöglicht. Weiterhin wird während der gesamten Betriebszeitdurch der Systemstatus der Nodes mittelt eines Heartbeat-Service ermittelt und per Monitoring bereitgestellt[29][30][31]. JBoss 4.4 Clusteringmöglichkeit und Clustermanagement 12 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere Mit JBoss ist es möglich mehrere JBoss Application Server in einem Cluster zusammen zu schließen. Zuerst werden alle Server mit einer JBoss Installation versehen und im gleichen Netztwerk eingestellt. Die Applications Server werden nun als Nodes (Knoten) bezeichnet. Die Nodes werden je nach Bedarf zu einer oder mehreren Partitionen zusammen geführt. Dabei könne auch einzelne Nodes in verschiedene Partitionen enthalten sein. Für die Kommunikation untereinander verwenden die Nodes IP-Multicast und das UDP-Protokoll. Jede Partition ist durch einen eindeutigen Namen und Konfiguration gekennzeichnet. Das bedeutet, dass alle Nodes einer Partition über den selben Partitionsnamen und die selbe Konfiguration verfügen. Dadurch wird es es ermöglicht, mehrere Partitonen in einem Netzwerk zu realisieren. Mit dem Zusammenschluss mehrerer Server erhöht sich auch das Datenaufkommen das der internen Verwaltung der einzelnen Nodes dient. Der erhöhte Verwaltungsbedarfs beeinflusst zwar die Gesamtperformance des Systems aber hält sich gegenüber dem Performancesgewinn des Clustering in Grenzen. Nur in Fällen, in denen einzelne Nodes mehreren Partitionen angehören, kann der interne Verwaltungsaufwand den erzielten Performancesgewinn vollständig aufheben. Im Betrieb werden allen Daten und Sessions der anfragenden Clients an die Nodes einer Partition weitergegeben, um die Aufgaben koordiniert abzuarbeiten[32]. WebLogic Das g in der aktuellen Versionsbezeichnung 11g steht für Grid. Ein Grid ein virtueller Supercomputer aus einem Cluster, der aus losen Rechnern besteht. Diese Art des verteilten Rechnens wird als Grid-Computing bezeichnet. Während der Installation kann festgelegt werden, ob der Server als Administration Server und/oder als Managed Server installiert werden soll. Der Administration Server übernimmt die Veraltung aller Application Server in der entsprechenden Domäne. Der Managed Server stellt dabei den eigentlichen Application Server dar. Außerdem wird der Administrator gefragt, auf welchen physikalischen Maschinen die Installation stattfinden sollen und ob ein Cluster gewünscht wird. So sind z.B. mehrere Managed Server zum Cluster zusammenführbar. Diese Managed Server müssen entsprechenden Maschinen hinzugefügt werden. Dadurch ist es möglich, jeder Maschine mehrere Managed Server als Cluster zuzuordnen oder auf jeder Maschine jeweils nur ein Managed Server zu installieren[33][34]. WebSphere Der WebSphere Application Server Network Deployment bietet, wo oben bei der Vorstellung bereits erwähnt, die Möglichkeit des Clustering von WebSphere Application Servern. Ein zu definierender Verwaltungsserver enthält als zentrale Instanz bestimmte Dienste, um mehrere mit speziellen Agenten ausgestattete Application Server auf Clustern zu verwalten (siehe Anhang 7.5.2). Bei Ausfall eines Knotens sorgt dieser für die Verfügbarkeit und die Übernahme der Dienste von einem ausgefallenen Knoten durch einen anderen. Auch wird daruch die Möglichkeit der Lastverteilung innerhalb eines Clusters gegeben. Der Verwaltungsserver erkennt Engpässe im Cluster und skaliert bei Bedarf Anwedungen entsprechend, um erhöhte Last im Cluster abzufangen[35]. 4.5 Monitoring und Systemmanagement Gerade bei einen oder mehreren geschäftskritischen Anwendungen, z.B. Flugbuchungen duch ein Internetportal, die auf einem Application Server laufen können, ist eine ständige Überwachung des Application Servers und deren darauf laufenden Applikation unabdingbar. Glassfish Das Monitoring von Komponenten und Hardware-Ressourcen wird über die webbasierte Administrationsoberfläche und das CLI-Kommando asadmin bereitgestellt. Grundsätzlich ist das Monitoring deaktiviert und muss bei Bedarf zunächst aktiviert werden. Beim Aktivieren des Monitorings für bestimmte 4.5 Monitoring und Systemmanagement 13 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere Komponenten kann zusätzlich der Detailgrad der zu meldenden Ereignisse in der webbasierten Administrationsoberfläche durch das Setzen der entsprechenden Combobox (Low - High) oder entsprechend formulierter asadmin-Kommandos in der CLI-Console eingestellt werden. Die Anzeige von Ereignissen erfolgt über die webbasierte Administrationsoberfläche oder der CLI-Console. Es macht keinen Unterschied ob ein einzelner Application Server oder ein ganzer Cluster betrieben wird. Das Monitoring ist immer anwendbar. Es können Applikationen, http Services, Ressourcen, Connector-Services, JMS-Services, ORB?s und der Thread-Pool überwacht werden[14][15]. JBoss Über entsprechende CLI-Kommandos der Admin-Console können Ereignis- bzw. Statusdaten über den freien Speicher, die aktive Anzahl an Threads und deren übergeordneten Prozessen. Über die Java Virtual Machine können weiter Kenngrößen wie die CPU-Auslastung abgefragt werden. Für die komfortable Ansicht aller Ereignisse kann ein Management Tool eines Dritt-Herstellers eingesetzt werden[36]. WebLogic Während der Installation von WebLogic kann bei Bedarf der Node Manager mit installiert werden. Dieser ermöglicht es, managebare Application Server remote zu starten oder zu stoppen. Weiterhin kann dadurch das Monitoren der Serverzustände umgesetzt werden. WebLogic bietet eine webbasierte Administration Console (siehe Anhang 7.4.1 und 7.4.3). Über diese Konsole hat der Administrator eine Übersicht über die Umgebung der verfügbaren Application Server. So kann die Konfiguration der Maschinen, Cluster und Application Server eingesehen und kontrolliert werden. Außerdem bietet die Konsole eine Diagnose der Systemstati, Serverzustände und Log-Dateien an. Aber auch die auf dem Application Server laufenden Applikationen und deren Deployment können nach Zugriff oder Ressourcenauslastung überwacht werden. WebLogic bietet parallel eine SNMP-Unterstüzung an, um von einer entfernten Managementstation im Netz die Application Server überwachen und verwalten zu können[37]. WebSphere WebSphere stellt dem Administrator auch ein webbasierte Administrationskonole zu Verfügung (siehe Anhang 7.5.1). Über diese Integrated Solutions Console können sowohl Java-Applikationen intstalliert und verwaltet werden. Weiterhin hat der Administrator eine Übersicht über alle laufenden Application Server als auch der laufenden Webserver. Die Performanceüberwachung, Fehlerbehebung und Einsicht in eventuelle Konfiguratinsprobleme sind weitere Anwendungsmöglichkeiten der Integrated Solutions Console[38]. 4.6 Unterstützte Datenbanksysteme Damit der Application Server die von der Anfrage benötigten Daten verarbeiten und als Anwort wieder an den Webserver weiterleiten kann, benötigt dieser eine zu verwertende und dauerhafte Datenbasis. Diese befindet sich im angekoppelten Datenbanksystem, weche grundsätzlich in zwei Teile untergliedert wird. Das Datenbankmanagementsystem dient dabei als Verwaltungskomponente und regelt nicht nur die interne strukturierte Datenspeicherung, sondern kontrolliert auch alle Lese- und Schreibzugriffe auf die ihr zugrunde liegenden Datenbank. Die Datenbasis beinhaltet die Menge der verwaltenden Daten und ist die eigentliche Datenbank. Die Hersteller bieten zu ihrem Application Server jeweils einen vom Umfang her unterschiedlichen Satz an JDBC-Treibern an, damit dieser sich zu herstellerspezifischen Datenbanksystemen verbinden können. Dies sind in der Regel Typ-4-Treiber, bei denen die JDBC-API-Befehle aus der Java-Applikation heraus direkt in die Datanebankmanagementsystem-Befehle des jeweiligen Datenbankservers übersetzt werden an die Zieldatenbank 4.6 Unterstützte Datenbanksysteme 14 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere übertragen werden. Es können nachträglich weitere JDBC-Treiber hinzugefügt werden. Diese Treiber werden vom jeweiligen Hersteller des gewüschten Datenbanksystems geliefert oder können auch selber entwickelt werden (siehe Anhang 7.4.1). Im folgenden Abschnitt werden zwar die verschiedenen Versionsnummern der unterschiedlichen Datenbanksysteme angesprochen, sie fließen jedoch nicht in die Vergleichsübersicht und Nutzwertanalyse mit ein. GlassFish GlassFish unterstützte laut den Release-Notes von Sun microsystems folgende Datenbanken über dafür bereitgestellte JDBC-Treiber. Derby 10, Oracle 9 und 10, Sybase ASE 15, MS SQL 2005, DB2 8 und 9 und MySQL 5[14][15][3][4]. JBoss Red Hat unterstützt mit JBoss die Datenbanken MySQL, Oracle Datenbanken und Microsoft SQL Server 200x[39]. Weblogic WebLogic unterstützt laut Oracle die Datenbanksysteme IBM DB2 (8.2, 9.1 und 9.5), Microsoft SQL Server (2005), Sybase (12.5 und 15), Oracle (9.2, 10g und 11g), PointBase (5.1 und 5.6) und MySQL (4 und 5)[40]. WebSphere WebSphere kann mit den Datenbaknksystemen IBM DB2 (Version 8, Version 9 und Version 9.1), Derby (10.3), IMS, Informix, Oracle (10g und 11g), Microsoft SQL Server (2005 und 2008) und Sybase (12.5 und 15) kommunizieren[20]. 4.7 Unterstützte Webserver Ein Webserver kann nicht nur Dokumente in Form von HTML an den Webbrowser des anfragenden Clients übertragen, er kann ebenso Anfragen von ihnen entgegennehmen und an den verarbeitenden Application Server weiterreichen. Mit Hilfe eines webservers kann der Application Server nicht nur Clients im lokalen Netzwerk und Intranet sondern auch im weltweiten Internet bedienen. Im folgenden Abschnitt werden zwar die verschiedenen Versionsnummern der unterschiedlichen Webserver angesprochen, sie fließen jedoch nicht in die Vergleichsübersicht und Nutzwertanalyse mit ein. Glassfish Von GlassFish werden standardmäßig folgende Web Server, basierend auf Herstellerangaben, unterstützt: Sun Java System Web Server (32?Bit), Apache Web Server (32?Bit) und Microsoft IIS (32?Bit)[3][4]. JBoss Der JBoss Application Server enthält standardmäßig keine Web Server. Es wird aber ein Web Server basierend auf Tomcat mit dem Namen JBoss Web Server als kostenfreier Download angeboten. Dieser kann nachträglich installiert werden kann[26][41]. WebLogic 4.7 Unterstützte Webserver 15 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere WebLogic kann standardmäßig mit den Webservern Apache HTTP Server (2.0 und 2.2), HP Apache-based Web Server (2.0), Microsoft Internet Information Services (6.0 und 7.0), Sun Java System Web Server (6.1 und 7.0) und Oracle HTTP Server (ab 10.1)[42]. WebLogic ist weiterhin ein voll funktioneller Webserver, der statische Dateien wie HTML und Bilder sowie Servlets und JavaServer Pages bereitstellen kann[43]. WebSphere WebSphere kann zusammen mit einem Webserver auf einer Maschine betrieben werden. Auch der getrennte Betrieb von Webserver und Application Server sind möglich. Als Webserver können in einer Umgebung mit WebSphere Apache HTTP Server (2.0 und 2.2), IBM HTTP Server (Version 6.1 und Version 7.0), Microsoft Internet Information Services (6.0 und 7.0), Lotus Domino Enterprise Server (7.0 und 8.0) und Sun Java System Web Server (6.1 und 7.0) verwendet werden[20]. 4.8 Integrierte Entwicklungsumgebung Eine integrierte Entwicklungsumgebung, kurz IDE genannt, ist ein Programm, welches es ermöglicht, Software und Softwarekomponenten zu entwicklen. Diese IDE kann in Application Servern integriert sein bzw. explizit von diesem unterstützt werden, um dort Java-Applikationen schreiben und direkt in den entsprechenden Application Server einfügen (deployen) zu können. Der Vorteil liegt darin, dass die erstellten Applikationen direkt am Einsatzort auf Funktionalität und Fehler geprüft werden können. GlassFish GlassFish bietet im Standard-Installationspaket keine IDE (Integrated Development Enviroment) an. Es ist aber über kostenlos bereitgestellte Plugins möglich den GlassFish Application Server in Eclipse einzubinden. Dadurch können Applikationen erstellt werden und über das Plugin im Application Server GlassFish veröffentlicht und gestartet werden. Durch das Plugin werden Eclipse 3.4.x Ganymede und Eclipse 3.5.x Galileo unterstützt. Es wird auch ein vorkonfiguriertes Tools Bundle mit dem GlassFish Application Server und Eclipse als IDE als kostenfreier Download angeboten[44]. JBoss Genau wie bei GlassFish, befindet sich keine IDE im Standard-Installationspaket von JBoss. Auch hier gibt es die Möglichkeit, die Entwicklungsumgebung Eclipse mittels der kostenlos erhältlichen JBoss Tools mit JBoss zu verbinden. Die JBoss Tools enthalten das benötigte Plugin. Dabei muss auf die entsprechende Version des JBoss Tools und der von Eclipse geachtet werden, da nur passende Versionen zusammen arbeiten. Laut Herstellerangaben werden die Versionen 3.4.2 und 3.5.0 von Eclipse unterstützt[45][46]. WebLogic Oracle bietet mit dem aktuell verfügbaren WebLogic Workshop 8.1 ein auf Eclipse-basierende IDE an. Diese kann kostenlos auf der Internetseite von Oracle heruntergeladen werden[47]. Bei der Installation von WebLogic wird auf Wunsch eine Eclipse-basierte IDE durch das Oracle Enterprise Pack for Eclipse mit installiert. Dieses Paket beinhaltet eine vorkonfigurierte Version von Eclipse und liefert spezielle Plugins mit, die für die Zusammenarbeit mit WebLogic ausgelegt sind. Dies bietet dem Programmierer die Möglichkeit, Java EE-Applikationen oder Webapplikationen zu entwicklen, auszurollen und testen um sie anschließen an den WebLogic Application Server zu übergeben (siehe Anhang 7.4.1). 4.8 Integrierte Entwicklungsumgebung 16 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere WebSphere IBM bietet zu seinem WebSphere zusätzlich den Rational Application Developer in der version 7.5 an. Im Gegensatz zu WebLogic ist diese IDE nicht im Produktumfang des WebSphere Application Serves enthalten, sondern muss separat bezogen werden. Der Rational Application Developer basiert zwar ebenso auf Eclipse, ist jedoch keine frei herunterladbare Version. Eine Lizenz kostet ab 2.150 Euro. Der Rational Application Developer ist eine um viele Plugins erweiterte Version von Eclipse, die speziell für WebSphere optimiert ist. Auch diese IDE beitet für den Entwickler sinnvolle Erweiterungen, wie z.B. eine lokale Testumgebung, um bereits auf dem Application Server implementierte Applikationen auf Programmfehler und Performanceengpässe zu durchsuchen[48]. Weiterhin können eigene Plugins für Eclipse hinzugefügt werden[49]. 4.9 Vergleichsübersicht Vergleichsübersicht Glassfish JBOSS Konformität von Java EE und deren APIs erfüllt Prozessorarchitekturen Itanium PA-RISC PowerPC SPARC X86 (Intel64/AMD64) System z Betriebssysteme Windows AIX HP-UX i5/OS z/OS Linux Solaris Mac OS Datenbanksysteme DB2 Derby IMS Informix Oracle PostgreSQL Microsoft SQL Server MySQL Server 4.9 Vergleichsübersicht WebLogic WebSphere X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X 17 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere PointBase Sybase Webserver Apache HTTP Server IBM HTTP Server Oracle HTTP Server HP Apache-basierter Web server JBoss Apache-basierter Web Server Microsoft Internet Information Service Lotus Domino Sun Java System Web Server Inbetriebnahme GUI Mode-Installation Console Mode-Installation Silent Mode-Installation Ohne Installation Clustering wird unterstützt Monitoring wird unterstützt Virtual Machine Sun JVM herstellerspezifische VM Integrierte Entwicklungsumgebung enthalten Tabelle 1 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X 5 Nutzwertanalyse 5.1 Begriffsdefinition Die Nutzwertanalyse, auch Nutzwertrechnung genannt, ist ein Verfahren, bei dem für eine Investionsentscheidung von Alternativen bzw. Handlungsmöglichkeiten die nichtmonetäreren Faktoren berücksichtigt werden. Im Gegensatz zur Kosten-Nutzen-Analyse erfolgt hier keine Umrechnung dieser nicht in Geld meßbaren Faktoren in Geldgrößen. Der Vergleich der zur Untersuchung aufgestellten Alternativen wird über die Ermittlung von Nutzwerten in einer übersichtlichen und nachvollziehbaren Form, z. B. wie folgt anhand einer Tabelle oder eines Diagramms, durchgeführt. Eine Nutzwertanalyse bringt einige Herausforderungen mit sich. Zum Einen liegt das Ergebnis einer Nutzwertanalyse stets einer subjektiven Beurteilung zu Grunde. Das bedeutet, dass genau definiert werden muss, 5 Nutzwertanalyse 18 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere welche Kriterien herangezogen werden müssen und wie wichtig diese tatsächlich sind. Weiterhin sollte das Ergebnis einer Nutzwertanalyse nicht allein für eine Präferenz einer Alternative dienen. Es sollten auch die zu untersuchenden Alternativen einer Investitionsrechnung bzw. Kosten-Nutzen-Analyse unterzogen werden. Nur die Nutzwertanalyse und die parallele finanzielle Betrachtung können dann als wichtige Entscheidungshilfe dienen. Daher ist die Nutzwertrechnung ledglich eine erste Unterstützung für eine etwaige Präferenz. Schritte einer Nutzwertrechnung : 1. Untersuchte Kriterien aufstellen 2. Gewichtung der Kriterien in Prozenten festlegen 3. Alternativen in die Wertetabelle integrieren 4. Bewertung der Alternativen nach Punkten 5. Berechnung des Gesamtnutzwertes jeder Alternative 6. Ermittlung der Alternativenrangfolge 7. Eventuelle Gegenüberstellung des Nutzwertes mit den Kosten 5.2 Ergebnisse des technischen Vergleichs Die Ergebnisse des im letzten Abschnitt erfolgten technischen Vergleichs fließen in der nachfolgenden Nutzwertanalyse als Basiswerte ein. Die Gewichtung je Sachverhalt wird mit insgesamt 100% bemessen und entsprechend der darin enthaltenen einzelnen Kriterien aufgeteilt. Wird ein Kirterium erfüllt, erhält die entsprechende Alternative 5 Punkte, wenn sie dies nicht tut, wird 1 Punkt vergeben. Für die Gewichtung der Kriterien wurden diverse Studien einbezogen. So wurden neben den Marktanteilen der verschiedenen Datenbanksystemanbieter auch die Marktanteile der verfügbaren Webserver und Betriebssysteme herangezogen. So gehören Microsoft SQL, Oracle und MySQL zu den Datenbanksystemen mit der größten Verbreitung auf dem Markt[50][51]. Windows ist weltweit das am meisten verwendete Betriebssystem[52]. Bei den Webservern ist der Apache Webserver gefolgt vom Microsoft Internet Information Service und dem Webserver vom Sun am meisten verbreitet[53]. Für die Bewertung der Installationsmethoden flossen rein subjektive Gewichtungen ein, da die Verfasser beruflich mit der Systemadministration vertraut sind. Nutzwertanalyse Gewichtung Glassfish Konformität von Java EE und deren APIs erfüllt Prozessorarchitekturen Itanium PA-RISC PowerPC SPARC x86 (Intel64/AMD64) System z Betriebssysteme Windows AIX HP-UX 5.1 Begriffsdefinition JBOSS WebLogic WebSphere 100% 5 5 5 5 10% 10% 20% 10% 40% 10% 1 1 1 5 5 1 1 1 1 5 5 1 5 5 5 5 5 1 5 5 5 5 5 5 40% 5% 10% 5 5 1 5 1 5 5 5 5 5 5 5 19 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere i5/OS z/OS Linux Solaris Mac OS Datenbanksysteme DB2 Derby IMS Informix Oracle PostgreSQL Microsoft SQL Server MySQL Server PointBase Sybase Webserver Apache HTTP Server IBM HTTP Server Oracle HTTP Server HP Apache-basierter Web Server JBoss Apache-basierter Web Server Microsoft Internet Information Servicer Lotus Domino Sun Java System Web Server Inbetriebnahme GUI Mode-Installation Console Mode-Installation Silent Mode-Installation Ohne Installation Clustering wird unterstützt Monitoring wird unterstützt Virtual Machine Sun JVM herstellerspezifische VM Integrierte Entwicklungsumgebung enthalten Gesamtnutzwert 5.2 Ergebnisse des technischen Vergleichs 5% 5% 20% 10% 5% 1 1 5 5 5 1 1 5 5 1 1 1 5 5 1 5 5 5 5 1 15% 4% 4% 10% 15% 10% 15% 15% 2% 10% 5 5 1 1 5 1 5 5 1 5 5 1 1 1 5 5 5 5 1 5 5 1 1 1 5 1 5 5 5 5 5 5 5 5 5 1 5 1 1 5 30% 10% 10% 5% 5% 20% 10% 10% 5 1 1 1 1 5 1 5 1 1 1 1 5 1 1 1 5 1 5 5 1 5 1 5 5 5 1 1 1 5 5 5 40% 15% 20% 25% 5 5 5 5 1 1 1 5 5 5 5 1 5 5 5 1 100% 5 5 5 5 100% 5 5 5 5 50% 50% 5 1 5 1 5 5 5 5 100% 5 1 5 5 41,71 33,6 45,88 49,42 20 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere 6 Fazit Der berechnete Gesamtnutzwert zeigt, dass der WebSphere Application Server mit 49,42 die meisten Punkte erreichte. Dies lag vor Allem an der breiten Unterstützung von Betriebssystemen und Prozessorarchitekturen. WebLogic lag mit 45,88 Punkten knapp vier Punkte dahinter. Mit gleichem Abstand folgt der Open-Source Application Server GlassFish mit 41,71. JBoss erreichte mit 33,6 Punkten die wenigsten Punkte, was an der geringeren Unterstützung von Prozessorarchitekturen lag. Um einer der oben untersuchten Alternativen den Vorzug zu geben, sind allerdings die uns nicht bekannten Vorbedingungen entscheidend. So wird z.B. ein Unternehmen mit homogener Umgebung aus Sun-Servern eventuell GlassFish von Sun bevorzugen, auch wenn WebLogic, etc. ebenso auf Solaris von Sun lauffähig ist. Weiterhin müssen nachfolgend die tatsächlichen Kosten betrachtet werden, die nicht Teil dieser Hausarbeit sind. Es muss abgegrenzt werden zwischen kleineren oder oder größeren zahlungskräftigeren Unternehmen. Kleine Unternehmen werden eher Open-Source Application Server präferieren. Große Unternehmen mit größerem finanziellem Spielraum greifen aus eigener Erfahrung eher zu kommerziellen Application Servern, je nachdem, wie geschäftskritisch der Einsatz der Application Server stattfindet. So werden bei sehr geschäftskritischen Applikationen die potentiellen Kunden eher WebSphere oder WebLogic mit einem umfangreichen Supportangebot wählen. Bei der Beurteilung der oben verglichenen Alternativen müssen die tatsächlichen Anforderungen berücksichtigt werden, eine generelle Wertung für alle Arten von potentiellen Kunden ist dabei nicht möglich. Beinhaltet z.B. eine Application Server-Lösungen einen markanten Vorteil geneüber den anderen Alternativen und es ist eine Migration auf eine andere Alternative vorgesehen, so müssen auch die Folgekosten für die etwaige Migration betrachtet werden. Weißt z.B. nur WebLogic ein bestimmtes wichtiges Merkmal auf, aber es steht eine Migration zu GlassFish bevor, muss dieses Merkmal, wenn technisch überhaupt möglich, nachentwicklet werden. So bietet, wie oben bereits erwähnt, WebLogic mit dem eigenen Merkmal JRockit ein JDK an, was auf Performance im Serverbetrieb ausgelegt ist. E Fußnoten 1. ? In Anlehnung an: o. V. (2009_1), Adobe Dreamweaver CS3 Benutzerhandbuch 2. ? o. V. (2009_16), Comparing GlassFish Server v2.x and v3 Final 3. ? 3,0 3,1 3,2 3,3 3,4 o. V. (2009_22), Versionshinweise zu Sun GlassFish Enterprise Server v3 4. ? 4,0 4,1 4,2 4,3 4,4 o. V. (2009_23), Versionshinweise zu Sun GlassFish Enterprise Server v2.1.1 5. ? 5,0 5,1 o. V. (2009_17), Installation des Glassfish Application Servers 6. ? 6,0 6,1 6,2 6,3 6,4 Jamae, Javid; Johnson, Peter (2003), S.4 7. ? Vgl. o. V. (2009_6), Oracle WebLogic Server Enterprise Edition 8. ? Vgl. o. V. (2009_7), Preise anzeigen und kaufen 9. ? Vgl. Ebel, Nadin (2005), S.249 ff. 10. ? Vgl. Mark, Artiges; Bhasin, Gurpreet Singh; Ciconte, Bernard; Garland, Malcolm; Govindarajan, Saranathan; Huang, James; Kovilmadam, Subramanian; Mittal, Kunal; Perrone, Paul J.; Schwenk, Tom; Steffen, Steve (2003), S.9. 11. ? Vgl. Ebel, Nadin (2005), S.249 ff. 12. ? Vgl. Gomez, Paco; Zadrozny, Peter (2000), S.18 f. 13. ? 13,0 13,1 13,2 13,3 13,4 o. V. (2005), TheServerSide Application Server Matrix 14. ? 14,0 14,1 14,2 14,3 Vgl. o. V. (2009_20), Sun GlassFish Enterprise Server v3 Administration Guide 15. ? 15,0 15,1 15,2 15,3 Vgl. o. V. (2009_21), Sun GlassFish Enterprise Server v2.1.1 Administration Guide 16. ? Vgl. o. V. (2009_26), JBoss Application Server - Installation And Getting Started Guide 17. ? Vgl. Chugh, Avinash; Mountjoy, Jon (2004), S.3 6 Fazit 21 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere 18. ? Vgl. o. V. (2009_5), Introduction to JRockit SDK 19. ? Vgl. o. V. (2008), Supported Configurations for WebLogic Platform 8.1 20. ? 20,0 20,1 20,2 20,3 20,4 Vgl. o. V. (2009_8), List of supported software for WebSphere Application Server V7.0 21. ? Vgl. o. V. (2009_14), Sun GlasFish Enterprise Server v3 Release Notes 22. ? 22,0 22,1 Vgl. o. V. (2009_28), JBoss Application Platform - Standard 23. ? Vgl. o. V. (2009_26), JBoss Enterprise Application Platform Supported Configurations 24. ? 24,0 24,1 o. V. (2009_2), Oracle WebLogic Server 10g Release 3 (10.3) Certification Matrix 25. ? Vgl. o. V. (2009_15), Sun GlasFish Enterprise Server v3 Installation Guide 26. ? 26,0 26,1 Vgl. o. V. (2009_25), JBoss Application Server - Installation And Getting Started Guide Guide 27. ? Vgl. Heaton, Jeff (2003), S.17 28. ? o. V. (2007a), BEAProducts Installation Guide 29. ? Vgl. o. V. (2009_19), So erstellen Sie einen Cluster 30. ? Vgl. o. V. (2009_18), Clustering in GlassFish Version 2 31. ? Vgl. Adelhardt, Daniel (2007), Clustering Web Applications with GlassFish V2 32. ? Vgl. o. V. (2009_33), JBoss Clustering 33. ? o. V. (2007b), BEAWebLogic Server Using WebLogic Server Clusters 34. ? Vgl. Miranda, Lou; Zuffoletto, Joe (2003), S.631 35. ? Vgl. Schäffer, Stefan; Schilder, Walter (2002), S.48 36. ? Vgl. o. V. (2009_34), Memory and Thread Monitoring 37. ? Vgl. Miranda, Lou; Zuffoletto, Joe (2003), S.584 38. ? Vgl. Gucker, Joachim; Müller, Michael; Rager, Dietmar; Schäffer, Stefan; Schilder, Walter; Thurner, Veronika; Winkler, Dina (2007), S.884 ff. 39. ? Vgl. o. V. (2009_29), JBoss Application Server - Installation And Getting Started Guide 40. ? Vgl. o. V. (2009_3), Supported Configurations for Oracle WebLogic Server, WebLogic Portal and WebLogic Integration 10gR3 (10.3): Supported Database Configurations 41. ? Vgl. o. V. (2009_30), JBoss Web Server User's Guide 42. ? Vgl. o. V. (2009_4), Supported Configurations for Oracle WebLogic Server, WebLogic Portal and WebLogic Integration 10gR3 (10.3): Supported Web Servers, Browsers, and Firewalls 43. ? Vgl. o. V. (2010_2), Configuring and Managing WebLogic Server 44. ? Vgl. o. V. (2009_24), Eclipse 3.4 and GlassFish v3 Prelude integration 45. ? Vgl. o. V. (2009_31), JBoss Eclipse IDE Tutorial 46. ? Vgl. o. V. (2009_32), Eclipse Guvnor Tools Reference Guide 47. ? Vgl. o. V. (2004), BEA WebLogic Workshop Help 48. ? Vgl. o. V. (2009_10), Migrating Applications from WebLogic, JBoss and Tomcat to WebSphere V6 49. ? Vgl. o. V. (2009_9), Rational Application Developer for WebSphere Software 50. ? Vgl. o. V. (2009_12), MySQL Marktanteil 51. ? Vgl. Yuhanna, Noel (2009) 52. ? Vgl. o. V. (2009_13), Operating System Market Share 53. ? Vgl. o. V. (2010_1), January 2010 Web Server Survey 7 Anhang 7 Anhang 22 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere 7.1 Quellenverzeichnis Adelhardt, Daniel (2007) Chugh, Avinash; Mountjoy, Jon (2004) Ebel, Nadin (2005) Gomez, Paco; Zadrozny, Peter (2000) Gucker, Joachim; Müller, Michael; Rager, Dietmar; Schäffer, Stefan; Schilder, Walter; Thurner, Veronika; Winkler, Dina (2007) Heaton, Jeff (2003) Jamae, Javid; Johnson, Peter (2003) Mark, Artiges; Bhasin, Gurpreet Singh; Ciconte, Bernard; Garland, Malcolm; Govindarajan, Saranathan; Huang, James; Kovilmadam, Subramanian; Mittal, Kunal; Perrone, Paul J.; Schwenk, Sun microsystems (Hrsg.), Clustering Web Applications with GlassFish V2, http://blogs.sun.com/dadelhar WebLogic: The Definitive Guide,O'Reilly Media, 1. Auflage, Sebastopol 2004 WebSphere / Domino Workplace Administration, Addison Wesley Verlag, 1. Auflage, München 2005 Professional J2EE Programming with BEA WebLogic Server, John Wiley & Sons, 1. Auflage, Hoboken 20 Webanwendungen mit IBM Rational und IBM WebSphere V6: Effizient entwickeln mit J2EE 1.4, JSF und Bea Weblogic Server 8 For Dummies, Wiley Publishing, 8. Auflage, Hoboken 2003 JBoss im Einsatz. Den JBoss Application Server konfigurieren, Hanser Fachbuch, 1. Auflage, München 20 BEA WebLogic Server 8.1 Unleashed, Sams, 1. Auflage, Toronto 2003 7.1 Quellenverzeichnis 23 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere Tom; Steffen, Steve (2003) Miranda, Lou; Zuffoletto, Joe (2003) o. V. (2010_1) o. V. (2010_2) o. V. (2009_1) o. V. (2009_2) o. V. (2009_3) o. V. (2009_4) o. V. (2009_5) o. V. (2009_6) o. V. (2009_7) o. V. (2009_8) o. V. (2009_9) o. V. (2009_10) o. V. (2009_11) o. V. (2009_12) o. V. (2009_13) o. V. (2009_14) o. V. (2009_15) o. V. (2009_16) o. V. (2009_17) o. V. (2009_18) o. V. (2009_19) o. V. (2009_20) o. V. (2009_21) BEA WebLogic Server Bible Second Edition, Wiley, 2. Auflage, Hoboken 2003 Netcraft (Hrsg.), January 2010 Web Server Survey, http://news.netcraft.com/archives/web_server_survey.h Oracle (Hrsg.), Configuring and Managing WebLogic Server, http://download-llnw.oracle.com/docs/cd/E1 Adobe (Hrsg.), Adobe Dreamweaver CS3 Benutzerhandbuch, http://livedocs.adobe.com/de_DE/Dreamwea Oracle (Hrsg.), Oracle WebLogic Server 10g Release 3 (10.3) Certification Matrix, http://www.oracle.com Oracle (Hrsg.), Supported Configurations for Oracle WebLogic Server, WebLogic Portal and WebLogic In http://download.oracle.com/docs/cd/E13196_01/platform/suppconfigs/configs103/103_over/supported_db. Oracle (Hrsg.), Supported Configurations for Oracle WebLogic Server, WebLogic Portal and WebLogic In http://download.oracle.com/docs/cd/E13196_01/platform/suppconfigs/configs103/103_over/add-ons.html ( Oracle (Hrsg.), Introduction to JRockit SDK, http://download.oracle.com/docs/cd/E13188_01/jrockit/docs1 Oracle (Hrsg.), Oracle WebLogic Server Enterprise Edition, https://shop.oracle.com/pls/ostore/product?p1= IBM (Hrsg.), Preise anzeigen und kaufen, https://www-112.ibm.com/software/howtobuy/buyingtools/paexpress/Express?P0=E1&part_number=D55W (10.01.2010, 22:00) IBM (Hrsg.), List of supported software for WebSphere Application Server V7.0, http://www-01.ibm.com/ IBM (Hrsg.), Rational Application Developer for WebSphere Software, http://www-01.ibm.com/software/a IBM (Hrsg.), Migrating Applications from WebLogic, JBoss and Tomcat to WebSphere V6, http://www.re ARS (Hrsg.), IBM WebSphere Application Server (V7): Gute Neuigkeiten, http://www.ars.de/web/softwar Sun (Hrsg.), MySQL Marktanteil, http://www.mysql.de/why-mysql/marketshare/ (10.01.2010, 10:50) Net Applications (Hrsg.), Operating System Market Share, http://marketshare.hitslink.com/report.aspx?qpr Sun microsystems (Hrsg.), Sun GlasFish Enterprise Server v3 Release Notes, http://dlc.sun.com/pdf/820-76 Sun microsystems (Hrsg.), Sun GlasFish Enterprise Server v3 Installation Guide, http://dlc.sun.com/pdf/82 Sun microsystems (Hrsg.), Comparing GlassFish Server v2.x and v3 Final, https://glassfish.dev.java.net/pu jsf-forum.de (Hrsg.), Installation des Glassfish Application Servers, http://www.jsf-forum.de/forum/pages/ Sun microsystems (Hrsg.), Clustering in GlassFish Version 2, http://developers.sun.com/appserver/referenc fisheye5.atlassian.com (Hrsg.), So erstellen Sie einen Cluster, http://fisheye5.atlassian.com/browse/~raw,r= Sun microsystems (Hrsg.), Sun GlassFish Enterprise Server v3 Administration Guide, http://dlc.sun.com/pd Sun microsystems (Hrsg.), Sun GlassFish Enterprise Server v2.1.1 Administration Guide, http://dlc.sun.com Sun microsystems (Hrsg.), Versionshinweise zu Sun GlassFish Enterprise Server v3, http://dlc.sun.com/pd 7.1 Quellenverzeichnis 24 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere o. V. (2009_22) o. V. (2009_23) o. V. (2009_24) o. V. (2009_25) o. V. (2009_26) o. V. (2009_27) o. V. (2009_28) o. V. (2009_29) o. V. (2009_30) o. V. (2009_31) o. V. (2009_32) o. V. (2009_33) o. V. (2009_34) o. V. (2008) o. V. (2007a) o. V. (2007b) o. V. (2007c) o. V. (2005) o. V. (2004) Schäffer, Stefan; Schilder, Walter (2002) Yuhanna, Noel (2009) Sun microsystems (Hrsg.), Versionahinweise zu Sun GlassFish Enterprise Server v2.1.1, http://dlc.sun.com Sun microsystems (Hrsg.), Eclipse 3.4 and GlassFish v3 Prelude integration, https://glassfishplugins.dev.ja JBoss Community (jboss.org) (Hrsg.), JBoss Application Server - Installation And Getting Started Guide, h Red Hat Middleware, LLC (Hrsg.), JBoss Enterprise Application Platform Supported Configurations, http: Novell, Inc. (Hrsg.), JBoss Enterprise Middleware, http://www.novell.com/products/jboss/sysreqs.html (10 Linux Land International (Hrsg.), JBoss Application Platform - Standard, http://shop.linuxland.de/store/se0 JBoss Community (jboss.org) (Hrsg.), JBoss Application Server - Installation And Getting Started Guide, http://www.jboss.org/file-access/default/members/jbossas/freezone/docs/Installation_And_Getting_Started JBoss Community (jboss.org) (Hrsg.), JBoss Web Server User's Guide, http://labs.jboss.com/file-access/de JBoss Community (jboss.org) (Hrsg.), JBoss Eclipse IDE Tutorial, http://docs.jboss.org/jbosside/tutorial/bu JBoss Community (jboss.org) (Hrsg.), Eclipse Guvnor Tools Reference Guide, http://docs.jboss.org/tools/3 Ordix AG (Hrsg.), JBoss Clustering, http://www.ordix.de/ORDIXNews/3_2007/Java_J2EE_JEE/clustering Red Hat, Inc.(Hrsg.), Memory and Thread Monitoring, http://www.redhat.com/docs/manuals/jboss/jboss-e Oracle (Hrsg.), Supported Configurations for WebLogic Platform 8.1, http://download.oracle.com/docs/cd/ BEA (Hrsg.), BEAProducts Installation Guide, http://download.oracle.com/docs/cd/E13179_01/common/d BEA (Hrsg.), BEAWebLogic Server Using WebLogic Server Clusters, http://download.oracle.com/docs/cd BEA (Hrsg.), BEAWebLogic Server Type 4 JDBC Drivers, http://download.oracle.com/docs/cd/E13222_0 TheServerSide (Hrsg.), TheServerSide Application Server Matrix, http://www.theserverside.com/tt/review BEA (Hrsg.), BEA WebLogic Workshop Help, http://download.oracle.com/docs/cd/E13226_01/workshop/ Enterprise Java mit IBM WebSphere.: J2EE - Applikationen effizient entwickeln, Addison-Wesley, 2. Auf Forrester (Hrsg.), The Forrester Wave?: Enterprise Database Management Systems Q2 2009, http://www.m 7.2 GlassFish Screenshots 7.2 GlassFish Screenshots 25 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere 7.2.1 GlassFish Administration Console GlassFish Administration Console 7.3 JBoss Screenshots 7.3.1 JBoss Web Console JBoss Web Console 7.2.1 GlassFish Administration Console 26 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere 7.4 WebLogic Screenshots 7.4.1 Bei der Installation enthaltene Features Features 7.4.2 Mehrere nutzbare JDKs JDKs 7.4 WebLogic Screenshots 27 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere 7.4.3 Die Administration Console Administration Console 7.4.4 Clustering Maschine/Cluster/Application Server 7.4.3 Die Administration Console 28 Technische_Unterschiede_zwischen_Glassfish,_JBOSS,_WebLogic_und_Websphere 7.5 WebSphere Screenshots 7.5.1 Die Integrated Solutions Console Integrated Solutions Console 7.5.2 Installation als Verwaltungs- oder Anwendungsserver Verwaltungs- bzw. Anwendungsserver 7.5 WebSphere Screenshots 29