System und Verfahren zur web-basierten Überwachung und Steuerung mehrerer räumlich verteilter Anlagen
Beschreibung
Die Erfindung betrifft ein System und ein Verfahren zur web-basierten Überwachung und Steuerung mehrerer verteilter technischer Anlagen, gemäß den Ansprüchen 1 und 11.
Mit der zunehmenden Verbreitung der Kommunikation über das Internet werden neue Web-Technologien zunehmend auch in neuen Anwendungsfeldern wie der Automatisierungstechnik, beispielsweise im Rahmen von web-basierter Bedienung, Überwachung oder Wartung technischer Anlagen, eingesetzt.
Die technischen Anlagen werden dazu üblicherweise mit einem Web-Server und entsprechenden Software-Komponenten erweitert, so dass Daten/Informationen der Anlagen über das Internet oder ein internes Netzwerk übertragbar sind, um sie beispielsweise in einer übergeordneten Anlage, im folgenden auch als Web-Client bezeichnet, in Form von HTML-Seiten anzuzeigen und zu modifizieren oder um über spezielle Web-Services auf die Daten jn den verteilten Anlagen zuzugreifen.
Bekannte Verfahren für einen web-basierten Zugriff auf Daten/Informationen aus verteilten technischen Anlagen haben jedoch den Nachteil, dass sie eine Anlage stets isoliert von den anderen Anlagen betrachten. Oft sind innerhalb eines Unternehmens Daten/Informationen von mehreren Anlagen von Interesse und stehen gegebenenfalls dahingehend in einem gewissen Bezug zueinander, dass beispielsweise eine Anzeige der Summe der freie Kapazitäten sämtlicher Anlagen des Unternehmens von Bedeutung ist.
Mit den existierenden Verfahren für den web-basierten Zugriff auf Daten/Informationen in räumlich verteilten Anlägen werden die Daten/Informationen der verteilten Anlagen in separaten Sichten dargestellt. Zwar ist die Darstellung der Daten/Informationen, welche von den verteilten Anlagen über das Internet übertragen werden, beispielsweise durch Öffnen mehrerer Browser von mehreren verteilten Anlagen gleichzeitig darstellbar, jedoch ist es nicht möglich, diese Daten/Informationen in einem bestimmten Format oder alternativ in einer bestimmten Anordnung zu verknüpfen, ihre logischen Bezüge korrekt darzustellen und zu einer integrierenden Sicht zusammenzufügen.
Der Erfindung liegt die A u f g a b e zugrunde, ein System und ein Verfahren zur webbasierten Überwachung und Steuerung mehrerer verteilter technischer Anlagen, insbesondere von Automatisierungssystemen, anzugeben, wobei Daten/Informationen der verteilten technischen Anlagen austauschbar, zu einer einheitlichen Struktur zusammenfassbar und in einer Benutzeroberfläche integrierend darstellbar sind.
Diese Aufgabe wird erfindüngsgemäß durch ein System zur web-basierten Überwachung und Steuerung mehrerer verteilter technischer Anlagen mit den im Anspruch 1 angegebenen Merkmalen gelöst.
Vorteilhafte Ausgestaltungen und ein Verfahren zur web-basierten Überwachung und Steuerung mehrerer verteilten technischen Anlagen sind in weiteren Ansprüchen angegeben.
Grundlage für die web-basierte Überwachung und Steuerung mehrerer räumlich verteilter technischer Anlagen, insbesondere in der Automatisierungstechnik, ist eine in einer übergeordneten Anlage, nachfolgend auch als Client oder Web-Client bezeichnet, abgelegte integrierende Software, die als Zwischenschicht zwischen anderen Softwareteilen fungiert, welche über eine Kommunikationsverbindung Daten/Informationen über den jeweiligen Web-Server der verteilten Anlage austauscht und auswertet.
Das erfindungsgemäße System weist dazu wenigstens einen Web-Client auf, welcher neben Anwendungsprogrammen oder Anwendungen, nachfolgend als Applikationen bezeichnet, eine Integrationsschicht mit der integrierenden Software auf. Die im Web=- Client befindliche Integrationsschicht kommuniziert mittels
Kommunikationsverbindungen, wie beispielsweise das. Internet oder ein internes Netzwerk, über im Web-Client abgelegte Stellvertreterdienste, sogenannte client-seitige Proxies, mit den Web-Servern der jeweiligen verteilten Anlagen.
Weiterhin betrifft die Erfindung ein Verfahren zur web-basierten Überwachung und Steuerung verteilter Anlagen, wobei der wenigstens eine Web-Client mittels der in der Integrationsschicht des Web-Clients integrierenden clientseitigen Software, die als Zwischenschicht zwischen anderen Softwareteilen fungiert, mit Web-Servern der jeweiligen verteilten Anlage Daten/Informationen austauscht.
Durch die Erfindung werden die Daten/Informationen, welche die verteilten technischen Anlagen untereinander austauschen, in vorteilhafter Weise in einer einheitlichen Struktur zusammenfasst, in einer Benutzeroberfläche integrierend dargestellt und so verknüpft, dass ihre logischen Bezüge korrekt dargestellt werden.
Das erfindungsgemäße Verfahren ist weiterhin in besonders vorteilhafter Weise dadurch weitergebildet, dass in den verteilten Anlagen Datenstrukturen abgelegt werden, welche Referenzen mit Verweisen auf Datenstrukturen in weitere verteilte Anlagen aufweisen.
Dazu werden zunächst die Daten/Informationen von einer ersten Anlage der sogenannten Home-Anlage in die Integrationsschicht des Web-Clients übertragen. Die in der Integrationsschicht enthaltene Software wertet die Daten/Informationen dahingehend aus, ob sie Verweise auf weitere, sogenannte föderierte Anlagen aufweisen/ Jeder Verweis auf eine föderierte Anlage wird ausgewertet, indem eine Verbindung zu dem zugehörigen Web-Server der föderierten Anlage aufgebaut wird und die referenzierten Daten in den Client geladen werden.
Eine vorteilhafte Ausführung der Erfindung sieht vor, dass die Auswertung der Verweise der förderierten Anlagen rekursiv ausgeführt wird, wenn die föderierte Anlage wiederum Verweise auf weitere verteilte Anlagen aufweist. Mittels geeigneter Abbruchkriterien, wie beispielsweise die Ermittlung maximaler Rekursionstiefen, wird sichergestellt, dass bei zyklischen Referenzen keine Endlosschleifen durchlaufen werden.
Gemäß einer weiteren vorteilhaften Ausgestaltung der Erfindung werden die von den verteilten Anlagen in den Web-Client geladenen Daten von der client-seitigen Zwischenschicht zu einer einheitlichen, integrierenden Repräsentation zusammengesetzt. Diese Repräsentation wird optional von den Anwendungen für die Anzeige oder für eine weitergehende Interaktion verwendet. Dadurch ist sichergestellt, dass sich die Ansicht und Bearbeitung der aus mehreren Anlagen zusammengestellten Datenobjekten nicht oder nur geringfügig von der Bedienung einer Einzelanlage unterscheiden. Die aktuelle Applikation ist unabhängig davon, ob die Daten von einem oder mehreren Systemen kommen, da die Zwischenschicht sozusagen im Hintergrund die Daten entsprechend zusammenfasst und aufbereitet. Das Vorhandensein der Zwischenschicht zwischen den Softwareteilen verhindert, dass beispielsweise Applikation zu ändern sind oder eine Zwischenablage einzufügen ist, um Daten zwischen den verteilten Anlagen auszutauschen.
Durch die Zuweisung einer eindeutigen Systemkennung für jedes Datenobjekt ist gewährleistet, dass bei der Bearbeitung der Objekte die Kommunikation mit der jeweiligen Anlage, von der das Datenobjekt kommt, ausgeführt wird.
Durch die Verwendung von Referenzen zwischen den verteilten Anlagen und die Möglichkeit die Referenzen nur nach Anforderung vom Web-Client aufzulösen, wird zur Bearbeitung der einzelnen Datenobjekte weiterhin jeweils nur die entsprechende Home- oder föderierte Anlage angesprochen.
Dies hat den Vorteil, dass die Gesamtheit der Objekte aller Anlagen in frei konfigurierbaren Sichten einheitlich darstellbar ist, ohne dass zugleich ein einheitliches vollständiges Modell des gesamten Datenbestandes aller Anlagen an einem Ort aufgebaut werden muss.
Durch das Konzept der Referenzen ist keine zentrale Datenhaltung erforderlich. Vielmehr sind die Daten der verteilten Anlagen dezentral abgelegt und werden nur nach Bedarf geeignet zusammengestellt und übertragen.
Auch können in vorteilhafter Weise verschiedene Anwendungsversionen, insbesondere unterschiedliche Software-Versionen, auf den einzelnen Anlagen, also server-seitig
verwendet werden, da auf dem Web-Client abgelegte Stellvertreter für die jeweiligen Anlagen, sogenannte client-seitige Proxies zur Kommunikation mit den jeweiligen Anlagen direkt vom Web-Server der jeweiligen Anlage geladen werden.
Anhand von in den folgenden Zeichnungsfiguren dargestellten Ausführungsbeispielen sollen die Erfindung sowie vorteilhafte Ausgestaltungen und Verbesserungen der Erfindung näher erläutert und beschrieben werden.
Es zeigen:
Fig. 1 ein System zur web-basierten Überwachung und Steuerung mehrerer räumlich verteilter technischer Anlagen entsprechend dem Stand der Technik, Fig. 2 eine Ausführungsform des erfindungsgemäßen Systems zur webbasierten Überwachung und Steuerung mehrerer räumlich verteilter technischer Anlagen, Fig. 3 eine beispielhafte Übersicht der Architektur des erfindungsgemäßen Systems, Fig. 4 ein Ausführungsbeispiel für die Integration von Datenstrukturen einer ersten Anlage und einer der ersten Anlage untergeordneten Anlage, und Fig. 5 einen Verfahrensablauf zur web-basierten Überwachung und Steuerung mehrerer räumlich verteilten technischen Anlagen.
Fig. 1 zeigt ein System zur web-basierten Überwachung und Steuerung mehrerer räumlich verteilter technischer Anlagen 3.1, 3.2,... 3.n entsprechend dem Stand der Technik, mit wenigstens einem Web-Client 1, wobei die technischen Anlagen 3.1, 3.2,... 3.n jeweils einen Web-Server 2.1 , 2.2... 2.n umfassen, welcher mit dem Web-Client 1 Daten /Informationen über eine Kommunikationsverbindung K, beispielsweise das Internet, austauscht.
Im Web-Client 1 werden für die unterschiedlichen verteilten Anlagen 3.1 , 3.2,... 3.n separate Sichten S1 , S2, Sn gezeigt, in denen die Daten/Informationen der jeweiligen Anlagen 3.1 , 3.2,... 3.n gespeichert sind. Dazu werden die Sichten beispielsweise vom Server geladen oder auf Basis der Daten/Informationen vom Server erzeugt.
Fig. 2 zeigt eine Ausführungsform des erfindungsgemäßen Systems zur web-basierten Überwachung und Steuerung mehrerer räumlich verteilter technischer Anlagen 3.1, 3.2,... 3.n, wobei in einer übergeordneten Anlage 1 , im folgenden als Client oder Web- Client bezeichnet, Komponenten abgelegt sind, die eine einheitliche integrierende Sicht S auf die Daten /Informationen der verteilten Anlagen realisieren, die Daten/Informationen zu einer einheitlichen Struktur zusammenfassen sowie in einer Benutzeroberfläche integrierend darstellen und/ oder anzeigen.
Der Daten/Informationsaustausch zwischen dem Client 1 und den verteilten Anlagen 3.1 , 3.2,... 3.n wird über Kommunikationsverbindungen K und den in den verteilten Anlagen 3.1 , 3.2,... 3.n vorhandenen Web-Servern 2.1 , 2.2,... 2.n ausgeführt.
Der Client 1 ist vorzugsweise als typischer Web-Client mit einem Web-Browser ohne eine weitere spezielle integrierte Software ausgeführt.
Fig. 3 zeigt eine beispielhafte Übersicht der Architektur des erfindungsgemäßen Systems. Über die Kommunikationsverbindungen K, beispielsweise das Internet oder ein internes Netzwerk, kommuniziert der Web-Client 1 mit den Web-Servern 2.1 , 2.2... 2.n der verteilten technischen Anlagen 3.1 , 3.2,... 3.n. In den Web-Client 1 werden dazu vom einem sogenannten Home-Server einer ersten Anlage 3.1 eine oder mehrere Applikationen 10 vorzugsweise beim erstmaligen Betrieb und meist nur einmal geladen, beispielsweise als Anwendungsprogramme zur Anlagensteuerung mit den dazugehörigen Bedienoberflächen. Die Applikationen 10 tauschen über die Kommunikationsverbindungen K Daten/Informationen mit den Anlagen 3.1 , 3.2,... 3.n aus und fordern eine integrierte Sicht S auf die Daten von den Anlagen 3.1 , 3.2,... 3.n an.
Die Applikationen 10 kommunizieren dazu über eine Integrationsschicht 11 , und damit verbundene client-seitige Stellvertreterdienste 12, 13, 14, sogenannte Proxies, sowie die Kommunikationsverbindung K mit den verteilten Anlagen 3.1 , 3.2,... 3.n, beispielsweise um Daten von den Anlagen 3.1 , 3.2,... 3.n abzufragen oder um Steuersignale an die Anlagen 3.1 , 3.2,... 3.n zu übermitteln. Die für die Kommunikation des Clients 1 mit den Anlagen 3.1 , 3.2,... 3.n typischerweise vorgesehenen client- seitigen Proxies 12, 13, 14 werden dafür von den entsprechenden Web-Servern 2.1 ,
2.2... 2.n der verteilten technischen Anlagen 3.1 , 3.2,... 3.n geladen und realisieren die Kommunikationsverbindung K zwischen dem Client 1 und den Web-Servern 2.1 , 2.2... 2.n der Anlagen 3.1 , 3.2,... 3.n.
Die client-seitigen Komponenten, wie die Proxies 12, 13, 14, die Integrationsschicht 11 und die client-seitigen Applikationen 10 werden typischerweise als Software- Komponenten realisiert, die über Standard-Web-Mechanismen, wie beispielsweise die unter den Handelsnamen Microsoft Active-X Controls, Microsoft NET-Komponenten oder Java-Applets bekannten Mechanismen, geladen, automatisch installiert und ausgeführt werden.
Die Kommunikation des Clients 1 mit den Anlagen 3.1 , 3.2,... 3.n, insbesondere die Datenabfragen oder Datenaufrufe werden beispielsweise über einen Web-Service oder mittels SOAP-Aufrufen (Simple Object Access Protocol) ausgeführt.
Die Daten/Informationen der Anlagen 3.1 , 3.2,... 3.n, welche durch Objekte beschrieben werden, im folgenden auch Datenobjekte genannt, sind beispielsweise Projektdaten, Messwerte oder Zustände der verteilten Anlagen 3.1, 3.2,... 3.n und liegen in separaten Datenbanken 21 , 31 , 41 in den Anlagen 3.1 , 3.2,... 3.n vor oder werden in Echtzeit, beispielsweise auf der Basis der von Sensoren gemessene Werte erzeugt. Die Datenobjekte aus den Datenbanken 21 , 31 , 41 werden nach Anforderung durch den Client 1 über den Web-Server 2.1 , 2.2,... 2.n der jeweiligen Anlage 3.1, 3.2,... 3.n und die Kommunikationsverbindung K an den Client 1 übertragen.
Die in den Datenbanken 21 , 31 , 41 der jeweiligen Anlagen 3.1 , 3.2,... 3.n gespeicherten Datenobjekte weisen Referenzen 6 mit Verweisen, sogenannte System-Links 6, auf Daten, Strukturen und/oder Teilstrukturen zu den anderen verteilten Anlagen 3.1, 3.2,... 3 auf, welche auch als föderierte Anlagen bezeichnet werden.
Die Funktion der für die einheitliche Aufbereitung und Darstellung der Daten/Informationen vorgesehenen Integrationsschicht 11 umfasst die Auflösung der Referenzen 6 der von den Web-Servern 2.1 , 2.2... 2.n geladenen Daten. Weiterhin lädt die Integrationsschicht 11 mittels der verschiedenen Proxies 12, 13, 14 die Daten/Informationen von den entsprechenden föderierten Anlagen 3.2,... 3.n nach. Die
so gewonnene einheitliche Sicht S auf die Daten/Informationen wird anschließend den Client-Applikationen 10, insbesondere den Anwendungsprogrammen und/oder grafischen Benutzerschnittstellen zugeführt und dargestellt.
Die Integrationsschicht 1 ist weiterhin dafür eingerichtet, die Datenanfragen aus den Client-Applikationen 10 vorzuverarbeiten, um die Daten von den jeweiligen Proxies 12, 13, 14 und somit den Web- Servern 2.1, 2.2... 2.n der dazugehörigen Anlagen 3.2,... 3.n anzufordern.
In einer bevorzugten Ausführungsform wird eine erste Anlage 3.1 als sogenannte Home-Anlage definiert, welche damit einen zentralen Einstiegspunkt in das erfindungsgemäße System bildet. Die mit der Home-Anlage 3.1 in Verbindung stehenden Anlagen 3.2,... 3.n sind die zur Home-Anlage 3.1 föderierten Anlagen. Die Home-Anlage 3.1 enthält das Wurzelobjekt der Objekthierarchien der föderierten Sichten und ist in der Lage, eine benutzerabhängige Konfigurationen und Einstellungen für das Gesamtanlagensystem bereitzustellen.
In Fig. 4 veranschaulicht an einem Ausführungsbeispiel die Integration von Datenstrukturen einer ersten Anlage 3.1, der sogenannten Home-Anlage und einer der ersten Anlage untergeordneten Anlage 3.2... 3.n, als föderierte Anlage bezeichnet, wie die Datenstrukturen mehrerer verteilter Anlagen 3.1, 3.2,... 3.3 zu einer integrierenden Sicht S zusammengefügt werden.
Die dargestellten Strukturen bezeichnen Datenmodelle, welche beliebig aus Datenoder Datenteilstrukturen der Anlagen zusammenbaubar sind.
Ausgehend davon, dass die Daten der Anlagen 3.1 , 3.2... 3.n durch Datenobjekte beschrieben werden, welche vorzugsweise in hierarchischen Strukturen angeordnet sind, enthält ein Datenmodell einer Anlage 3.1 , 3.2... 3.n dabei unter Umständen eine Vielzahl verschiedener Strukturen, bei denen Objekte auch mehrfach in den Strukturen an verschiedenen Stellen abgelegt sind. Die Datenobjekte repräsentieren dabei beispielsweise sowohl physikalische als auch logische Komponenten der Anlage 3.1 , 3.2... 3.n.
Die verschiedenen Strukturen stellen verschiedene Sichten auf die Anlage dar, beispielsweise den räumlichen Aufbau oder die logische Beziehung der Objekte innerhalb eines modellierten Prozesses. Die Eigenschaften bestimmter Objekte werden wiederum durch sogenannte Aspekte beschrieben, wobei insbesondere auch die hierarchischen Beziehungen zwischen den Objekten durch Aspekte beschrieben werden.
Um beispielsweise die Referenzen 6 von der Home-Anlage 3.1 auf die föderierten Anlagen 3.2,... 3.n zu beschreiben, werden in einer besonderen Ausführungsform spezielle Aspekte eingeführt, welche eine entsprechende Unterstruktur in einer föderierten Anlage 3.2,... 3.n eindeutig beschreiben und einem zugehörigen Objekt zuordnen.
Fig. 4 zeigt eine Home-Anlage 3.1 und eine zweite, föderierte Anlage 3.2, welche mit der Integrationsschicht 11 des Clients 1 Daten austauschen. Zum Datenaustausch zwischen der Home-Anlage 3.1 und der zweiten, föderierten Anlage 3.2 verweist eine System-Referenz 211 , beispielsweise ein System-Link, von einem Objekt aus der Home-Anlage 3.1 zu einer Teilstruktur der föderierten Anlage 3.2.
Zur besseren Übersicht ist für jede der Anlagen 3.1 , 3.2,... 3.n nur eine einzelne Struktur, nachfolgend als Objektstruktur bezeichnet, mit wenigen Objekten und ohne Aspekte dargestellt, jedoch sind weitere Strukturen oder Teilstrukturen auch in Verbindung mit den speziellen Aspekten in den jeweiligen Objektstrukturen der Anlagen darstellbar.
Auf dem Client 1 wird mit Hilfe der Integrationsschicht 11 eine gesamtheitliche, integrierende Sicht 110 auf die Daten der beiden Anlagen 3.1 , 3.2, ... 3n erzeugt. Der referenzierte Teilabschnitt TA der Home-Anlage 3.1 mit der föderierten Anlage 3.2. wird hierbei in die Struktur der Home-Anlage 3.1 eingebunden.
In vorteilhafter Weise werden die Datenobjekte so in der Sicht 110 des Clients gespeichert, dass die Referenzen 6 nur nach einer Anforderung vom Client 1 aufgelöst werden. So wird zur Bearbeitung der einzelnen Datenobjekte weiterhin jeweils die entsprechende Home- oder föderierte Anlage angesprochen. Dadurch ist die
Gesamtheit der Objekte aller Anlagen 3.1 , 3.2,... 3n in frei konfigurierbaren Sichten einheitlich darstellbar, und es ist nicht erforderlich, dass ein einheitliches vollständiges Modell des gesamten Datenbestandes aller Anlagen 3.1, 3.2, ... 3n an einem Ort aufgebaut werden muss.
In einer besonderen Ausführungsform werden beispielsweise alle Daten der verteilten Anlagen 3.1 , 3.2, ... 3n vollständig auf den Client 1 oder auf den Web-Server 2.1 , 2.2,... 2.n nur einer einzigen verteilten Anlage 3.1 , 3.2, ... 3n geladen und auf dem Web- Server 2.1, 2.2,... 2.n der einzigen verteilten Anlage 3.1 , 3.2, ... 3n die gesamte Struktur vorab aufgebaut, obwohl nur ein kleiner Teil der Gesamtstruktur auf dem Client 1 angezeigt werden soll.
Das Ausführungsbeispiel der Fig. 4 zeigt nur eine vereinfachte Ausführung der Integration von Datenstrukturen in den verteilten Anlagen 3.1 , 3.2,... 3n. In vorteilhaften Weiterbildungen der Erfindung sind auch komplexere, mehrstufige Verknüpfungen zwischen den zahlreichen Strukturen vieler verschiedener Anlagen angebbar.
Die client-seitigen Komponenten 10, 11, 12 des Web-Clients 1 werden über die Standard-Web-Mechanismen automatisch geladen, automatisch installiert und ausgeführt. Dazu wird eine Verbindung zur Home-Anlage 3.1 aufgebaut, über welche die im Client benötigten Komponenten 10, 11, 12 automatisch vom Web-Server 2.1 der Home-Anlage 3.1 in den Client 1 geladen werden und somit auf dem Client 1 ausführbar sind.
Der Web-Server 2.1 der Home-Anlage 3.1 hält demzufolge die client-seitige Integrationsschicht 11 zum Herunterladen in den Web-Client 1 bereit. Für die föderierten Anlagen 3.2,... 3.n hingegen ist es ausreichend, wenn sie Proxy- Komponenten für die Kommunikation mit dem Web-Client 1 bereitstellen. Wird die Kommunikation der föderierten Anlagen 3.2,... 3.n auf dieselbe Weise wie mit der Home-Anlage 3.1 ausgeführt, werden in einer besonderen Ausführungsform beispielsweise auch die bereits in den Web-Client 1 zuvor heruntergeladene Proxies 12, 13, 14, im folgenden auch als Proxy- Programmkomponenten bezeichnet, verwendet.
Sind im Web-Client 1 die jeweils benötigten Proxy- Programmkomponenten 12, 13, 14 noch nicht abgelegt, werden sie nach Bedarf, das heißt, wenn ein Anwendungsprogramm, einen Proxy 12, 13, 14 benötigt, um sich Daten von einem Server zu laden, heruntergeladen.
Die Kommunikation der Proxies 12, 13, 14 mit der jeweiligen Anlage 3.1 , 3.2,... 3.n wird vorzugsweise so ausgeführt, dass die Proxies 12, 13, 14 eine einheitliche Schnittstelle zur Integrationsschicht 11 anbieten. Somit ist die Integrationsschicht 11 in einer heterogenen Systemlandschaft einsetzbar, bei der die Anlagen 3.1, 3.2,... 3.n beispielsweise mit teilweise verschiedenen Softwareversionen und Kommunikationsprotokollen arbeiten.
Fig. 5 zeigt einen Verfahrensablauf zur web-basierten Überwachung und Steuerung mehrerer räumlich verteilter technischer Anlagen 3.1 , 3.2... 3.n mit wenigstens einem Web-Client 1 , welcher Applikationen 10, eine Integrationsschicht 11 und Proxies 12, 13, 14 einer Home-Anlage 3.1 , und wenigstens einer förderierten Anlage 3.2,... 3.n aufweist und mit Web-Servern 2.1 , 2.2... 2.n der verteilten Anlagen 3.1 , 3.2... 3.n anhand der Verfahrensschritte 501 - 512, wobei ein beispielhafter Datenaustausch zwischen dem Client 1 und den verteilten Anlagen 3.1 , 3.2... 3.n sowie die Auflösung von Referenzen 6 zwischen mehreren föderierten Anlagen 3.2... 3.n aufgezeigt wird.
Der Datenaustausch zwischen den Applikationen 10, der Integrationsschicht 11 und den Proxies 12, 13, 14 der verteilten Anlagen 3.1, 3.2,... 3.n wird mittels lokalen Funktionsaufrufen und der Datenaustausch zwischen den Proxies 12, 13, 14 und den Web-Servern 2.1 , 2.2... 2.n der verteilten Anlagen 3.1 , 3.2, ...3.n wird mittels Web- Service Aufrufen ausgeführt.
Auf dem Client 1 werden dazu wenigstens eine Applikation oder Anwendung 10, beispielsweise mit einer Benutzeroberfläche zur Visualisierung des Gesamtsystems aus den verteilten Anlagen 3.1 , 3.2... 3.n, geladen.
Die Applikation 10 fordert in einem ersten Schritt 501 von der Integrationsschicht 11 mittels eines lokalen Funktionsaufrufes eine integrierte Sicht S auf die Daten der Home- Anlage 3.1 und der förderierten Anlagen 3.2,...3.n an.
In den folgenden Schritten ist beschrieben, wie die Integrationsschicht 11 daraufhin Anfragen an die Web-Server 2.1 , 2.2,... 2.n der verteilten Anlagen 3.1 , 3.2... 3.n stellt, um so schrittweise, vorzugsweise rekursiv, die Datenobjekte für die Sicht S zusammenzustellen. Die Integrationsschicht kommuniziert dabei nicht direkt mit den Web-Servern 2.1 , 2.2,... 2.n, sondern mittels der client-seitigen Stellvertreter 12, 13, 14.
In einem zweiten Schritt 502 wird von der Integrationsschicht 11 des Clients 1 eine Anfrage an einen ersten Proxy 12 der Home-Anlage 3.1 übermittelt.
In einem dritten Schritt 503 fragt der erste Proxy 12 der Home-Anlage 3.1 die gewünschte Datenstruktur mit einem Web-Service Aufruf vom zugehörigen Web-Server 2 der Home-Anlage 3.1 ab und in einem vierten Schritt 504 werden die Daten der Datenstruktur vom Web-Server 2.1 der Home-Anlage 3.1 über den ersten Proxy 12 der Home-Anlage 3.1 an die client-seitige Integrationsschicht 11 zurückübertragen.
Mittels der Integrationsschicht 11 wird ermittelt, ob die Daten der gewünschten Datenstruktur Referenzen 6 auf andere Anlagen 3.2,... 3.n aufweisen. Verweist eine Referenz 6 beispielsweise auf Datenstrukturen innerhalb einer föderierten Anlage 3.2, so werden in einem fünften Schritt 505 und einem sechsten Schritt 506 über entsprechende Anfragen die Daten vom zuständigen Server 2.2 der föderierten Anlage 3.2 mittels dem zugeordneten zweiten Stellvertreter 13 geladen sowie in einem siebenten Schritt 507 an die Integrationsschicht 11 des Clients 1 übermittelt.
In der Integrationsschicht 11 werden die Daten zu einer einheitlichen Datenstruktur zusammengesetzt. Dieser Vorgang ist beliebig oft wiederholbar und optional schrittweise ausführbar, was in der Fig. 5 in den weiteren Schritten 508 bis 511 beispielhaft so dargestellt ist, dass bei einem Verweis einer weiteren Referenz 6 auf die Datenstrukturen innerhalb einer weiteren föderierten Anlage 3.n in einem achten Schritt 508 eine entsprechende Anfrage von der Integrationschicht 11 über ein drittes Proxy 14 der weiteren förderierten Anlage 2.n und in einem neunten Schritt 509 an den Web- Server 2.n der weiteren förderierten Anlage 2.n übermittelt wird. Der Web-Server 2.n der weiteren förderierten Anlage 2.n überträgt wiederum mittels dem zugeordnetem
dritten Stellvertreter 14 in einem zehnten Schritt 510 die Daten vom Web-Server 2.n der weiteren föderierten Anlage 3.n an die Integrationsschicht 11 des Clients 1.
Durch die Übertragung der Datenobjekte von den Servern 2.1 , 2.2,... 2.n der verteilten Anlagen 3.1 , 3.2... 3.n werden auch weitere Referenzen 6 geladen, die erneut aufgelöst werden müssen, so dass zum vollständigen Auffüllen einer gewünschten Sicht S mit Daten ein Server eventuell mehrfach oder zirkulär kontaktiert wird. Sind zirkuläre Referenzen vorhanden, ist es erforderlich Endlosschleifen innerhalb des Verfahrensablaufes zu vermeiden. Dazu wird ein geeignetes Abbruchkriterium eingeführt, welches beispielsweise nur eine maximale Rekursionstiefe von Referenzen 6 erlaubt.
Sind alle auszutauschenden Daten der verteilten Anlagen 3.1 , 3.2... 3.n im Web-Client 1 abgelegt oder wurde ein Abbruchkriterium erreicht, werden in einem letzten Schritt 512 von der Integrationsschicht 11 die so generierte Datensicht S an die aufrufende Client- Applikation 10 übermittelt.
Weitere Anfragen von der Client-Applikation 10, insbesondere um weitere Datenstrukturen anzufordern oder um Datenobjekte innerhalb der geladenen Datenstrukturen zu modifizieren, werden ebenfalls an die Integrationsschicht 11 des Clients 1 übermittelt und nach dem oben beschriebenen Verfahren so an die zuständigen Proxies 12, 13, 14 zur Kommunikation mit der jeweiligen verteilten Anlage 3.1 , 3.2... 3.n weitergeleitet.