DIASiS Data Exchange Server (DDXP) - die DIASiS Middleware


DDXP ist die offene Middleware von DIASiS. DDXP ermöglicht die nahtlose Einbindung von so unterschiedlichen externen Anwendungen und Diensten wie Microsoft Office (Office Solution Pack), Filialkassen (POS - Point of Sale), mobile Datenerfassung (LBAR/MDE) oder Online Shops (DIAS-iS eShop).

Natürlich können vernetzte Systeme auch über bestehende TCP/IP Dienste wie FTP oder HTTP kommunizieren. Mit den üblichen TCP/IP Services nur sehr mühsam realisierbar ist jedoch der beschränkte Zugriff auf gewisse Server-Funktionen oder -daten. Diese Problematik stellt sich vor allem beim externen Zugriff von Kunden (Abfrage der Bestellungen, offenen Posten, Erfassen von Aufträgen), Lieferanten (Abfrage von Lagerbeständen etc), Aussendienstlösungen oder Online-Shops. Die von den bekannten TCP/IP Services angebotenen Funktionen sind zwar für viele Anwendungen zweckmässig aber für den beschränkten Zugriff oft wenig geeignet. So müssen zum Beispiel für den FTP Zugriff Benutzer-IDs im System erfasst werden, welche gegebenenfalls auch für andere Services (wie zB Telnet) benützt werden könnten und offene Datenbank-Standards lassen keinen (vernünftigen) selektiven Zugriff auf einzelne Datensätze der Datenbank zu. Zudem laufen alle diese Dienste oft in einer neutralen Jobumgebung, sodass der Aufwand für die Initialisierung einer Anfrage (und somit die Antwortzeit) erheblich sind.

In den meisten Fällen müssen diese Anforderungen deshalb individuell auf der Server Plattform in einer geeigneten Programmiersprache (Java, PHP etc) entwickelt werden.

Funktionsumfang

Diese Unzulänglichkeiten werden mit dem DIASiS Data Exchange Server (DDXP) beseitigt. DDXP ist ein auf TCP/IP basierendes Datenaustauschprotokoll, welches einen eigenständigen Autorisierungsmechanismus besitzt und vollständig von der Systemumgebung getrennt ist. Ein grosser Vorteil des DDXP-Servers liegt in der schnellen Antwortzeit, da das Login-Prozedere sowie die zeitraubende Initialisierung zur Laufzeit entfällt - der DDXP Server läuft immer in der DIAS-iS Programmumgebung und nicht im "freien" Betriebssystem. Die Autorisierung basiert auf Adressnummern und Passwörtern, welche unabhängig vom Betriebssystem funktionieren.

Das DDXP Protokoll bietet: Die Möglichkeit des Exports von aufbereiteten Daten verhindert, dass Teile der Business Logic auf den Client (Internet Shop, Kassensystem etc) ausgelagert werden müssen. Bei den sonst üblichen Datenbank-Anbindungen (zB via ODBC, JDBC) muss beispielsweise die komplexe Logik der Bonitätskontrolle, der Preisfindung oder der Lagerdisposition auf dem Client nachgebildet werden - was selten vollumfänglich gelingt. Beim Einsatz von DDXP entfällt dies, da DDXP diese Zahlen auf Anfrage schon fertig berechnet liefert.

Implementierung

Auf der IBM iSeries besteht die DDXP-Implementierung aus einem DIASiS DDXP-Server, der auf einem TCP/IP Port auf Anfragen im DDXP-Format wartet. Der DDXP-Server ist multirequester-fähig, dh Anfragen werden sofort an einen neuen Stapeljob übergeben damit der Server die nächste DDXP-Anfrage empfangen kann. Ein ausgeklügeltes System von bereitstehenden Jobs garantiert kürzeste Reaktionszeiten.

Auf dem Client muss das DDXP-Protokoll natürlich ebenfalls entsprechend implementiert werden. Beim Client kann es sich zB um einen Webserver handeln, der Daten für einen Online-Shop oder für die Abfrage von Kundendaten (Offene Posten, Kreditlimite etc) austauschen will, um ein PC-Programm für das Management (Umsätze etc), den Aussendiest oder das Zentrallager.

Um die Integration des DDXP-Protokolls auf möglichst vielen Plattformen zu ermöglichen, können DDXP-Anforderungen bzw -antworten in 3 verschiedenen Zeichensätzen erfolgen:
  1. EBCDIC Codepage 500 (iSeries, AS/400, S/390, andere Hostsysteme)
  2. ASCII Codepage 850 (PC DOS, OS/2, Unix)
  3. ANSI (Windows)


DDXP Windows Toolkit

Damit DDXP ohne Aufwand für beliebiege Kommunikationsaufgaben eingesetzt werden kann, stellt DIASiS neben dem integrierten DDXP-Server das Windows DDXP Toolkit mit der folgenden Software zur Verfügung:

