Bachelor + Master Publishing
810 Bachelorarbeiten, 531 Masterarbeiten, 10.101 Diplomarbeiten

Analyse und Vergleich von Applikations-Servern und ihren zugrundeliegenden Technologien

Analyse und Vergleich von Applikations-Servern und ihren zugrundeliegenden Technologien
Über dieses Buch
  • Art: Diplomarbeit
  • Autor: Klaus Fellner
  • Abgabedatum: Mai 2000
  • Umfang: 181 Seiten
  • Dateigröße: 1,1 MB
  • Note: 1,0
  • Institution / Hochschule: Johannes Kepler Universität Linz Österreich
  • ISBN (eBook): 978-3-8324-5172-1
  • ISBN (Paperback) :
    978-3-8324-5172-1 P
  • ISBN (CD) :978-3-8324-5172-1 CD
  • Sprache: Deutsch
  • Prämierung:
  • Arbeit zitieren: Fellner, Klaus Mai 2000: Analyse und Vergleich von Applikations-Servern und ihren zugrundeliegenden Technologien, Hamburg: Diplomica Verlag
  • Schlagworte: EJB, COM+, Kriterienkatalog, Applikationsserver, Middleware

Diplomarbeit von Klaus Fellner

Einleitung:

Die Entwicklung und der Betrieb Server-basierter Softwaresysteme wird durch ständig steigende Anforderungen immer aufwendiger und komplizierter. Zusätzlich erfordert die starke Verbreitung des Internets und die damit verbundene ständig steigende Akzeptanz von E-Commerce eine möglichst einfache Entwicklung Web-basierter Anwendungen, die in die bestehende Infrastruktur eingebunden werden und diese nutzen können. Applikations-Server stellen die zur Bewältigung dieser Probleme nötige Infrastruktur samt Werkzeuge zur Verfügung. Ausgelöst durch den Motor E-Commerce, der hohe Zuwachsraten mit stark steigenden Umsätzen verspricht, gelang ihnen am Markt innerhalb der letzten zwei Jahre endgültig der Durchbruch. Die Heterogenität der zu integrierenden Infrastrukturen und der zu erstellenden Softwaresysteme bewirkte jedoch eine sehr starke Diversifikation von Applikations-Servern. Dies mündete letztendlich in einer zur Zeit beinahe unüberschaubaren Anzahl von Produkten.

Gang der Untersuchung:

Diese Diplomarbeit beschreibt im theoretischen Teil zuerst die Charakteristika und zugrundeliegenden Technologien von Applikations-Servern, um danach einen Kriterienkatalog zu ihrem Vergleich aufstellen zu können. Im Zuge dessen wird die Brückenfunktion von Applikations-Servern anhand der sechs Middleware Kategorien „RPC based Middleware, Message Oriented Middleware, Database Middleware, Distributed Transaction Coordinator, Object Request Broker und Component Oriented Middleware“ verdeutlicht. Darin enthalten ist ein Vergleich der zur Zeit populärsten serverseitigen Komponentenmodelle COM+ und EJB, die die zentrale Architektur der meisten Applikations-Server festlegen.

Im praktischen Teil dieser Diplomarbeit wird schließlich der Kriterienkatalog zur Beurteilung der Applikations-Server Allaire Cold Fusion 4.5.1 Enterprise, Inprise Application Server 4.0 und Microsoft Windows 2000 Advanced Server angewandt. Abschließend wird, um die praktische Anwendbarkeit der Applikations-Server von Allaire und Inprise zu überprüfen, mit ihnen eine Beispielapplikation (Mini-Tourismus- Server) erstellt.

Inhaltsverzeichnis:

