Änderungspropagation für autonome und heterogene Informationssysteme
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Heutzutage müssen Unternehmen sich schnell an neue Situationen anpassen. Die Gründe hierfür sind vielfältig: Kundenanforderungen ändern sich, Konkurrenten entwickeln neue Produkte bzw. Strategien oder neue Gesetze werden verabschiedet. Die Anpassungsfähigkeit von Unternehmen wird als Wandlungsfähigkeit bezeichnet. Damit Unternehmen diese Wandlungsfähigkeit erreichen können, müssen sie aus Einheiten bestehen, die weitestgehend autonom sind. Durch die Autonomie wird erreicht, dass Entscheidungen schnell getroffen werden können, weil jede Einheit selbstständig reagieren kann. Die Unternehmenseinheiten wurden im Sonderforschungsbereich 467 "Wandlungsfähige Unternehmensstrukturen für die variantenreiche Serienproduktion", in dessen Rahmen auch diese Arbeit entstand, Leistungseinheiten genannt. Leistungseinheiten brauchen unter anderem eine Unterstützung durch Informationssysteme, welche Informationen bereitstellen und verwalten. Damit sich die Leistungseinheiten an neue Situationen anpassen können, müssen auch deren Informationssysteme so weit wie möglich autonom bleiben. Dennoch muss der Austausch von Daten zwischen den Informationssystemen garantiert sein, da Daten teilweise von vielen verschiedenen Leistungseinheiten und ihren Informationssystemen verwendet werden. Besonders deutlich wird das bei Kundendaten, die oftmals in vielen Unternehmensbereichen bzw. Informationssystemen benötigt werden. Daten, die von mehreren Informationssystemen benötigt und gespeichert werden, liegen oft redundant im Unternehmen und meist in heterogener Form vor. Werden redundante Daten in einem Informationssystem geändert, entsteht ein inkonsistenter Zustand, da an anderer Stelle noch die alten Daten gespeichert sind. Um diese Inkonsistenz zu verhindern, müssen die Informationssysteme integriert und die redundanten Daten synchronisiert werden. Replizierte Datenbanken haben ein ähnliches Problem: es müssen ebenfalls Daten synchronisiert werden. Hier sind die Daten aber meistens homogen und die partizipierenden DBMS sind nicht autonom. Des Weiteren ändern replizierte Datenbanken ihre Daten nur über ihre bereitgestellte Schnittstelle in der Datenschicht, in einem Informationssystem sollten sie hingegen in der Anwendungsschicht geändert werden, weil dort die Anwendungslogik liegt und oftmals wichtige Konsistenzregeln geprüft werden müssen. Um diesen Anforderungen gerecht zu werden, wurde in dieser Arbeit ein XML-basiertes Datenintegrationssystem konzipiert und entwickelt, das Änderungspropagation verwendet, um redundante Daten von Geschäftsobjekten zu synchronisieren. Ein Geschäftsobjekt besteht aus einem oder mehreren Implementierungsobjekten, beispielsweise hat ein Kundenauftrag einen Auftragskopf und mehrere Auftragspositionen. Aufgetretene Änderungen werden in einer sogenannten Änderungsbeschreibung pro Geschäftsobjektänderung propagiert, die alle wichtigen Daten einer Änderung enthält. Besonders wichtig sind die zwei Zustände von Geschäftsobjekten, vor und nach der Änderung, und die Änderungsart (create, update, delete) des Geschäftsobjektes. Die Verwendung von zwei Zuständen ermöglicht die Erkennung der Änderungsarten bei den Implementierungsobjekten sowie die Ermittlung von Änderungsdeltas innerhalb des Integrationssystems. Änderungsbeschreibungen werden entlang von definierten Abhängigkeiten propagiert, die von einem Quellsystem zu mehreren Zielsystemen gehen. Um diese Abhängigkeiten flexibel gestalten zu können, wurde eine XML-basierte Sprache entwickelt, die den Namen XML Propagation Definition Language (XPDL)trägt. Des Weiteren wurde eine XPath-basierte Sprache (Propagation Condition Language, PCL) entworfen, die zustandsübergreifende Bedingungen ermöglicht, um Filter für Abhängigkeiten zu definieren. Besonders wichtige Eigenschaften eines Datenintegrationssystems sind die Einhaltung der Änderungsreihenfolge und die Erkennung von Änderungskonflikten. Beide Punkte wurden in dieser Arbeit umgesetzt. Für die Erkennung von Änderungskonflikten wurde eine zustandsbasierte Methode entwickelt, die eine feingranulare Erkennung von Änderungskonflikten ermöglicht. XPDL und PCL ermöglichen eine weitgehend abstrakte Beschreibung von Änderungspropagationen. Damit können dann recht unterschiedliche Informationssysteme unterstützt werden und auch Drittsysteme, die zusätzliche Daten bereitstellen, eingebunden werden.
In order to stay competitive enterprises need to adapt themselves constantly to new situations like new products in the market, changes of the competitors' strategies, new laws, changing of customers' needs, and so on. For coping with these turbulent situations, the enterprise has to have a fast decision making, which is facilitated by autonomous organization units inside the enterprise. In the project SFB 467 with the title "Transformable Business Structures for Multiple-Variant Series Production'', a kind of organization units was developed that are called transformable business units. These business units are characterized by processes that have products and/or information as input and output; these processes have a customer value as well. The customers are internal (other business units) or external customers (enterprise customers). On the other hand, the business units need to act in concert and achieve common enterprise goals. Therefore, the business units must be integrated among each other. This integration affects also the integration of their information systems, since they are part of the information exchange between the units. Due to the fact that data of these information systems needs to be integrated and locally stored, some data is redundant in the enterprise. Changes of the redundant data lead involuntarily to inconsistent data inside the enterprise and problems arise in handling enterprise wide processes. This inconsistency can be anticipated by a flexible data integration that copes with heterogeneity. Heterogeneity represents a big topic for integrations due to the fact that IT infrastructures are comprised of many different products and individual software. The thesis proposes a data integration system called change propagation system that overcomes these shortages and is especially developed for integrating data of autonomous and heterogeneous information systems. The data integration is based on forwarding changes of business objects. A business object represents an object with a value to the enterprise that can consist of multiple implementation objects, e.g. a customer order with order header and order positions as implementation objects. For representing states of business objects XML is adequate, since it has a hierarchical structure, which facilitates the inclusion of multiple implementation objects inside a document, and thus complete business objects. Furthermore, the combination of meta data and data provides a human readable form of the business objects states. Not only the business object states are needed as information for propagation; all needed information is subsumed under the term change description, which defines all needed information for propagation especially the mentioned states. These change descriptions are propagated along dependencies from one system (source system) to multiple systems (destination systems). For the flexible constitution of dependencies an XML based language was developed, which is called XML Propagation Definition Language (XPDL). Furthermore, for the definition of conditions between the two states an XPath-based language was developed, called Propagation Condition Language (PCL). A requirement for such a change propagation system is the guaranteed transmission of change descriptions from the source system to destination systems. Thus persistent message queues are used. Moreover, these queues facilitate a FIFO communication. Important features of such a propagation system are the consideration of the correct order of change descriptions and the detection and resolution of change conflicts. For the conflict detection we propose a method based on the business object states, instead of using timestamps. Due to the heterogeneity we support transformations and integration of data from third systems. Therefore we introduce data services - services offered by third systems - that provide additional data for the destination system. These data services can be queried by a Remote Procedure Call (RPC), SQL or XQuery, depending on the interface and stored data.