Bachelor + Master Publishing
811 Bachelorarbeiten, 533 Masterarbeiten, 10.103 Diplomarbeiten

Ein System zur Transformation von Geschäftsnachrichten

Ein System zur Transformation von Geschäftsnachrichten
Über dieses Buch
  • Art: Diplomarbeit
  • Autor: Erwin Rafael Pacheco Rojas
  • Abgabedatum: Mai 2005
  • Umfang: 108 Seiten
  • Dateigröße: 557,6 KB
  • Note: 2,0
  • Institution / Hochschule: Hochschule für Angewandte Wissenschaften Hamburg Deutschland
  • Bibliografie: ca. 31
  • ISBN (eBook): 978-3-8366-3141-9
  • Sprache: Deutsch
  • Prämierung:
  • Arbeit zitieren: Pacheco Rojas, Erwin Rafael Mai 2005: Ein System zur Transformation von Geschäftsnachrichten, Hamburg: Diplomica Verlag
  • Schlagworte: Geschäftsnachrichten, Software-Engineering, Transformation, Xquery, Java

Diplomarbeit von Erwin Rafael Pacheco Rojas

Einleitung:

Motivation:

XML (eXtensible Markup Language) ist schnell eine beliebte Sprache für den Austausch von Daten zwischen Organisationen bzw. Applikationen geworden. Ihre Popularität hat zu einer Konjunktur von XML Dialekten, Frameworks, Standards und Protokollen wie xCBL (XML Common Business Library), ebXML (Electronic Business XML), UDDI (Universal Description, Discovery and Integration) und WSDL (Web Services Description Language) geführt. Die Anzahl der Unternehmen, die XML als Dokument- und Nachrichten-Format für ihr Geschäft benutzen bzw. benutzen wollen, wächst ständig. Aus diesem Aufschwung ergibt sich die Forderung nach XML-Transformationen (siehe unten) für den Austausch von XML-Dokumenten, wie in den folgenden Fällen beschrieben ist:

a. Unternehmen wollen Geschäftsnachrichten in verschiedenen XML-Formaten austauschen.

b. Unternehmen, die als Haupt-Format für ihre Geschäftsdokumente einen Standard wie z.B. EDIFACT (EDI for Administration, Commerce and Transport) oder SWIFT (Society for Worldwide International Financial Telecommunication) benutzen, möchten Nachrichten mit anderen Organisationen austauschen, welche XML als Geschäftsnachrichten-Format benutzen.

Im einfachsten Fall wird z.B. ein Unternehmen ‘A’ mit Standard-Format ‘x’ nur mit einem Unternehmen ‘B’ im XML-Format ‘y’ Nachrichten austauschen. Häufiger und in der Umsetzung komplizierter wird das Unternehmen ‘A’ jedoch Nachrichten mit ‘B’ Format ‘y’, ‘C’ Format ‘z’, ‘D’ Format ‘q’ usw. Geschäftsnachrichten austauschen wollen.

Eine große Schwierigkeit hierbei sind die vielen verschiedenen XML-Dialekte, welche zurzeit benutzt werden. Die Markup-Sprache XML bietet durch die DTDs (Document Type Definition) und XML-Schemata die Möglichkeit freier Definitionen von Dokumententwürfen. Diese Eigenschaft wird oft für die Entwicklung neuer Standards von Geschäftsdokumenten bzw. Geschäftsnachrichten genutzt.

XML leitet sich, wie auch HTML (Hypertext Markup Language), aus SGML (Standard Generalized Markup Language) ab. Während HTML zur Beschreibung von Dokumenten benutzt wird, wird XML vorwiegend für die Beschreibung vonDaten verwendet. Wenn für das XML-Dokument eine DTD oder ein Schema existiert, dann können Regeln für das Verhalten der Daten definiert werden. Weitergehend bietet XML viele Möglichkeiten zur Verarbeitung von Dokumenten und bildet deshalb die beste Lösung zur Beschreibung von Geschäftsdokumenten. Wegen diesen Vorteilen und anderen Eigenschaften, welche im Kapitel 4 noch betrachtet werden, wird XML zur Grundlage dieser Arbeit genommen.