1. Motivation für den Einsatz von Applikations-Servern 1
1.1 Allgemeines Schichtenmodell 2
1.2 Zwei-Schichten Architektur 3
1.2.1 Kombination von Präsentations- und Geschäftslogikschicht 3
1.2.2 Vorziehen eines Teils der Geschäftslogik in die Datenschicht 5
1.3 N-Schichten-Architektur 6
1.4 Sonderfall HTML Applikation 10
1.5 Weitere Vorgehensweise 11
2. Einführung in Applikations-Server 13
2.1 Definition 13
2.2 Aufgaben 13
2.2.1 Explizite Aufgaben 13
2.2.2 Implizite Aufgaben und Nebeneffekte 18
2.3 Arten von Applikations-Servern 22
2.3.1 Einsatzgebiete von Applikations-Servern 22
2.3.2 Aufgabenbereiche von Applikations-Servern 23
2.3.3 Aufwand zur Beherrschung von Applikations-Servern 24
2.4 Hersteller von Applikations-Server 25
2.4.1 Klassifizierung der Hersteller 25
2.4.2 Stärken und Schwächen der einzelnen Herstellerklassen 26
3. Middleware – Applikations-Server als Brücke 28
3.1 RPC based Middleware 29
3.2 Message Oriented Middleware 31
3.2.1 Message Passing 31
3.2.2 Message Queuing 32
3.2.3 Publish & Subscribe 32
3.3 Database Middleware 33
3.3.1 Open Database Connectivity (ODBC) 33
3.3.2 OLE DB 34
3.3.3 Java Database Connectivity (JDBC) 34
3.4 Distributed Transaction Coordinator 35
3.4.1 Standards für verteilte Transaktionsverarbeitung 36
3.4.2 Klassische Transaction Processing Monitors 38
3.5 Object Request Broker 39
3.5.1 Common Object Request Broker Architecture 41
3.5.2 Java Remote Method Invocation 44
3.5.3 Distributed Component Object Model 47
3.5.4 Bewertung der ORB-Modelle 49
3.6 Component Oriented Middleware 50
3.6.1 Komponenten 50
3.6.2 Architektur von Component Oriented Middleware 54
3.6.3 Vorteile von Component Oriented Middleware 55
3.6.4 Produkte eines Komponenten-Servers 56
3.7 Beispiele serverseitiger Komponentenmodelle 57
3.7.1 Enterprise JavaBeans (EJB) 58
3.7.1.1 Allgemeines zu EJB
3.7.2 Component Object Model+ (COM+) 63
3.7.3 Corba Component Model (CCM) 66
3.7.4 Vergleich und Bewertung der serverseitigen Komponentenmodelle 66
4. Kriterienkatalog zur Bewertung von Applikations-Servern 73
4.1 Kategorie 73
4.2 Verfügbare Plattformen 74
4.3 Client Unterstützung 74
4.3.1 Web-Client 74
4.3.2 Arbeitsplatzapplikationen 75
4.4 Mutli-threading 76
4.5 Middleware 78
4.5.1 Object Request Broker 79
4.5.2 Component Oriented Middleware 79
4.5.3 Enterprise JavaBeans spezifische Eigenschaften 80
4.5.4 Message Oriented Middleware 84
4.5.5 Distributed Transaction Coordinator 85
4.6 Web Dienste 87
4.6.1 Web-Server eingebaut 87
4.6.2 HTML Generator 88
4.6.3 Automatisches Status- und Sitzungsmanagement 90
4.7 Kombination mehrerer Schichten 92
4.7.1 Art der Kombination 92
4.7.2 Logische Trennung 93
4.8 Betrieb 94
4.8.1 Clustering 94
4.8.2 Ressourcen Pooling 99
4.8.3 Zwischenspeicherung von Daten der Datenschicht (Caching) 100
4.8.4 Stabilität 101
4.9 Integration externer Systeme 101
4.9.1 Integration von Datenbeständen 101
4.9.2 Integration entfernter Server-Objekte 102
4.9.3 Integration externer Web-Server 103
4.10 Sicherheit 107
4.10.1 Verschlüsselung 107
4.10.2 Client Authentifizierung 108
4.10.3 SSL Server Authentifizierung 110
4.10.4 Benutzerverzeichnisse 110
4.10.5 Autorisierung (Rollenkonzept) 111
4.10.6 Firewall Proxy - HTTP Tunneling 112
4.11 Integration zusätzlicher Internet Technologien 112
4.11.1 E-Mail 112
4.11.2 Volltextsuchmaschine 113
4.11.3 XML Integration 113
4.12 Zusätzliche Dienste (Besonderheiten) 115
4.12.1 Sauberes Herunterfahren (Clean Shutdown) 115
4.12.2 Getriggerte Aktionen 115
4.13 Administration 116
4.13.1 Installation der Applikationslogik 116
4.13.2 Konfiguration 116
4.13.3 Protokollierung 117
4.13.4 Überwachung 117
4.14 Integration von Entwicklungswerkzeugen 118
4.14.1 Entwicklungswerkzeuge vom Hersteller des Applikations-Servers 118
4.14.2 Entwicklungswerkzeuge von Drittherstellern 121
5. Bewertung von Applikations-Servern 122
5.1 Erhältliche Applikations-Server 122
5.2 Allaire Cold Fusion 4.5.1 Enterprise 123
5.2.1 Kategorie 123
5.2.2 Verfügbare Plattformen 124
5.2.3 Client Unterstützung 124
5.2.4 Server Architektur 124
5.2.5 Web Dienste 126
5.2.6 Betrieb 126
5.2.7 Integration externer Systeme 127
5.2.8 Sicherheit 129
5.2.9 Benutzerverzeichnisse 129
5.2.10 Integration von Internet Technologien 129
5.2.11 Administration 130
5.2.12 Integration von Entwicklungswerkzeugen 131
5.2.13 Zusammenfassung 131
5.3 Inprise Application Server 4.0 131
5.3.1 Kategorie 132
5.3.2 Verfügbare Plattformen 132
5.3.3 Client Unterstützung 133
5.3.4 Server Architektur – Middleware 133
5.3.5 Web Dienste 138
5.3.6 Betrieb 139
5.3.7 Integration externer Systeme 140
5.3.8 Sicherheit 141
5.3.9 Integration von Internet Technologien 142
5.3.10 Administration 142
5.3.11 Integration von Entwicklungswerkzeugen 142
5.3.12 Sonstiges 143
5.3.13 Zusammenfassung 143
5.4 Übersicht über die getesteten Applikations-Server 143
5.4.1 Kategorie 144
5.4.2 Verfügbare Plattformen 144
5.4.3 Client Unterstützung 144
5.4.4 Multi-threading 144
5.4.5 Middleware 145
5.4.6 Web Dienste 145
5.4.7 Kombination mehrerer Schichten 146
5.4.8 Betrieb 146
5.4.9 Integration externer Systeme 147
5.4.10 Sicherheit 148
5.4.11 Integration von zusätzlichen Internet Technologien 148
5.4.12 Zusätzliche Dienste 148
5.4.13 Administration 149
5.4.14 Integration von Entwicklungswerkzeugen 149
6. Beispielapplikation 150
6.1 Aufgabenstellung 150
6.2 Ablaufdiagramm und Benutzerschnittstelle 150
6.3 Architektur der Beispielapplikation 152
6.3.1 Architektur der Allaire Cold Fusion Applikation 153
6.3.2 Architektur der Inprise Application Server Applikation 153
6.4 Präsentationslogik 154
6.4.1 Präsentationslogik von Cold Fusion 4.5.1 154
6.4.2 Präsentationslogik von Inprise Application Server 4.0 155
6.5 Geschäftslogik 157
6.5.1 Geschäftslogik von Cold Fusion 4.5.1 157
6.5.2 Geschäftslogik von Inprise Application Server 4.0 157
6.6 Schlußfolgerung aus dem Vergleich der Applikationen 158
7. Ausblick 159
Ein komplettes Inhaltsverzeichnis erhalten Sie auf Anfrage unter agentur@diplom.de oder unter der Rufnummer 0049-40-655992-0

