Werkzeuge zur Integration von Applikationen liegen bereit

Die DDE-Schnittstelle paßt für Client-Server-Umgebungen

23.10.1992

Dynamic Data Exchange (DDE) ist eine von Microsoft in Windows seit längerem gebotene Schnittstelle, mit welcher sich unterschiedliche Applikationen integrieren lassen. Sie eignet sich zum Aufbau einer Client-Server-Umgebung, wie Bernd Müller, Rudolf Eidemüller

und Christian Kurek* anhand einer bei der ABB Kraftwerke AG entwickelten Lösung demonstrieren.

Die Einbindung von Standardpaketen der Bürokommunikations-Software in moderne Client-Server-Applikationen ist nicht nur eine Forderung der darin geübten PC-Anwender. Integration ist darüber hinaus ein Muß für den kostenbewußten Entwickler, wenn er das Rad nicht neu erfinden will.

Wann immer DTP-nahe Dokumente, also Text- und Grafikobjekte gemischt mit aktuellen Zahlen und Texten, aus den Unternehmens-Datenbanken gebraucht werden, gilt es, Standardapplikationen einzubeziehen. Nur so läßt es sich vermeiden, mit unvertretbaren Kosten Teilfunktionalitäten der vergleichsweise billigen Standardprodukte nachzuprogrammieren.

Das einzige Problem hierbei sind die Daten. Wie gelangen die richtigen Daten ohne Medienbruch - das heißt: Neufassung - von den verschiedensten Servern eines Unternehmens in die Benutzerdokumente auf den Client-PCs? Der Datenbankanbieter Oracle hat hier mit seinem "DDE- Manager" zur Versorgung der Windows-DDE-Schnittstelle eine Möglichkeit zur Schließung dieser Lücke geschaffen. Damit lassen sich auf einfache Art und Weise hochkarätige Dokumente mit Standardfunktionalität erarbeiten.

Die hier vorgestellte Problemlösung setzt die ABB Kraftwerke AG, Mannheim, für die Erzeugung von Kundendokumenten mit Microsofts Win-Word/Winbasic im Rahmen des neu entwickelten Servicesystems Cash (Computer Aided Service Handling) und für interne Controlling-Auswertungen mit der Makrosprache von Microsofts "Excel" ein. Die Entwicklungsaufwände lagen in der Größenordnung von einigen Mannwochen, dafür sind aber dem Umfang und der Komplexität der Dokumente kaum Grenzen gesetzt.

Mit dem Erscheinen von Microsofts Object Link Embedding (OLE) einer weiteren dynamischen Variante zur Einbettung von Objekten eines Windows-Programms in Objekte (hier "Dokumente") eines anderen, haben einige Experten die früher publizierte Schnittstelle DDE (Dynamic Data Exchange) für Windows-Applikationen bereits totgesagt, kaum daß sie bekannt war.

Dabei wurde übersehen, daß DDE und OLE zwar in mancher Hinsicht ähnliche Funktionalität bieten, OLE aber DDE nicht als Protokoll ersetzen kann. Für die Kommunikationsbefehle wie "DDEINITIATE" zum Aufbau der Kommunikation oder "DDEREQUEST" für den Zugriff auf eine Datenbank gibt es in OLE kein Äquivalent.

Auch Microsofts Marketing-Direktor Mitchel Wolfson äußerte sich auf Befragen zum Schicksal von DDE und der Abgrenzung zu OLE eindeutig:

"DDE wird es weiter geben". Aus anderen Quellen (1) wissen wir aber auch, daß DDE nur ein Vorläufer einer direkten Zusammenarbeit von Microsoft und Oracle im Rahmen von Windows NT (2) und einer verallgemeinerten SQL-Datenbank-Schnittstelle "Open Database Connectivity" (ODBC) (3) ist.

Insofern ist auch die Investitionssicherheit der Entwicklung bei der ABB Kraftwerke AG gegeben, da sich an der prinzipiellen Vorgehensweise nichts ändern wird, sondern nur die Protokoll-Schnittstelle, das heißt die Kommandos, anzupassen sind. Die in SQL formulierten und in die Makros eingebetteten Datenbankzugriffe sind sowieso unabhängig von der Realisierungsplattform.

Die eigentliche Anwendung Cash ist als Client-Server-Applikation realisiert, wobei die Clients Standard-PCs unter MS-DOS sind und der Server eine IBM-RS/6000-560 unter AIX ist. Client und Server sind über Token Ring mit Glasfaser-Backbone-Netz verbunden. Das Basisprotokoll ist TCP/IP. Die Anwendung läuft auf den Clients, die Daten werden über das Netz und die Dienste der Oracle-Standard-Software SQL-Net zugespielt.

