Architekturen und Technologien für EAI

Werbung
Architekturen und Technologien für EAI
Architectures and Technologies for EAI
Cyrus Mesgarzadeh 8951888
Seminararbeit für das
Seminar aus Informationswirtschaft (3230) im WS 2002/03 Anwendungsintegration in und
zwischen Unternehmen (EAI - Enterprise Application Integration)
o. Univ. Prof. Dkfm. Dr. Wolfgang H. Janko
Univ.-Ass. Mag. Dr. Michael Hahsler
Inhaltsverzeichnis
1
Einleitung ...................................................................................................................... 3
1.1 Was ist EAI................................................................................................................ 3
1.2 Das Problem .............................................................................................................. 3
1.3 Lösung mit EAI ......................................................................................................... 4
2
Andere Lösungswege..................................................................................................... 6
2.1 Schnittstellen.............................................................................................................. 6
2.1.1 Arten .................................................................................................................. 6
2.1.2 Probleme ............................................................................................................ 6
2.1.3 Kostenvergleich mit EAI .................................................................................... 6
2.2 Betriebswirtschaftliches Gesamtsystem: ERP/ERM ................................................... 8
2.2.1 Ansatz ................................................................................................................ 8
2.2.2 Probleme ............................................................................................................ 8
3
Verwendete Technologien.............................................................................................. 9
3.1 Middleware................................................................................................................ 9
3.1.1 Allgemeines ....................................................................................................... 9
3.1.2 Middleware Implementierungen ....................................................................... 11
3.2 Komponenten........................................................................................................... 11
3.3 CORBA ................................................................................................................... 12
3.3.1 Allgemeines ..................................................................................................... 12
3.3.2 Funktionsweise................................................................................................. 12
3.3.3 Umsetzungen.................................................................................................... 13
3.4 Java RMI ................................................................................................................. 14
3.4.1 Allgemein......................................................................................................... 14
3.4.2 Funktionsweise................................................................................................. 14
3.5 DCOM ..................................................................................................................... 15
3.5.1 Allgemeines ..................................................................................................... 15
3.5.2 Funktionsweise................................................................................................. 15
3.6 Vergleich CORBA, Java RMI und DCOM............................................................... 16
3.7 Web Services und .NET Framework ........................................................................ 16
3.7.1 Allgemeines ..................................................................................................... 16
3.7.2 Funktionsweise................................................................................................. 17
4
EAI-Tools.................................................................................................................... 18
4.1 Marktaussichten ....................................................................................................... 18
4.2 Anbieter ................................................................................................................... 18
4.3 Kosten...................................................................................................................... 18
5
Zusammenfassung ....................................................................................................... 19
Literatur............................................................................................................................... 20
Abbildungsverzeichnis......................................................................................................... 21
-1-
Architekturen und Technologien für EAI
Architectures and Technologies for EAI
Stichworte: Enterprise Application Integration, Schnittestellen, Middleware
Keywords: Enterprise Application Integration, Interfaces, Middleware
Zusammenfassung
In dieser Seminararbeit werden die Architekturen und Technologien für die Integration von
heterogenen Unternehmensanwendungen besprochen und erläutert. Es wird auf die Ursachen
für die Notwendigkeit von EAI – Enterprise Application Integration eingegangen und auch
die bisher verwendeten traditionellen Lösungswege kurz dargestellt. Die für die Integration
benötigte Middleware wird erklärt und die wichtigsten aktuellen Techniken beschrieben.
Abstract
In this seminar paper architectures and technologies dealing with integration of heterogeneous
business applications will be discussed and explained. The reasons for the necessity for EAI –
Enterprise Application Integration will be shown as well as traditional solutions. The
middleware which is used for the integration will be explained and the most important
technologies will be described.
Kernpunkte für das Management
Diese Arbeit stellt das Problem von heterogenen Unternehmensanwendungen dar, die
teilweise über Jahrzehnte gewachsen und eine mögliche Lösungen durch Enterprise
Application Integration, kurz EAI. Ziel von EAI ist es ohne komplette Umstellung der
bisherigen IT-Struktur in einem Unternehmen, den steigenden Anforderungen an die
Flexibilität und Integration der eigenen Anwendungen gerecht zu werden und das nicht mehr
nur für die internen Benutzer, sondern auch für Kunden, Lieferanten und anderen Partnern. Es
werden Architekturen und Techniken beschrieben die dies ermöglichen sollen. Die bisherigen
Lösungswege werden mit ihren Vor und- Nachteilen kurz dargestellt.
-2-
1 Einleitung
1.1 Was ist EAI
EAI - Enterprise Application Integration - ist zu einem beliebtem Schlagwort geworden, eine
Lösung für scheinbar alle Probleme, die in großen heterogenen System entstehen, zu bieten.
In einem wirtschaftlichen Umfeld in dem es ein wichtiger Erfolgsfaktor ist, schneller als sein
Konkurrent zu sein, muss auch die IT-Architektur eines Unternehmens dieser Schnelligkeit
Rechnung tragen und immer komplexere Informationen rasch und zuverlässig, über die
verschiedenen Unternehmensbereiche und die eigenen Unternehmensgrenzen hinaus, zur
Verfügung stellen.
Mit Hilfe von EAI und EAI Werkzeugen, die von den unterschiedlichsten Firmen angeboten
werden, soll dies vollbracht werden. Diese Werkzeuge bedienen sich einer Vielzahl von
Techniken um die geforderte Aufgabe zu lösen.
Eine Definition von EAI und EAI-Werkzeugen kann wie folgt lauten [Asen01]:
•
•
Unter EAI ist die prozessorientierte Integration von Anwendungssystemen und Daten
in heterogenen IT-Anwendungsarchitekturen zu verstehen.
EAI-Werkzeuge stellen Methoden und Anwendungen zur automatisierten Programmzu-Programm-Kommunikation in heterogenen Anwendungsarchitekturen zur
Verfügung.
Mit diesen Definitionen zeigt sich, dass die EAI bereits weit vor EAI-Werkzeugen greift. EAI
beginnt
damit,
aus
der
Sicht
der
Geschäftsprozesse
Integrationsund
Standardisierungsanforderungen abzuleiten und endet damit, diese Anforderungen auf den
Ebenen der Geschäftsprozesse, der Anwendungssysteme und der zu Grunde liegenden
Infrastrukturen umzusetzen. EAI Werkzeuge kommen erst dann ins Spiel, wenn Integration
auf Anwendungs- und Infrastrukturebene realisiert werden soll [Asen01].
In dieser Arbeit sollen die Architekturen und Technologien für EAI vorgestellt werden.
1.2 Das Problem
In vielen großen Unternehmen haben sich in Laufe von Jahren und Jahrzehnten eine Vielzahl
von unterschiedlichen Anwendungen angesammelt, die nicht teilweise nicht dafür geschaffen
wurden mit anderen Anwendungen zu kommunizieren. Solche heterogenen Anwendungen
sind teilweise gewachsen oder durch Zukauf von anderen Unternehmen oder
Zusammenschlüssen entstanden.
Die Zusammenarbeit dieser Teilsystemen wird immer wichtiger und kann quasi klassisch mit
Schnittstellen zwischen den einzelnen Anwendungen gelöst werden. Es kann in großen
Unternehmen aber zu einer sehr enormen Anzahl von Schnittstellen führen, da hier duzende
Anwendungen auf unterschiedlichen Plattformen miteinander kommunizieren müssen. Die
Programmierung und Wartung von diesen Schnittstellen ist mit erheblichen finanziellen
Aufwand verbunden. Grafisch stellt sich das Problem wie folgt dar.
-3-
Abbildung 1: Das Problem vieler Schnittstellen [Wra00]
Ein anderer Weg um dieser Mischung unterschiedlicher Systeme zu begegnen, ist die
Umstellung aller Geschäftsprozesse auf ein Gesamtsystem, das auf einer gemeinsamen
Softwarebasis steht. In solchen Systemen wird versucht möglichst viele Geschäftsbereiche
mit standardisierten Programmmodulen abzudecken und durch das anpassen dieser Module an
die Bedürfnisse des Unternehmens, den Prozess abzudecken. Einer der bekanntesten Anbieter
einer solchen betriebswirtschaftliche Gesamtlösung (ERP - Enterprise Resource Planning
oder ERM - Enterprise Resource Management) ist SAP. Das Ersetzen einer bestehen ITInfrastruktur durch eine solche Lösung ist sehr zeitaufwändig und kostenintensiv. Weiters
werden hierbei oft vorhandene Geschäftsprozesse auf Prozesse die das neue System vorgibt
umgestellt, was auch eine Neuorganisation im Unternehmen nach sich ziehen kann. Es ist
auch oft nicht möglich die hochspezialisierten vorhandenen Lösungen durch ERP Programme
zu ersetzen.
1.3 Lösung mit EAI
Mit EAI wird nun versucht, die Systeme die im Laufen von Jahren und Jahrzehnten in
Unternehmen gewachsen und meistens nicht dafür geschaffen wurden zusammenzuarbeiten
und einen Teilbereich der Geschäftsprozesse abdecken, sich als ein Gesamtsystem und
einheitlicher Geschäftsprozess zu verhalten.
Es wird versucht auf verschieden Ebenen eine Integration zu erreichen [BeHoLa01]:
• Prozessintegration
• Anwendungsintegration
• Daten-/Infrastrukturintegration
-4-
•
•
Standardintegration
Plattformintegration
Es werden verschiedene Technologien verwendet [BeHoLa01]:
• CORBA (Common Object Request Broker Architecture)
• Java RMI (Java Remote Method Invocation)
• DCOM (Distributed Component Object Model)
• EDI (Electronic Data Interchange)
• XML (Extensible Markup Language)
• (UML (Unified Modeling Language))
Der letzte Punkt UML steht in Klammer, da es sicht hierbei nicht um eine Technologie
handelt, sondern um standardisierte Beschreibungssprache für die Spezifizierung, die
Darstellung, den Aufbau und die Dokumentation von Software.
Der Endzustand der erreicht werden soll, lässt sich grafisch darstellen.
Abbildung 2: EAI Infrastruktur [Wra00]
-5-
2 Andere Lösungswege
Bevor auf EAI näher eingegangen wird, werden die zwei oben genannten traditionellen
Lösungswege mit Hilfe von Schnittstellen und ERP beziehungsweise ERM System genauer
dargestellt.
2.1 Schnittstellen
2.1.1 Arten
Schnittestellen sind Programme die die Kommunikation und den Datenaustausch zwischen
unterschiedlichen Anwendungen ermöglichen. Man diese Punkt-zu-Punkt-Schnittstellen
bezeichnen. Zu diesem Zweck müssen die auszutauschenden Daten in einem definierten
Format vorliegen, um von der Schnittstelle in ein ebenfalls definiertes Format umgewandelt
werden zu können. Man kann drei Arten von Schnittstellen mit abfallender Komplexität
unterscheiden [LeNe02]:
•
•
•
Online-Schnittstelle (auf der Abwendungsebene des Integrationsmodells
einschließlich Datentransformation)
Offline-Schnittstelle (Datenaustausch einschließlich Datentransformation im BatchVerfahren)
Reine Datenschnittstelle ohne Datentransformation
2.1.2 Probleme
Mit steigender Komplexität der Schnittstelle wird die Erstellung und Wartung immer
kostenintensiver. Bei hochkomplexen Online-Schnittstellen kann die Erstellung 14.000 Euro
betragen, die Betriebsführung mit 15.000 Euro und die Wartung mit 13.000 bis 16.000 Euro
zu buche schlagen [LeNe02]. Es kann mit 30 bis 40 Prozent der Ausgaben für
Anwendungsentwicklung für die Programmierung und Pflege von Schnittstellen gerechnet
werden [SchMä01]. Wesentlich mitverantwortlich für diese Kosten ist die quadratisch
ansteigende Anzahl von möglichen Schnittstellen [SchMä01].
2.1.3 Kostenvergleich mit EAI
Die Kosten der Schnittstelle ergeben sich aus der Häufigkeit des Datenaustausches, da diese
den Aufwand für die Betriebsführung bestimmen. Ein Datenaustausch kann stündlich, täglich,
wöchentlich oder ein seltenerer standfinden, wobei vereinfachend gesagt werden kann, dass
die eine Halbierung der Administrationskosten zwischen den Intervallen angenommen
werden [LeNe02]. Ein Beispiel stellt die Einsparungen für eine neue Schnittstelle und die
Investition in einen EAI-Lösung mit Hilfe eine EAI-Werkzeuges gegenüber mit Hilfe der
Kapitalwertmethode gegenüber [LeNe02]. Folgende Ausgangsdaten werden herangezogen:
-6-
Unternehmen 1
Einmalig:
Betriebsführung pro Jahr:
Wartung pro Jahr:
Summe pro Jahr:
Einsparungen pro Schnittstelle
6.000 Euro
6.000 Euro
8.000 Euro
14.000 Euro
Investition in EAI
250.000 Euro
180.000 Euro
25.000 Euro
205.000 Euro
Unternehmen 2
Einsparungen pro Schnittstelle
Einmalig:
6.000 Euro
Betriebsführung pro Jahr:
14.000 Euro
Wartung pro Jahr:
7.000 Euro
Summe pro Jahr:
21.000 Euro
Tabelle 1: Ausgangsdaten für Kostenvergleich [LeNe02]
Investition in EAI
250.000 Euro
180.000 Euro
25.000 Euro
205.000 Euro
Bei Unternehmen 1 handelt es sich um einen großen deutschen Energieversorgers und bei
Unternehmen 2 um ein Transportunternehmen. Die Potentiale für die Einsparungen sind
unterschiedlich, da die Unternehmen einerseits externe Dienstleistungen zu ungleichen
Preisen zu kaufen und andererseits unterschiedliche innerbetriebliche IT-Strukturen haben,
die ungleiche Aufwendungen mit sich bringen. Die genannten Beträge sind gewichtete
Durchschnittswerte.
Mit den in der obigen Tabelle dargestellten Ausgangswerten wurde eine Investitionsrechnung
mit der Kapitalwertmethode aufgestellt. Eine Investition ist dann sinnvoll, wenn der
Kapitalwert der Summe der Investitionen und der Einsparungen größer null ist. Für
Unternehmen 1 werden 70 und für Unternehmen 2 100 eingesparte Schnittstellen in fünf
Jahren angenommen. Nach der nicht naher in [LeNe02] dargestellten Rechnung sollte sich
das erste Unternehmen ein positiver Kapitalwert von 1 Mio. Euro und für das zweite
Unternehmen ein positiver Kapitalwert von 3,3 Mio. Euro ergeben. Dies könnte nicht
nachvollzogen werden. Nach eigenen Berechnungen ergibt sich ein wesentlich höherer
Kapitalwert.
Jahr
0
1
2
3
4
5
Einsparung
420.000
980.000
980.000
980.000
980.000
980.000
Ausgabe EAI
250.000
205.000
205.000
205.000
205.000
205.000
Differenz
170.000
775.000
775.000
775.000
775.000
775.000
Abzinsfaktor
1,0000
0,9091
0,8264
0,7513
0,6830
0,6209
Tabelle 2: Unternehmen 1 mit 70 eingesparten Schnittstellen, 10 % Zinsfuss
-7-
Barwert
170.000
704.545
640.496
582.269
529.335
481.214
3.107.860
Jahr
0
1
2
3
4
5
Schnittstelle
600.000
2.100.000
2.100.000
2.100.000
2.100.000
2.100.000
Ausgabe EAI
250.000
205.000
205.000
205.000
205.000
205.000
Differenz
350.000
1.895.000
1.895.000
1.895.000
1.895.000
1.895.000
Abzinsfaktor
1,0000
0,9091
0,8264
0,7513
0,6830
0,6209
Barwert
350.000
1.722.727
1.566.116
1.423.742
1.294.310
1.176.646
7.533.541
Tabelle 3: Unternehmen 2 mit 100 eingesparte Schnittstellen, 10 % Zinsfuss
Nach den in Tabelle 2 und 3 dargestellten Rechnungen ergeben sich für Unternehmen 1 ein
Kapitalwert vom 3,1 Mio. Euro und für Unternehmen 2 ein Kapitalwert von 7,5 Mio. Euro. In
dem Artikel wird von einer Wirtschaftlichkeit erst ab einer hohen Anzahl von 40 eingesparten
Schnittstellen ausgegangen, jedoch die eigene Rechnung hat bei bereit 18 Schnittstellen einen
positiven Kapitalwert.
2.2 Betriebswirtschaftliches Gesamtsystem: ERP/ERM
2.2.1 Ansatz
ERP oder ERM Systeme versuchen die unterschiedlichen Unternehmensbereiche in Module
aufzuteilen und die betriebswirtschaftlichen Daten in einer gemeinsamen Datenbank
anzuspeichern. So lassen sich Unternehmensprozesse wie Finanzbuchhaltung, Controlling,
Human Resource, Lagerhaltung, Warenwirtschaft usw. gemeinsam verwalten und Daten
problemlos zwischen den einzelnen Bereichen austauschen. In aller Regel müssen diese
Module noch intensiv an die jeweiligen Bedürfnisse des Unternehmens angepasst werden.
Dieser Anpassungsvorgang wird als Customizing bezeichnet. Diese System bieten auch ihre
eigene Standardschnittstellen und versuchen so die Kommunikation zu anderen Systemen zu
erleichtern [SchMä01]. Viele unterschiedliche Anbieter befinden sich auf diesem Markt,
darunter SAP, Navivison, Baan, Poeplesoft, Oracle oder Siebel.
2.2.2 Probleme
Dieser Lösungsweg hat mit einigen Problemen zu kämpfen. Die Implementation eines
solchen Systems kann sich über eine sehr langen Zeitraum ziehen und oft Jahre dauern und ist
mit hohen Kosten und Risken verbunden. Weiters können meist nicht alle Altsysteme
abgelöst werden, da diese hochspezialisiert hinsichtlich des Unternehmens oder der Branche
sind, sodass es kein Standardmodul gibt oder die Anpassung eines Moduls an die vorhanden
Geschäftsprozesse nicht möglich ist [SchMä01]. Aus diesem Grund werden in Unternehmen
mitunter Prozesse umgestellt und den Abläufen des Moduls angepasst. Selbst bei Systemen
des gleichen Anbieters kann das Zusammenführen von Daten problematisch sein, da diese im
Regelfall unterschiedlich konfiguriert sind [SchMä01].
-8-
3 Verwendete Technologien
3.1 Middleware
3.1.1 Allgemeines
Wie bereits beschrieben besteht die IT Infrastruktur in vielen Unternehmen aus
unterschiedlichen Hardware- und Betriebssystemplattformen, unterschiedlichen Datenbanken
und File Systemen, unbeweglichen existierenden Anwendungen die mit neuen Anwendungen
koordiniert werden müssen und einer Mischung von LAN und WAN Protokollen.
In Laufe von Jahrzehnten haben sich die Strukturen von Anwendungen stark verändert und
haben sich von monolithischen Anwendungen über Client/Server eben zu den oben
beschriebenen heterogenen Anwendungen entwickelt.
Abbildung 3: Entwicklung von Anwendungen mit Middleware
In diesen mehrschichtigen Anwendungen wird zur Überwindung der Grenzen zwischen den
einzelnen Schichten Software benötigt. Diese Software wird als Middleware bezeichnet.
Middleware kann plattformübergreifend sein und greift meistens auf Standards zurück. Es ist
eine Infrastruktur für verteilte Anwendungen. Middleware erleichtert die Erstellung von
mehrschichtigen Anwendungen, da sich ein Programmierer nicht um die Kommunikation
zwischen des einzelnen Komponenten kümmern muss. Diese wird von der Middleware
Umgebung erledigt. Ein Ziel ist Entwicklungs- und Administrationskosten zu senken und
Datenzugriffe zu vereinfachen.
Middleware wird auch als das „/“ zwischen Client und Server bezeichnet. Eine Definition von
Middleware lautet [Sch01]:
•
Middleware ist Software, die für verteilte Anwendungen zur Überbrückung der
Heterogenität unterschiedlicher Systeme und Netze dient.
Die drei am weitverbreitesten Basistechnologien sind CORBA, Java RMI und
COM+/DCOM. Auch Transaktionsmonitore und Web Application Server fallen in den
Bereich von Middleware.
-9-
Abbildung 4: Gesamteinordnung von Middleware [Sch01]
Diese Techniken helfen Funktionalitäten einer Software, die sich möglicherweise auf einem
anderen Rechner und in einem anderen Netzwerk befindet, von einer anderen Software heraus
nutzbar zu machen. Die Einordnung der von Middleware kann auch aus einer anderen
Richtung betrachtet werden.
Abbildung 5: Einordnung von Middleware im Zusammenhang
Transportschicht und physikalischen Netzwerk [Sch01]
mit
Client/Server,
In diesen Beispiel macht sich ein Client mit einer Kassenanwendung einen Kontenserver zu
nutze. Es erzeugt ein Objekt, dass mit Hilfe von einer Middleware sich die Methoden eines
Objekt auf Serverseite zu nutze macht und durch die Transportschichten und das
physikalischen Netzwerk geht.
Middleware steht die verschiedensten Dienst zur Verfügung:
• Remote Procedure Call (RPC)
• Message-Schnittstellen
• Peer-to-Peer Schnittstellen
• Directory-Dienste
• Zeitdienste
- 10 -
•
•
•
•
•
•
Sicherheit / Authentification
Verschlüsselung
Datensyntaxdienste
Verteilte Dateisysteme (NFS, AFS, DFS)
Groupware
Netzwerkmanagement
3.1.2 Middleware Implementierungen
Middleware ist in vielen verschiedenen Formen verfügbar. Das DCE (Distributed Computing
Environment) der Open System Foundation stellt einen Versuch dar, Middleware zu
standardisieren. Es ist gleichzeitig ein anschauliches Middleware Implementierungsbeispiel.
Die wichtigsten Komponenten von DCE sind der DCE RPC, die DCE Directory Services,
Kerberos für die Sicherheits- und Authentifizierungsdienste, Datenrepräsentationsdienste
sowie die Zeitdienste. Sie werden durch einheitliche Schnittstellen zusammengehalten und
integriert. Während DCE bisher nicht sehr erfolgreich war, werden die DCE Komponenten
RPC und Kerberos in größerem Umfang eingesetzt.
Datenbank Middleware und Transaction Processing (TP) Monitore sind zwei heute relativ
weit verbreitete Middleware Produkte. CICS, Tuxedo, die SAP Grundstruktur, sowie
Groupware Produkte wie Lotus Notes, Microsoft Exchange und Novell GroupWise sind
Beispiele für anwendungsspezifische geschlossene Middleware,
Entwicklungsumgebungen gibt es für DCE, CORBA, Enterprise Java Beans (EJB) oder
Microsoft DCOM. Web Application Server sind ebenfalls Middlewareprodukte und werden
von vielen Firmen angeboten. Beispiele hierfür sind IBM WebSphere, iPlanet von Sun,
Application Server von Oracle oder WebLogic von BEA. Groupware wie Lotus Notes oder
MS Exchange stellen ebenfalls Middleware dar. E-Business Lösungen wie Supply Chain
Management (SCM), Customer Relations Management (CRM), Electronic Commerce oder
Data Warehouse sind genau so Middleware wie System Management Anwendungen wie
OpenView von Hewlett-Packard, Tivoli von IBM oder TNG von Computer Associates.
3.2 Komponenten
Alle größeren und komplexeren Anwendungen bestehen nicht aus einem Stück Software,
sondern teilen sich in einzelne Softwarebestandteile auf. Da es nicht sinnvoll und ökonomisch
ist, immer wieder einen Softwarebestandteil mit gleichen Funktionen neu zu erstellen, wird
versucht wiederverwendbare Software zu entwickeln. Diese wiederverwendbaren Bausteine
nennt man Komponenten. Diese Komponenten besitzen eine definierte Schnittstelle mit genau
festgelegten Funktionen. Diese Funktionen können eben über diese Schnittstelle benutzt
werden.
Doch dieser Ansatz greift noch zu kurz in unserem Zusammenhang und entspricht OO
(Objekt-Orientierter Programmierung). Mit OO wird versucht mit Hilfe von Vererbung
Klassen zu erweitern und so wieder verwendbar zu machen. In einem weiteren Schritt wird
nun versucht eine Komponente so zu gestalten, dass diese auch die Geschäftlogik enthält. So
werden die OO Prinzipien erweitert. Eine Komponente muss auch Middleware Standards
unterstützen, um in eine heterogene Umgebung eingebunden werden zu können.
- 11 -
COTS (Commercial Off The Shelf) sind kommerzielle Softwarekomponenten. Diese können
in sehr unterschiedlicher Form in Erscheinung treten. Sie können auf unterschiedlichen
Abstraktionsebenen und Granularitätsstufen angesiedelt sein. So können COTS als einfache
programmiersprachen- und plattformspezifische Komponenten vorhanden sein, als auch als
sehr komplexe grobgranulare Anwendungen, die ihrerseits wieder aus Komponenten bestehen
können.
COTS kapseln verschiedene Dienste und ermöglichen es, nicht immer von neuem
Komponenten zu erstellen, auf die man sonst keinen Zugriff hätte. COTS werden von Firmen
oder Open Source Gemeinschaften weiterentwickelt und gepflegt und erreichen so ein im
Idealfall ein hohe Maß an Zuverlässigkeit und Flexibilität. COTS kann auch als Middleware
auftreten und ein Framework enthalten. Beispiele hierfür sind CORBA oder J2EE (Java 2
Enterprise Edition). Es ist mit COTS möglich, schneller zuverlässige Anwendungen zu
erstellen.
3.3 CORBA
3.3.1 Allgemeines
Die Abkürzung CORBA steht Common Object Request Broker Architecture und ist ein
Standard der von OMG (Object Management Group) herausgegeben wird. CORBA hat im
Jahre 1991 mit der Version 1.0 gestartet, 1994/95 das Protokoll IIOP mit der Version 2.0
hinzugekommen. Der aktuelle Stand von CORBA wird als CORBA 3 bezeichnet und steht
seit Ende 2002 zu Verfügung. CORBA 3 besteht aber nicht nur aus einer Spezifikation
sondern aus zehn und umfasst eine Katalog von CORBA und IIOP Standards, wie
beispielsweise Common Object Request Broker Architecture (CORBA/IIOP Version 3.0.2),
CORBA Component Model (Version 3.0) oder Common Secure Interoperability (Version
3.0.1) [OMG03]. CORBA Component Model wurde neu eingeführt und startet mit der
Version 3.0, obwohl keine Vorgängerversion vorhanden ist.
3.3.2 Funktionsweise
CORBA dient dazu Methodenfernaufrufe zwischen Objekten durchzuführen. Wesentlichen
Merkmale von CORBA sind die Ortsunabhängigkeit, die Plattformenabhängigkeit und die
Sprachabhängigkeit, die für die Implementation verwendet wird. Über IDL (Interface
Definition Language) kann mit Hilfe von vielen verschiedenen Programmiersprachen
CORBA genutzt werden. Es ist so möglich beispielsweise mit C, C++, Java, ADA, LISP,
COBOL, IDLscript, Python oder Smalltalk sich CORBA nutzbar zu machen. IDL ist eine
implementationsunabhängige Beschreibungssprache, die Schnittstellen definiert und selbst
daher keine Anweisung enthält. Diese Trennung von Schnittstelle und Implementation ist ein
Grundbaustein für die Interoperabilität und Transparenz von CORBA
Das Basiselement für die Kommunikation innerhalb von CORBA ist ORB (Object Request
Broker). ORB stellt die Kommunikationsdienste zur Verfügung und kann als zentrales Organ
angesehen werden. ORB verwaltet die Methodenaufrufe vom Client hin zum Server und
wieder zurück zum Client. Jedes Serverobjekt stellt bestimmte Methoden zur Verfügung Es
werden hierfür Schnittstellen zur Verfügung gestellt, die im nachfolgendem Diagramm
dargestellt werden.
Die in der Grafik dargestellten Stub und Skeleton werden in der eigenen Programmiersprache
geschrieben und mit Hilfe eines IDL-Compiler kompiliert. Dabei können der Stub und
- 12 -
Skeleton eben auf Grund der reinen Schnittstellenbeschreibungseigenschaft von IDL in
unterschiedlichen Sprachen geschrieben und kompiliert sein.
Abbildung 6: Architektur des ORB (in Anlehnung an [OMG03ORB])
Ein Aufruf von Client an einen Server kann statisch oder dynamisch erfolgen. Statische
Aufrufe werden vom Client über den Stub an ORB weitergeleitet. Der Stub stellt die
Parameter zusammen und verpackt diese zum Weiterleiten an ORB. Somit ist der Stub
Verbindungsstück zwischen dem Client und ORB. Das statische Gegenstück auf der
Serverseite ist der Skeleton. Er interpretiert die Parameter und reicht sie weiter an den Server.
Stub und Skeleton dienen sozusagen als Proxy für den Client und den Server.
Dynamische Aufrufe unterscheiden sich von den statischen Aufrufen dadurch, dass diese erst
zur Laufzeit interpretiert werden und nicht kompiliert sind. Dieser Unterscheid kann auch
verglichen werden mit dem Unterschied zwischen Skripten und Programmen, wobei die
Skripte auch erst zur Laufzeit interpretiert werden. Dynamische Aufrufe werden vom DII
(Dynamic Invocation Interface) auf der Clientseite an ORB weitergeleitet. Dieser wird erst
zur Laufzeit generiert und bietet nur eine Schnittstelle, die sehr komplex ist. Auch hier gibt es
eine dynamisches Gegenstück auf der Serverseite, den DSI (Dynamic Skeleton Interface).
Dieser interpretiert wie der statische Skeleton die übergebenen Parameter und leitet sie vom
serverseitigen ORB an das Serverobjekt weiter. Der Objektadapter gibt die vom Server
beantworteten statischen und auch die dynamischen Methodenaufrufe wieder zurück an ORB.
Den Objektadapter gibt es entweder als BOA (Basic Object Adapter) oder als POA (Portable
Object Adapter). Weiters gibt es die Möglichkeit, das ORB ohne Zwischenschicht mit den
Client respektive dem Server direkt kommunizieren können. Zur Kommunikation zwischen
den client- und serverseitigen ORB wird GIOP (General Inter-ORB Protokoll) verwendet.
Diese Protokoll wird verwendet, wenn ORB-Grenzen überschritten werden und es wird von
verschiedenen Anbieter zur Verfügung gestellt. Speziell für die Kommunikation zwischen
ORB über das Internet gibt es das IIOP (Internet Inter-ORB Protokoll), das spezifiziert, wie
GIOP-Nachrichten ausgetauscht werden.
CORBA bietet auch Mechanismen die die Skalierbarkeit und Fehlertoleranzen einer
Anwendung möglichen. Es ist Load Balancing enthalten und auch eine Fehlertoleranz
basierend auf einer standardisierten Infrastruktur mit Entität Redundanz auf Objekt Level.
3.3.3 Umsetzungen
CORBA ist eine reine Spezifikation und kann daher auf jeder beliebigen Plattform umgesetzt
werden, dass heißt, es ist grundsätzlich allen Betriebssystemen und Hardwareplattformen, wie
einem Handheld, Mainframe oder UNIX-System, eine Implementation möglich. Anbieter von
- 13 -
Umsetzungen auf diversen Plattformen sind Inprise mit VisiBrocker für Windows, Mainframe
und UNIX oder Iona mit Orbix.
3.4 Java RMI
3.4.1 Allgemein
Java RMI steht für Java Remote Method Invocation und ist wie nicht wie CORBA aus
mehreren Programmiersprachen heraus nutzbar, sondern auf Java beschränkt. Es wurde mit
dem JDK 1.1 (Java Developer Kit) eingeführt und ermöglicht es, verteilte Objekte zu nutzen.
Im JDK 2 wurden die Möglichkeiten nochmals erweitert [SUN03].
Die Einschränkung auf Java als Programmiersprache bedeutet, dass sowohl clientseitig als
auch serverseitig die Objekte als Java Programmierung vorliegen müssen. Dies liegt zum
größten Teil daran, dass Java RMI sich die Serialization, die von Java geboten wird, zu eigen
macht. Die Serialization ermöglicht es einem Java Objekt als Stream verschickt zu werden.
Dieser Vorgang wird auch als Marshaling bezeichnet. Java RMI verwendet das Java Remote
Method Protocol (JRMP), dass ein proprietäres Protokoll ist und nur teilweise spezifiziert
wurde. Es ist in zwei Versionen vorhanden. Die erste Version stammt aus dem JDK 1.1 und
benötigt eine Skeleton Klasse auf dem Server und die zweite Version kam mit den JDK 2 und
benötigt keine Skeleton Klasse aus der Serverseite [SUN03].
Damit die Java Programme ablaufen können, benötigen diese auf der Client- und Serverseite
die Java Virtual Machine (JVM). Durch diesen Umstand kann Java RMI, wie Java
Programme im allgemeinen, auf allen Plattformen verwendet werden, auf denen eine JVM
vorhanden ist. Es gibt JVM für verschiedenste Betriebssysteme, wie Windows, UNIX,
Mainframes oder Handhelds.
3.4.2 Funktionsweise
Die Architektur von Java RMI besteht aus drei abstrakten Schichten.
• Stub und Skeleton Schicht
• Remote Reference Schicht
• Transportschicht
Abbildung 7: Schichten von Java RMI [SUN03]
Die erste Schicht fängt die Aufrufe des Client an die Schnittstelle ab und leitet sie weiter an
den fernaufgerufenen RMI Dienst. Hier findet man wie bei CORBA einen Stub und Skeleton,
die als Proxy fungieren. Die Remote Reference Schicht weiß wie der Aufruf zu interpretieren
- 14 -
ist und verwaltet Referenzen vom Client an das Server Objekt. Im JDK 1.1 ist es eine Einszu-Eins-Verbindung (Unicast) und verbindet den Client zu einem laufenden und exportierten
Server Objekt. Im JDK 2 ist es auch möglich einen ruhendes Objekt mittels Remote Object
Activation für einen Fernausruf zu nutzen. Die Transportschicht basiert auf TCP/IP
Verbindungen zwischen Computer im Netzwerk und stellt Basisverbindungen her. Wie in den
meisten Schichtmodellen kann durch diese Architektur eine Schicht ausgetauscht oder
weiterentwickelt werden, ohne die anderen Schichten zu beeinflussen.
Damit ein Client ein Serverobjekt finden kann, verwendet RMI einen Namen- oder
Verzeichnisdienst. Es stehen verschieden Namens- oder Verzeichnisdienste zur Verfügung. In
RMI beinhaltet ist ein einfacher Dienst namens RMI Registry. Es kann auch Java Naming and
Directory Interface (JNDI) verwendet werden. Dieser Dienst muss im Netzwerk auf einem
bekannten Rechner und Port befinden. Bei RMI Registry ist das standardmäßig der Port 1099.
Auf dem Rechner erzeugt ein Serverprogramm einen Remote Dienst, in dem es zuerst ein
lokales Objekt erzeugt, dass den Dienst zur Verfügung stellt. Anschließend wird dieses
Objekt an RMI exportiert und RMI erzeugt eine Listing-Dienst der auf Aufrufe vom Client
wartet. Der Server registriert das Objekt unter einem öffentlichen Namen in der RMI Registry
nach dem Export. Der Client kann nun mit einer Methode, die eine Klasse bereit hält, die
Registry abfragen und eine Aufrufreferenz zum Server Objekt erhalten.
3.5 DCOM
3.5.1 Allgemeines
DCOM ist die Abkürzung für Distributed Component Object Model und ist eine Erweiterung
von COM (Component Object Model) der Firma Microsoft. Es unterstützt, wie die zwei oben
beschriebenen Techniken auch, die Kommunikation von entfernten Objekten im LAN, WAN
oder Internet [MS03]. Das Protokoll, das die Verbindung zwischen den Objekten herstellt,
heißt Object Remote Procedure Call (ORPC). ORPC baut auf dem DCE RPC auf und
interagiert mit COM Laufzeitdiensten.
Wie bereits für COM spezifiziert ist es möglich DCOM Server Komponenten in diversen
Programmiersprachen zu schreiben. Dazu zählen C++, Java, Delphi, VisualBasic oder
COBOL. Auch mehrer Betriebssystemplattformen sind möglich, solange diese COM Dienste
unterstützen. Microsoft hat alle Windows für COM ausgerüstet sowie Solaris und es sind
Implementationen für UNIX, Linux und Mainframe der Firma Software AG mit EntireX und
von der Firma Digital für Open VMS vorhanden.
3.5.2 Funktionsweise
Ein DCOM Server ist in der Lage einen bestimmten Typ von Objekt seinen Dienst zur
Laufzeit anzubieten. Jeder DCOM Server kann mehrere Schnittstellen mit unterschiedlichen
Verhalten unterstützen. Damit ein DCOM Client eine Methode des DCOM Server aufrufen
kann, eignet sich der Client einen Zeiger auf eine der Schnittstellen des Server an. Dann kann
der Client beginnen, die zur Verfügung stehenden Methoden durch diesen Zeigen aufzurufen,
als ob die auf dem Server vorhanden Methoden im Clientadressraum verfügbar wären.
- 15 -
3.6 Vergleich CORBA, Java RMI und DCOM
In allen drei Technologien ist es möglich eine komplette Programmierung mit Java
durchzuführen, jedoch würde es den Rahmen dieser Arbeit sprengen dies zu zeigen. Es sei auf
[Go03] verwiesen. Stattdessen seien die Vor- und Nachteile der einzelnen Techniken in
Überblick beschrieben.
CORBA
Beliebig (v.a. C++,
Java, COBOL)
Betriebssysteme
Alle wesentlichen
Legacy Unterstützung
Transaction und
COBOL-Binding
Oberflächenentwicklung Mit Java/WWW
möglich
Angebotene Service
Sehr zahlreich;
praktisch verfügbar:
Kerndienste
Preis
Mittlerer Bereich
Sprachunterstützung
Geeignet für komplexe
Anwendungen
Ja
Java RMI
Nur Java
Alle wesentlichen
Viele Produkte (zB
WAS)
Mit Java/WWW
möglich
Nutzung von
CORBA wesentlich
Frei verfügbar;
CORAB i.d.R.
zusätzlich nötig
In Verbindung mit
CORBA
DCOM
Viele(Java, C++,
VB)
Primär Windows
Spezielle Produkte
(zB EntireX)
VB: Sehr einfach
Kerndienste
Relativ gering
Bedingt; primär in
Microsoft
Umgebungen
Tabelle 4: Vergleich CORBA, Java RMI und DCOM [Sch01]
Aus dem Vergleich wird deutlich, dass die einzelnen Techniken auf die konkrete Anwendung
abgestimmt werden müssen und sich pauschal keine als ungeeignet bezeichnen lässt.
3.7 Web Services und .NET Framework
3.7.1 Allgemeines
Zusätzlich zu den oben beschriebenen Techniken bieten Web Services eine neue Möglichkeit
Dienste entfernter Anwendungen über das Internet oder Intranet zu nützen. Das W3C (WWW
Consortium) definiert einen Web Service folgendermaßen [W3C03WS]:
•
Ein Web Service ist ein Softwaresystem identifiziert durch einen URI (Uniform
Resource Identifiers), dass XML benutzt um öffentliche Schnittstellen und Bindungen
zu definieren und zu beschreiben. Diese Definitionen können von einem anderen
Softwaresystem aus gelesen werden um dann mit dem Web Service nach der
Definition zu interagieren, unter der Verwendung von XML basierten Nachrichten, die
mit Internetprotokollen versandet werden.
Web Services verwenden HTTP (Hypertext Transfer Protocol) und XML (Extensible Markup
Language) um über SOAP Nachrichten (Simple Object Access Protocol) zu senden und
empfangen. Im Gegensatz zu CORBA oder COM wurden Web Services ausdrücklich für die
- 16 -
Nutzung über das Internet entwickelt und benützt offene vom W3C definierte Standards wie
HTTP, XML, SOAP, UDDI (Universal Description Discovery and Integration) und WSDL
(Web Service Definition Language).
Die Firmen Sun und Microsoft bieten Umgebungen an um Web Services zu erstellen. Sun als
Teil von J2EE und Microsoft im Rahmen von .NET. Hier soll nur .NET näher betrachtet
werden.
Web Services sind Teil des .NET Framework. Das .NET Framework stellt eine Umgebung
zur Verfügung, um webgestützte Anwendungen zu entwickeln und verteilen. .NET kann von
verschieden Programmiersprachen aus genutzt werden, wie C, C++, VB.Net und vor allem
von C# (gesprochen C Sharp). C# dient als neue an C++ angelehnte objektorientierte
Programmiersprache und hat im Sinne Microsoft eine strategische Bedeutung.
3.7.2 Funktionsweise
Der Aufbau einer .NET Anwendung, und Web Services sind eine solche, sieht wie folgt aus:
Abbildung 8: Aufbau einer .NET Anwendung [MS03NET]
Eine mit beispielsweise mit VB wird nicht mehr in Maschinencode kompiliert (obwohl das
auch noch möglich wäre), sondern einen Zwischencode (MSIL – Microsoft Intermediate
Language). MSIL ist offen gelegt und dokumentiert und daher kann auch jeder Compiler
einen solchen Code erzeugen. MSIL wird auch als Managed Code bezeichnet und wird erst
im zur Laufzeit vom JIT (Just in Time Compiler) in nativen Code umgewandelt und in der
CLR (Common Langauge Runtime) ausgeführt.
Ein Web Service registriert sich bei einem UDDI Dienst, der als Verzeichnis für die
angebotenen Web Services dient. Ein Client der nun diesen Service nutzen will, fragt in dem
Verzeichnis nach, wo sich der Web Service befindet und kann dann so eine Verbindung direkt
zu ihm herstellen. Die Anfrage der Client kann eine auf XML basierende SOAP Nachricht
sein, die einen Link zum UDDI-Dienst und den Namen des Web Service enthält. Der UDDIDienst antwortet auf diese Anfrage mit einer Liste der verfügbaren Web Services.
- 17 -
4 EAI-Tools
4.1 Marktaussichten
EAI-Tools machen sich die beschriebenen Techniken zu nutze und versuchen die Integration
von Legacy Anwendungen. Es befinden sich viele Anbieter dieser Werkzeuge auf dem Markt.
Der Markt für Anwendungsintegration entwickelt sich äußerst schnell und wird 2003 als
größtes und am schnellsten wachsendes Segment bei der Nachfrage von Dienstleistungen
durch Unternehmen eingeschätzt [BeHoLa01]. Es wird 2002 mit einem Volumen von 18 Mrd.
US-Doller gerechnet. Eine weitere Studie rechnet mit einem jährlichen Wachstum von 30 %
ausgehend von 5 Mrd. US-Dollar im Jahr 2000 auf 30 Mrd. im Jahr 2005 [Asen01]
4.2 Anbieter
Die Liste der Anbieter ist lang und daher seien hier nur einige exemplarisch genannt. Einige
der Firmen sind BEA Systems, Compuware, Fujitsu Siemens Computers, Hewlett-Packard, i7
Buisness Solutions, IBM, Iona, Microsoft, Oracle, SAP, SeeBeyond, Seeburger AG, Software
AG, SUN, TIBCO oder webMethods. In dieser Aufzählung sind einige Big Player wie
Microsoft oder IBM, aber auch eine Reihe Nischenfirmen, die spezialisiert auf EAI-Lösung
sind. Die meisten Unternehmen bieten verschiedenen Produkte für die Integration an.
4.3 Kosten
Die Kosten lassen sich in mehrere Bereiche aufteilen. Neben den Lizenzkosten, die oft
erheblich sind und je nach Lizenzierungsmodell des Herstellers in verschiedenen
Anwendungsfällen unterschiedlich hoch ausfallen können, sind die Investitionen für
Hardware und Infrastruktur in die Rechnung mit einzubeziehen. Schulungskosten für die
Implementierung und den Betrieb des Systems können ebenso entstehen wie Kosten durch die
Beratungs- und Implementierungsunterstützung, die notwendig sein wird, da Projekte dieser
Größenordung nicht aus den personellen Ressourcen im Unternehmen gedeckt werden
können. Es kann auch bei den Integrationskonzepten notwendig sein, Geschäftsprozesse zu
ändern, um die EAI-Potenziale wirklich ausschöpfen zu können. Der Umfang der
notwendigen externen Beratung für die EAI-Konzeption ist ein Kostenfaktor, der aber für die
Ausnutzung der EAI-Potenziale entscheidend ist. Somit lassen sich in Summe die Kosten
nicht pauschal nennen, sondern hängen sehr stark vom Einzelfall ab [Asen01].
- 18 -
5 Zusammenfassung
Zusammenfassend lässt sich sagen, dass der Bereich EAI und die damit in Zusammenhang
stehenden Technologien ein Feld sind, die in der Gegenwart und nahen Zukunft vieler
Unternehmen eine bedeutende Rolle spielen wird. Die Techniken entwickeln sich beständig
weiter und die prognostizierten Marktaussichten, machen es für Anbieter von EAI-Tools
interessant diese noch weiter voranzutreiben. Ein vorhergesagtes Marktvolumen von 25 bis 30
Mrd. US-Dollar für 2003 macht es für viele Anbieter interessant einzusteigen. Grosse
Unternehmen wie Microsoft sind erst vor kurzen in diesem Bereich mit eigenen
Lösungsansätzen tätig geworden. Ein Blick in Verzeichnisse für Anbieter und die aktuellen
Artikel haben gezeigt, dass der Markt in einem gewissen Maß unübersichtlich ist. Es ist für
Unternehmen die Lösungen suchen, nicht einfach diese auch zu finden. Alle Anbieter
versprechen eine Lösung der Probleme mit ihren jeweiligen Techniken, die einmal das Heil in
offnen mal in proprietären Ansätzen suchen.
Unternehmen stellt dies vor eine große Herausforderung. Die richtige Lösung zu finden ist für
die meisten Betriebe mit ihren internen Ressourcen nicht bewältigbar. Sie sind auf
kompetente externe Beratung angewiesen. Es kann nicht gesagt werden, ob kleine wendigere
Anbieter, die auf diesen Nischenmarkt spezialisiert sind, besser geeignet sind, in
Unternehmen eine EAI-Lösung zu implementieren, als große Anbieter, wie IBM, die
Kontinuität und jahrzehntelange Erfahrung in allen möglichen IT-Bereichen haben. Die
Techniken um die Herausforderungen zu bewältigen sind vorhanden und der
Integrationsdruck steigt beständig, da nicht nur innerbetrieblich der Informationsfluss
komplexer wird, sondern auch Externe, wie Kunden, Lieferanten und andere Stakeholder, in
diesen Informationsfluss eingebunden werden wollen oder müssen.
Abschließend kann mit Sicherheit gesagt werden, dass dieses Thema an Bedeutung zunehmen
wird und eine durchdachte und flexible Integration von Anwendungen als Erfolgsfaktor von
keinem größeren Unternehmen außer Acht gelassen werden darf.
- 19 -
Literatur
Bücher:
[BuChPa01] Buhl, Lothar; Christ, Jörg; Pape, Ulrich: Softwaresysteme für Enterprise
Application Integration. Bang 7, ALB-HNI-Verlagsschriftenreihe, 2001.
[Cu02] Cummins, Fred: Enterprise Integration: an Architecture for Enterprise Application
and Systems Integration, John Wiley & Sons Inc, 2002.
[Ke02] Keller, Wolfgang: Enterprise Application Integration, Erfahrungen aus der Praxis,
dpunkt.verlag, Heidelberg, Juni 2002.
[Li01] Linthicum, David: B2B Application Integration, Addison-Wesley, 2001.
[MePo02] Meinhardt, Stefan (Herausgeber); Popp, Karl (Herausgeber): Enterprise Portale &
Enterprise Application Integration, HMD Praxis der Wirtschaftsinformatik, Heft 225,
dpunkt.verlag, Heidelberg, Juni 2002.
[JuNaLe01] Juric, Matjaz; Nagappan, Ramesh; Leander, Rick S.; Basha, Jeelani;:
Professional J2EE EAI, Wrox, 2001.
[RuMa01] Ruh, William A.; Maginnis, Francis X.; Brown, William J.: Enterprise Application
Integration, Wiley 2001.
[ShStNg01] Sharma, Rahul; Stearns, Beth; Ng, Tony; Dietzen, Scott: J2EE Connector
Architecture and Enterprise Application Integration, Addison Wesley, 2001.
[Za99] Zahavi, Ron: Enterprise Application Integration with CORBA Component and WebBased Solutions, John Wiley & Sons, 1999.
Artikel:
[Asen01] Asendorf, Sebastian: Der richtige Griff in den Werkzeugkasten, Diebold
Management Report 03/2001.
[BeHoLa01] Bernotat, Jens; Hoch, Detlev J.; Laartz, Jürgen: EAI-Elementarer Treiber der
zukünftigen Wettbewerbsposition, Information Management & Consulting 16/2001.
[Ki00] King, Nelseon: Vertikal EAI, Computer User, 08/2000.
[LeNe02] Lehr, Mathias; Nelius, Ralph : Wann sich eine EAI-Lösung rechnet,
Computerwoche 39/2002.
[Lu00] Lutz, Jeffrey C.: EAI Architecture Patterns, EAI-Journal 03/2000.
[MH00] McHugh, Neil: A Quick Guide to Integrating the Mainframe, EAI- Journal 12/2000.
[Ni02] Nießen, Christian: Die Qual der Wahl oder der Weg zum passenden EAI-Framework,
uptec AG, 09/2002.
[PoMa02] Pohl, Michael; Mattern, Olaf: EAI: Mehr als nur eine Worthülse, Business 4
Enterprise, 02/2002.
[SchMä01] Schott, Karsten; Mäurer, Rolf: Auswirkungen von EAI auf die IT-Architektur in
Unternehmen, Information Management & Consulting 16 (2001).
[St01] Stiehl, Voker: Architekturen moderner Middleware-Lösungen im EAI-Umfeld,
Siemens Business Services, 18.1.2001.
[VaRo01] Vawter, Chad; Roman, E: J2EE vs. Microsoft.NET: A comparison of building
XML-based web services, ITtoolbox EAI für Sun Mircosystems 06/2001.
[Wa01] Walter, Jochen: Anwendungsintegration durch Integrationsanwendungen, DMR Detecon International, 01/2001.
[Sch01] Schill, Alexander: Middleware im Vergleich, Referat unter http://www.rn.inf.tudresden.de, 2001.
[Wra00] Wrazen, Ed: Referat auf dem CSSA EAI Forum am 4.2.2000.
- 20 -
Internet:
[Go03] Stand 17.1.2003: A Detailed Comparison of CORBA, DCOM and Java/RMI:
http://my.execpc.com/~gopalan/misc/compare.html
[MS03] Stand 18.1.2003: DCOM Technical Overview: http://www.microsoft.com/technet/
treeview/default.asp?url=/TechNet/prodtechnol/winntas/plan/dcomtowp.asp?frame=true
[MS03NET] Stand 26.1.2003: Product Overview .NET: http://msdn.microsoft.com/
netframework/productinfo/overview/default.asp
[OMG03] Stand 17.1.2003: Spezifikationen für CORBA 3: http://www.omg.org/technology/
documents/corba_spec_catalog.htm
[OMG03ORB] Stand 20.1.2003: ORB Basics: http://www.omg.org/gettingstarted/
orb_basics.htm
[SUN03]
Stand
18.1.2003:
Fundamentals
of
RMI
Short
Course:
http://developer.java.sun.com/developer/onlineTraining/rmi/RMI.html
[W3C03WS] Stand 26.1.2003: Web Services Architecture: http://www.w3.org/TR/ws-arch
Abbildungsverzeichnis
Abbildung 1: Das Problem vieler Schnittstellen [Wra00]...................................................... 4
Abbildung 2: EAI Infrastruktur [Wra00]............................................................................... 5
Abbildung 3: Entwicklung von Anwendungen mit Middleware ............................................ 9
Abbildung 4: Gesamteinordnung von Middleware [Sch01]................................................. 10
Abbildung 5: Einordnung von Middleware im Zusammenhang mit Client/Server,
Transportschicht und physikalischen Netzwerk [Sch01] ................................ 10
Abbildung 6: Architektur des ORB (in Anlehnung an [OMG03ORB]) ............................... 13
Abbildung 7: Schichten von Java RMI [SUN03] ................................................................ 14
Abbildung 8: Aufbau einer .NET Anwendung [MS03NET]................................................ 17
- 21 -
Herunterladen