Automatisiert erstellter Textauszug:

vorgeführt. Wesentlich einfacher ist das Wechseln der Plattform (z.B. von Windows zu Unix) innerhalb eines Herstellers. [Sess99-3] Preis COM+ ist in Windows 2000 enthalten. EJB muß als ein Add-On zu einem Betriebssystem erworben werden. Auch wenn es hier einige günstige Angebote geben wird, so werden es sicher nicht jene sein, auf denen man geschäftskritische ECommerce Anwendungen laufen lassen möchte. Allerdings sollte man die Entscheidung für oder gegen eine Plattform, auf der die zukünftigen E-Commerce Systeme laufen werden, nicht vom Preis des Servers abhängig machen, der sicher nur ein Bruchteil der Gesamtkosten ausmacht. 3.7.4.2 Zusammenfassung der Unterschiede EJB scheint, zumindest wenn man die Anzahl von verfügbaren EJB-Servern als Indikator betrachtet, ein großer Erfolg zu werden. Derzeit sind mehr als 30 EJBServer am Markt verfügbar [Sun99]. Diese große Anzahl an Herstellern ist auch ein Verdienst von IBM, die sich sehr stark für EJB einsetzt und die sehr enge Beziehungen mit der Finanzindustrie besitzt. Dabei ist sicher nicht jeder Server für jede Aufgabe gleicht gut gerüstet. Die EJB-Spezifikation läßt hier genügend Raum für eine Differenzierung der einzelnen Anbieter. [Sess99-4]. Vielleicht der größte Nachteil von EJB ist, daß es nicht von Microsoft unterstützt wird. Jene Firma, die laut den meisten Analysten das Betriebssystem der Geschäftslogik-Schicht beherrschen wird. Microsoft setzt ganz alleine auf COM+. Es besitzt außer COM+ kein anderes Produkt in einem für Microsoft absolut kritischen Segment: E-Commerce. Es wird also mit aller Macht versuchen COM+ zum Markterfolg verhelfen. Sollte dazu mehr Geld, neue Firmenübernahmen und neues Expertenwissen notwendig sein, wird Microsoft alle Wahrscheinlichkeit nach die dafür nötigen Schritte setzen. Da es mit Windows 2000 praktisch gratis ausgeliefert wird, scheint dieses Ziel auch in Reichweite. [Sess99-4] Aus technischer Sicht sind es, wie die Modelle in Abbildung 3.11 und Abbildung 3.12 beweisen, zwei ähnliche, sehr gute serverseitige Komponentenmodelle, die sich beide als Plattformen für Applikations-Server eignen, wobei EJB sicher ein wenig vom Vorgänger von COM+ beeinflußt wurde, der ja schon um zwei Jahre länger am Markt ist. Der größte Unterschied ist die Unabhängigkeit von der verwendeten Serverplattform und damit im gewissen Grad vom Hersteller bei EJB auf der einen und die Unabhängigkeit von der verwendeten Programmiersprache bei COM+ auf [...]