Insbesondere bedeutet dies, daß der Anwender vollkommen transparent auf die Daten des Servers zugreift, so als wären sie lokal auf seinem PC vorhanden. Diese Trennung in Client und Server macht sich das DDE-Protokoll zunutze: Der Anwender kann in seiner Standardsoftware bleiben (Winword, Excel oder andere Windows-Programme, die DDE unterstützen) und von dort die Datenbank auf dem Server anzapfen. Es gibt mehrere Möglichkeiten, in einer Client-Server-Architektur mit Oracle-Datenbank eine Ausgabe von gespeicherten Daten durchzuführen:

Report Writer für einfach aufbereitete Listen, die preiswerte Lösung für interne Reports, DDE-Manager oder vergleichbare Produkte in Verbindung mit PC-Standardsoftware wie Winword, Excel oder ähnliche sowie 3GL-Programme mit direkter Ansteuerung des jeweiligen Druckers.

Die elegante zweite Lösung mit DDE-Manager erlaubt es, das Druckbild optimal den Vorstellungen der Anwender anzupassen und jederzeit Grafiken einzubinden. Geschulte Anwender können des weiteren das Layout nach eigenen Vorstellungen verändern. Aus Kostengründen und wegen der großen Flexibilität empfahl sich bei Cash eine Einschränkung auf die Optionen 1 und 2. Damit lassen sich alle Anforderungen schnell und kostengünstig abdecken. Natürlich ist auch der gewählte Weg nicht ganz oder Dornen, und vor den Erfolg haben die Götter - hier Oracle und Microsoft - bekanntlich den Schweiß gesetzt. Einerseits stellen sich rein technische Probleme: Durch fehlende Funktionalität sind selbstprogrammierte Hilfsroutinen für Zeichensatzkonvertierung und Datensatzzerlegung notwendig. Tricks zur verdeckten Paßworteingabe für die Massendatenbearbeitung und zur Zahlendarstellung müssen ausgeschlossen worden. Schließlich ist die Fehlerbehandlung wegen falscher oder fehlender Dokumentation ohne Sekundärliteratur nicht zu bewältigen.

Andererseits gibt es ein Sicherheitsproblem, falls man den Benutzern den DDE-Zugang mit den eigenen Zugriffsrechten gestattet: Ein findiger Anwender mit DB- und SQL-Know-how könnte die Plausibilitätskontrollen umgehen und die Daten in der Datenbank manipulieren. Da bei ABB niemand vorhatte, Anwender mit Hilfe der DDE-Schnittstelle Datensätze unkontrolliert einfügen und ändern zu lassen, wurden Views auf die Daten definiert, die nur lesenden Zugriff erlauben.

Die geringen Nachteile wiegen aber angesichts der gewaltigen Flexibilität in der Bearbeitung nicht sehr schwer: Denn erstens kann jedes beliebige Kundendokument, das sich mit Word oder Excel oder anderen DDE-fähigen Windows-Applikationen erstellen läßt, mit Daten aus allen Datenbanken des Unternehmens versorgt werden.

Zweitens ist direktes Faxen ohne Qualitätsverlust und zusätzlichen Arbeitsaufwand aus Windows heraus unter Einbeziehung zusätzlicher Standardsoftware und Faxkarten jederzeit möglich.

Drittens kann der Anwender eine Nachbehandlung der Dokumente in seiner gewohnten Bürokommunikations-Umgebung vornehmen, falls spezielle Kundenwünsche dies erfordern

sollten. Er ist also im Notfall unabhängig vom Entwickler, womit ein langgehegter Anwendertraum in Erfüllung geht.

Es besteht mithin insgesamt kein Grund mehr zu zögern. Die Werkzeuge für ein integriertes Arbeiten im Unternehmen liegen bereit, man muß sie nur zu nutzen wagen. Mit ihnen lassen sich anwendungskritische Applikationen, wie sie im Kraftwerksservice alltäglich sind, zur richtigen Zeit versorgen - der Kunde wird es honorieren.

Quellen:

(1) D. Laird (Group Product Manager for Oracle Desktop RDBMS Group): "Behind the Face of Microsoft Windows ". In: Oracle Magazine, Spring 1992

(2) M. Wolfson, Windows New Technology - die portierbare Multi- Plattform, in CW Nr. 16 vom 17. April 1992, S. 38

(3) Interne Oracle Mitteilung vom 12. Mai 1992 von U. Ritter, Leiter Produktunterstützung, Oracle Deutschland