OLE Steuerelement (Active-X Control)
Für Entwickler die mit einem Werkzeug aus der "Microsoft Visual Studio" Familie arbeiten, steht die Implementierung des DDXP-Protokolls als Active-X Steuerelement in einer OCX-Datei zur Verfügung. Das DDXP-Protokoll kann damit ohne Aufwand zB in Visual Basic oder Visual C verwendet werden. Auch Borland's Delphi kann mit Active-X Steuerelementen umgehen. Zudem kann über OLE-Controls die ganze Officeumgebung von Microsoft oder Lotus mit der DIASiS Datenbank verbunden werden. Das Steuerelement kann DDXP-Anfragen sowohl synchron wie auch asynchron verarbeiten. Bei traditioneller prozeduraler "Top-Down"- Programmierung kann die synchrone Variante verwendet werden, welche die DDXP-Abfrage vollständig autonom verarbeitet. Bei "Event-Orientierter"-Programmierung kommt die asynchrone Methode zum Einsatz. Das Hauptprogramm wird dabei durch signalisierte Ereignisse (Events) jeweils über den aktuellen Stand der Anfrage informiert; der Benutzer hat zudem die Möglichkeit, in der Zwischenzeit weiterzuarbeiten.


DDXP Commandline-Tool
Dieses Programm kann auf Windows NT/2000/XP Rechnern eingesetzt werden und unterstützt den vollständigen DDXP Befehlssatz. Es verfügt absichtlich über keine grafische Bedieneroberfläche - alle Angaben werden via Befehlszeilenparameter vom aufrufenden Programm übergeben. Die empfangenen Daten werden in einer PC-Datei gespeichert. Das Programm kann in eigenen Scripts (wie zB CGI- bzw ASP-Scripts), Batchfiles und Programmen eingesetzt werden. Das Commandline Tool wird dort verwendet, wo das oben beschriebene OLE Steuerelement nicht eingesetzt werden kann.


DDXP Test Requester
Der Test-Requester kann zum interaktiven Versenden und Empfangen von DDXP-Mitteilungen benützt werden. Mit dem Test-Requester können auf dem Server erstellte Abfragedefinitionen sofort online getestet werden. Das Programm verwendet das oben erwähnte Active-X Steuerelement. Der Test-Requester benötigt Windows NT/2000/XP.


DDXP Toolkit für Linux / Solaris / PHP / Java

Der C-Quellcode für ein vergleichbares Commandline-Tool wird ebenfalls mitgeliefert, welcher unter Linux oder Solaris kompiliert werden kann. Auch für PHP- und Java-Umgebungen ist ein DDXP Requester enthalten, der in eigene Scripts bzw Programme eingebunden werden kann.


DDXP Anwendungen

Office Solution Pack
Ein separat erhältliches Paket von Dokumenten für Microsoft Word und Microsoft Excel steht zur Verfügung, welches eine ganze Reihe von Auswertungen und Textdokumenten mit direkter DDXP-Anbindung an die DIASiS Datenbank enthält. Die im OSP enthaltene Multimedia-Schnittstelle registriert beliebiege PC-Dokumente via DDXP in der Multimedia Datenbank. Für Microsoft Outlook steht - neben zahlreichen anderen Funktionen - ein DDXP-basierendes E-Mail Adressverzeichnis zur Verfügung.
(Weitere Informationen)

DIASiS Kassenschnittstelle
Das DIASiS Programpaket EPOS ist eine Schnittstelle zur modernen Kassensoftware EasyPOS der Firma EasyPoint. Wie in den DIASiS Programmpaketen üblich, ist die Schnittstelle vollständig integriert - ohne umständliche Importprogramme oder Übernahmeläufe. Die Anbindung der Kassen an das DIASiS ERP System (dh die Übermittlung der Verkäufe, Updates der Artikelstämme) wurde mit DDXP realisiert.
(Weitere Informationen)

DIASiS LBAR/MDE
DIASiS unterstützt den Einsatz von MDE-Geräten (Mobile Datenerfassung) zur Inventur, Kommissionierung von Kundenaufträgen oder Überprüfung von Wareneingängen. Die Kommunikation mit dem DIASiS ERP System wurde mit DDXP realisiert.
(Weitere Informationen)

Internet Shops
Ein zeitgemässer Internet Shop bezieht seine Artikel- und Preisinformationen natürlich direkt aus der Datenbank das ERP-Systems; dasselbe gilt auch für die Übermittlung der Kundenbestellungen oder für die Überprüfung der Bonität. Auch diese Problemstellung kann mit DDXP elegant gelöst werden - online zu betrachten bei www.exlibris.ch oder bei www.excom.ch.
(Weitere Informationen)

DIASiS BDE
Die DIASiS Betriebsdatenerfassung (BDE) kommuniziert über DDXP mit den BDE-Clients (Zeiterfassungs-Terminals), sodass Änderungen in Produktionsaufträgen, Rückmeldungen von Arbeitsschritten oder Präsenzzeitdaten sofort im zentralen System zur Verfügung stehen.
(Weitere Informationen).