Vorgänger von COM+ (MTS) ist jedoch schon seit vier Jahren verfügbar, ohne daß sich solch ein Markt entwickelt hätte. Bei EJB passierte dies hingegen in kurzer Zeit. Ein Grund dafür könnte die Plattformunabhängigkeit von Java sein. Sie ermöglicht die Entwicklung einer Komponente für mehrere unterschiedliche Plattformen, ohne Änderungen durchführen zu müssen. [Toma99]. Reifegrad COM+ ist im Vergleich zu EJB die ausgereiftere Technologie. COM+ ist die zweite Generation des MTS und hatte mehr als 3 Jahre Zeit zur Reife. Hinzu kommt, daß nur sehr wenige neue Eigenschaften hinzugefügt und in Betaversionen vorhandene Eigenschaften sogar entfernt wurden (z.B. Dynamische Lastverteilung, In Memory Databases) da sie anscheinend nicht stabil genug waren. Bei EJB ist bereits nach einem Jahr die erste Revision erschienen, die etliche neue und wichtige Eigenschaften hinzugefügt hat. Einen Langzeittest hat EJB somit noch nicht hinter sich, COM+ schon. Unterstützte Programmiersprachen COM+ bindet einen im Gegensatz zu EJB nicht an eine bestimmte Programmiersprache. Komponenten können in C, C++, Visual Basic, Cobol oder einer anderen Programmiersprache erstellt werden. EJBs können jedoch nur in der objektorientierten Sprache Java erstellt werden. Wenn man bedenkt, daß laut einer Umfrage in Kanada unter 1500 Entwicklern [Sess99-2] nur 1/12 in Java entwickeln, ist das eine risikoreiche Einschränkung – auch wenn der Trend in Richtung Java stark steigend ist. Entscheidet man sich für EJB, dann ist man für die nächsten Jahre an Java gebunden. Java ist zwar eine sehr saubere Programmiersprache die gegenwärtig einen großen „Hype“ erfährt, doch auch Smalltalk, Eiffel, Pascal etc. waren einmal sehr beliebt. Es ist zwar sehr unwahrscheinlich, daß Java seine Beliebtheit in naher Zukunft verliert, jedoch ist sie ohne Zweifel eine sehr neue Sprache, die den Test der Zeit noch nicht abgeschlossen hat. Portabilität Zur Zeit gibt es über 30 verschieden Hersteller die EJB-Server anbieten [Sun99]. EJB Komponenten sollten theoretisch in jedem dieser EJB-Server ablaufen können. Sollte ein EJB-Server schlecht skalieren, ist ein Wechsel einfach möglich, solange keine herstellerspezifischen Eigenschaften verwendet werden. Der Portierungsaufwand ist im Vergleich zu einer Portierung von einem EJB-Server zu COM+ vica versa mit Sicherheit vernachlässigbar. Bei einer Java-One Konferenz wurde dies bereits mit einer einzelnen EJB-Applikation auf 13 verschiedenen EJB-Servern [...]