Ein großer neuer Standard ist das Bolero-System. Bolero (Bill of Lading for European Organisations) selbst betreibt eine Datenbank, welche über das Internet erreichbar ist und über die alle Teilnehmer am Bolero-System Nachrichten austauschen können. Die einzelnen Bolero-Dokumenttypen sind reine XML- Dokumente. Für jeden diesen Dokumenttypen gibt es verschiedene DTD-Versionen. Hieraus ergibt sich die Notwendigkeit von Transformationen für den Austausch von Nachrichten über das Bolero-Netz für Teilnehmer, die unterschiedliche Dokument-Versionen benutzen. Ein Beispiel eines Bolero-Dokuments kann in Abschnitt 7.2.4, Abbildung 7.10 betrachtet werden.

Die Swift-Gesellschaft definiert eine außerordentlich große Anzahl von verschiedenen Dokumenten zu allen nur denkbaren Zwecken, wie z.B. die Eröffnung eines Akkreditivs (Auslandskredit-Geschäft) oder deren Änderung. Finanztransaktionen sind beschrieben bei standardisierten strukturalen Nachrichtenarten, welche Feldkennzeichnungen (Tags) enthalten. In Folge dessen werden Regeln wie Pflicht- bzw. Optional-Feld, Reihenfolgewiederholungen etc. aufgebaut. Technisch betrachtet sind SWIFT-Nachrichten nichts anderes als einfache ASCII Dateien. Ein Beispiel derSWIFT-Syntax wird in Abschnitt 7.2.4, Abbildung 7.7 dargestellt.

Problemstellungen und Zielsetzung:

Um die Zielsetzung dieser Diplomarbeit klarer zu machen, wird ein Beispielszenario aus der Branche des Auslandskredit-Geschäfts (Akkreditiv) angenommen. Eine Bank bietet ihren Kunden die Möglichkeit, mit ihr bestimmte Nachrichten im XML-Format über die Bolero-Plattform austauschen zu können. Die Bank benutzt das SWIFT-Netz, um mit anderen Banken und Finanzdienstleistern Nachrichten auszutauschen.

Ein Importeur sendet nun eine Bolero-Nachricht zur Eröffnung eines Akkreditivs an seine Bank. Mit dem Senden dieses Auftrages fängt der Austausch von Nachrichten an.

Aus dem Beispielszenario ergibt sich die Anforderung, dass eine Transformation von SWIFT-Nachrichten zu Bolero-Nachrichten in beiden Richtungen nötig ist. Da das Home-System der Bank ein SWIFT-basiertes System ist, muss sie eine Transformationslösung benutzen, welche dies ermöglicht. Zur Lösung dieser Problemstellung gibt es verschiedenen Alternativen.

Einige dieser Alternative sind:

Ersetzung des SWIFT-basierten Systems durch eine neue Softwarelösung. Diese Alternative wird aus folgenden Gründen ausgeschlossen:

es kostet viel Zeit, die Verwaltung bzw. die Funktionalität des neuen Produkts kennen zu lernen, denn in der Regeln sind dies sehr umfangreiche Systeme, es könnten Kompatibilitätsprobleme auftreten, z.B. bei der Anbindung an Datenbanken, Betriebssysteme, Peripherien etc., das neue Produkt könnte trotzdem nicht alle Anforderungen erfüllen, die das alte System schon lösen konnte und solche Systeme sind in der Regel sehr teuer.

Eine zweite Alternative wäre, das SWIFT-System so zu erweitern, dass es auch die Transformationen nach XML ausführen kann. Diese Alternative wird aus folgenden Gründen ebenfalls ausgeschlossen:

es kostet viel Zeit, es fordert sehr gute Kenntnissen der neu eingesetzten Technologien, es müssen eigene oder externe Mitarbeiter dafür eingesetzt werden, die Ergonomie des bestehenden Systems kann negativ beeinflusst werden und es ist nicht günstig.

Ausgehend von der Anforderung, die durch das Beispielszenario entsteht, ist die beste Alternative, ein Transformationssystem einzuführen, welches diese Anforderung, also die Transformation von SWIFT-Nachrichten zu Bolero-Nachrichten in beiden Richtungen, erfüllt. Einige Vorteile dieser Alternativlösung sind:

