-
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Kommunikation zwischen Anwendungssystemen in unterschiedlichen Unternehmensnetzwerken (Intranets).
-
Für eine interne Kommunikation zwischen Anwendungssystemen eines Unternehmens sind Unternehmensnetze (Intranets) nutzbar. Bei einer unternehmensübergreifenden und/oder standortübergreifenden Kommunikation - beispielsweise im Rahmen der Abwicklung unternehmensübergreifender Geschäftsprozesse - besteht die Anforderung, Daten zwischen Anwendungssystemen verschiedener Unternehmensnetzwerke auszutauschen, um die Daten an unterschiedlichen Stellen zu verarbeiten und/oder zu analysieren. Anwendungssystem in diesem Sinne kann beispielsweise ein Marktplatz im B2X Umfeld sein, der mit Basisdaten versorgt wird. Der weltweite Datenaustausch gewinnt aufgrund der Globalisierung zunehmend an Bedeutung. Die Verbindung zwischen den Unternehmensnetzen erfolgt über das Internet.
-
Der Austausch von Daten zwischen Anwendungssystemen innerhalb eines Unternehmensnetzwerkes, kann bereits ohne größere Sicherheitsprobleme realisiert werden. Die Sicherheit eines Intranets ist unter anderem abhängig vom Aufwand der in eine Sicherheitssoftware, beispielsweise eine Firewall, investiert wurde. Firewalls verbinden Intranets mit dem Internet und schützen die Intranets vor nicht erlaubten Zugriffen aus dem Internet. Sie sind im Regelfall mit einer inneren und einer äußeren Firewall ausgebildet. Dazwischen liegt die „Demilitarisierte Zone“ (DMZ). Die Funktionen der inneren und äußeren Firewall und der Komponenten der DMZ wird durch die Firewall Policy und/oder Strategie bestimmt. Die Sicherheit des Intranets ist daher weiter abhängig von der Strategie mit der die Firewall oder eine andere Sicherheitssoftware betrieben wird. Die DMZ kann je nach Sicherheitsanforderungen verschieden aufwendig strukturiert werden. Sie kann beispielsweise eine Struktur Portal Zone, eine Application Zone und/oder eine Content Security Zone umfassen. Hat man beim Aufbau und der Strategie die notwendige Sorgfalt walten lassen, ist das Intranet relativ sicher.
-
Befinden sich die kommunizierenden Anwendungssysteme hingegen in unterschiedlichen Unternehmensnetzwerken, welche beispielsweise über das Internet Daten austauschen, ist eine starke Verschlüsselung der Daten und eine strenge Authentifikation der Anwendungssysteme erforderlich.
-
In die Geschäftsprozesse großer Unternehmen sind weltweit verteilte Firmen eingebunden. Sollen Anwendungssysteme, die in diesen Firmen betrieben werden, automatisch Daten miteinander austauschen, so muss der Aufwand für die Installation von Kommunikations-Software und die Investition in Kommunikations-Software gering gehalten werden, um effizient und wirtschaftlich zu bleiben.
-
Aus der
US 2002 / 0 091 798 A1 ist eine gattungsgemäße Vorrichtung zur Kommunikation zwischen Anwendungssystemen in unterschiedlichen Unternehmensnetzwerken bekannt.
-
Aus KNUDSEN, J.: Java Cryptography. Ist Edition.Sebastopol: O'Reilly, 1998. - ISBN: 1-56592-402-9 ist bekannt, Java Applets in einer sogenannten Sandbox auszuführen, d.h. das Java Applet hat aus Sicherheitsgründen in der Regel keinen Zugriff auf das lokale Dateisystem des Host-Rechners, noch kann es Netzwerkverbindungen zu Rechnern außer dem Host-Rechner aufbauen, auf dem es ausgeführt wird.
-
Aus der
WO 00/70 839 A2 ist ein System und ein Verfahren zum Sichern von Hosts eines Dienstanbieters bekannt, sodass ein unbefugter Zugriff von Hosts verhindert wird. Das System erfordert keine Installation einer speziellen Software auf den Terminals der Benutzer und ermöglicht es, die Hosts des Dienstanbieters logisch und physisch an geeigneten Stellen innerhalb des privaten Netzwerk des Dienstanbieters zu lokalisieren. Benutzer können sich überall in einem globalen öffentlichen, wie dem Internet, befinden. Das System verwendet einen ersten Server, der mit dem ersten Netzwerk verbunden ist, in dem der erste Server eine Sitzungsaufbauanforderung vom Benutzerendgerät empfängt und eine Verbindungsanforderung als Antwort auf die Sitzungsaufbauanforderung generiert. Ein zweiter Server, der mit dem ersten Server und dem zweiten Netzwerk verbunden ist, empfängt die Verbindungsanforderung und stellt die Kommunikation mit dem Host gemäß der Verbindungsanforderung her. Der zweite Server initiiert die Kommunikation, in dem er eine Kommunikationssteuersitzung mit dem ersten Server aufbaut, bevor der erste Server die Verbindungsanforderung an den zweiten Server sendet.
-
Aus RÖHRIG, Bernhard: Linux im Netz, C&L Verlag, Vaterstetten, 1997, Abschn. 15.3 (insbes., 15.3.3 u. 15.3.5) sind Sicherheitsstrukturen für Intranets mit Firewall und Proxy-Servern bekannt.
-
Der Erfindung liegt daher das technische Problem zugrunde, ein Verfahren und eine Vorrichtung zur verbesserten Kommunikation zwischen Anwendungssystemen in unterschiedlichen Unternehmensnetzwerken (Intranets) zu schaffen.
-
Die Lösung des technischen Problems ergibt sich durch die Gegenstände mit den Merkmalen der Patentansprüche 1, 20, 37 und 38. Weitere vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den Unteransprüchen.
-
Hierzu ist zwischen einem internen und einem externen Unternehmensnetzwerk eine Netzinfrastruktur aufgebaut, die mindestens eine dem internen Unternehmensnetzwerk zugeordnete äußere und eine innere Firewall umfasst. Vorzugsweise ist zwischen dem internen Unternehmensnetzwerk und dem externen Unternehmensnetzwerk eine Netzinfrastruktur umfassend Firewall-Internet-Firewall aufgebaut, wobei jede Firewall mit innerer und äußerer Firewall ausgebildet ist. In einer demilitarisierten Zone zwischen der dem internen Unternehmensnetzwerk zugeordneten inneren und äußeren Firewall ist ein Verbindungsserver angeordnet und jedes der Unternehmensnetzwerke (Intranets) ist mit mindestens einem Client-Rechner ausgebildet, wobei einem Client-Rechner mindestens ein Anwendungssystem zugeordnet ist. Die Kommunikation zwischen den Anwendungssystemen erfolgt jeweils als unabhängige Client-Server-Kommunikation über den Verbindungsserver. Der Verbindungsserver trennt die Kommunikation in zwei entkoppelte Übertragungsstrecken auf, so dass die Verfügbarkeit des empfangenden Anwendungssystems für das sendende Anwendungssystem und umgekehrt ohne Bedeutung ist. Für die Übertragung logged sich ein Anwendungssystem des Client-Rechners auf den Verbindungsserver ein. Zwischen den Client-Rechnern und dem Verbindungsserver findet jeweils ein hochverschlüsselter Datentransfer statt. Anwendungssysteme sind derart ausgebildet, dass sie Kommunikationsanforderungen (Requests) formulieren können und Informationen über das Ergebnis der Datenübertragung und/oder des Datenverarbeitungsprozesses im empfangenden Anwendungssystem (Response) empfangen können. Die Verbindungsserver Funktionalität wird vorzugsweise auf einem Unix Rechner installiert.
-
Dabei wird nach dem Upload einer Datei auf dem Verbindungsserver eine Funktion aktiv, die feststellt, an welches oder an welche Anwendungssystem(e) die Datei übertragen werden soll. Für das/die entsprechende(n) Anwendungssystem(e) wird/werden dann ADRs - eingebettet in andere Stereotypen - in die zugehörigen, dynamisch erstellten Server Download Verzeichnisse gespeichert.
-
In einer bevorzugten Ausführungsform ist einem Anwendungssystem auf dem Client-Rechner eine Client-Kommunikationskomponente zugeordnet, wobei die Client-Kommunikationskomponenten dynamisch aufgebaut werden.
-
Für die Übertragung von Daten und/oder Dateien logged sich eine Einheit des Client-Rechners - umfassend „Client-Kommunikationskomponente und Anwendungssystem“ - auf den Verbindungsserver ein.
-
In einer bevorzugten Ausführungsform wird die gesamte Kommunikationssoftware zentral vom Verbindungsserver zur Verfügung gestellt. Das Anwendungssystem ist vorzugsweise auf einem Client-Rechner mit Browser installiert, der eine JAVA Virtual Machine unterstützt und/oder einmalig von zentraler Stelle eine JAVA Virtual Machine auf den Client Rechner herunter lädt. Über eine Browser Software kann dann ein Applet an den Client-Rechner des Anwendungssystems übertragen und auf diesem automatisch installiert werden. Dabei wird der Browser für die dynamische Integration des Clients in die Anwendungssystem Infrastruktur genutzt. Ein Teil dieser Funktionalität kann allerdings auch durch eine Java Runtime Umgebung herbeigeführt werden. Eine Erst-Installation wird über einen Browser gestützten Login Prozess durchgeführt. Ein Update der Kommunikationssoftware ist automatisch über den Login Prozess der Client-Kommunikationskomponente durchführbar. Neue Anwendungssysteme sind dadurch jederzeit in die Kommunikation integrierbar.
-
In einer weiteren Ausführungsform werden auf dem Verbindungsserver zu den einzelnen aktiven Einheiten „Anwendungssystem - Client-Kommunikationskomponente“ Server-Kommunikationskomponenten dynamisch aufgebaut.
-
In einer bevorzugten Ausführungsform umfasst eine Client-Kommunikationskomponente für die Kommunikation zum Anwendungssystem ein permanentes Verzeichnis, das im Browser gestützten Login Prozess angelegt wurde und für die Kommunikation zum Verbindungsserver ein Verzeichnis, das in der Initiierungsphase des Datenübertragungsprozesses dynamisch angelegt wird. Die Server-Kommunikationskomponente hat ihrerseits ein Verzeichnis für die Kommunikation zur Client-Kommunikationskomponente, das in der Initiierungsphase des Datenübertragungsprozesses dynamisch angelegt wurde. In diese Verzeichnisse ist mindestens je ein Stereotyp mit Kontrollinformationen speicherbar. Als Stereotypen werden in der objektorientierten Systementwicklung Datenschnittstellen bezeichnet. Über diese Stereotypen kommunizieren Anwendungssystem und Client-Kommunikationskomponente und/oder Client-Kommunikationskomponente und Server-Kommunikationskomponente miteinander.
-
Vorzugsweise generieren die Client-Kommunikationskomponente und/oder die Server-Kommunikationskomponente ihre zugehörigen Verzeichnisse dynamisch. In einem Verzeichnis der Client-Kommunikationskomponente ist beispielsweise der Stereotyp des Anwendungssystems mit den Übertragungsanforderungen (Dateiverzeichnis, Dateiname und Quellen- und Ziel-Anwendungssytem, ...) gespeichert. Die Übertragungsanforderung wird als AUR (Applicationsystem Upload Request) in der systeminternen Kommunikation bezeichnet.
Ein einer bevorzugten Ausführungsform sind Stereotypen mit ihren Kontrollinformationen In einer bevorzugten Ausführungsform sind Stereotypen mit ihren Kontrollinformationen ineinander verschachtelt speicherbar (Enveloping). Gemäß der Envelope-Technik erweitern der Client-Rechner des sendenden und/oder des empfangenden Anwendungssystems und/oder der Verbindungsserver den Request des Anwendungssystems AUR entsprechend ihrer Bedürfnisse.
-
In einer bevorzugten Ausführungsform umfasst die Einheit „Anwendungssystem - Client-Kommunikationskomponente“ und/oder die Server-Kommunikationskomponente mindestens ein Datei-Verzeichnis und ein Control-Verzeichnis. In das Datei-Verzeichnis kann das Anwendungssystem beispielsweise zu übertragende Dateien einstellen. Die Control-Verzeichnisse dienen der Kommunikation und Steuerung zwischen den Anwendungssystemen, den Client-Kommunikationskomponenten und den Server-Kommunikationskomponenten und damit der Kommunikation und Steuerung der Anwendungssysteme untereinander. Die Server-Kommunikationskomponenten werden alle gleich strukturiert, d.h., die Statusschnittstellen der verschiedenen Server-Kommunikationskomponenten werden dynamisch gleich aktualisiert. Daneben ist es denkbar, in einem Status-Verzeichnis Informationen über die Datenübertragung zu sammeln, die z.B. zu Abrechnungszwecken genutzt werden können.
-
Die Client-Kommunikationskomponente, beispielsweise das Applet und die Verzeichnisse, und/oder die Server-Kommunikationskomponente, beispielsweise ein Servlet und den Anwendungssystemen zugeordnete Verzeichnisse, werden vorzugsweise dynamisch aufgebaut. Sie existieren somit zu Beginn des Kommunikationsprozesses nicht. Sie werden auf dem Client Rechner - vorzugsweise einmalig initiiert durch einen Login Prozess - dynamisch in die Anwendungssystem - Infrastruktur integriert und auf dem Server Rechner - vorzugsweise initiiert durch einen Upload- Download- Datenübertragungsprozess - erstellt.
-
In einer bevorzugten Ausführungsform ist ein LDAP-Server vorgesehen, auf dem für die einzelnen Anwendungssysteme Identifier mit zugehörigen Passwörtern abgelegt sind. LDAP (Lightweight Directory Access Protocol) ist eine funktionell reduzierte Version des in iTU-T X.500 spezifizierten DAP für den einfachen Zugang zu Verzeichnisdiensten über TCP/iP-Netze.
-
In einer weiteren bevorzugten Ausführungsform ist auf dem LDAP-Server ein Policy Director installiert, in dem die Passwörter gespeichert sind und eine Authentisierungsprüfung für jedes Anwendungssystem durchgeführt wird.
-
In einer weiteren bevorzugten Ausführungsform wird zur Kommunikation mit verschiedenen externen Unternehmensnetzwerken jedem externen Unternehmensnetzwerk jeweils ein eigener Verbindungsserver zugeordnet.
-
Es ist denkbar, einen zentralen LDAP-Server zu verwenden, der mit den verschiedenen Verbindungsservern verbunden ist. Vorzugsweise werden jedoch aufgrund organisatorischer Probleme mehrere LDAP-Server eingesetzt.
-
Auf dem oder den LDAP-Server(n) werden zu den Identifiern der Anwendungssysteme Attribute abgelegt, in denen die zugehörige Adresse des externen Kommunikations Servers gespeichert ist, über die ein externes Anwendungssystem erreichbar ist.
-
Zum automatischen Dateitransfer von einem Anwendungssystem an den Verbindungsserver (Upload) stellt das Anwendungssystem eine Datei zum Upload vorzugsweise in sein Upload-Datei-Verzeichnis, und in Verbindung mit der Datei wird ein Applicationssytem Upload-Request (AUR) vorzugsweise in das Upload-Control-Verzeichnis geschrieben, wobei der Inhalt des AUR mindestens das Verzeichnis und/oder der Name der zu übertragenden Datei, die Origin ASID (Application System ID) und/oder mindestens eine Destination ASID eines empfangenden Anwendungssystems, zu dem die Datei übertragen werden soll, ist. Die Identifikation einer Datei kann beispielsweise durch ihr Verzeichnis, ihren Namen, ihren Datei Typ und durch die ASID des erstellenden Anwendungssystems erfolgen. Darüber hinaus sind zusätzliche Informationen wie Zeitpunkt der Erstellung, Größe der Datei etc. denkbar.
-
In einem weiteren Schritt wird mittels einer Upload-Funktion des Client-Rechners des Daten sendenden Anwendungssystems von der Client-Kommunikationskomponente, vorzugsweise das entsprechende Control-Verzeichnis gescanned und der AUR gelesen, eine Verbindung zum Verbindungsserver aufgebaut und die Datei von der Client-Kommunikations-komponente, vorzugsweise dem entsprechenden Datei-Verzeichnis an den Verbindungsserver übertragen. Die Datei wurde vorzugsweise zuvor komprimiert und/oder für die Übertragung in Unterdateien gesplittet, die zeitparallel übertragen werden. Bei Abbruch der Übertragung wird automatisch festgestellt wie viele Unterdateien richtig übertragen wurden. Mit den noch nicht übertragenen Unterdateien wird die Übertragung wieder aufgesetzt. Die Übertragung der Dateien erfolgt bevorzugt mit dem Datentransportprotokoll https.
-
Zum automatischen Dateitransfer von der Server-Kommunikationskomponente über die Client-Kommunikationskomponente an das empfangende Anwendungssystem (Download) wird auf dem Server Rechner ein Download Verzeichnis erstellt, in dem eingebettet in andere Stereotypen ein Applicationsystem Download-Request (ADR) gespeichert wird. Über die Downloadfunktion der Client-Kommunikationskomponente des empfangenden Anwendungssystems wird dieses Verzeichnis gescanned und so der ADR erkannt.
-
Daraufhin wird für die Dateiübertragung eine Verbindung von der Client-Kommunikationskomponente zur Server-Kommunikationskomponente aufgebaut und die Datei auf den Client-Rechner übertragen. Dabei wird der Stereotyp ADR in das von der Client-Kommunikationskomponente dynamisch erstellte Client- Download Verzeichnis geschrieben.
-
In einem weiteren Schritt wird das Anwendungssystem automatisch aktiviert und liest den ADR Stereotypen, aus dem Dwonload Verzeichnis und beginnt mit der Verarbeitung der übertragenen Datei deren Verzeichnis- und Dateiname aus dem ADR entnommen wurde.
-
In einer weiteren bevorzugten Ausführungsform wird bei einem Abbruch der Client-Server-Verbindung die Verbindung automatisch wieder aufgebaut. Es wird verfahren wie im Datei Upload Prozess mit dem Unterschied, dass die aus den Unterdateien zusammengesetzte Datei expandiert wird.
-
In einer bevorzugten Ausführungsform ist zu einem vom Anwendungssystem generierten Application System Upload Request (AUR) - der einen Dateiübertragungsprozess initiiert - ein - durch das Anwendungssystem festgelegtes - Verfallsdatum zugeordnet. Das Verfallsdatum bezieht sich auf alle Verzeichnisse und Dateien, die Client- und Serverseitig - initiiert durch den Dateiübertragungsprozess - dynamisch angelegt wurden. Diese Ressourcen werden nach Ablauf des Verfallsdatums automatisch gelöscht.
-
Daneben ist es auch denkbar, dass die Verzeichnisse und/oder Dateien nach abgeschlossener Übertragung der Daten gelöscht werden.
-
Mit dem dynamischen Aufbau der Kommunikationsinfrastruktur
- - automatisches herunterladen der Upload- und Download- Client-Kommunikationskomponenten auf die Client-Rechner
- - automatisches Generieren der Verzeichnisinfrastruktur - auf die Anwendungssystem und Client-Kommunikationskomponente - gemeinsam zugreifen, um Stereotypen zu speichern oder zu lesen
integrieren sich die Client-Kommunikationskomponenten automatisch in die Anwendungssystem Infrastruktur.
-
Die Erfindung wird nachfolgend anhand eines bevorzugten Ausführungsbeispiels näher erläutert. Die einzige Fig. zeigt:
- 1 ein schematisches Blockschaltbild einer Vorrichtung zur Kommunikation zwischen Anwendungssystemen in verschiedenen Netzwerken.
-
Das Gesamtsystem umfasst im wesentlichen fünf Bereiche, nämlich ein internes Unternehmensnetzwerk (Intranet) 1, ein externes Unternehmensnetzwerk 5, eine dem internen Unternehmensnetzwerk 1 zugeordnete demilitarisierte Zone 2, das Internet 3 und eine dem externen Unternehmensnetzwerk 5 zugeordnete demilitarisierte Zone 4. Zwischen der demilitarisierten Zone 2 und dem Internet 3 ist eine äußere Firewall 202 und zwischen der demilitarisierten Zone 2 und dem Intranet 1 ist eine innere Firewall 201 aufgebaut. Zwischen der inneren Firewall 201 und der äußeren Firewall 202 sind ein Verbindungsserver 20 und ein LDAP-Server 21 angeordnet. Zur Abwicklung eines oder mehrerer Geschäftsprozesse werden interne Anwendungssysteme 101-103 sowie externe Anwendungssysteme 501-503 eingesetzt. Bei den Geschäftsprozessen handelt es sich beispielsweise um Geschäftsprozesse des B2X, aber auch jede andere Art von Prozessen ist denkbar. Die Anwendungssysteme 101-103 des Intranets 1 laufen beispielsweise auf einem gemeinsamen Rechner ab. Dieser Rechner ist gleichzeitig Client-Rechner 10 für die Kommunikation mit dem Verbindungsserver 20. Daneben ist es denkbar, dass die Anwendungssysteme 101-103 mit je einer Client-Kommunikationskomponente versehen auf unterschiedlichen Rechnern laufen.
-
Auf dem Client-Rechner 10 ist ein nicht dargestellter Browser installiert, welcher beispielsweise eine JAVA Virtual Machine unterstützt. Für eine Kommunikation mit dem Verbindungsserver 20 sind auf dem Client-Rechner 10 spezielle Client-Kommunikationskomponenten 1011, 1021, 1031 dynamisch aufbaubar oder fest installierbar. Für jedes Anwendungssystem 101, 102, 103, welches dem Client-Rechner 10 zugeordnet ist, ist vorzugsweise eine eigene Client-Kommunikationskomponente 1011, 1021, 1031 vorhanden. In dem externen Unternehmensnetzwerk 5 ist mindestens ein externer Client-Rechner 50 angeordnet. Dem Client-Rechner 50 sind die Anwendungssysteme 501, 502, 503 zugeordnet. Dabei können die Anwendungssysteme 501-503 des externen Unternehmensnetzwerks 5 ebenfalls auf einem gemeinsamen Rechner und/oder getrennten Rechnern ablaufen. Das externe Unternehmensnetzwerk 5 kann außerdem ebenfalls als Intranet ausgebildet sein und ist vorzugsweise auch durch eine Sicherungssoftware, bestehend aus einer äußeren Firewall 402 und einer inneren Firewall 401 gegen unerlaubte Zugriffe aus dem Internet 3 geschützt. Weiter ist dem Client-Rechner 50 ein nicht dargestellter Browser zugeordnet und für jedes Anwendungssystem 501, 502, 503 ist eine Client-Kommunikationskomponente 5011, 5021, 5031 für eine Kommunikation aufbaubar. Vorzugsweise ist auf dem Verbindungsserver 20 für jede adressierbare Einheit bestehend aus einem Anwendungssystem 101-103, 501-503 und einer Client-Kommunikationskomponente 1011-1031, 5011-5031 eine zugehörige Server-Kommunikationskomponente 2101-2103, 2501 - 2503 aufgebaut.
-
Die Kommunikation zwischen dem Anwendungssystem 101 im Intranet 1 und dem Anwendungssystem 501 im externen Unternehmensnetzwerk 5 wird in zwei voneinander entkoppelte Client-Server-Interaktionen aufgespalten, nämlich zwischen einem dem Anwendungssystem 101 zugeordneten Client-Rechner 10 und dem Verbindungsserver 20 und einem dem Anwendungssystem 501 zugeordneten Client-Rechner 50 und dem Verbindungsserver 20. Die Kommunikation erfolgt über die entsprechenden Client- und Server-Kommunikationskomponenten. Unter Client-Server-Interaktion wird dabei allgemein die Art und Weise der Zusammenarbeit gemäß vereinbarter Regeln zwischen einem Client-Rechner und einem Server zur Lösung einer Aufgabe in einem Client-Server-System verstanden. Zwischen der Client-Kommunikationskomponente und der Kommunikationskomponente des Verbindungsservers findet ein hoch verschlüsselter Datentransfer statt, der vorzugsweise auf dem https-Protokoll basiert. Der Datentransfer zwischen Client-Kommunikationskomponente und Anwendungssystem erfolgt unverschlüsselt über eine Schnittstelle (Stereotyp).
-
Das System arbeitet vorzugsweise mit der signed Applet Technologie. Dadurch können die Client-Kommunikationskomponenten 1011, 1021, 1031, 5011, 5021, 5031 automatisch in die Anwendungssysteminfrastruktur integriert werden.
-
Für die automatische Integration jeder Client-Kommunikationskomponente wird einmalig über einen Browser Dialog mit dem Verbindungsserver 20 die Gültigkeit eines anwendungssystembezogenen Accounts verifiziert. Dieser Account wird von einem zentralen Verwaltungssystem vergeben und steht in der Datenbasis des LDAP Servers 21. In den Browser werden ASID (Application System Identification) und Password eingegeben. Der Browser authentifiziert sich mit dieser Eingabe via Verbindungsserver gegen die Datenbasis des LDAP Servers 21.
-
Bei der Nutzung von Client-Server-Zertifikaten kann der einmalige Browser Dialog entfallen. In diesem Fall steht der Account zur Authentifikation der Einheit „Anwendungssystem - Client-Kommunikationskomponente“ in einem Client Init File. Die Authentifikation des Browsers gegenüber dem Verbindungsserver und des Verbindungsservers gegenüber dem Browser erfolgt über die Zertifikate.
-
Bei Gültigkeit des Accounts sendet der Verbindungsserver 20 eine HTML Seite mit „Tags“ an den Browser zurück. In den „Tags“ steht, woher Module mit bestimmten Funktionen geladen werden.
-
Die Module sind: die Java Virtul Machine (JVM), das Init Applet, das Applet „Client-Kommunikationskomponente“ und/oder mögliche Plugins. Die JVM und das Init Applet werden über den Browser geladen und aktiviert. Das Init Applet stellt fest, ob die Infrastruktur zum Starten des Datentransfers zwischen den Anwendungssystemen (Start Icon) vorhanden ist und ob das Applet „Client-Kommunikationskomponente“ 1011, 1021, 1031 auf dem Client Rechner 10 existiert und wenn es existiert, ob die aktuelle Version vorliegt. Ist das nicht der Fall, werden der Start Icon automatisch installiert und das Applet geladen und aktiviert. Das Applet initiiert eine Session zum Verbindungsserver 20 und erhält in dieser Session seine Identität vom Verbindungsserver 20. Dem Applet wird hier seine ASID zugeordnet. Mit dieser ASID authentifiziert sich die Client-Kommunikationskomponente 1011, 1021, 1031 bei zukünftigen File Transfer Prozessen gegenüber dem Verbindungsserver.
-
Die Client-Kommunikationskomponente 1011, 1021, 1031 sieht nach, ob die Upload- und Download- Verzeichnisinfrastruktur existiert, wenn nicht wird sie nach einem definierten Algorithmus generiert. Über diese Verzeichnisinfrastruktur kommunizieren Anwendungssystem 101, 102, 103 und Client-Kommunikationskomponente 1011, 1021, 1031. Anwendungssystem 101, 102, 103 und Client-Kommunikationskomponente 1011, 1021, 1031 bilden jetzt eine über die ASID adressierbare Einheit.
-
Damit ist die Integration der Client-Kommunikationskomponente in die Anwendungssystem Infrastruktur abgeschlossen.
-
Beim Starten des Kommunikationsprozesses über den Start Icon befinden sich auf dem Client Rechner 10, 50 eine Java Virtual Machine, die Client-Initial-Komponente, die Client- Kommunikationskomponente 1011, 1021, 1031, 5011, 5021, 5031 und gegebenenfalls Plugins. Die JVM ist aktiv. Die Client-Initial- Komponente wird durch klicken des Start Icons aktiviert. Sie baut mit der ASID aus dem Start Icon eine Session zum Verbindungsserver 20 auf und holt sich das aktuelle Release der Client-Kommunikationskomponente 1011, 1021, 1031, 5011, 5021, 5031 und der möglichen Plugins. Sind die Releases der Client-Kommunikationskomponente 1011, 1021, 1031, 5011, 5021, 5031 und der möglichen Plugins nicht aktuell, so werden die aktuellen Applets vom Verbindungsserver 20 geladen. Die bestehende Client-Kommunikationskomponente 1011, 1021, 1031, 5011, 5021, 5031 und die möglichen Plugins werden upgedated. Die Client-Kommunikationskomponente 1011, 1021, 1031, 5011, 5021, 5031 wird aktiviert und prüft, ob die Upload- und Download Verzeichnisse vorhanden sind. Wurden sie durch nicht erlaubte Maßnahmen gelöscht, werden sie automatisch nachgeneriert.
-
Das Anwendungssystem 101, 102, 103, 501, 502, 503 und die Client-Kommunikationskomponente 1011, 1021, 1031, 5011, 5021, 5031 speichern ihre Schnittstellen (Stereotypen) in den generierten Verzeichnissen und/oder lesen diese Stereotypen. Mit der ASID authentifiziert sich die Client-Kommunikationskomponente 1011, 1021, 1031, 5011, 5021, 5031 gegenüber dem Verbindungsserver 20.
-
Durch eine Client-Kommunikationskomponente 1011, 1021, 1031, 5011, 5021, 5031 ist dabei mindestens ein Datei-Verzeichnis und mindestens ein Control-Verzeichnis erzeugbar, die mit der Client-Kommunikationskomponente 1011, 1021, 1031, 5011, 5021, 5031 assoziiert sind. Bevorzugt werden für Upload und Download jeweils ein Datei-Verzeichnis und ein Control-Verzeichnis erzeugt. Nach dem Ende eines Datenübertragungsprozesses können die mit diesem Prozess assoziierten Verzeichnisse auf den Rechnern 10, 20 und/oder 50 wieder gelöscht werden. Es können aber auch von den Anwendungssystemen Zeiten vorgegeben werden, zu denen das Löschen automatisch erfolgt.
-
Für einen dynamischen Aufbau einer Client-Kommunikationskomponente 1011, 1021, 1031, 5011, 5021, 5031 ist keine spezielle Kommunikationssoftware in Verbindung mit dem Anwendungssystem 101-103, 501-503 notwendig. Daher kann jedes berechtigte Anwendungssystem jederzeit in die Kommunikation eingebunden werden. Gleichzeitig sind verwendete Programme schnell und einfach aktualisierbar. Dabei müssen nur hinsichtlich der verwendeten Browser gewisse Abstimmungen getroffen werden.
-
Für Anwendungssysteme auf einem Rechner ohne Browser oder Java runtime Umgebung ist kein dynamischer Client-Aufbau durch ein Applet denkbar. Derartige Anwendungssysteme können über einen NFS-Rechner mit einem Client-Rechner verbunden werden. Aus Sicherheitsaspekten ist ein dynamischer Aufbau der Client-Kommunikationskomponenten auf dem Client-Rechner des Anwendungssystems jedoch zu bevorzugen.
-
Prinzipiell kann alternativ oder kumulativ zu der signed Applet Technologie ein Programm mit Installations-Skript zur Verfügung gestellt werden, das vom Verbindungsserver 20 herunter geladen und installiert werden kann. Das Programm hat dabei die Funktionalität des Applets.
-
Der Datentransfer lässt sich in folgende Schritte unterteilen:
-
Das Anwendungssystem 101 mit einer ASID „ASID1“, welches eine Datei an das Anwendungssystem 501 mit einer ASID „ASID2“ übertragen möchte, generiert einen Applicationsystem Upload Request (AUR). Dem AUR ist mindestens das Ziel-Anwendungssystem 501 und eine Kennung der zu übertragenden Datei zu entnehmen. Gemäß der Envelope-Technik erweitern der Client-Rechner 10 des sendenden Anwendungssystems 101 und der Verbindungsserver 20 den Request AUR des Anwendungssystems 101 entsprechend ihrer Bedürfnisse.
-
Der AUR wird durch die Client-Kommunikationskomponente 1011 auf Richtigkeit überprüft. Außerdem wird ein Client Upload Response (CURES) generiert und an das Anwendungssystem 101 zurückgeschickt. Besteht Richtigkeit, wird ein Client Upload Request (CUR) erstellt und der AUR wird in den CUR eingebettet CUR(AUR). Der CUR(AUR) wird von der Client-Kommunikationskomponente 1011 gelesen. Die Client-Kommunikationskomponente 1011 prüft, ob eine Session zwischen der Client-Kommunikationskomponente 1011 und dem Verbindungsserver 20 besteht. Ist das nicht der Fall, wird eine Session aufgebaut. Der Verbindungsserver 20 generiert eine Unique Communication Id (COMID). Mit der ASID1 des Anwendungssytems 101 und dieser COMID werden client- und serverseitig eindeutige übertragungsspezifische Verzeichnisse erstellt.
-
Die Client-Kommunikationskomponente 1011 baut einen Stereotypen zum Speichern der Client Session Kontrolldaten auf, das sogenannte Client Upload Communication Interface (CUCI). In den Stereotypen CUCI werden CUR(AUR) eingebettet. Es entsteht der Stereotyp CUCI(CUR(AUR)), der im dynamisch generierten Client Verzeichnis gespeichert wird.
-
Auf dem Verbindungsserver 20 generiert eine Server-Kommunikationskomponente 2101 ein Server Upload Communication Interface (SUCI) zum Speichern der Server Session Kontrolldaten. In den Stereotypen SUCI werden CUCI(CUR(AUR)) eingebettet. Es entsteht der Stereotyp SUCI(CUCI(CUR(AUR))) der im dynamisch generierten Server Verzeichnis gespeichert wird.
-
Die Client-Kommunikationskomponeten 1011 startet den Datei Upload Prozess. Alle Daten der Upload Session werden in den Stereotypen des Client Rechners 10 und den Stereotypen des Verbindungsservers 20 gespeichert. Nach dem Upload der Datei wird ein Server Upload Response generiert und an das Anwendungssystem 101 zurückgeschickt.
-
Ein Servlet mit Verteilungs-Funktionalität prüft in bestimmten Zeitzyklen ob ein aktiver Stereotyp SUCI(CUCI(CUR(AUR))) auf dem Verbindungsserver 20 existiert. Liegt ein derartiger aktiver Stereotyp vor, so wird der ursprüngliche Request AUR ausgelesen. Dem AUR ist zu entnehmen, an wie viele Ziel-Anwendungssysteme die Datei zu übertragen ist. Für jedes Ziel-Anwendungssystem wird ein Download Verzeichnis aus ASID, COMID und Name erstellt. Pro Verzeichnis wird ein aktiver Stereotyp der Struktur SDCI(CDCI(CDR(ADR))) generiert. Hier werden Server- und Client- Session Kontrolldaten des Download Prozesses gespeichert. Der Stereotyp AUR wird mit der entsprechenden ASID in den ADR Stereotypen kopiert. Der Stereotyp SUCI(CUCI(CUR(AUR))) wird inaktiviert.
-
Für die Übertragung an das Anwendungssystem 501 wird auf dem Verbindungsserver 20 ein Stereotyp, welcher dem Anwendungssystem 501 zugeordnet ist, aktualisiert. Die Client-Kommunikationskomponente 5011 des Anwendungssystems logged sich in bestimmten Zeitzyklen in den Verbindungsserver 20 ein und stellt fest, ob ein aktiver Stereotyp der Struktur SDCI(CDCI(CDR(ADR))) für die eigene ASID - Destination ASID - generiert wurde.
-
Wird ein entsprechender Request erkannt, so baut die Client-Kommunikationskomponente 5011 eine Verbindung zum Verbindungsserver 20 auf und lädt den Request auf den Client-Rechner 50 herunter. Gemäß der ASID und der COMID wird auf dem Client Rechner ein Verzeichnis generiert, in das der Stereotyp CDCI(CDR(ADR)) gespeichert wird. Der File Download Prozess wird initiiert. Die Daten der Download Session werden auf dem Verbindungsserver 20 und Client Rechner 50 in den entsprechenden Stereotypen gespeichert. Nach dem erfolgreichen Download der Datei wird ein Client Download Response (CDRES) generiert und an das Anwendungssystem 101 zurückgeschickt.
-
Die Client-Kommunikationskomponente 5011 des Download Prozesses schreibt den aktiven Stereotypen ADR in das gemeinsame Verzeichnis von Client-Kommunikationskomponente 5011 und Anwendungssystem 501. Ein Plugin liest den Stereotypen ADR und aktiviert das Anwendungssystem. Das Anwendungssystem 501 liest den ADR und inaktiviert ihn. Das Anwendungssystem 501 informiert sich aus dem AUR, welche Datei zur Verarbeitung bereit steht und verarbeitet diese.
-
Das Ergebnis der Verarbeitung wird im Application Download Response (ADRES) gespeichert und im Response Transferprozess an das Anwendungssystem 101 übertragen und dort ausgewertet.
-
Erfolgt ein Abbruch der Client-Server-Verbindung, so ist es denkbar, dass die Verbindung automatisch neu gestartet wird. Dazu wird festgestellt, wie viel Übertragungen zum Zeitpunkt des Abbruchs innerhalb der Verbindung aktiv waren. Von den aktiven empfangenen Dateien wird der Bytecount an den oder die Sender, d.h. entweder den Client-Rechner für einen Upload oder den Verbindungsserver bei einem Download, übermittelt. Die Sender stellen die zu sendenden Dateien auf diese Counts ein und aktivieren die Verbindung.
-
Eine weitere Funktion auf dem Verbindungsserver 20, die vom Anwendungssystem über den Application Upload Request (AUR) initiierbar und/oder steuerbar ist, prüft in der Initiierungsphase eines Application Upload Requests (AURs), ob alle im AUR definierten ASIDs externer, empfangender Anwendungssysteme 501-503 auf dem LDAP-Server definiert worden sind. Ist das nicht der Fall, wird dem Anwendungssystem 101 zurückgemeldet, welche ASIDs bisher auf dem LDAP Server noch nicht definiert worden sind. Der Upload der Datei wird nicht durchgeführt.
-
Wurde diese Funktion vom Anwendungssystem 101 im AUR nicht aktiviert, so erfolgt vorzugsweise ein Upload der Datei auf den Verbindungsserver 20 unabhängig davon, ob die Datei komplett an alle Anwendungssysteme 501 - 503 verteilt werden kann. Noch nicht im LDAP Server definierten Anwendungssysteme 501 - 503 können nachdefiniert werden.
-
Wurden im AUR empfangende Anwendungssysteme 501 - 503 nicht komplett aufgeführt, so können die fehlenden Anwendungssysteme unter Angabe des selben AUR-IDs nachgereicht werden.
-
Die Übertragungsstrecke zwischen zwei Anwendungssystemen 101 - 103, 501 - 503 ist hinsichtlich der Datentransferaktivitäten transparent - sowohl für den Beobachter auf der Sendeseite als auch für den Beobachter auf der Empfangsseite. Jedes Ereignis auf dieser Strecke (Bereitstellung des Files, Start und Ende Komprimierung, Start und Ende der Session, ...) wird vorzugsweise mit einem Timestamp versehen. Diese Informationen sind dann Bestandteil der Stereotypen und können über eine https Browser Session zum Verbindungsserver 20 über einen speziellen Account ausgelesen werden.
-
Für die Übertragung wird eine Datei vorzugsweise komprimiert und Unterdateien gesplittet. Die erzeugten Unterdateien werden zeitparallel zwischen Client-Rechner 10, 50 zum Verbindungsserver 20 übertragen und auf den empfangenden Rechnern in der richtigen Sequenz wieder zusammengesetzt. Pro Subfile wird ein Thread zwischen Client-Kommunikationskomponente und Server-Kommunikationskomponente aufgebaut. Jedes übertragene Subfile wird nach Standardalgorithmen auf richtige Übertragung überprüft. Bei fehlerhafter Übertragung wird die Übertragung des Subfiles wiederholt. Im Falle eines Session Abbruchs, wird die Session automatisch wieder aufgebaut. Danach werden die noch nicht übertragenen Subfiles übertragen. Erst wenn alle Subfiles richtig übertragen und zu einer Datei zusammengesetzt worden sind, wird ein weiteres Servlet aktiv, das die Verteilung der upgeloadeten Datei auf ein oder mehrere empfangende Anwendungssysteme durchführt.
-
Es ist denkbar, die Verzeichnisstriktur mit einem Datei-Verzeichnis, einem Control-Verzeichnis und einem Status-Verzeichnis auszubilden. In das Datei-Verzeichnis werden Dateien für eine Übertragung und/oder empfangenen Dateien abgelegt. Das Datei-Verzeichnis ist mindestens durch das zugehörige Anwendungssystem 101-103, 501-503 zugänglich. Teilweise kann weiter ein Zugriff durch andere Programme des zugehörigen Client-Rechners 10, 50 sinnvoll sein. Das Datei-Verzeichnis ist gegen einen unberechtigten Zugriff geschützt. Ein Request für einen Upload oder einen Download einer im Datei-Verzeichnis abgelegten Datei wird in das Control-Verzeichnis geschrieben. Informationen über den Verlauf der Übertragung, beispielsweise eine Antwort des Verbindungsservers auf erfolgreichen Upload oder Fehlermeldungen werden in das Status-Verzeichnis geschrieben. Je nach Detaillierungsgrad eines Requests ist ein Schutz des Control-Verzeichnisses gegen unberechtigten Zugriff notwendig. Das Status-Verzeichnis unterliegt in der Regel keinen Sicherheitsvorkehrungen.