dies nicht nötig, da Zustände im Speicher gehalten werden können. Jedoch erschweren zustandsbehaftete Komponenten ihre Wiederverwendung bei längere Inaktivität (engl. Object Pooling, siehe 4.8.2), da ihre Zustände zuerst zwischengespeichert werden müssen. Dies kann sich sehr negativ auf ihre Skalierbarkeit auswirkt. Persistenzmanagement EJB besitzt persistente Komponenten, die im Prinzip als Teil der Datenbank zu betrachten sind. Sie repräsentieren einen Ausschnitt der Datenbank als Objekt, was die Handhabung der Daten sehr vereinfacht. Der EJB Container kann die Datenzugriffslogik zum Speichern und Laden dieser Daten selbständig erstellen. Der Anwendungsentwickler wird daher von dieser Aufgabe befreit. Er muß die Abbildung der Daten in ein Objekt (O/R Mapping) nur deklarieren. COM+ bietet diese Möglichkeit nicht an. Message Oriented Middleware (MOM) COM+ integriert mit MSMQ und seinem Publish & Subscribe Modell eine MOM (siehe 3.2), die sowohl eine asynchrone Kommunikation zwischen Clients und Serverkomponenten, als auch lose gekoppelte Systeme ermöglicht. J2EE bietet zwar mit dem JMS auch einen MOM-Dienst an, integriert ihn bis jetzt jedoch nicht in EJB. Dies bedeutet, daß Clients ohne proprietären Verbindungscode nicht asynchron mit EJB-Komponenten kommunizieren können und EJBs an keinem Publish & Subscribe Modell teilnehmen können. Transaktionsmanagement COM+ verwendet den Microsoft Distributed Transaction Coordinator (MS DTC) als Transaktionsmanager. MS DTC ist XA-kompatibel (siehe XXX) und ermöglicht somit heterogene, verteilte Transaktionen. Java besitzt mit dem JTS ebenfalls eine Schnittstelle zu einem vollwertigen XAfähigen Transaktionsmanager. Jedoch verlangt EJB nicht, daß ein EJB-Server auch wirklich mit JTS ausgestattet ist. EJB schreibt lediglich die Verwendung von JTA zur Festlegung der Transaktionsgrenzen fest. Der Einsatz von JTS ist optional. Heterogene verteilte Transaktionen können daher nicht von jedem EJB-Server durchgeführt werden. Komponentenmarktplatz EJB ermöglicht einen Handel mit Software Komponenten, die aus verschiedenen Quellen erworben und relativ einfach und schnell in eine neue Applikation integriert werden können. Dies wäre natürlich auch für COM+ Komponenten denkbar. Der [...]

Arbeit zitieren:
Fellner, Klaus Mai 2000: Analyse und Vergleich von Applikations-Servern und ihren zugrundeliegenden Technologien, Hamburg: Diplomica Verlag

Schlagworte:
EJB, COM+, Kriterienkatalog, Applikationsserver, Middleware

Entdecken Sie mehr zum Thema

diplom.de
Bachelor + Master Publishing

Hermannstal 119 k
22119 Hamburg

Fon: +49 (0) 40 655992-0
Fax: +49 (0) 40 655992-22

Service-Telefon

Rufen Sie uns an:
+49 (0) 40 655992-0

Mo-Fr
09.00-16.00 Uhr

diplom.de in den Medien

Folgen Sie uns bei Twitter & werden Sie diplom.de-Fan bei Facebook!
Schreibtipps unserer Lektoren, Neuigkeiten aus dem Verlagsalltag und das Expertenwissen unserer Autoren als Tweet & Post!
Wir freuen uns auf Sie!

diplom.de BACHELOR + MASTER PUBLISHING

Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Magisterarbeiten, Dissertationen und andere Abschlussarbeiten aus allen Fachbereichen und Hochschulen können Sie bei uns als eBook sofort per Download beziehen oder sich auf CD oder als Buch zusenden lassen. Seit mehr als 15 Jahren ist diplom.de der seriöse, professionelle und erfolgreiche Partner für die Veröffentlichung wissenschaftlicher Abschlussarbeiten.

© Diplomica Verlag GmbH 1996-2011, AG Hamburg HRB 80293 - GF Björn Bedey, USt-IdNr.: DE214910002 - Verkehrsnummer: 12285 - Impressum
Index der Arbeiten - Index der Autoren