das SWIFT-System bleibt unverändert und damit auch seine sämtlichen Funktionen, das SWIFT-System wird nicht negativ ergonomisch beeinflusst, ein System, das nur zur Transformationen zuständig ist, ist nicht sehr umfangreich und deshalb kann seine Funktionalität schnell erlernt werden, das Transformationssystem kann auch andere Formate unterstützen und das neue Transformationssystem gibt der gesamten Umgebung mehr Portabilität bzw. Flexibilität, da es nicht im gleichen Rechner des SWIFT-Systems installiert sein muss.

Ziel dieser Diplomarbeit ist:

Der Entwurf und die Implementierung einer Softwarelösung zu XML-Transformationen von Geschäftsnachrichten, welche die Anforderungen des gewählten Szenarios erfüllt.

Struktur der Arbeit:

Als erstes wird im Kapitel 2 durch ein Beispielszenario erläutert, in welchem Kontext diese Arbeit steht und es werden bereits erste Anforderungen an das System skizziert.

In Kapitel 3 wird die Anforderungsanalyse im Allgemeinen bzw. für das Beispielszenario Transformationsverarbeitung in einer detaillierten Weise dargestellt. Des Weiteren werden die Eigenschaften, die das System erfüllen soll, definiert.

Die Mächtigkeit der XML-Verarbeitung wird im Kapitel 4 dargestellt. Hier werden die verschiedenen Methoden, Transformationssprachen und Abfragemöglichkeiten, die XML schon bietet bzw. welche mit XML angeboten werden, analysiert und bewertet. In diesem Kapitel wird außerdem ein Überblick über die Programmiersprache Java und die Möglichkeiten, welche das Programm für die Verarbeitung von XML zur Verfügung stellt, gegeben.

Kapitel 5 bietet eine Übersicht über gebräuchliche Transformationstechniken. Es werden dazu Konzepte, Architekturen und Methoden vorgestellt, die zum Entwurf des Transformationssystems nützlich sind.

Die Kapitel 6und 7 stellen die entworfene Lösung dar. Im 6. Kapitel wird die in dieser Arbeit vorgeschlagene Lösung entworfen und im Kapitel 7 erfolgt die Implementierung.

Im letzten Kapitel werden die Ergebnisse der Arbeit zusammengefasst. Des Weiteren wird ein Ausblick darauf gegeben, wie sich das entworfene System erweitern ließe und was die Zukunft bringen wird bzw. bringen könnte.

Inhaltsverzeichnis:

