Konzeption und prototypische Realisierung eines Tools

Werbung
Universität Bern, Institut für Wirtschaftsinformatik
Universität Leipzig, Institut für Wirtschaftsinformatik
Universität Erlangen-Nürnberg, Bereich Wirtschaftsinformatik I
Wolfgang Faisst und Stefan Will
Konzeption und prototypische Realisierung
eines Tools zur Visualisierung von Schnittstellen
betriebswirtschaftlicher Anwendungssysteme
Arbeitspapier der Reihe
„Informations- und Kommunikationssysteme
als Gestaltungselement Virtueller Unternehmen“
Nr. 18/1997
Herausgeber
Prof. Dr. Dieter Ehrenberg
Prof. Dr. Joachim Griese
Prof. Dr. Dr. h.c. mult. Peter Mertens
Engehaldenstraße 8, CH-3012 Bern, Tel. +41/31/631-4785, FAX +41/31/631-4682
Marschnerstraße 31, D-04109 Leipzig, Tel. +49/341/4941-281, FAX +49/341/476633
Lange Gasse 20, D-90403 Nürnberg, Tel. +49/911/5302-284, FAX +49/911/536634
Wolfgang Faisst und Stefan Will: Konzeption und prototypische Realisierung eines Tools zur Visualisierung von
Schnittstellen betriebswirtschaftlicher Anwendungssysteme.*) Arbeitspapier der Reihe „Informations- und Kommunikationssysteme als Gestaltungselement Virtueller Unternehmen“ Nr. 18/1997. Institut für Wirtschaftsinformatik der Universität Bern, Institut für Wirtschaftsinformatik der Universität Leipzig, Bereich Wirtschaftsinformatik I der Universität Erlangen-Nürnberg, Bern Leipzig Nürnberg 1997.
Zusammenfassung
Dieser Bericht dokumentiert das System „VUWizard“, Version 1.0. Das Tool dient zur Darstellung eines VU
mit seinen Partnern, Anwendungssystemen, Kopplungsbeziehungen und Datenkonvertierungsvorschriften. Zunächst motiviert die Arbeit die Notwendigkeit und Einsatzumgebung des Prototypen. Dann werden verschiedene
Lösungsmöglichkeiten für mehr Transparenz bei der flexiblen Kopplung von verschiedenen Systemwelten vorgeschlagen, die der Punkt „Systembeschreibung“ wieder aufgreift. Es folgen die Beschreibung des IV-Konzepts
sowie schließlich Aspekte der Realisierung des Systems.
Schlüsselbegriffe: Schnittstellen, Konverter, Visualiserung, flexible Kopplung
Abstract
This report includes the documentation of the system „VUWizard“, version 1.0. The Tool is useful for visualization of a Virtual Enterprise (VE) with its partners, application systems, interfaces, and data converting rules.
First, we motivate why and where prototype is needed. Then, we suggest some possible solutions for more transparent flexible coupling of heterogeneous system worlds. A description of the IT concept as well as aspects of
the system realization follows.
Key Words: Interfaces, Converter, Visualization, Flexible Coupling
*)
Der vorliegende Beitrag basiert auf Erkenntnissen aus dem Forschungsprojekt „Informations- und Kommunikationssysteme als Gestaltungselement Virtueller Unternehmen“, welches von der DFG unter Me 241/16-1 und Eh 127/3-1
gefördert wird. Beteiligte Partner sind der Bereich Wirtschaftsinformatik I der Universität Erlangen-Nürnberg
(Prof. Dr. P. Mertens), das Institut für Wirtschaftsinformatik der Universität Leipzig (Prof. Dr. D. Ehrenberg) und
assoziiert das Institut für Wirtschaftsinformatik der Universität Bern in der Schweiz (Prof. Dr. J. Griese).
INHALTSVERZEICHNIS
1 Einige Überlegungen zum Datenaustausch bei Virtuellen Unternehmen
1.1 Motivation
1.2 Lösungsmöglichkeiten
1.2.1 Konvertierung
1.2.2 Kernfunktionalitäten
1.2.3 Zusatzfunktionalitäten
1.2.4 Nutzen für VU
1.2.5 Nutzen von Schnittstellen-Standards
2 Systembeschreibung
2.1 Verwaltung mehrerer VU
2.2 Definition der VU-Struktur
2.3 Verwaltung von Anwendungssystemen unter Berücksichtigung verschiedener Versionen
2.4 Zuordnung von VU-Partnern und Anwendungssystemen (n:m)
2.5 Verwaltung von Schnittstellen unter Berücksichtigung verschiedener Versionen
2.6 Zuordnung von Anwendungssystemen und Schnittstellen (n:m)
2.7 Konvertierregel
2.8 Kopplung
3 IV-Konzept
3.1 Objektorientiertes Design
3.2 Logisches Datenbankdesign
4 Realisierung
4.1 Objektorientierte Programmierung
4.2 Physisches Datenbankdesign
5 Literatur:
4
4
5
5
5
6
6
6
7
7
7
8
8
10
10
12
13
14
14
15
20
20
20
20
1
Einige Überlegungen zum Datenaustausch bei Virtuellen Unternehmen
1.1
Motivation
Mit der zunehmenden Virtualisierung von Unternehmen kommt insbesonders der schnellen und effizienten Kopplung der betrieblichen Anwendungssoftware eine große Bedeutung bei der Erfüllung des
Missionszwecks zu. Unternehmen können sich in stabilen und dynamischen Netzwerken zusammenschließen (vgl. Tabelle 1).
Tabelle 1: Vergleich von stabilen und dynamischen Netzwerken
stabiles Netzwerk
dynamisches Netzwerk (VU)
geringe Anzahl von unterschiedlichen Partnern
hohe Anzahl von unterschiedlichen Partnern
Partner wechseln seltener
Partner wechseln häufiger
Schnittstelle in der Regel zwischen Vertrieb/Versand
und Einkauf
Schnittstellen zwischen und innerhalb von beliebigen
Sektoren (z.B. zwischen Vertrieb und Produktion oder
innerhalb der Produktion)
Die zunehmende Zahl dynamischer Netzwerke hat auch Folgen für den Datenaustausch:
1. Die zahlreichen Schnittstellen sind ständigen Änderungen unterworfen. Neue kommen hinzu, andere fallen weg.
2. Sehr unterschiedliche Informationen (z.B. Daten über Kunden, Produkte, Aufträge, Arbeitszeiten
etc.) müssen ausgetauscht werden.
3. Der Datenaustausch ist teilweise regelmäßig, teilweise sporadisch.
4. Online-Verbindungen sind weniger interessant. Ein Austausch von Dateien, etwa auf Basis von
X.400 oder E-Mail, scheint geeigneter.
5. Eine vollständige Automatisierung ist nur schwer zu erreichen.
1.2
Lösungsmöglichkeiten
1.2.1 Konvertierung
Für bereits existierende Anwendungen kann die IV zur Lösung dieser Problemstellungen beitragen,
indem sie
1. Hilfsmittel zur Erfassung, Pflege und Darstellung der Struktur des VU bereitstellt,
2. die komfortable Definition und Verwaltung der zwischen den Anwendungssystemen auszutauschenden Datenformate inklusive deren Konvertiervorschriften ermöglicht und
3. die parametergesteuerte Konvertierung durchführt.
Die Punkte 1. und 2. sind im folgenden näher erläutert, Teil 3. ist weniger innovativ.
1.2.2 Kernfunktionalitäten
a) Verwaltung der Partner des VU (interne und externe VU-Partner, Rolle im VU, Zuordnung der
Anwendungssysteme)
b) Verwaltung der Anwendungssysteme (Betriebssystem, Zuordnung der Schnittstellen)
c) Schnittstellenverwaltung (Format und ggf. Beschreibung der Semantik, Versionierung, Selektionsmöglichkeiten nach unterschiedlichen Kriterien wie VU-Partner, Anwendungssystem oder
Version, Zuordnung der Konvertiervorschriften)
d) Verwaltung der Konvertiervorschriften (Abbildungsregeln für Datensätze und -elemente sowie
Syntaxkonvertierungen, Export der Konvertiervorschriften als Steuerinformation für einen Konverter)
e) Visualisierung: externe Sicht (alle Schnittstellen von/zu externen Partnern), interne Sicht (alle
Schnittstellen der internen VU-Partner untereinander), Partner-Sicht (alle Schnittstellen von/zu den
Anwendungssystemen eines einzigen VU-Partners), Schnittstellen-Sicht (alle Datentransformationen einer einzigen Schnittstelle)
1.2.3 Zusatzfunktionalitäten
a) Import der Beschreibung der Schnittstellen (Relationen aus Data Dictionary, EDIFACT aus der
Normdatenbank, SAP-IDOCs aus selbst gepflegter Datenbank o.ä.)
b) Konsistenzprüfungen für Konvertiervorschriften mit zugehörigen Reports (Alle Quell-Datenelemente verarbeitet? Alle Muß-Datenelemente der Ziel-Anwendung belegt? Längen und Formate
kompatibel?)
c) automatische Generierung von Vorschlägen für Konvertiervorschriften auf Basis ihrer textuellen
Beschreibung (z.B. im Data dictionary)
d) manuelle Ergänzungen könnten vom Programm aufgezeichnet werden, um die Konvertierregeln
automatisch zu aktualisieren (→ lernendes System)
e) Verwaltung der Datenaustauschverfahren (Name und Lokation der Dateien, evtl. periodischer
Austausch)
1.2.4 Nutzen für VU
a) Beschleunigung der Kopplung
b) Vermeiden von Fehlern bei der Kopplung durch Konsistenzprüfungen
c) Nutzbarmachen von Erfahrungen aus früheren Kopplungen
d) mögliche Basis für die Auswahl von VU-Partnern
e) Dokumentation
1.2.5 Nutzen von Schnittstellen-Standards
In diesem Zusammenhang ist zu untersuchen, welche Schnittstellenstandards für VU-Kopplungen
geeignet sind. Man muß herausfinden, wie diese von neuen Anwendungen genutzt, bzw. wie bereits
bestehende Anwendungen erweitert werden können, damit sie die Standards unterstützen. Interessant
sind ferner aktuelle Entwicklungen, die Standards untereinander zu verbinden (z.B. die geplante Integration von JDBC in das CORBA-Konzept). Siehe auch [FaSt97].
2
Systembeschreibung
Das System zum Management der Kopplungen in Virtuellen Unternehmen, VUWizard Version 1.0,
leistet folgendes:
a) Verwaltung mehrerer VU
b) Definition der Struktur virtueller Unternehmen, d.h. von internen und externen Partnern, und Darstellung der internen und der Partner-Sicht (ohne Schnittstellen-Sicht)
c) Verwaltung von Anwendungssystemen unter Berücksichtigung verschiedener Versionen
d) Zuordnung von Anwendungssystemen zu VU-Partnern (n:m)
e) Verwaltung von Schnittstellen unter Berücksichtigung verschiedener Versionen (ohne Satz- und
Feldebene)
f) Zuordnung von Schnittstellen zu Anwendungssystemen (n:m)
2.1
Verwaltung mehrerer VU
Mit Datei Öffnen gelangt man zu den gespeicherten VU-Konstellationen, wie etwa „Beispiel VU“ in
Abbildung 1.
Abbildung 1
2.2
Definition der VU-Struktur
Das Tool ermöglicht es, die Struktur eines VU mit seinen Teilnehmern graphisch anzuzeigen (interne
Sicht). Im Beispiel in der Abbildung 2 besteht das VU aus drei Einheiten (interne und externe Partner): Fertigung 1, Fertigung 2 und Vertriebs-GmbH. Die Pfeile symbolisieren den Informationsfluß.
Hier wird „Test“ von Fertigung 2 zur Fertigung 1 geschickt und „Test2“ zur Vertriebs-GmbH.
Abbildung 2
2.3
Verwaltung von Anwendungssystemen unter Berücksichtigung verschiedener Versionen
Um die Anwendungssysteme verwalten zu können, stellt das System eine entsprechende Funktionalität zur Verfügung. Abbildung 3 zeigt das System „PPS-Muster“ in der Version 1.0a mit seinem Ausgangsdatensatz „Kundenauftr. Muster“.
Abbildung 3
2.4
Zuordnung von VU-Partnern und Anwendungssystemen
Nachdem man die einzelnen Anwendungssysteme mit ihren Datenschnittstellen angelegt hat, kann
man sie den jeweiligen Partnern (hier: Partner „Fertigung 1“) zuweisen („PPS-Muster 1.0a). Bei der
Zuordnung besteht die Auswahl zwischen allen im VU angelegten Anwendungssystemen. Der zugehörige Partner läßt sich im Feld „Beschreibung“ noch näher erläutern (vgl. Abbildung 4).
Abbildung 4
In Abbildung 5 ist das graphische Ergebnis der Zuordnung eines Anwendungssystems zu einem Partnerunternehmen dargestellt. Im Beispiel hat die „Vertriebs-GmbH“ das Modul SD des Systems R/3
von SAP.
Abbildung 5
2.5
Verwaltung von Schnittstellen unter Berücksichtigung verschiedener
Versionen
Abbildung 6
Die obige Abbildung zeigt die Eingabemaske zur Verwaltung von
Schnittstellen. Im Beispiel hat der
„Kundenauftr. Muster“ in der Version 1.0a die angeführte hierarchische Struktur. Die Abbildung 7
gibt
die
Darstellung
einer
Schnittstelle durch den VU Wizard
wieder.
Abbildung 7
2.6
Zuordnung von Anwendungssystemen und Schnittstellen (n:m)
Anwendungen können mehrere unterschiedliche Schnittstellen haben, und verschiedene Anwendungen können auf die gleiche Schnittstelle zurückgreifen.
Abbildung 8
Die obige Eingabemaske (vgl. Abbildung 8) dient dazu, einem Anwendungssystem Schnittstellen zuzuordnen. Eine Beschreibung der Anwendung ist über das gleichnamige Feld möglich.
Abbildung 9
2.7
Konvertierregel
Will man zwei Anwendungssysteme miteinander koppeln, so bedient man sich jeweils der zugeordneten Schnittstellen. Abbildung 10 zeigt die Eingabe der Konvertierregel von IDOC zu Muster. Mit den
Feldern „von“, „bis“ und „ab“ kann angegeben werden, welcher Bereich aus dem zugehörigen Feld
der Quelldaten an welcher Position in den Zieldaten abgelegt wird.
Abbildung 10
Die folgende Abbildung zeigt die Darstellung der Konvertierregel durch den VUWizard.
Abbildung 11
2.8
Kopplung
Durch eine Kopplung werden Anwendungssysteme zweier Partner einer Konvertierregel zugeordnet.
Im unten gezeigten Fall ist jedoch eine konkrete Regel nicht notwendig, da die Schnittstellen gleich
sind (vgl. Abbildung 12).
Abbildung 12
Die Abbildung 13 zeigt das Ergebnis der Kopplung. Im Beispiel erhält der Partner „Fertigung 2“, der
die Anwendung PPS-R/3 Version 3.0 hat, über die Schnittstelle IDOC-Kundenauftrag 3.0 Daten von
der Schnittstelle IDOC-Kundenauftrag 3.0 der Anwendung R/3 SD Version 3.0 des Partners
„Vertriebs-GmbH“.
Abbildung 13
3
IV-Konzept
3.1
Objektorientiertes Design
Um den Prototypen in ein Produktionssystem überführen zu können, wurde großer Wert auf ein klares
Design der Klassen, insbesondere auf eine Trennung von Darstellungs-, Anwendungs- und Zugriffsschicht, gelegt. Die resultierende Architektur mit der durch Pfeile angedeuteten Aufrufhierarchie zeigt
die folgende Darstellung (vgl. Abbildung 14).
Jeder Relation aus der zugrundeliegenden Datenbank ist dabei genau eine Klasse der Zugriffsschicht
zugeordnet. Die Klassen der Anwendungsschicht entsprechen (folgerichtig) den bereits während der
Analysephase gefundenen Klassen. In ihnen sind die Kernfunktionalitäten der Anwendung realisiert.
Klassen der Darstellungsschicht
Win32-API
Klassen der Anwendungsschicht
Klassen der Zugriffsschicht
ODBC-API
Abbildung 14
Die Darstellungsschicht setzt sich aus den Klassen zur Steuerung der Dialoge zusammen. Für jede
Klasse der Anwendungsschicht existiert ein Dialog, der gleichzeitig zur Neuanlage und zur Änderung
eines Anwendungsobjekts dient (vgl. Abbildung 15).
VU
Name
Beschreibung
: Anwendung
: VU-Partner
: Schnittstelle
: Konvertierregel
1
1
1
1
0..n
0..n
0..n
0..n
VU-Partner
Anwendung
Schnittstelle
Name
Beschreibung
Name
Version
Beschreibung
2
Name
Version
Beschreibung
Elemente
0..4
0..4
2
2
Kopplung
Name
Beschreibung
Abbildung 15
Konvertierregel
2
Name
Beschreibung
Zuordnungen
0..1
3.2
Logisches Datenbankdesign
Um die in den Klassen der Anwendungsschicht enthaltenen Daten in einer relationalen Datenbank in
3. Normalform zu speichern, sind folgende Tabellen notwendig:
Tabelle
Feld
Feldgröße
Beschreibung
Anwend_Schnittst
VU_Anwend_Nr
Long Integer
Schlüssel der Anwendung, die die Schnittstelle unterstützt
Schnittst_Nr
Long Integer
Schlüssel der Schnittstelle
Tabelle
Feld
Feldgröße
Beschreibung
Element
Element_Nr
Long Integer
generischer Schlüssel des Elements
Art
Long Integer
gibt an, ob es sich um ein Struktur- oder Datenelement handelt
Vater
Long Integer
Schlüssel des Vaterelements
Pos
Long Integer
Position innerhalb aller Elemente mit demselben Vater
Stufe
Long Integer
Stufe, auf der sich das Element innerhalb der
hierarchischen Struktur befindet
Name
Char 20
Name des Elements
Inhalt
Char 255
Beschreibung des Inhalts des Elements
Anz_Min
Long Integer
nur bei Strukturelementen: minimale Anzahl
des Vorkommens
Anz_Max
Long Integer
nur bei Strukturelementen: maximale Anzahl
des Vorkommens
Typ
Long Integer
nur bei Datenelementen: Datentyp
Länge
Long Integer
nur bei Datenelementen: Länge in Bytes
Schnittst_Nr
Long Integer
Angabe, zu welcher Schnittstelle das Element
gehört
Tabelle
Feld
Feldgröße
Beschreibung
Konv
Konv_Nr
Long Integer
generischer Schlüssel der Konvertierregel
Name
Char 20
Bezeichnung der Konvertierregel
Beschr
Char 255
Beschreibung der Konvertierregel
VU_Schnittst_Nr_Q Long Integer
Schlüssel der Schnittstelle, von der die Daten
ausgehen
VU_Schnittst_Nr_Z
Long Integer
Schlüssel der Schnittstelle, über die die Daten
empfangen werden
VU_Nr
Long Integer
Schlüssel des VU, dem diese Konvertierregel
zugeordnet ist
Tabelle
Feld
Feldgröße
Beschreibung
Partner_Anwend
VU_Anwend_Nr
Long Integer
Schlüssel der Anwendung
VU_Partner_Nr
Long Integer
Schlüssel des VU-Partners, der die Anwendung
nutzt
Tabelle
Feld
Feldgröße
Beschreibung
Schnittst
Schnittst_Nr
Long Integer
generischer Schlüssel der Schnittstelle
Name
Char 20
Name der Schnittstelle
Ver
Char 10
Version der Schnittstelle
Beschr
Char 255
Beschreibung der Schnittstelle
VU_Nr
Long Integer
Angabe, in welchem VU die Schnittstelle definiert wurde
Tabelle
Feld
Feldgröße
Beschreibung
VU
VU_Nr
Long Integer
generischer Schlüssel des VU
Name
Char 20
Name des VU
Beschr
Char 255
Beschreibung des VU
Tabelle
Feld
Feldgröße
Beschreibung
VU_Anwend
VU_Anwend_Nr
Long Integer
generischer Schlüssel der Anwendung
Name
Char 20
Name der Anwendung
Ver
Char 10
Version der Anwendung
Beschr
Char 255
Beschreibung der Anwendung
VU_Nr
Long Integer
Angabe, in welchem VU die Anwendung definiert wurde
Tabelle
Feld
Feldgröße
Beschreibung
VU_Koppl
VU_Koppl_Nr
Long Integer
generischer Schlüssel der Kopplung
Name
Char 20
Bezeichnung der auszutauschenden Daten
Beschr
Char 255
Beschreibung der auszutauschenden Daten
VU_Partner_Nr_Q
Long Integer
Schlüssel des VU-Partners, der die Datenquelle
darstellt
VU_Anwend_Nr_Q
Long Integer
Schlüssel der Anwendung, die die Datenquelle
darstellt
VU_Schnittst_Nr_Q Long Integer
Schlüssel der Schnittstelle, von der die Daten
ausgehen
VU_Partner_Nr_Z
Long Integer
Schlüssel des VU-Partners, der die Daten empfängt
VU_Anwend_Nr_Z
Long Integer
Schlüssel der Anwendung, die die Daten
empfängt
VU_Schnittst_Nr_Z
Long Integer
Schlüssel der Schnittstelle, über die die Daten
empfangen werden
VU_Konv_Nr
Long Integer
Schlüssel der Konvertiervorschrift für die auszutauschenden Daten
Tabelle
Feld
Feldgröße
Beschreibung
VU_Partner
VU_Partner_Nr
Long Integer
generischer Schlüssel des VU-Partners
Name
Char 20
Name des VU-Partners
Beschr
Char 255
Beschreibung des VU-Partners
VU_Nr
Long Integer
Angabe, welchem VU der VU-Partner zugeordnet ist
Tabelle
Feld
Feldgröße
Beschreibung
Zuordnung
Zuordnung_Nr
Long Integer
generischer Schlüssel der Zuordung
Element_Nr_Q
Long Integer
Quell-Element der Zuordnung
Element_Nr_Z
Long Integer
Ziel-Element der Zuordnung
Von
Long Integer
Position des Quell-Elements, ab der die Daten
gelesen werden sollen
Bis
Long Integer
Position des Quell-Elements, bis zu der die
Daten gelesen werden sollen
Ab
Long Integer
Position des Ziel-Elements, ab der die Daten
geschrieben werden sollen
Konv_Nr
Long Integer
gibt an, zu welcher Konvertierregel die Zuordnung gehört
4
Realisierung
4.1
Objektorientierte Programmierung
Entwicklungs- und Zielsystem ist Windows95. Der Prototyp „VUWizard“ ist mit Microsoft Visual
C++ V. 4.1 auf Basis der Microsoft Foundation Classes (MFC) realisiert. Da die integrierte Entwicklungsumgebung gute Möglichkeiten zur Darstellung von Programm- bzw. Headerdateien, Klassen
inkl. deren Elementfunktionen, Windows-Ressourcen etc. bereitstellt, soll hier auf eine explizite Beschreibung der verschiedenen Ergebnisse der Realisierungsphase verzichtet werden 1.
4.2
Physisches Datenbankdesign
Die anzulegenden Tabellen können direkt dem logischen Datenbankdesign entnommen werden, d.h.,
es sind keine Denormalisierungen notwendig. Des weiteren erscheint die Einführung von zusätzlichen
Indizes aufgrund der hohen Rate an Änderungsoperationen nicht sinnvoll. Im ODBC-Manager ist die
Datenbank mit „VUWizard-Datenbank“ zu referenzieren (vgl. Abbildung 16).
Abbildung 16
5
Literatur
[FaSt97]
1
Faisst, W. und Stürken, M.: Daten-, Funktions- und Prozeß-Standards für Virtuelle
Unternehmen - strategische Überlegungen. Institut für Wirtschaftsinformatik der Universität Bern, Institut für Wirtschaftsinformatik der Universität Leipzig, Bereich Wirtschaftsinformatik I der Universität Erlangen-Nürnberg, Arbeitspapier der Reihe
„Informations- und Kommunikationssysteme als Gestaltungselement Virtueller Unternehmen“ Nr. 12/1997, Bern Leipzig Nürnberg 1997.
Die entsprechende Projektdatei für Microsoft Visual C++ ist VUWizard.mdp.
Herunterladen