Inhaltsverzeichnis 1 Abkürzungsverzeichnis

Werbung
Leistungsanalyse_WebLogic
Name der Autoren:
Patrick Heike (190291), Stephan Kilian (191414)
Titel der Arbeit:
Leistungsanalyse WebLogic
Hochschule und Studienort: FOM Düsseldorf
Inhaltsverzeichnis
• 1 Abkürzungsverzeichnis
• 2 Abbildungsverzeichnis
• 3 Tabellenverzeichnis
• 4 Einleitung
• 5 Grundlagen
♦ 5.1 Begriffsabgrenzung
Applikationsserver
♦ 5.2 Java Virtual Machine (JVM)
♦ 5.3 Oracle Weblogic
• 6 Leistungsanalyse vom Weblogic
♦ 6.1 Funktionsumfang
◊ 6.1.1 Java EE Plattform
◊ 6.1.2 Unterstützte Systeme
◊ 6.1.3 Entwicklung
◊ 6.1.4 Virtualisierung
♦ 6.2 Administration
◊ 6.2.1
Verwaltungsfreundlichkeit
◊ 6.2.2 Migration
◊ 6.2.3 Monitoring und
Diagnosetools
◊ 6.2.4 Backup & Recovery
♦ 6.3 Hochverfügbarkeit &
Skalierbarkeit
◊ 6.3.1 Antwortzeiten
◊ 6.3.2 Ausfallsicherheit
♦ 6.4 Sicherheit
◊ 6.4.1 Unterstützte Protokolle
& Zertifikate
◊ 6.4.2 Authentifizierung,
Authorisierung, Auditierung
♦ 6.5 Wirtschaftlichkeit
• 7 Schlussbetrachtung
• 8 Fußnoten
• 9 Quellenverzeichnis
1 Abkürzungsverzeichnis
Abkürzung
Inhaltsverzeichnis
Bedeutung
1
Leistungsanalyse_WebLogic
ADF
API
CPU
EJB
HTML
HTTP
HTTPS
IIS
JAAS
JACC
JCA
JDBC
JMS
JRA
JSP
JVM
J2EE
LDAP
OEPE
RAD
RMI
SLA
SOA
SSL
SSPI
TCP
TLS
UML
WLS VE
WSRP
Application Development Framework
Application Programming Interface
Central Processing Unit
Enterprise Java Beans
Hypertext Markup Language
Hypertext Transfer Protokoll
HTTP über SSL
Internet Information Server
Java Authentication and Authorization Server
Java Authorization Contract for Container
Java Connector Architecture
Java Database Connectivity
Java Message Service
JRockit Runtime Analyzer
Java Server Pages
Java Virtual Machine
Java 2 Enterprise Edition
Lightweight Directory Access Protokoll
Oracle Enterprise Pack for Eclipse
Rapid Application Development
Remote Method Invocation
Service Level Agreements
Software Oriented Architecture
Secure Sockets Layer
Security Service Provider Interfaces
Transmission Control Protocol
Transport Layer Security
Unified Modeling Language
Weblogic Server Virtual Edition
Web Services for Remote Portals
2 Abbildungsverzeichnis
Abb.-Nr.
1
2
3
4
5
6
7
Abbildung
Logische arbeitsweise Server-Architektur
JVM Überblick
Überblick Weblogic Virtual Edition
Application Loadbalancing
Automatic Fail-over
HTTP Session Replication
Weblogic Security Framework
1 Abkürzungsverzeichnis
2
Leistungsanalyse_WebLogic
8
Authentifizierung mit JAAS Klassen und dem Weblogic Security Framework
3 Tabellenverzeichnis
Tab.-Nr.
Tabelle
1
Überblick und Beschreibung der Java EE Module
2
Weblogic Kompatibilitätsmatrix
4 Einleitung
In der vorliegenden Fallstudie wird eine Leistungsanalyse des Oracle WebLogic Applikationsserver
vorgenommen. Sie entsteht im Fach Fallstudie I bei Herrn Prof. Dr. Kern an der Fachhochschule für Ökonomie
und Management am Studienstandort Düsseldorf.
Bis Ende der 90er Jahre stellten Applikationsserver nur einzelne, unabhängige Anwendungen zur Verfügung. In
den vergangenen Jahren haben sich ihre Funktionen erheblich erweitert und verändert. Heute sind sie aus
Geschäftsprozessen von Unternehmen nicht mehr wegzudenken. Ihre Integration ist so verstrickt, dass ein Ausfall
eine Firma in den Bankrott stürzen könnte.[1] Applikationsserver bilden mittlerweile die Basis von
betriebswirtschaftlichen Informationssystemen sog. Enterprise Applikationen. Sie stellen ihren Benutzern Dienste
und Anwendungen aller Art bereit und erlauben die Integration verschiedenster Plattformen durch offene
Standards. Durch ihre Schnittstellen können verschiedene Informationen von unterschiedlichen Anwendungen
und Systemen genutzt werden. Die Wichtigkeit, die Applikationsserver in der heutigen Zeit haben, machen die
Anforderungen an sie teilweise extrem hoch. Die bereitgestellten Dienste dürfen nicht ausfallen und müssen vor
unberechtigtem Zugang geschützt werden. Zusätzlich muss das System flexibl, erweiterbar und administrierbar
sein. Die Systemverantwortlichen in den Unternehmen müssen aus einer Vielzahl von unterschiedlichsten
Applikationsserver wählen. Faktoren wie Funktionsumfang, Leistungen und Kosten sind dabei wichtige messbare
Kriterien.
Die vorliegende Leistungsanalyse liefert eine unabhängige Bewertung des Applikationsservers Oracle Weblogic.
Eine technische und wirtschaftliche Analyse stellen die Details dieser Bewertung dar. Sie wird durch eine
theoretische Betrachtung der von Oracle angegebenen Funktionen durchgeführt. Ein Praxistest ist nicht
vorgesehen. Die verschiedenen Funktionalitäten werden aus den Sichten des Entwicklers, des
Systemadministrators und des Unternehmens bewertet.
Zur Darstellung der Analyse ist die Fallstudie in unterschiedliche Schwerpunkte gegliedert: Zu Beginn werden
Grundlagen geklärt, womit verschiedene Begrifflichkeiten dieser Arbeit definiert und abgegrenzt werden. Nach
den Grundlagen wird der Funktionsumfang sowie die Administration erläutert. Darauf aufbauend wird
Hochverfügbarkeit und Sicherheit im Detail erklärt und anhand von mehreren Grafiken dargestellt. Nachdem alle
Informationen erklärt sind wird die Wirtschaftlichkeitsanalyse für Weblogic basieren auf theoretischen
Sachverhalten erstellt und kritisch betrachtet.
5 Grundlagen
2 Abbildungsverzeichnis
3
Leistungsanalyse_WebLogic
5.1 Begriffsabgrenzung Applikationsserver
Abbildung 1: Logische Arbeitsweise Server-Architektur[2]
Ein Applikationsserver ist eine Middleware Komponente eines Servers, der für die Lauffähigkeit und
Administration von Anwendungen konzipiert ist. Diese Komponente bildet die Schnittstelle zwischen
Anwendung und Infrastruktur, sowie dem Betriebssystem.
Die Abbildung 1 zeigt wie der Applikationsserver in eine Client Server Architektur eingebunden ist. Die
nachfolgenden Schritte beschreiben die Arbeitsweise des Applikationsservers innerhalb der Client-/
Server Architektur.
(A) 1. Schritt
Der Benutzer fordert via Webbrowser eine dynamische Webseite an.
5.1 Begriffsabgrenzung Applikationsserver
4
Leistungsanalyse_WebLogic
(B) 2. Schritt
Auf dem Webserver wird entschieden, dass es sich um eine Anfrage an eine dynamische Seite handelt, so
dass diese direkt an den Applikationsserver übergeben wird.
(C) 3. Schritt
Der Applikationsserver analysiert und verarbeitet die Anfrage.
(D) 4. Schritt
Der Applikationsserver sendet eine Abfrage an den Datenbanktreiber. Es gilt zu beachten, dass es sich bei
der Abbildung um eine logische Darstellung handelt. Der Datenbanktreiber wird in den
Applikationsserver konfiguriert und befindet sich i.d.R. auf dem gleichen Server.
(E) 5. Schritt
Über den Datenbanktreiber wird die Abfrage an die Datenbank gestellt.
(F) 6. Schritt
Auf dem Datenbankserver wird die Anfrage des Applikationsservers (Datenbanktreibers) verarbeitet und
der Ergebnisdatensatz an den Datenbanktreiber zurückgegeben.
(G) 7. Schritt
Dieser Datenbanktreiber gibt die Antwort an den Applikationsserver weiter.
(H) 8. Schritt
Mit den gelieferten Daten aus der Datenbank stellt der Applikationsserver die Webseite dynamische
zusammen und gibt diese zurück an den Webserver.
(I) 9. Schritt
Der Webserver fügt ggf. noch statische Dateien in die Antwort ein und sendet diese zurück an den
Webbrowser.
5.2 Java Virtual Machine (JVM)
Abbildung 2: JVM Überblick[3]
Die Java Virtual Machine ist die Laufzeitumgebung für die Ausführung von Java Anwendungen. Sie
dient als Schnittstelle zwischen Java Programm und Maschine/ Betriebssystem. Bekannte JVMs sind die
von SUN Microsystems (z.B. Java Enterprise Edition) sowie die speziell für den Einsatz unter Weblogic
5.2 Java Virtual Machine (JVM)
5
Leistungsanalyse_WebLogic
optimierte JRockit JVM von Oracle.[4]
Durch den Einsatz der JVM sind Anwendungen, die in Java programmiert sind Plattform unabhängig, da
diese Programme eine JVM als Laufzeitumgebung benötigen und diese unter den verschiedenen
Betriebssystemen mit Ausnahme von Kleinigkeiten, gleich sind.[5]
JRockit[6] ist eine hoch performante Laufzeitumgebung, die darauf ausgelegt ist, die folgenden Merkmale
für Java Anwendungen bereit zu stellen:
◊ Ausfallsicherheit
◊ Skalierbarkeit
◊ Managebarkeit
◊ Flexibilität
Alle Java Virtual Machines müssen sich an die von SUN Microsystems vorgegebenen JVM
Spezifikationen richten, die unter folgendem Link zu finden sind:
http://java.sun.com/docs/books/vmspec/2nd-edition/html/Introduction.doc.html#3057
5.3 Oracle Weblogic
Der Oracle WebLogic Server ist einer der am meist zum Einsatz kommenden Applikationsserver in der
Middleware[7]. Entwickelt wurde der Applikations Server unter der US-amerikanischen Softwarefirma
BEA Systems, die im Januar 2008 von der Oracle Corporation aufgekauft wurde.[8]
Der WebLogic Server basiert auf der Java 2 Enterprise Edition Plattform (J2EE). Als Applikationsserver
ist er bekannt für ein hohes Maß an Skalierbarkeit für den Einsatz von verteilten Anwendungen, die zur
modernen Erstellung von sog. Service-orientierte Architekturen (SOA) dienen. SOA ist ein
Design-Ansatz der es ermöglicht Teilkomponenten von Anwendungen anderen Anwendungen
bereitzustellen und wiederzuverwenden.[9]
Durch die vollständige Umsetzung der J2EE-Spezifikationen bietet der WebLogic Server ein großes
Standart-Set von Java-Anwendungsmodulen (APIs). Dadurch können die Entwicklungszeiten von
Java-Anwendungen drastisch reduziert werden. Des Weiteren stellt der Weblogic Server alle wichtigen
Komponenten eines Applikationsservers bereit, dies wären u.a. eine Laufzeitumgebung für Java
Applikationen, Anwendungen für die Systemadministration und Überwachung, Entwicklungswerkzeuge,
sowie Tools für die Skalierbarkeit und Hoch Verfügbarkeit von Middleware Anwendungen.[10]
Der Weblogic Server wird in drei Produktkategorien angeboten[11]:
◊ Oracle WebLogic Server Standard Edition
Die Standart Edition ist die Einstiegsversion. Sie beinhaltet den WebLogic Server und einige
Tools zur Anwendungsentwicklung, wie z.B. das Oracle Application Development Framework
(ADF) und das Oracle Enterprise Pack für Eclipse.[12]
◊ Oracle WebLogic Server Enterprise Edition
Die Enterprise Edition bietet zusätzlich zur Standart Edition Tools für die Hochverfügbarkeit und
Skalierbarkeit (Oracle WebLogic Clustering) an. Und verfügt zusätzlich über ein eigenes
Diagnose Tool für den WebLogic Server (Oracle Enterprise Manager Diagnostics Pack for Oracle
Middleware)[13]
◊ Oracle WebLogic Suite
5.3 Oracle Weblogic
6
Leistungsanalyse_WebLogic
Die WebLogic Suite beinhaltet den größten Funktionsumfang der Weblogic Produktreihe.
Zusätzlich zur Enterprise Editionen gehören folgende Tools: Oracle Coherence Enterprise
Edition(Grid-Computing), Oracle Enterprise Manager Management Pack for Coherence, Oracle
WebLogic Real Time (JRockit), Oracle Internet Application Server und Oracle WebLogic
Operations Control.[14]
Der im November 2009 neuveröffentlichte Oracle WebLogic Server 10.3.2 ist Teil der Oracle Fusion
Middleware 11g Strategie, die eine komplette Produktfamilie im Middleware-Bereich anbietet. Durch den
weiteren Zukauf der Firma Sun Microsystems im April 2009 wird Oracle seine
Middleware-Produktfamilie weiter ausbauen können. Sun Microsystem entwickelt die
Programmiersprache Java und den Open-Source-Applikationsserver "SUN GlassFish".
Einen Überblick der Oracle Fusion Middleware Produktfamilie ist unter folgendem Link zu finden:
http://www.oracle.com/appserver/appserver_family.html
6 Leistungsanalyse vom Weblogic
6.1 Funktionsumfang
Der Leistungsumfang eines Applikationsservers ist mit den verbunden Kosten für Lizenzen und Wartung
ein entscheidendes Kaufkriterium. Der WebLogic Server bietet laut führenden
IT-Marktforschungsunternehmen mit den größten Umfang an Funktionen und Einsatzbereichen. Große
Potenziale werden vor allen Dingen bei Cloud Computing und Virtualisierung gesehen[15].
6.1.1 Java EE Plattform
Durch die integrierte Java Plattform 2 Enterprise Edition-Spezifikation (J2EE oder auch Java EE)
stellt der WebLogic Server die Infrastruktur der Laufzeitumgebung bereit. Dadurch werden in
Java programmierte Anwendungen läuffähig. J2EE Anwendungen sind modular aufgebaut. Somit
können Teilkomponenten an anderen Stellen wiederverwendet werden. Der WebLogic Server
stellt eine Vielzahl von J2EE-Modulen von Haus aus bereit. Dadurch stehen viele
Anwendungseigenschaften automatisch ohne großen Programmieraufwand bereit, dadurch
können Entwicklungszeiten drastisch reduziert werden.[16]
In der nachstehenden Tabelle sind die wichtigsten Java-EE-Module im Bezug auf den WebLogic
Server aufgelistet:
Modul
Enterprise Java Beans (EJB)
6 Leistungsanalyse vom Weblogic
Beschreibung
Die Enterprise Java Beans sind eine standartisierte
Java-Komponenten-Bibliothek. Die Spezifikation beinhaltet
einen großen Umfang an Standartfunktionen die in
Anwendungen zum Einsatz kommen (u.a. Datentypen,
Lebenszyklen der Komponenten, Rollenverteilung). Die EJB
werden in drei Gruppen unterteilt:
• Modules-entity-Beans (Verarbeitung von modularen
persistenten Datenobjekten)
7
Leistungsanalyse_WebLogic
Java Server Pages (JSP)
J2EE Connector Architecture
(JCA)
Java Message Service (JMS)
Java Database Connectivity
(JDBC)
• Session-Beans (Verarbeitung von zustandsbehaftet oder
zustandslosen Objekten)
• Message-driven-Beans (Verarbeitung von
JMS-Nachrichten)
Der WebLogic Server stellt für die Laufzeit von EJB-Objekten
einen EJB-Container bereit, dieser verwaltet das Objekt während
des gesamten Objektlebenszyklus. Er speichert die
verschiedenen Zustände und ist die Schnittstelle zwischen dem
Client und dem Server. Der Container stellt die eigentliche
Middleware-Komponente dar.[17]
JSPs sind für die Erstellung von dynamischen Webseiten
geeignet. Der WebLogic Server stellt wie bei den EJB-Objekten
einen Container für die Laufzeit von Servlets bereit. Die
JSP-Dateien werden vom sogennanten Web-Container
automatisch in Java-Servlets umgewandelt.[18]
Eine weitere wichtige Schnittstelle sind die Java Connector
Module, bzw. die J2EE Connector Architecture. Sie bieten eine
API zur Integration von heterogenen Anwendungen an, d.h. zu
Fremdsystemen wie z.B. ein SAP-System. Für die JCA stellt der
WebLogic Server einen eigenen JCA-Container bereit, beidem
andere Restriktionen gelten als bei dem EJB-Container.[19]
Der Java Message Service ist eine Programmierschnittstelle für
die Verarbeitung von Objektnachrichten. Der WebLogic Server
stellt hierfür den JMS-Provider bereit, der für die Verwaltung der
Nachrichten in der Warteschlange verantwortlich ist.[20]
Die Java Database Connectivity ist eine universelle Schnittstelle
für den Verbindungsaufbau und Datentransfer zu Datenbanken.
Derzeit werden über 200 Datenbankmanagementsysteme
unterstützt. Der WebLogic Server verwaltet die
Datenbankverbindungen in dem JDBC-Container.[21]
Tabelle 1: Überblick und Beschreibung der Java EE Module
Die Tabelle stellt nur einen Teilbereich der Java-EE Module vor, die Komplette Java-EE
Spezifikation kann unter folgendem Link nachgelesen werden: http://java.sun.com/javaee/
6.1.2 Unterstützte Systeme
Der WebLogic Server unterstützt in der aktuellen Version 11g (10.3.2) eine vielzahl an Betriebs-,
Datenbanken- und Webserver-Systemen. Die folgende Tabelle verschafft einen Überblick:[22]
Art
Betriebssysteme
System
HP-UX
Linux
Solaris
Windows
Oracle DB Server und Oracle Real Application Cluster
6.1.1 Java EE Plattform
Datenbanksysteme
8
Leistungsanalyse_WebLogic
IBM DB2
Microsoft SQL Server
MySQL Server
Sybase
u.a. JDBC-kompatible DBMS.
Webserver
Apache
Microsoft Internet Information Services (IIS)
Oracle HTTP Server
Sun Java System Web Server
Tabelle 2: Weblogic Kompatibilitätsmatrix
6.1.3 Entwicklung
Wie im Kapitel 5.1.1 beschrieben integriert der WebLogic Server die Java EE Spezifikation.
Java-EE ist die Standart-Plattform für die Entwicklung von Multi-Tier-Enterprise-Anwendungen
in der Programmiersprache Java. Der Oracle stellt zu dem WebLogic Server den kostenlosen
JDeveloper als integrierte Java-Entwicklungsumgebung bereit[23]. Dieser beinhaltet auch das
Oracle Application Development Framework (ADF), das ein komplettes Java-Framework für die
kommerzielle Entwicklung von Enterprise Applications bereit hält. Durch das ADF können
Funktionen schnell erzeugt werden, die sonst zu einem hohen Entwicklungsaufwand führen
würden. Es unterstützt somit das Rapid Application Development (RAD). Des Weiteren
beinhaltet der JDeveloper folgende Werkzeuge:
• Quellcodeeditor mit Quelltextformatierungsfunktion
• Compiler bzw. Interpreter
• Linker
• Debugger
• Tools für den Entwurf und das Design von objektorientierten Anwendungen (basierend
auf UML)
• Tools für die Programmcodeoptimerung
• Werkzeuge für die Inbetriebnahme (Deployment)
Somit stellt der JDeveloper eine vollständige Entwicklungsumgebung zur Verfügung. Wem der
JDeveloper nicht genügt kann zu der ausgereiften Open-Source-Entwicklungsumgebung Eclipse
greifen. Auch hierfür bietet der WebLogic Server ein kostenloses Plug-In-Set mit dem Namen
"Oracle Enterprise Pack for Eclipse (OEPE)" an. Das Set besteht aus zertifizierten Werkzeugen
und Funktionen spezialisiert für die Entwicklung für Java-Anwendungen, die später auf einem
WebLogic Server laufen sollen.
Für die reine Entwicklung stellt Oracle eine kostenlose Entwicklungsversion von dem WebLogic
Server bereit, optional können der JDeveloper und die Oracle Enterprise Komponenten für
Eclipse installiert werden.
Die WebLogic Entwicklungsversion kann unter folgendem Link heruntergeladen werden:
http://www.oracle.com/technology/software/products/middleware/index.html
6.1.2 Unterstützte Systeme
9
Leistungsanalyse_WebLogic
6.1.4 Virtualisierung
Applikationsserver sind das Hauptziel der Virtualisierung. In einer Forrester Umfrage haben sich
197 Verantwortliche des Enterprise-Bereichs aus Nordamerika und Europa dafür ausgesprochen,
in den nächsten 12 Monaten auf Virtualisierung bei x86 Servern umzusteigen. In der Umfrage
machte das 71% aus.[24]
WebLogic unterstützt Virtualisierung mit einer eigenen WebLogic Server Virtual Edition (WLS
VE). Die WLS VE benötigt kein Betriebssystem sondern nur einen Hypervisor (VMware ESX).
Durch LiquidVM (LVM) hat die WLS VE direkt die benötigten Tools. Eine eigene JVM ist nicht
nötigt, sie ist Teil der LVM.
Abbildung 3: Überblick WebLogic Virtual Edition
6.2 Administration
Die System-Administration eines Applikationsservers umfasst Aufgaben wie das Erstellen und Verwalten
von Server-Umgebungen (Domains), die Bereitstellung von Anwendungen, Migration von Anwendung,
Überwachung und Konfiguration der Server-Umgebungen, und die Diagnose und Behebung von
Problemen. Der WebLogic Server bietet viele Werkzeuge für Systemadministratoren, die dabei helfen
diese Aufgaben zu bewältigen. Im Folgenden wird auf einige Tools näher eingegangen.
6.2.1 Verwaltungsfreundlichkeit
Häufig verwalten Administratoren mehr als nur ein System. Gerade für komplexe Systeme ist die
Verwaltungsfreundlichkeit wichtig, um Konfigurationen, Updates und Applikationsverwaltung
erfolgreich durchführen zu können. Dafür bietet der WebLogic Server eine webbasierte grafische
Administrationskonsole an (WebLogic Administration Console). Mit der WebLogic
6.1.4 Virtualisierung
10
Leistungsanalyse_WebLogic
Administration Console lassen sich mehrere WebLogic Umgebungen (WebLogic-Domains)
zentral verwalten. Eine WebLogic-Domain ist eine logische Gruppe für die Verwaltung von ein
oder mehrere Weblogic-Server-Instanzen, die auch als Cluster für eine Hoch Verfügbarkeit
ausgelegt werden können. Bei mehreren Weblogic Instanzen bzw. Umgebungen wird die
Administration Console meistens auf einem eigenen Administrations-Server installiert, der als
zentraler Verwaltungs-Server konfiguriert wird. Die Weblogic-Instanzen die unter der Ophut des
Verwaltungsserver stehen werden als Managed-Server bezeichnet. Sie besitzen keine eigene
Administrations-Konsole. Durch das Aufsetzen eines zentralen Verwaltungsservers sind keine
weiteren Aktivitäten auf den einzelnen WebLogic-Instanzen mehr nötig. Aktivitäten wie das
Einspielen von neuen Softwarepaketen (Deployments) können parallel auf allen Systemen
durchgeführt werden. Dies spart eine Menge an Zeit und Verwaltungskosten.[25]
Die Administrations-Konsole stellt u.a. folgende Dienste bereit:
• Konfigurieren, starten und stoppen von WebLogic-Server-Instanzen
• Konfigurieren der WebLogic Server-Dienste, wie z.B. Java Database Connectivity
(JDBC) und Java Messaging Service (JMS)
• Konfigurieren der Sicherheit, einschließlich der Verwaltung von Benutzern, Gruppen,
Rechten und Rollen
• Konfigurieren und Bereitstellen der Middleware-Anwendungen
• Planung und Überwachung der Server-Ressourcen.
• Überwachen der Applikationen und der Bereitstellung (Performence)
• Anzeige der Server- und Domain-Log-Dateien (Diagnosetools)
• Planen und durchführen von Deployments
6.2.2 Migration
Der Begriff Migration kann man bei einem WebLogic Server in zwei verschiedene Bereiche
aufteilen, zum einen kann man von der Migration von Anwendungen sprechen, die von einem
bestehenden Fremdsystem auf eine WebLogic Instanz migriert werden soll. Oder man spricht von
der Migration von Services die auf Weblogic-Instanzen laufen und in einem Fehlerfall auf einer
neuen WebLogic Instanz mit all ihren Funktionen migriert werden.
Die Applikationsmigration kann durch die große Anzahl an unterstützten Betriebssystemen (vgl.
Unterstützte Systeme) und Datenbankmanagementsystemen, sowie dem Einsatz der
betriebsunabhängigen Programmiersprache Java ohne weites auf einen WebLogic Server
passieren. Für Applikationen die in anderen Programmiersprachen als Java entwickelt sind, gibt
es professionelle Tools von Drittanbietern, die es den Programmierern erlauben den Code von
einer Programmiersprache in die Andere umzuwandeln. Allerdings bleibt es häuftig nicht erspart
den gesamten Anwendungsumfang danach genauestens zu testen. In einigen Fällen ist die
Neuentwicklung von Teilfunktionen erforderlich.
Für die Migration von Services die auf laufenden Weblogic Instanzen laufen, und auf andere
WebLogic Instanzen migriert werden sollen, bietet der WebLogic Server eine automatische
Service Migration an. Um das Verständnis dieser Funktion zu verstehen muss man zwischen
Singelton-Services und Clustered-Services unterscheiden. Singleton-Services sind Funktionen
oder Anwendungen, die nur auf einem Knoten in einem Cluster zur Verfügung stehen.
Währenddessen Clustered-Services auf allen Cluster-Knoten ihre Arbeit verrichten. Manche
Servcies können aus "Quality of Service" (QoS) Gründen nicht auf mehreren Knoten gleichzeitig
laufen, da dies zum Beispiel zu Dateninkonsistenz oder Peformencebeeinträchrtigungen führt.[26]
6.2.1 Verwaltungsfreundlichkeit
11
Leistungsanalyse_WebLogic
Ein Beispiel für einen Singleton-Service ist der Java Messaging Service (JMS), der für das
Senden und Emfangen von Nachrichten von und zum Client verantwortlich ist. Es ist
öffensichtlich das zum Beispiel Änderungen in einem Datenbankeintrag oder im Dateisystem nur
von einem Prozess aus durchgeführt werden können. Jedoch beeinträchtigt ein Singleton-Service
im Fehlerfall die Verfügbarkeit des gesamten Services. Die WebLogic Instanz mit dem
Singleton-Service stellt also einen "Single-Point-of-Failure" dar. D.h. sobald die Instanz wegfällt
hat das Auswirkungen auf den gesamten Service.[27]
Um dieses Problem zu beheben, bietet der WebLogic Server eine Lösung namens "Automatic
Service Migration"[28]. Die Automatische Service Migration im Weblogic ist ein Prozess der bei
einem Ausfall einer Weblogic Instanz bestimmte Services ("Service Migration") oder die gesamte
Instanz ("Whole Server Migration") auf eine andere physikalische WebLogic-Instanz automatisch
überträgt[29].
6.2.3 Monitoring und Diagnosetools
Die Überwachung eines Systems im produktiven Betrieb ist wichtig für das Garantieren von
Erreichbarkeit und Leistung. Fehler oder Resourcenengpässe können durch geeignete Tools
automatisch im Vorfeld oder beim Eintreten einer Störung erkannt werden. Moderne
Monitoringtools überwachen ein System permanent und geben automatisch durch ein gekoppeltes
Ticketsystem dem Administrator Auskunft durch eine erste Fehleranalyse. Es können
verschiedene Kategorien wie Performence und Verfügbarkeit, sowie verschiedene Prioritäten
festgelegt werden. Wenn z.B. eine von 10 Transaktionen fehlschlägt sollte dies eine andere
Priorität haben, als wenn 9 von 10 fehlschlagen. Die Priorisierung gibt dem Administrator
Auskunft über die Dringlichkeit der Störungsbehebung. Meist sind diese durch sogenannte
Service Level Agreements (SLA) vertraglich geregelt. Des Weiteren kann unterscheiden werden
ob ein Netzwerk-, Hardware-, Betriebssystem- oder Anwendungsspezifisches Problem vorliegt.
Denn für die genannten Kategorien sind auch oftmals verschiedene Administratoren zuständig.
Die Überwachung von Systemen wird in den meisten Fällen hierarchisch eingerichtet:
1. Überwachung der IT-Infrastruktur (Zutrittsüberwachung zum
Rechenzentrum/Serverräumen, Firewalls, Netzwerküberüberwachung, Klima- &
Stromüberwachung)
2. Überwachung der Hardware (CPU-Temperatur, Festplatten, Arbeitsspeicher etc.)
3. Überwachung des Betriebssystems (Allgemeine Überwachung, Antiviren-Software)
4. Überwachung der Anwendungen und Services (z.B. WebLogic Server)
Für die letzte Ebene stellt der WebLogic Server von Haus aus Monitoring und Diagnosetools
bereit, die hier kurz vorgestellt werden:
• Benutzung der WebLogic Administration Console
Die Administrationskonsole bietet ein einfaches Tool um die Verfügbarkeit und Leistung
des WebLogic zu kontrollieren. Hierbei können alle WebLogic Server von einer
WebLogic Domain beobachtet werden. Es werden alle wichtigen Leistungsparameter wie
u.a. CPU- und Memoryauslastung, sowie Anwortzeiten des WebLogic-Servers
dargestellt.
• Benutzung des Oracle Enterprise Manager
6.2.2 Migration
12
Leistungsanalyse_WebLogic
Der Oracle Enterprise Manger[30] ist ein ausgereiftes Tool, das es erlaubt alle Produkte
die unter der Oracle Fusion Middleware Produktgruppe zu finden sind zentral zu
administrieren und organisieren. Er beinhaltet alle Funktionen der Weblogic
Administration Console, und macht Sie für die Administratoren überflüssig. Durch das
Erweiterungspaket "Oracle Enterprise Manager Diagnostics Pack for Oracle
Middleware", das ab der Oracle WebLogic Enterprise Edition im Produktumfang
enthalten ist, wird der Enterprise Manager durch umfangreiche und professionelle
Diagnose und Monitoring Tools spezifisch für den WebLogic erweitert.[31]
• Benutzung der WebLogic Logging Services
Eine weitere Art für die Diagnose von Problemen ist das Auswerten von Log- und
Protokoll-Dateien. Der WebLogic Logging Service erlaubt das Einrichten von
verschiedenen Logging-Arten auf den unterschiedlichen WebLogic-Ebenen. Es kann
eingestellt werden welches Modull protokolliert werden soll und in welchem Detailgrad
(Loglevel) die Protokollierung stattfinden soll. Ein hohes Logging-Level erzeugt eine
hohe I/O-und-CPU-Last, die zu schlechteren Antwortzeiten der Applikation führen kann.
Ein hohes Loglevel sollte deshalb nur im Fehlerfall aktiviert werden. Die Protokollierung
von Zugriffen sollte aus Sicherheitsgründen generell aktiviert sein, dies kann auch von
gesetzlichen Bestimmungen abhängen. Deshalb gilt: So wenig wie möglich, so viel wie
nötig. [32]
6.2.4 Backup & Recovery
Für jeden professionellen betriebenen Service sollte es eine Backup und Recovery Strategie
geben. Die besagt das in regelmäßigen Abständen Sicherungen von den Systemen gefahren
werden. Für den WebLogic Server gibt es keine allgemeingültige Backup- und Recovery
Strategie. Die Sicherung kann sowohl offline als auch online erstellt werden. Bei einer
Offline-Sicherung müssen die Dienste gestopt werden, damit die Dateien wärend der Sicherung
nicht verändert werden können. Desweiteren kann die Sicherung im Full- oder
Incrementell-Backup-Mode stattfinden. Bei einem Full-Backup eine komplette Sicherung erstellt.
In der Regel wird nach einer Erstinstallation eines Systems ein Full-Backup gefahren und danach
auf den Incrementell-Backup-Mode umgestellt. Durch die Umstellung verringert sich die
Sicherungszeit erheblich, da eine inkrementelle Sicherung nur den Datenbestand sichert, der sich
seit dem Zeitpunkt der letzten Sicherung verändert hat. Der Nachteil an diesem Verfahren ist,
dass die volle Sicherung und alle inkrementellen Sicherungen für eine Systemwiederherstellung
(Recovery) vorhanden sein müssen. Aus Kosten- und Zeitgründen bei der Wiederherstellung
sollten deshalb in regelmäßigen Abständen volle Sicherungen durchgeführt werden. Generell
sollte man vor dem Einspielen einer neuen Version oder Softwarekomponente ein Full-Backup
durchführen. Bei dem WebLogic Server reicht ein Backup auf Betriebssystem- und
Dateisystemebene. Im Folgenden werden einige Backup Senarios vorgestellt[33]:
• Backup nach der Installation und Konfiguration einer Weblogic Server Domain
Beschreibung: Sicherung von allen statischen Dateien die im Weblogic
Home-Verzeichnis liegen.
Art: Offline Sicherung im Full-Backup-Mode
• Regelmäßiges Backup
Beschreibung: Sicherung von allen laufzeitbezogenen Verzeichnissen.
Art: Online Sicherung im Incrementell-Backup-Mode
• Vor und nach Änderungen einer Konfiguration oder eines Deployments
Beschreibung: Sicherung von allen statischen und laufzeitbezogenen Dateien.
6.2.3 Monitoring und Diagnosetools
13
Leistungsanalyse_WebLogic
Art: Online Sicherung im Full-Backup-Mode
• Vor und nach Patch- & Servicepack Installationen
Beschreibung: Sicherung des gesamten Servers.
Art: Offline Sicherung im Full-Backup-Mode
Weitere Backup und Recovery Senarien für den WebLogic Server sind unter folgendem Link zu
finden: http://www.oracle.com/technology/deploy/availability/pdf/maa_wp_wls_br_scenarios.pdf
6.3 Hochverfügbarkeit & Skalierbarkeit
Eine der grundlegenden Voraussetzungen um ein System zuverlässig betreiben zu können ist
Verfügbarkeit. Hochverfügbarkeit steht für Sicherstellung der Geschäftsabläufe durch ein weitestgehend
reibungsloses Funktionieren der IT-Infrastruktur. Je besser ein Unternehmen auf einen gravierenden
Systemausfall vorbereitet ist, desto geringer ist die Gefahr auf schwerwiegende Folgen. Der
unterbrechungsfreie Geschäftsablauf ist für Unternehmen heute ein entscheidender Wettbewerbsfaktor.
Dabei gibt es weit mehr Ursachen für einen Ausfall als die häufig genannten Viren und Würmer. Eine
Rolle spielen auch Hardware-Fehler, unausgereifte Software und menschliches Versagen. Stromausfälle
und Brände, Diebstahl, Sabotage, Stürme und Hochwasser stellen ebenfalls ein Risiko für
Rechnersysteme und Daten dar. Verfügbarkeit und Hochverfügbarkeit, Fehlertoleranz und SPOFs (Single
Point of Failure) sind Begriffe, die im Umfeld hochverfügbarer Systeme eine grundlegende Rolle spielen.
Stehen die für den Geschäftsprozess notwendigen Daten und Funktionen nicht mehr zur Verfügung
funktioniert die gesamte Prozessabwicklung nicht mehr. Je höher der Grad an Technisierung eines
Prozesses ist, desto wichtiger ist daher die Systemverfügbarkeit. Hochverfügbarkeit ist die Fähigkeit eines
Systems, trotz Ausfall seiner Komponenten mit einer hohen Wahrscheinlichkeit einen ununterbrochenen
Betrieb zu gewährleisten.
Neben der Hochverfügbarkeit spielt die Skalierbarkeit eine entscheidene Rolle. Systeme die
hochverfügbar laufen sollen müssen auch skalierbar sein. Durch Skalierbarkeit von Systemen wird deren
Performance verbessert, da die Last über mehrere physikalische Komponenten verteilt wird. Erst bei
schlechter Performance nimmt der Benutzer diese wahr.
Je höher die Verfügbarkeit eines Systems sind, desto höher sind auch die Kosten, da u.a. Hardware
Komponenten doppelt angeschafft werden müssen. Ziel muss es daher sein, ein System mit gegebenen
Anforderungen und gegebenem Budget so Hochverfügbar und Skalierbar wie möglich zu machen.
Weblogic unterstützt den Systemverantwortlichen mit unterschiedlichen Features diese Ziele zu
erreichen.
6.3.1 Antwortzeiten
Die Antwortzeiten von Webanwendungen werden vom Benutzer erst wahrgenommen, sobald
diese nicht mehr akzeptabel sind. Es gibt keine Regel für akzeptable Antwortzeiten, sobald diese
jedoch die 5 Sekunden übersteigt, wird es vom Benutzer i.d.R. als langsam erachtet. Diese
Wahrnehmung ist allerdings sehr subjektiv, da der eine Benutzer nach 2 Sekunden, ein andere
Benutzer erst nach 5 Sekunden und ein noch anderer erst nach 10 Sekunden sagt, dass eine
Webanwendung langsam ist. Natürlich kann Weblogic nur an seinen eigenen Schnittstellen, zum
Webserver, zur Datenbank sowie innerhalb von sich selbst Antwortzeit-optimierende Funktionen
bereitstellen. An der Schnittstelle zum Webserver, der sogenannten Benutzerschnittstelle werden
6.2.4 Backup & Recovery
14
Leistungsanalyse_WebLogic
unterschiedliche Caching Methoden angeboten.
Caching ist eine Zwischenspeicherung von statischen Dateien wie z.B. Grafiken, Stylesheets oder
JavaScripte. Hierdurch wird die Performance von lesenden Anfragen erheblich verbessert, da
Weblogic diese Dateien nicht aus der Datenbank anfragen muss sondern diese im direkten Zugriff
hat. Je nach Konfiguration läd er die Daten aus dem Arbeitsspeicher oder von der Festplatte.
Dieser Cache kann vom Systemadministrator konfiguriert werden. Weblogic bietet speziell für
Entwickler weitere Cache an, die weder Systemadministrator noch Benutzer verändern können
jedoch die gesamte Antwortzeit verbessern. Folgende weitere Caches werden eingesetzt:
• Weblogic Portal Framework Caches
• WSRP Caches
• Content and Ad Caches
• User Management Caches
• Campaign and Discount Caches
An der Schnittstelle zur Datenbank, der sogenannten Datenschnittstelle, wird Connection Pooling
eingesetzt. Connection Pooling ist die Weiterverwendung von TCP Sessions zwischen
Applikations- und Datenbankserver. Der Verbindungsaufbau zur Datenbank ist für den Weblogic
sehr resourcenintensiv, daher sollte die aufgebaute Verbindung nach einer fertigen Abfrage nicht
sofort geschlossen sondern für die nachfolgenden Abfragen wiederverwendet werden.[34]
Zusätzlich zum Connection Pooling gibt es Multi Pooling, wodurch mehrer Connection Pools zu
einem Multipool zusammengefasst werden. Hierdurch wird die Möglichkeit gegeben, einen
Oracle Real Application Cluster mit größtmöglicher Performance anzusprechen.
Zusätzlich zu den Optimierungsfeatures an den Schnittstellen bietet der Weblogic Möglichkeiten,
die Antwortzeit auch innerhalb des Weblogic für die Entwickler zu verbessern. Thread Pooling
wird angeboten, damit leichtgewichtige Prozesse in Pools abgelegt werden und somit gesteuert
und kontrolliert ausgeführt werden können. Speziell für die Verarbeiten der Java Applikationen
wird Remote Method Invocation (kurz RMI) angeboten.[35] Es ist die Standardmethode in Java
um Anwendungen durch verteilte, objekt-orientierte Programmierung ermöglichen auf
Ressourcen von mehreren Java Virtual Machines zuzugreifen und zu verwenden. Dadurch
werden Anwendungen wesentlich performanter integriert.[36]
Die Basis zwischen Anwendungsserver und Betriebssystem ist die Java Virtual Machine. JRockit,
Standard JVM unter Weblogic, liefert weitere Features (JRockit Mission Control genannt) zur
Performance-optimierung. JRA (JRockit Runtime Analyzer) bietet dem Systemadministrator
Zeitmessungen in der JVM selbst und zeigt diese in der Management Konsole. Dadurch hat der
Systemadministrator einen regelmäßigen Überblick über die Performance seines Systems und
kann so direkt Konfigurationsänderungen vornehmen.[37]
Zur Verbesserung der Antwortzeiten zählen auch die Funktionalitäten Application Load
Balancing und HTTP Session Replication die im nächsten Kapitel näher erläutert werden. Durch
die Verteilte Last auf mehrere Managed Server und somit ggf. auch auf unterschiedliche
phyisikalische Server kann Performance im Anwendungsserverbereich signifikant verbessert
werden.
6.3.2 Ausfallsicherheit
Hohe Verfügbarkeit von Webanwendungen kommt durch die Ausfallsicherheit. Es wird eine
durchgängige redundante und zuverlässige Architektur aufgebaut um sich vor einem
Service-Ausfall zu schützen. Eine Webanwendung selbst muss eine solche Architektur
6.3.1 Antwortzeiten
15
Leistungsanalyse_WebLogic
unterstützen. Dazu bietet der Weblogic Applikationsserver verschiedene Standardfunktionen an
eine Webanwendung redundant zu betreiben.
Der Grad der Verfügbarkeit, die Performance der Anwendung sowie das vorhandene Budget
spielen eine große Rolle bei der Entscheidung welche der folgenden Funktionalität eingesetzt
wird:
• Application Loadbalancing
Der Weblogic besteht aus verschiedenen Managed Servern die auf unterschiedlichen oder
gleichen Servern betrieben werden. Jeder Managed Server stellt einen eigenen Weblogic
Applikationsserver dar. Application Loadbalancing ist eine einfache Lastverteilung
zwischen diesen Managed Servern. Durch Loadbalancing stellt man eine höhere
Verfügbarkeit sicher als bei einer nicht-redundanten Umgebung da der Loadbalancer in
der Lage ist, zu überwachen ob ein Managed Server läuft oder nicht. Falls dieser nicht
läuft, wird der LoadBalancer nur den anderen Managed Server ansprechen. Die
Performance wird durch dieses Setup erheblich verbessert, da nicht ein Managed Server
alle Anfragen verarbeiten muss sondern diese auf mehrere verteilt werden. Der Weblogic
stellt sicher, dass Datenbankanfragen der Managed Server kontrolliert abgesetzt werden.
Dadurch werden keine doppelten doppelten Schreibzugriffe abgesetzt und die
Applikation brauch dieses nicht selbst überwachen. Um eine höchstmögliche
Verfügbarkeit herzustellen eigenet sich diese Funktionalität alleine nicht, da bei einem
Ausfall von einem Managed Server die bestehenden Sessions verloren gehen. Für diese
Lösung sind Weblogic Standard Lizenzen notwendig.[38]
• Automatic Fail-over
Wie beim Application Load Balancing besteht der Weblogic aus verschiedenen Managed
Servern. Hierbei macht es sowohl aus technischer als auch aus logischer Sicht keinen
Sinn mehrere Managed Server auf einen physikalischen Server zu betreiben. Automatic
Fail-over bedeutet, dass sobald ein Managed Server ausfällt, ein zweiter die Aufgaben
des ersten übernimmt. In diesem Fall gibt es eine sehr hohe Ausfallsicherheit, da
bestehende Sessions nicht verloren gehen. Die Performance bei dieser Lösung ist genauso
wie bei einem einfachen setup. Für diese Lösung sind Weblogic Cluster Lizenzen
notwending.[39]
• HTTP Session Replication
HTTP Session Replication ist eine Kombination aus den Vorteilen vom Application
Loadbalacing und Automatic Fail-over. Die zusammengefassten Vorteile sind
gleichzeitig die Funktionen der HTTP Session Replication. Eine Lastverteilung wird
durch load balancing sichergestellt. Beim Ausfall eines Managed Servers gehen die
bestehenden Sessions nicht verloren sondern bleiben wie beim Automatic Fail-over
bestehen, da durch die HTTP Session Replication sichergestellt ist, dass HTTP Sessions
auf jedem Managed Server vorhanden sind aber nicht abgearbeitet werden. Für diese
Lösung sind Weblogic Cluster Lizenzen notwendig.[40]
Application Loadbalancing
6.3.2 Ausfallsicherheit
Automatic Fail-over
HTTP Session Replication
16
Leistungsanalyse_WebLogic
Abbildung 4: Application Load
Balancing
Abbildung 5: Automatic Failover
Abbildung 6: HTTP Session
Replication
Alle oben genannten Funktionen bieten Ausfallsicherheit und hohe Verfügbarkeit. Jede hat ihre
eigenen Vor- und Nachteile so dass es nicht die beste Funktion gibt. Es müssen das vorhandene
Budget mit den Anforderungen an die Webanwendung gegeneinander abgewogen werden um zu
entscheiden, welches die beste Lösung ist.
6.4 Sicherheit
Daten sind ein wesentlicher Wert für Unternehmen und müssen daher angemessen geschützt werden. Die
meisten Daten werden heutzutage über das Internet transportiert, daher ist eine zuverlässig
funktionierende Datenverarbeitung ebenso wie die zugehörige Technik für die Aufrechterhaltung des
Betriebes unerlässlich. Unzureichend geschützte Daten stellen ein häufig unterschätztes Risiko dar, das
für manche Unternehmen existenz-bedrohend sein kann.
Abbildung 7: Weblogic Security Framework[41]
6.4 Sicherheit
17
Leistungsanalyse_WebLogic
Mängel in der Datensicherheit können zu erheblichen Problemen führen. Die potenziellen Schäden lassen
sich in folgende Kategorien einordnen:
◊ Verlust der Integrität: Verfälschte Daten können beispielsweise zu falschen Buchungen,
Lieferungen oder fehlerhaften Produkten führen.
◊ Verlust der Vertraulichkeit: Wenn Unternehmen vertrauliche Daten, beispielsweise aus
Forschungsbüros, an die Öffentlichkeit oder die Konkurrenz verlieren bedeutet dies nicht nur
einen erheblichen Image schaden sondern in den meisten Fällen auch einen finanziellen Verlust.
◊ Verlust der Verfügbarkeit: Der Verlust der Verfügbarkeit von Daten fällt meistens dadurch auf,
dass Aufgaben nicht fortgeführt und dadurch beispielsweise Produktionsprozesse nicht
abgeschlossen werden können.[42]
Weblogic bietet ein zentrales Security Framework an, das dem Systementwickler hilft die oben genannten
Aspekte der Sicherheit in seiner Anwendung zu berücksichtigen.
6.4.1 Unterstützte Protokolle & Zertifikate
Verschlüsselte Übertragungsprotokolle für die Kommunikation zwischen Benutzer und
Anwendungsserver schützt vor Integritätsverlust sowie Vertraulichkeitsverlust.
Weblogic unterstützt die Protokolle HTTPS, SSL v3 sowie den Zertifikate-Standard X.509 v3.[43]
HTTP über SSL verwendet in der Regel SSL v3 und TLS v1, Weblogic unterstützt beides.
HTTPS sorgt für die Verschlüsselung des Übertragungswegs der zur Kommunikation zwischen
Benutzer und Anwendungsserver dient. Durch Verwendung von SSL prüft der Client des
Benutzers anhand eines Serverzertifikates (welches dem X.509 v3 Standard unterliegt) ob der
Server der ist, für den er sich ausgibt. Weblogic unterstützt auch die Verwendung von Client
Zertifikaten, die im X.509 Standard sind. Es funktioniert ähnlich wie bei Serverzertifikaten, nur
dass in diesem Fall der Anwendungsserver überprüft, ob der Client derjenige ist, für den er sich
ausgibt.
Durch obiges Protokoll und Zertifikat unterstützt Weblogic den Systemverantwortlichen dabei
seinen Dienst vor Integritäts- und Vertraulichkeitsverlust zu schützen.
6.4.2 Authentifizierung, Authorisierung, Auditierung
Authentifizierung ist ein Mechanismus bei dem sich Benutzer an einem System anmelden mit
z.B. Benutzername und Passwort und somit die Frage beantworten, wer sie sind.[44] Nach
erfolgreicher Anmeldung bekommt dieser Benutzer einen Prinzipal zugewiesen, als der er jetzt
auf dem System agiert. Authorisierung ist ein Mechanismus bei dem Interactionen zwischen dem
Prinzipal und den Weblogic Ressourcen kontrolliert und nur entsprechend der Berechtigungen
vom Benutzer erlaubt werden. Hierbei wird die Frage beantwortet, "Was darfst du machen?". [45]
Auditierung ist ein Mechanismus bei dem Informationen über Betriebssystemanfragen und deren
Antworten gesammelt, gespeichert und für die Nachweisbarkeit verteilt werden. Somit ist
sichergestellt, dass alle notwendigen Aufgaben die der Weblogic durchführt protokoliert sind.[46]
6.4.1 Unterstützte Protokolle & Zertifikate
18
Leistungsanalyse_WebLogic
Authentifizierung sowie auch Authorisierung dienen dem Schuz vor Integritäts- und
Vertraulichkeitsverlust. Auditierung selbst dient nicht direkt dem Schutz, jedoch liefert sie die
nachvollziehbaren Logging-Informationen um bei gegebenenfalls auftretenden Schäden eine
Nachverfolgung zu gewährleisten.
Weblogic besitzt ein auf Modulen aufbauendes Sicherheitskonzept, welches in verschiedener Art
und Weise Authentifizierung, Authorisierung und Auditierung unterstützt.
Abbildung 8: Authentifizierung mit JAAS Klassen und dem Weblogic Security Framework[47]
Das Authentifizierungskonzept besteht aus Benutzern, Gruppen, Prinzipalen, Login Modulen und
JAAS. Weblogic Benutzer sind ähnlich zum Betriebssystemusern. Weblogic Gruppen sind
Sammlungen von mehreren Benutzern, die z.B. nach Abteilung Klassifiziert werden. Weblogic
Prinzipale werden Benutzern oder Gruppen nach erfolgreicher Authentifizierung gegeben. Per
default gibt es verschiedene Security Rollen, die dann je nach Anforderungen den Prinzipalen
zugewiesen werden. Loginmodule sind im Grunde die Basis für das Benutzer und Gruppen
Konzept, da die ganze Authentifizierung auf Loginmodulen basiert. Details zu diesen
Loginmodulen sind nicht Teil dieser Fallstudie, da die Beschreibung zu sehr ins Detail geht.
Weblogic unterstützt den Java eigenen Java Authentication and Authorization Server (JAAS) in
version 1.0 Full. JAAS ist eine API die Authentifizierungs und Authorizierungs Dienste für
Java-Programme (unabhängig ob Anwendung, Applet, Bean oder Servlet) bereitstellt. Die
Anmeldung innerhalb der Programme wird durch JAAS von neuen oder aktualisierten
6.4.2 Authentifizierung, Authorisierung, Auditierung
19
Leistungsanalyse_WebLogic
Authentifizierungstechnologien getrennt, so dass diese unabhängig vom Programm erneuert
werden können. Authentifizierung dient zur verlässlichen und sicheren Bestimmung welcher
Benutzer aktuell Quellcode auszuführen. Authorizierung dient zur Sicherstellung, dass Benutzer
die richtigen Berechtigung zur Ausführung bestimmter Aktionen.[48]
Abbildung 8 zeigt eine Authentifizierung mit JAAS Klassen und dem Weblogic Security
Framework. Die einzelnen Schritte zur Anmeldung laufen wie folgt ab:
• 1. Die Anwendung erhält Authentifizierungsinformationen (z.B. username, password)
vom Benutzer oder Systemprozess
• 2. Die Anwendung erstellt einen CallbackHandler (Rückruf-Handler), der die
Authentifizierungsinformationen beinhaltet
◊ 2a. Die Anwendung gibt den CallbackHandler an das LoginModul durch die
Nutzung der Login Context Klasse
◊ 2b. Das LoginModul gibt den CallbackHandler mit allen informationen an den
Weblogic Server RMI Container
• 3. Der Weblogic Server RMI container ruft das Weblogic Security Framework auf und
gibt den client-seitigen CallbackHandler weiter
• 4. Für jeden konfigurierten Authentifizierungsprovider erstellt das Weblogic Security
Framework einen eigenen CallbackHandler. Dieser CallbackHandler ist server-seitig und
hat nichts mit dem client-seitigen CallbackHandler zu tun.
• 5. Das Weblogic Security Framework ruft das jeweils zugehörige LoginModul der
Authentifizierungsprovider auf und versucht die Anmeldung mit den gelieferten
Informationen vorzunehmen.
• 6. Ist die Authentifizierung erfolgreich passiert folgendes:
◊ 6a. Prinzipale (Benutzer und Gruppen) werden vom Principal Validation
Provider zugewiesen
◊ 6b. Das zum jeweiligen Prinzipal gehörende LoginModule gibt diesem ein
Subject (Betreff) um die richtigen Benutzer und Gruppen zuzuweisen
◊ 6c. Das Weblogic Security Framework gibt den Authentifizierungsstatus an die
Client-Anwendung und diese fragt das entsprechend authentifizierte Subject vom
Weblogic Security Framework ab.
Weblogics Konzept der Authorizierung besteht aus Zugriffsentscheidungen, JACC und Weblogic
Ressourcen. Zugriffsentscheidungen, beim Weblogic Access Decisions genannt, sind die Basis
für das Beantworten der Frage, Welchen Zugriff hat Benutzer X. Details dazu sind nicht Teil
dieser Fallstudie. Neben JAAS, was sowohl ein Authentifizierung als auch ein
Authorizierungsprovider ist, gibt es Java Authorization Contract for Container (JACC) als Teil
der Java Enterprise Edition. JACC weitet das Berechtigungsbasierte Security Model auf EJBs und
Servlets aus.[49]. Weblogic verwendet sein eigenes Security Framework nur dann für EJBs und
Servlets wenn JACC nicht konfiguriert ist. Weblogic Ressourcen sind strukturierte Objekte die
abgegrenzte Weblogic Einheiten darstellen. Dadurch dass sie nur "virtuell" zu betrachten sind
und weder direkt auf dem System liegen noch direkt dem Prinzipal zugewiesen sind, können sie
die abgegrenzten Einheiten vor unberechtigtem Zugriff schützen.
Auditing im Weblogic ist das Logging von detailierten Prozessabläufen. Jeden nur erdenklichen
Prozessablauf zu dokumentieren würde einem Debugmodus gleich kommen, was unnötig viele
Logging Informationen beinhalten würden. Aus diesem Grund hat Weblogic sog. Auditkanäle
entwickelt, die bestimmen in welchen Kanal die Logging Informationen gehören. Entweder sie
werden für das entsprechend Konfigurierte Loglevel benötigt oder nicht. Relevante
Sicherheitsinformationen werden bei jedem Loglevel, mit Ausnahme von "none" mitgeschrieben.
6.4.2 Authentifizierung, Authorisierung, Auditierung
20
Leistungsanalyse_WebLogic
Zur Benutzer-, Gruppen- und Rollenverwaltung unterstützt Weblogic LDAP basierte Identitäten.
LDAP Systeme können sowohl auf dem gleichen Server erstellt werden oder auch auf externen
Servern liegen. Wenn kein LDAP konfiguriert ist, werden die Daten in Konfigurationsdateien
abgelegt. Dadurch ist dem Systemverantwortlichen die Wahl gelassen, wie er sein Benutzer und
Rollenkonzept aufbaut, entweder Leistungsstark für große Datenmengen im LDAP oder für
geringe Datenmengen in Konfigurationsdateien.
Weblogic unterstützt mit den hier aufgelisteten Funktionen den Schutz vor Integritäts- und
Vertraulichkeitsverlust. Zusätzlich dazu werden entsprechende Ereignisse in Logfiles
dokumentiert. Sicherheit wird bei Weblogic groß geschrieben.
6.5 Wirtschaftlichkeit
Die grundlegende Formel zur Berechnung der Wirtschaftlichkeit ist Ertrag / Aufwand. Sobald das
Ergebnis größer 1 ist, sagt man, die ausgewählte Lösung ist Wirtschaftlich da der Ertrag größer ist als der
Aufwand. Wenn das Ergebnis gleich 1 ist, so ist die Lösung Kostendeckend. Ist das Ergebnis kleiner 1 so
ist die Lösung aus wirtschaftlicher Sicht nicht sinnvoll.
Unternehmen stecken viel Geld in Marketing und Forschung was aus einfacher Sicht nur Kosten
verursacht. Die dadurch erzielten Ergebnisse können jedoch sehr wirtschaftlich sein, so dass sich eine
Investition trotzdem lohn. Ist eine Lösung nur kostendeckend und ohne erwarteten Gewinn so wird diese
i.d.R. nicht eingesetzt. Trotzdem investieren Unternehmen aus strategischer Sicht in solche Lösungen.
Eine Berechnung der Wirtschaftlichkeit von Weblogic kann wie folgt vorgegangen werden:
◊ Definition der Anforderungen an eine Lösung
◊ Budgetüberprüfung
◊ Weblogic Knowledge bei den Systemverantwortlichen und bei den Deployment- und
Betriebsteams
◊ Was kostet eine mögliche Migration von Software auf den Weblogic?
◊ Wird nur Weblogic unterstützt oder auch andere Applikationsserver?
◊ Risikoanalyse
⋅ Was passiert bei Ausfall der Lösung?
⋅ Was passiert wenn die Lösung gar nicht implementiert wird?
⋅ Systemausfälle sollten in der Berechnung mit Faktoren und/oder Kosten belegt werden
Das Ergebnis kann je nach Beantwortung der obigen Punkte sehr unterschiedlich sein. Aus diesem Grund
zwei einfache Beispiele, die diese Unterschiede darstellen:
Beispiel 1:
◊ Systemverfügbarkeitsanforderung 95%
◊ Risiko bei Ausfall ist gering
◊ Budget gerade vorhanden - wird mit dem Ertrag nach 3 Jahren gedeckt (Betriebskosten
ausgenommen)
◊ Weblogic Knowledge vorhanden
◊ Software wird u.a. von Weblogic unterstützt
Die Wirtschaftlichkeit für dieses Beispiel ist relativ einfach zu berechnen. Nach 3 Jahren ist der Ertrag
6.5 Wirtschaftlichkeit
21
Leistungsanalyse_WebLogic
gleich den ursprünglichen Projektkosten, laufende Betriebskosten sind bisher noch nicht gedeckt. Da
diese Kosten unbekannt sind ist die Annahme, Kostendeckung nach frühestens 5 Jahren. In diese Zahlen
ist noch kein Geldwertverlust eingerechnet. Eine Standard-Wirtschaftlichkeitsanalyse wird für 5 Jahre
gemacht.(Referenz Suchen!!!!) Dieses Beispiel ist wie beschrieben unwirtschaftlich.
Beispiel 2:
◊ Systemverfügbarkeitsanforderung 99,9%
◊ Risiko bei Ausfall ist hoch
◊ Budget gerade vorhanden - wird mit dem Ertrag nach 2 Jahren gedeckt, Betriebskosten werden
nach 2,5 Jahren komplett gedeckt, nach 3 Jahren gibt es Gewinn - Tendenz steigend
◊ Weblogic Knowledge vorhanden
◊ Software unterstützt Weblogic
Bei diesem Beispiel sind Hochverfügbarkeitsanforderungen sowie hohes Risiko bei Ausfall. Weblogic ist
speziell für solche Lösungen geschaffen. Trotz der benötigten Cluster-Lizenzen und der damit
resultierenden hohen Kosten (ca. 5x höher als Standard Lizenz) scheint diese Lösung wirtschaftlich zu
sein. Nach 3 Jahren gibt es Gewinn und das mit steigender Tendenz.
Neben den Anforderungen ist eine Risikoanalyse wichtig, d.h. man definiert verschiedene Risiken mit
einem Faktor bzw. mit Kosten. Diese Risiken kann man ebenfalls mit den gegebenen Funktionen vom
Weblogic vergleichen und entsprechend daraus errechnen ob der Weblogic wirtschaftlich ist.
Die obigen Beispiele sollen darlegen, dass es keine grundsätzliche Antwort auf die Wirtschaftlichkeit
vom Weblogic gibt. Es ist komplett abhängig von der Gesamtsituation. Jedes Unternehmen bzw. jeder
Systemverantwortliche muss seine eigenen Vor- und Nachteile zusammentragen und basierend darauf die
Wirtschaftlichkeitsanalyse machen.
7 Schlussbetrachtung
Oracle WebLogic ist ein Applikationsserver der überwiegend im Enterprise Bereich zu finden ist. Durch die
Übernahme von BEA konnte Oracle seinen Vorsprung als Marktführer im Middlewarebereich ausgebaut. Durch
die zusätzliche Übernahme von Sun Microsystems im April 2009 wird Oracle in Zukunft seine Produktpalette
"Oracle Fusion Middleware" weiter ausbauen und Vorreiter im Bereich Enterprise Application Services werden.
Oracle hat mit dem Kauf von Sun Microsystems einen weiteren Applikationsserver mit dem Namen "Sun
GlassFish" erworben. Dieser stellt aber bei Weitem nicht den Funktionsumfang und die Qualität des WebLogic
Servers bereit. Experten sehen den Sun GlassFish zukünftig als günstiges Einstiegsprodukt der Oracle Fusion
Middleware Produktfamilie. In diesen Märkten konnte Oracle mit dem WebLogic Server noch nicht dringen.[50]
In der Öffentlichkeit bietet Oracle eine geringe Kostentransparenz für den WebLogic. Das ist im
Enterprise-Bereich keine Seltenheit, aber benachteiligt dadurch den Weblogic im Vergleich mit der Konkurrenz.
Eine weitere Schwäche für kleinere Anwendungen ist der große Funktionsumfang, den man unweigerlich
mitkauft, jedoch für einen einfachen Applikationsbetrieb zu komplex ist. Detaillierte Informationen zu den Kosten
der Lizenzen erfährt man von dem Oracle Account Management bei Anfrage mit konkreten Projektinformationen.
Um die Kosten nicht zu veröffentlichen wurde die Wirtschaftlichkeitsanalyse nur theoretisch vorgenommen.
Die analysierten Stärken des WebLogics liegen im professionellen Enterprise Application Services-Betrieb. Ein
großer Funktionsumfang für administrative Betriebs- und Entwicklungsarbeiten bilden die Basis für
Systemadministratoren und Entwickler. Systemverantworliche können aus verschiedenen Optionen zur
7 Schlussbetrachtung
22
Leistungsanalyse_WebLogic
Umsetzung der Hochverfügbarkeit wählen. Dadurch kann die Bearbeitungszeit verkürzt werden, da durch
Hochverfügbarkeit unweigerlich auch erhöhte Performance zu erwarten ist. Um die Anwendung möglichst vor
Angriffen zu sichern bietet der Weblogic eine große Vielfalt an Sicherheitsfeatures, die auf den Industriestandards
basieren.
In dieser Fallstudie wurden einige Schwächen und viele Stärken vom Weblogic betrachtet. Systemverantwortliche
müssen in Unternehmen für jede Anwendung sowohl technische als auch wirtschaftliche Anforderungen
definieren. Auf Basis dieser muss eine Entscheidung für die Lösung entwickelt und getroffen werden. Technische
Anforderungen können mit Hilfe dieser Fallstudie für den Weblogic bewertet werden. Bei den wirtschaftlichen
Anforderungen liefert sie die theoretische Basis für die Bewertung.
Die Zukunft des Oracle Weblogic wird in der Oracle Produktpalette "Oracle Fusion Middleware" liegen. Ob der
Applikationsserver dann noch als "Weblogic" verkauft wird ist ungewiss. Durch die Produktpalette wird Oracle
seine Position als Marktführer weiter ausbauen.
8 Fußnoten
1. ? vgl. ChannelPartner, passim http://www.channelpartner.de/sonstiges/620123/index.html
2. ? vgl. Adobe, Kaptitel: Auf Datenbanken zugreifen
3. ? vgl. OnJava (2005), Grafik 1
4. ? vgl. SUNJAVA3, Kapitel: The Java Platform
5. ? vgl. SUNJAVA3, Kapitel: The Java Programming Language
6. ? vgl. Oracle 17, "What is the JRockit JVM?"
7. ? vgl. Gartner2, Market Overview
8. ? vgl. Heise (2008), passim
9. ? vgl. SUNJAVA2, passim
10. ? vgl. Gartner2, Abschnitt: Oracle
11. ? vgl. Oracle13, passim
12. ? vgl. Oracle14, passim
13. ? vgl. Oracle15, passim
14. ? vgl. Oracle16, passim
15. ? vgl. Gartner1 (2009), passim
16. ? vgl. SUNJAVA4, Kapitel 1 (Chapter 1 Overview JavaEE)
17. ? vgl. Horn, Torsten (2008), Direktlink (09.11.2009): http://www.torsten-horn.de/techdocs/jee-ejb.htm Kapitel: Einleitung
18. ? vgl. Horn, Torsten (2008), Direktlink (09.11.2009):
http://www.torsten-horn.de/techdocs/jsp-grundlagen.htm - Kapitel: Einführung zu dynamischen
Webseiten mit JSP (Java Server Pages)
19. ? vgl. Javabeat.net, passim
20. ? vgl. Horn, Torsten (2008), Direktlink (09.11.2009): http://www.torsten-horn.de/techdocs/jee-jms.htm Kapitel: Einleitung
21. ? vgl. SUNJAVA4, Direktlink (14.01.2010): http://java.sun.com/javaee/5/docs/tutorial/doc/bnacj.html
22. ? vgl. Oracle18, Seite 8
23. ? vgl. Oracle19, passim
24. ? vgl. Forrester (2007), passim
25. ? vgl. Oracle 12, passim
26. ? vgl. Oracle 8, Seite 5f.
27. ? vlg. Oracle 8, Seite 7ff.
28. ? vgl. Oracle 8, Seite 3-4
8 Fußnoten
23
Leistungsanalyse_WebLogic
29. ? vlg. Oracle 8, Seite 13
30. ? vgl. Oracle 11, Seite 1-2
31. ? vgl. Oracle 10, Seite 1ff.
32. ? vgl. Oracle 9, passim
33. ? vgl. Oracle7, Seite 9ff.
34. ? vgl. DPUNKT (2002), Kapitel 18.10.3
35. ? vgl. BEA (2007), Seiten 2-5 und 2-6
36. ? vgl. BEA (2002), Seite 136
37. ? vgl. Oracle4, Seite 8
38. ? vgl. Oracle3, Seiten 5.1 und 5.2
39. ? vgl. Oracle3, Seite 6.1ff
40. ? vgl. Oracle5, Kapitel 3.8.1
41. ? vgl. Oracle6, Kapitel 5, Grafik 5-1
42. ? vgl. BSI (2008), Kapitel 1.1
43. ? vgl. http://tools.ietf.org/html/rfc5280
44. ? vgl. Oracle2, Seite 4.1
45. ? vgl. Oracle2, Seite 7.1
46. ? vgl. Oracle2, Seite 10.1
47. ? vgl. Oracle2, Seite 4.9
48. ? vgl. SUNJAVA1, Kapitel: Intoduction
49. ? vgl. http://www.jcp.org/en/jsr/detail?id=115
50. ? vgl. Gartner2, Oracle
9 Quellenverzeichnis
Adobe LiveDocs - Dreamweaver Hilfe - Auf Datenbanken zugreifen, veröffentlicht von adobe.com (Link vom
http://livedocs.adobe.com/de_DE/Dreamweaver/9.0/help.html?content=WS92895C5A-088A-4988-944C-042
BEA (2002) Joe Zuffoletto: The BEA Weblogic Server Bible, Veröffentlicht von Hungry Minds Inc,U.S., Februar 2002, I
BEA (2007) BEA Weblogic Server: Programming Weblogic RMU, veröffentlicht von BEA, März 2007
IT Grundschutz - Basis für Informationssicherheit, https://www.bsi.bund.de/cln_165/ContentBSI/grundschut
BSI (2008)
(Link vom 09.11.2009)
DPUNKT
Stefan Middendorp: Programmierhandbuch und Referenz für die Java2 Plattform, Veröffentlicht im DPunkt V
(2002)
Forrester
Enterprise and Enterprise And SMB Hardware Survey, North America And Europe, veröffentlicht von Forres
(2007)
Gartner1
Gartner: Application Server wachsen in die Wolken, http://www.databasepro.de/Aktuell/News/Gartner-Appl
(2009)
vom 15.12.2009)
Gartner2
Gartner: Magic Quadrant for Enterprise Application Servers, http://www.gartner.com/technology/media-prod
(2009)
(Link vom 15.12.2009)
Heise
Oracle kauft BEA Systems im zweiten Anlauf,
(2008)
http://www.heise.de/newsticker/meldung/Oracle-kauft-BEA-Systems-im-zweiten-Anlauf-Update-179168.htm
Horn,
Technische Kurzdokumentationen Torsten Horn, veröffentlicht vom Ingenieurbüro Torsten Horn, http://www
Torsten
vom 09.11.2009)
(2008)
J2EE Connector Architecture(JCA), An Introduction, veröffentlicht von javabeat.net,
Javabeat.net
http://www.javabeat.net/articles/22-j2ee-connector-architecturejca-an-introduction-1.html (Link vom 09.11.2
Adobe
9 Quellenverzeichnis
24
Leistungsanalyse_WebLogic
OnJava
(2005)
Oracle1
Oracle2
Oracle3
Oracle4
Oracle5
Oracle6
Oracle7
Oracle8
Oracle9
J2EE Bottlenecks, http://onjava.com/onjava/2005/01/19/j2ee-bottlenecks.html (Link vom 09.11.2009)
Weblogic Applikationserver Server-Produkte, http://www.oracle.com/lang/de/appserver/index.html (Link vo
Oracle Weblogic Server - Developing Security Providers for Weblogic Server, veröffentlicht von Oracle, Juli
Oracle Weblogic Server - Using Clusters, veröffentlicht von Oracle, Juli 2008
Oracle JRockit Mission Control - Overview, veröffentlicht von Oracle, Juni 2008
Oracle Fusion Middleware - High Availability Guide, veröffentlicht von Oracle, Juni 2009 (Link vom 8.1.20
http://download.oracle.com/docs/cd/E12839_01/core.1111/e10106/aa.htm)
Understanding Weblogic Security: http://download.oracle.com/docs/cd/E12840_01/wls/docs103/secintro/arc
09.11.2009)
Oracle Best Practices For High Availability - Backup and Recovery Scenarios for Oracle WebLogic Server: 1
(Link vom 11.1.2010: http://www.oracle.com/technology/deploy/availability/pdf/maa_wp_wls_br_scenarios.
Oracle White Paper - Automatic Service Migration in WebLogic Server, veröffentlicht von Oracle, Juli 2008
http://www.oracle.com/technology/products/weblogic/pdf/weblogic-automatic-service-migration-whitepaper
Oracle WebLogic Documentation - Application Logging and WebLogic Logging Services, veröffentlicht von
http://download.oracle.com/docs/cd/E13222_01/wls/docs92/i18n/app_logging.html#wp1004524)
Oracle Data Sheet - Oracle Enterprise Manager 10g: Diagnostics Pack For
Oracle10
Oracle11
Oracle12
Oracle13
Oracle14
Oracle15
Oracle16
Oracle17
Oracle18
Oracle19
SUNJAVA1
SUNJAVA2
SUNJAVA3
SUNJAVA4
Oracle Middleware, veröffentlicht von Oracle.com (Link vom 20.12.2009: http://www.oracle.com/technolog
Oracle White Paper?Managing - Oracle WebLogic Server with Oracle Enterprise Manager, veröffentlicht von
http://www.oracle.com/technology/products/oem/pdf/twp_wls_mgmt.pdf)
Oracle WebLogic Documentation - Overview of WebLogic Server System Administration, veröffentlicht von
http://download.oracle.com/docs/cd/E13222_01/wls/docs92/intro/overview.html)
Oracle Products - Oracle WebLogic Products, veröffentlicht von Oracle.com (Link vom 23.12.2009:
http://www.oracle.com/us/products/middleware/application-server/index.htm)
Oracle WebLogic Products - Oracle WebLogic Server 11g Standard Edition, veröffentlicht von Oracle.com (
http://www.oracle.com/appserver/weblogic/standard-edition.html?origref=http://www.oracle.com/us/product
Oracle WebLogic Products - Oracle WebLogic Server 11g Enterprise Edition, veröffentlicht von Oracle.com
http://www.oracle.com/appserver/weblogic/enterprise-edition.html?origref=http://www.oracle.com/us/produc
Oracle WebLogic Products - Oracle WebLogic Suite 11g, veröffentlicht von Oracle.com (Link vom 23.12.20
http://www.oracle.com/appserver/weblogic/weblogic-suite.html?origref=http://www.oracle.com/us/products/
Oracle Diagnostics Guide - About the Oracle JRockit JDK, veröffentlicht von Oracle.com (Link vom 20.12.2
http://download.oracle.com/docs/cd/E13150_01/jrockit_jvm/jrockit/geninfo/diagnos/aboutjrockit.html#wp10
Oracle Weblogic Feature Matrix (Oracle Datasheet), veröffentlicht von Oracle.com (Link vom 14.01.2010:
http://www.oracle.com/appserver/docs/wls-featurematrix-datasheet.pdf)
Oracle JDeveloper - Introduction to the JDeveloper IDE, veröffentlicht von Oracle.com (Link vom 12.01.201
http://www.oracle.com/technology/obe/obe1013jdev/10131/introide/introjdevide.htm)
SUN Java Technology - JavaTM Authentication and Authorization Service (JAAS), veröffentlicht von Sun.c
http://java.sun.com/javase/6/docs/technotes/guides/security/jaas/JAASRefGuide.html#Introduction)
SUN Java Technology Documentation - Service-Oriented Architecture (SOA) and Web Services, Qusay H. M
Sun.com (Link vom 3.12.2009: http://java.sun.com/developer/technicalArticles/WebServices/soa/)
SUN Java Technology Documentation - About the Java Technology, veröffentlicht von Sun.com (Link vom
http://java.sun.com/docs/books/tutorial/getStarted/intro/definition.html)
SUN Java Technology Documentation - The Java EE 5 Tutorial, veröffentlicht von Sun.com, Oktober 2008 (
http://java.sun.com/javaee/5/docs/tutorial/doc/)
9 Quellenverzeichnis
25
Herunterladen