1 Einleitung 1
1.1 Motivation 1
1.2 Problemstellungen und Zielsetzung 2
1.3 Struktur der Arbeit 4
2 Beispielszenario 6
2.1 Eröffnung eines Akkreditivs 7
2.2 Änderung des Akkreditivs 8
3 Systemanforderungen 9
3.1 Übersicht 9
3.1.1 Integrationsanforderungen 10
3.2 Systemeigenschaften 11
3.2.1 Bidirektionalen Transformationen 11
3.2.2 Automatisierte Transformationen 11
3.2.3 Unterstützung unterschiedlicher Formate 12
3.2.4 Flexible Schnittstellen 12
3.2.5 Modularität 12
3.2.6 Erweiterbarkeit 13
3.2.7 Wartbarkeit 13
3.2.8 Übertragbarkeit 14
3.2.9 Wiederverwendbarkeit 14
4 Überblick XML-Verarbeitung 15
4.1 Einführung 15
4.1.1 XML als Sprache für das World Wide Web 15
4.1.2 XML trennt die Daten von ihrer Verarbeitung 16
4.1.3 XML als Metasprache 16
4.1.4 Transformation von XML-Dokumenten 16
4.2 XML: Informationsaustausch 16
4.2.1 Dokumententypdefinitionen (DTD) 18
4.2.2 XML-Schema 19
4.3 Die Transformationssprache XSL 20
4.3.1 Xpath 20
4.3.2 XSL 23
4.4 Die Abfragesprache XQuery 25
4.4.1 Was ist XQuery? 26
4.4.2 Transformationen mit XQuery 27
4.5 Überblick: XML und Java 29
4.5.1 XML-Parser in Java 29
4.5.2 XSLT-Prozessoren in Java 31
4.5.3 Die JAXP-API 33
4.5.4 Weitere APIs 39
4.6 Übersicht über bisherige Lösungsansätze 45
4.6.1 Einführung 45
4.6.2 Biztalk 46
4.6.3 GoXML 49
4.6.4 MessageObjects 50
5 Transformationstechniken 51
5.1 Grundlegende Konzepte 51
5.1.1 Konvertierung 51
5.1.2 Grammatiken 52
5.1.3 Sprachanalysatoren 52
5.1.4 Transformationsorientierte Software 52
5.2 Transformationsorientierte Verarbeitung von Texten 53
5.3 Transformierungsmethode 54
5.3.1 Transformationen mit XML als Zwischenschritt 54
5.3.2 Einfaches Transformieren 55
5.3.3 Komplexeres Transformieren 55
5.3.4 Generierung von Klassen auf der Basis einer Grammatik 56
5.4 Pipes & Filter-Architektur 56
5.5 Zusammenfassung 57
6 Systementwurf 58
6.1 Annahmen und Eingrenzungen 58
6.2 Konzepte und Technologien zur Realisierung der Anforderungen 58
6.2.1 Integration des Systems 58
6.2.2 Systemeigenschaften 60
6.3 Softwareentwurf 62
6.3.1 Vorüberlegungen 62
6.3.2 Verteilung der Daten 63
6.3.3 File Interface 64
6.3.4 Repository 67
6.3.5 Transform engine 71
6.3.6 Operator GUI 73
6.3.7 Ablauf 76
6.3.8 Zusammenfassung 78
7 Systemimplementierung 79
7.1 Beschreibung der Umgebung 79
7.1.1 Bank- und Kunde-System 79
7.1.2 Implementierungsumgebung 79
7.2 Implementierung des Softwareentwurfs 79
7.2.1 Verteilung der Daten 80
7.2.2 File Interface 81
7.2.3 Das Repository 82
7.2.4 Transformation engine 84
7.2.5 Operator GUI 92
7.2.6 Zusammenfassung 94
8 Zusammenfassung, Fazit und Ausblick 96
8.1 Zusammenfassung 96
8.2 Fazit und Ausblick 96
Glossar 98
Literaturverzeichnis 101

Textprobe:

Kapitel 5, Transformationstechniken:

Ziel dieses Kapitels ist es, allgemeine Konzepte, Techniken und Methoden vorzustellen, mit denen Transformationen von Dokumenten bzw. Texten zu meistern sind. Es werden hier dazu Vorgehensmodelle und Methoden des Bereiches der transformationsorientierten Software berücksichtigt.

5.1, Grundlegende Konzepte:

In diesem Abschnitt werden sämtliche Konzepte vorgestellt, welche die Grundlagen für spätere Abschnitte bilden. Es handelt sich um allgemeine Konzepte der Informatik, die, um bestimmte Zwecken zu erreichen, verschieden kombiniert werden können.

5.1.1, Konvertierung:

Laut Wikipedia-Enzyklopädie ([Konvertierung 2005]) bedeutet Konvertierung in der Informatik die Überführung einer Datei von einem Dateiformat in ein anderes. Bei diesem Transformationsprozess gibt es prinzipiell drei Möglichkeiten: Die verlustfreie Konvertierung,die verlustbehaftete Konvertierung und die sinnhafte Konvertierung. Während der verlustfreien Konvertierung gehen keine Daten verloren. Dies ist der Fall, wenn zwei kompatible Formate ineinander überführt werden.

Im Gegensatz zu der verlustfreien Konvertierung ist die verlustbehaftete Konvertierung mit Datenverlust verbunden. Dabei werden z.B. durch Datenkompression die aus Sicht des Ergebnisses nicht notwendigen Daten weggelassen.

