Die hier vorliegende Arbeit beschäftigt sich mit der Entwicklung von wiederverwendbarer, auf Komponenten basierter Software. Zur praktischen Umsetzung wird ein Beispielszenario aus der Qualitätssicherung eines deutschen Automobilherstellers verwendet. Dabei soll ein Prototyp entwickelt werden, mit dem es möglich ist, Grafikdaten zwischen zwei Anwendungen auszutauschen. Da zum Einen die verwendeten Grafikformate auf der XML3 Syntax basieren, zum anderen XML eine wesentliche Grundlage für moderne EAI-Anwendungen bildet, soll der Focus der Arbeit darauf gelegt sein, wie XML den Austausch von Daten zwischen Anwendungen unterstützt. Somit soll der zu entwickelnde Prototyp in der Lage sein, XML-Daten zu verarbeiten. Besonderer Wert soll dabei auf die Erstellung von Stylesheets gelegt werden, mit denen es möglich ist, die Struktur von XML-Dokumenten zu ändern.
Um eine strukturierte Einführung in den zuvor kurz beschriebenen Sachverhalt zu geben, wird im Kapitel 2 zunächst eine Einführung in das Thema EAI gegeben. Neben einer Definition wird versucht, die Gründe für die Entwicklung von EAI-Anwendungen näher zu beleuchten. Ausserdem wird sich dem allgemeinen Aufbau solcher Anwendungen gewidmet. Abschliessend folgt ein kurzer Einblick, wie XML die Integration unterstützen kann.
Die Kapitel 3 und 4 befassen sich mit der Entwicklung komponentenbasierter Softwareanwendungen. Während in Kaptel 3 die Grundlagen erläutert werden, gibt das Kapitel 4 einen umfassenden Einblick in verschiedenen Möglichkeiten zur Umsetzung dieses Ansatzes. Dazu werden die Technologien Enterprise JavaBeans (EJB4), Common Object Request Broker Architecture (CORBA5), WebServices sowie das (Distributed) Component Object Model ((D)COM6) vorgestellt. Alle Technologien bieten Ansätze zur Entwicklung von Software in Komponenten. Denn Abschluss bildet ein Vergleich der vorgestellten Technologien anhand selbst gewählter Kriterien. Als Ergebnis steht die Auswahl einer Technologie, welche als besonders geeignet erscheint.
Die Abschnitte 5 bis 7 beschäftigen sich mit der prototypischen Umsetzung einer EAIAnwendung. Dazu erfolgt zunächst eine detaillierte Beschreibung der Anwendung.
Inhaltsverzeichnis
1 Einleitung
2 Enterprise Application Integration
2.1 Definition und Motivation von EAI
2.2 Aufbau von EAI-Anwendungen
2.3 EAI auf Basis von XML
3 Komponentenbasierte Softwareentwicklung
3.1 Notwendigkeit für komponentenbasierte Software
3.2 Strukturierung von Systemen
4 Technologien zur komponentenbasierten Softwareentwicklung
4.1 Enterprise JavaBeans
4.1.1 Einführung in Enterprise JavaBeans
4.1.2 Architektur und Funktionsweise von Enterprise JavaBeans
4.1.3 Bestandteile einer Enterprise-Bean
4.1.4 Arten von Enterprise JavaBeans
4.1.4.1 Session Beans
4.1.4.1.1 Grundlagen von Session Beans
4.1.4.1.2 Aufbau einer Stateful Session Bean am Beispiel eines Währungsumrechnungstools
4.1.4.2 Entity Beans
4.1.4.2.1 Grundlagen von Entity Beans
4.1.4.2.2 Aufbau einer Entity-Bean
4.1.4.2.3 Steuerung des Lebenszyklus
4.1.4.2.4 Container-Managed-Persistence (CMP)
4.1.4.2.5 CMP am Bespiel eines Counters
4.1.4.2.6 Bean-Managed-Persistence (BMP)
4.1.4.3 Message Driven Beans
4.1.4.3.1 Grundlagen von Message Driven Beans
4.1.4.3.2 Aufbau von Message-Driven-Beans
4.2 CORBA
4.2.1 Einführung in CORBA
4.2.2 Funktionsweise von CORBA
4.2.3 OMG-Interface Definition Language
4.2.4 CORBA Beispielanwendung
4.3 WebServices
4.3.1 Einführung in Web Services
4.3.2 Architektur und Funktionsweise von Web Services
4.4 (Distributed)COM
4.5 Bewertung und Auswahl einer Technologie für die Serverkomponenten
5 Anforderungen an einen Prototypen für XML-basiertes EAI
5.1 Beschreibung des Vorgehensmodells
5.2 Zielstellung und Rahmenbedingungen
5.2.1 Ausgangsituation
5.2.2 Verwendete Tools und Programme
5.2.3 Zielstellung der Implementierung
6 Entwurf des Prototypen
6.1 Grundlegende Architektur der Anwendung
6.2 Übersicht der Funktionalitäten
6.3 Entwurf der Klassenhierarchie
6.4 Modellierung der Datenbankstruktur
7 Darstellung ausgewählter Implementierungsaspekte
7.1 Komponentenübergreifende Realisierungsaspekte
7.1.1 Das Connection-Object als Bindeglied zwischen Datenbank und Komponenten
7.1.2 Verwaltung fortlaufender Primärschlüsselwerte
7.1.3 Kommunikation zwischen JSP und Servlets
7.2 Implementierung der User-, Anwendungs- und Rechteverwaltung
7.3 Die Anwendung zum Erstellen von Stylesheets
7.4 Die Durchführung von Transformationen
7.5 Einführung und Test sowie Ergebnisse
8 Zusammenfassung und Ausblick
Zielsetzung & Themen
Die Arbeit verfolgt das Ziel, einen Prototypen für die XML-basierte Integration von Unternehmensanwendungen (EAI) in der Qualitätssicherung der Automobilindustrie zu entwickeln. Die zentrale Forschungsfrage liegt darin, wie mittels wiederverwendbarer Komponenten und XSLT-Transformationen ein effizienter Datenaustausch zwischen heterogenen Systemen realisiert werden kann, um Arbeitsabläufe in der Qualitätssicherung zu rationalisieren.
- Grundlagen der Enterprise Application Integration (EAI)
- Komponentenbasierte Softwareentwicklung als Architekturansatz
- Technologien zur Komponentenumsetzung (EJB, CORBA, WebServices, DCOM)
- Prototypische Implementierung einer XML-basierten Integrationsplattform
Auszug aus dem Buch
Die Nachteile einer solchen Vorgehensweise liegen auf der Hand:
Mit Anstieg der Anwendungen steigt die Anzahl der Schnittstellen exponentiell an (Anzahl Schnittstellen = n*(n-1)/2 wobei n=Anzahl der Anwendungen)
Wird sehr schnell unübersichtlich
Erhöhter Aufwand bei Updates und Neueinführungen von Systemen
Wartung ist zeitaufwendig und kostenintensiv
Ein anderer Ansatz, die Kommunikation zwischen Anwendungen zu ermöglichen, ist die Integration einer sogenannten Middleware. Dabei wird die Middleware zwischen die beteiligten Anwendungen geschaltet. (siehe Abb 2.2)
Middleware-Produkte ermöglichen den Datenaustausch zwischen Anwendungen verschiedener Hersteller auch über Plattform- und Unternehmensgrenzen hinweg [WR00]. Dieser Ansatz ist einer der Kernpunkte des Vorgehens, welches heute weitläufig unter dem Begriff Enterprise Application Integration (EAI, dt. Integration von Unternehmensanwendungen) bekannt ist.
Da der Begriff des EAI etwas schwammig ist und unterschiedliche Ausprägungen und Definitionen existieren, soll im Folgenden der Versuch einer Kurzdefinition unternommen werden. Hauptanwendungsziel einer jeden EAI-Lösung ist das Bemühen, Anwendungen, die nicht für eine Zusammenarbeit entworfen worden sind, dazu zu bringen, in Geschäftsprozessen zu interagieren. Eine sehr treffende Definition ist die folgende:
Zusammenfassung der Kapitel
1 Einleitung: Beschreibt die Bedeutung der komponentenbasierten Softwareentwicklung sowie die Motivation für EAI-Lösungen im Kontext eines Automobilherstellers.
2 Enterprise Application Integration: Definiert EAI und erläutert die verschiedenen Integrationsebenen (Daten-, Objekt- und Prozessebene) sowie die zentrale Rolle von XML für den Datenaustausch.
3 Komponentenbasierte Softwareentwicklung: Behandelt die theoretischen Grundlagen, Vorteile und Herausforderungen der komponentenorientierten Entwicklung sowie die Strukturierung von Systemen in Multi-Tier-Architekturen.
4 Technologien zur komponentenbasierten Softwareentwicklung: Vergleicht verschiedene Technologien wie EJB, CORBA, Web Services und DCOM anhand festgelegter Kriterien, um die Eignung für den Prototypen zu evaluieren.
5 Anforderungen an einen Prototypen für XML-basiertes EAI: Beschreibt das Vorgehensmodell nach dem Rational Unified Process und definiert die Zielstellung sowie die Rahmenbedingungen für die praktische Umsetzung.
6 Entwurf des Prototypen: Detailliert die grundlegende Architektur der Anwendung, die modellierten Use-Cases, die Klassenhierarchie und die Struktur der Datenbank.
7 Darstellung ausgewählter Implementierungsaspekte: Erläutert die konkrete technische Umsetzung, inklusive Datenbankanbindung (JDBC), User- und Rechteverwaltung sowie der Transformationslogik für XML-Dokumente und Grafiken.
8 Zusammenfassung und Ausblick: Resümiert die Projektergebnisse und zeigt potenzielle zukünftige Erweiterungsmöglichkeiten des entwickelten Systems auf.
Schlüsselwörter
Enterprise Application Integration, EAI, Komponentenbasierte Softwareentwicklung, XML, EJB, Enterprise JavaBeans, Middleware, Softwarearchitektur, Qualitätssicherung, Transformation, XSLT, Web Services, Datenaustausch, Datenbankmodellierung, Automobilindustrie.
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Diplomarbeit untersucht die Möglichkeiten einer XML-basierten Integration von Unternehmensanwendungen (EAI) und implementiert einen Prototypen, der dies am Beispiel der Qualitätssicherung in der Automobilindustrie demonstriert.
Was sind die zentralen Themenfelder der Arbeit?
Die Arbeit behandelt die komponentenbasierte Softwareentwicklung, die verschiedenen Integrationsschichten in Unternehmensanwendungen, den Vergleich verschiedener Middleware-Technologien sowie die praktische Umsetzung einer Integrationslösung für Grafikdaten.
Was ist das primäre Ziel oder die Forschungsfrage?
Das primäre Ziel ist der Entwurf und die prototypische Implementierung einer wiederverwendbaren Softwarelösung, die es ermöglicht, Grafikdaten zwischen Anwendungen auszutauschen, indem XML als plattformunabhängige Basis genutzt wird.
Welche wissenschaftliche Methode wird verwendet?
Der Autor folgt für die Softwareentwicklung dem Rational Unified Process (RUP) und strukturiert die Arbeit in Konzept-, Entwurfs-, Konstruktions- und Übergabephasen.
Was wird im Hauptteil der Arbeit behandelt?
Der Hauptteil befasst sich detailliert mit der Analyse und dem Vergleich von Technologien wie EJB, CORBA und Web Services sowie der konkreten Architektur und Implementierung des EAI-Prototypen.
Welche Schlüsselwörter charakterisieren diese Arbeit?
Die Arbeit wird durch Begriffe wie Enterprise Application Integration (EAI), XML, Enterprise JavaBeans (EJB), Software-Komponenten und XSLT-Transformation charakterisiert.
Wie wird in dieser Arbeit die Persistenz von Daten gelöst?
Die Arbeit setzt auf relationale Datenbankmanagementsysteme, wobei der Zugriff und die Verwaltung der Daten innerhalb der EJB-Komponenten (unter Nutzung von Entity Beans mit CMP oder BMP) via JDBC erfolgt.
Wie gehen die Komponenten mit Fehlern um?
Das System nutzt die in Java integrierten Exception-Mechanismen, um Fehlerzustände zu definieren und zu behandeln, wobei diese Schnittstellen über Home- und Remote-Interfaces nach außen hin deklariert werden.
- Quote paper
- Sebastian Behrens (Author), 2003, Eine XML-basierte Integration von Unternehmensanwendungen am Beispiel der Qualitätssicherung in der Automobilindustrie, Munich, GRIN Verlag, https://www.grin.com/document/17797