Bei der sinnhaften Konvertierung werden Daten ‘dem Sinne nach’ konvertiert. Dies kann mit oder ohne Informationsverlust geschehen. Bei diesem Konvertierungsprozess können auch Informationen aus zusätzlichen Quellen herangezogen und verarbeitet werden.

In dieser Diplomarbeit werden sinnhafte Konvertierungen von Dokumenten realisiert, in denen keine oder nur ‘nicht relevante’ Informationen verloren gehen. Ein typisches Beispiel für eine ‘nicht relevante’ Information ist die Versions-Nummer eines Bolero-Dokuments. Bei der Transformation in das SWIFT-Format wird diese Versions-Nummer nicht mehr gebraucht, da sie für SWIFT-Spezifikationen nicht relevant ist. Für die Konvertierung in Gegenrichtung muss dann diese Versions-Nummer jedoch versorgt werden.

5.1.2, Grammatiken:

Eine Grammatik formuliert eindeutige Regeln, die eine Struktur, zum Beispiel die Struktur eines XML-Dokumentes, beschreiben. Solche Grammatiken dienen als statisches Beschreibungsmittel einer Sprache und bilden die Grundlage für die Konstruktion von Analysatoren wie etwa Syntaxanalysatoren (Parser), die Eingabedaten bezüglich der Grammatikregeln überprüfen.

Die Art der Grammatik bei Transformationsprozessen kann unterschiedlich sein, gemäß den Anforderungen der Transformationsarten. In der Regel werden entsprechende Grammatiken zum Beschreiben des Eingabe- und des Ausgabeobjektes benutzt. Als Beispiele von Grammatiken, die während eines Transformationsprozesses benutzt werden können, sind die kontextfreien Grammatiken im Bereich der formalen Sprachen (siehe dazu [Pomberger und Pree 2004]), die XML-Syntax, DTDs und XML-Schemata zu nennen.

5.1.3, Sprachanalysatoren:

Die Aufgabe eines Sprachanalysators ist es zu überprüfen, ob die syntaktische Struktur des Eingabeobjektes der Grammatik entspricht. Solche Analyseprogramme können aus der vorgegebenen Grammatik nur dann konstruiert werden, wenn die Grammatik eindeutige Regeln beschreibt.

Wichtigste Eigenschaft eines Sprachanalysators ist die Entscheidbarkeit, was bedeutet, das beim Lesen einer Eingabe der Analysator die Fähigkeit haben muss, bei jeder Situation zu entscheiden, mit welcher Alternative die Analyse fortgesetzt werden soll.

Die Sprachanalysatoren kann man in lexikalische Analysatoren (Scanner) und syntaktische Analysatoren (Parser) unterteilen. Diese beiden Analysatoren werden im folgenden Abschnitt 5.2 näher betrachtet.

5.1.4, Transformationsorientierte Software:

In unserer Problemstellung geht es hauptsächlich darum, einen Strom strukturierter Daten zu verarbeiten und in eine andere Form zu transformieren. Software-Systeme für solche Aufgabestellungen können auf elegante und systematische Weise mit Hilfe von Grammatiken spezifiziert werden. Darauf aufbauend kann dann die erforderliche algorithmische Lösung mittels Attributierung dieser Grammatiken entworfen und dokumentiert werden. Die solcherart entworfenen Lösungen beschreiben also die Transformation eines gegebenen Datenstromes in eine andere Form; sie können automatisch durch den Einsatz von Generatoren in Algorithmensysteme transformiert werden. In diesem Fall wird von transformationsorientierter Software gesprochen.

Das hier vorgestellte Konzept der transformationsorientierten Software sowie einige Techniken für die transformationsorientierte Verarbeitung von Texten werden im Buch detailliert in einer sehr verallgemeinerte Weise beschrieben. Einige dieser hilfreichen Techniken werden in den folgenden Abschnitten dieses Kapitels näher betrachtet und bezüglich den Anforderungen unserer Problemstellung beleuchtet.

Arbeit zitieren:
Pacheco Rojas, Erwin Rafael Mai 2005: Ein System zur Transformation von Geschäftsnachrichten, Hamburg: Diplomica Verlag

Schlagworte:
Geschäftsnachrichten, Software-Engineering, Transformation, Xquery, Java

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