DE102004004345A1 - System und Verfahren zur Kommunikation zwischen entfernten Objekten und lokalen Stellvertretern - Google Patents
System und Verfahren zur Kommunikation zwischen entfernten Objekten und lokalen Stellvertretern Download PDFInfo
- Publication number
- DE102004004345A1 DE102004004345A1 DE102004004345A DE102004004345A DE102004004345A1 DE 102004004345 A1 DE102004004345 A1 DE 102004004345A1 DE 102004004345 A DE102004004345 A DE 102004004345A DE 102004004345 A DE102004004345 A DE 102004004345A DE 102004004345 A1 DE102004004345 A1 DE 102004004345A1
- Authority
- DE
- Germany
- Prior art keywords
- client
- service
- proxies
- optimization layer
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000006854 communication Effects 0.000 title claims abstract description 41
- 238000004891 communication Methods 0.000 title claims abstract description 40
- 238000005457 optimization Methods 0.000 claims abstract description 35
- 230000004044 response Effects 0.000 claims abstract description 8
- 230000005540 biological transmission Effects 0.000 claims description 10
- 230000003111 delayed effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/289—Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/567—Integrating service provisioning from a plurality of service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Die Erfindung bezieht sich auf ein System - und ein entsprechendes Verfahren - zur Kommunikation zwischen entfernten, bei Dienstanbietern (10) vorhandenen Objekten, deren Methoden als Webservices (5) zugreifbar sind, und Client-seitigen lokalen Stellvertretern (Proxies 3) in einem Rechnernetz (9), insbesondere Internet oder LAN. Auf der Seite der Dienstanbieter (10) ist zusätzlich zu vorhandenen Diensten (Webservices 5) ein Generalservice (8) installiert, der dafür eingerichtet ist, eine oder mehrere Serviceaufrufe eines Clients (1) an die vorhandenen Dienste (5) zu vermitteln und eine oder mehrere Antwortnachrichten an den Client (1) zu übermitteln. Client-seitig ist jeweils zusätzlich zu den sonstigen lokalen Stellvertretern (Proxies 3) eine Optimierungsschicht (6) implementiert, die dafür eingerichtet ist, Client-seitige Optimierungen vorzunehmen und Aufrufbündel zusammenzustellen. Außerdem ist ein Generalproxy (7) installiert, der dafür eingerichtet ist, gebündelte Dienstaufrufe auszuführen und Antwortnachrichten an die Optimierungsschicht (6) zurückzugeben.
Description
- Die Erfindung bezieht sich auf ein System und ein Verfahren zur Kommunikation zwischen entfernten Objekten, deren Methoden als XML-Web-Services – hier auch kurz als Webservices bezeichnet – zugreifbar sind, und ihren lokalen Stellvertreterobjekten, deren Methoden einen transparenten Zugriff auf die entfernten Methoden implementieren. Neben der Bezeichnung Stellvertreter wird hier auch die Bezeichnung Proxy verwendet. Solche Kommunikationsverfahren sind beispielsweise in http://www.w3c.org/2002/ws/, (Stand: 27.01.2004), beschrieben.
- XML-Web-Services stellen eine standardisierte und weit verbreitete Grundlage zur Kommunikation in lose gekoppelten, verteilten Systemen, z. B. im Internet, insbesondere zum Aufruf entfernter Prozeduren und Methoden dar. In objektorientierten Systemen können XML-Web-Services zum Zugriff auf entfernte Objekte eingesetzt werden.
- In
3 ist die Systemarchitektur eines Kommunikationssystems nach dem Stand der Technik dargestellt. Dabei ist ein Klient oder Client1 dargestellt, der mit einem Dienstanbieter10 über das Internet oder ein LAN9 kommuniziert. Der Client1 ist als Datenverarbeitungseinrichtung mit zugehöriger Software aufzufassen, mit wenigstens einer Client-Anwendung2 , die mit Proxies3 , z. B. Proxy A und Proxy B kommuniziert, wobei diese wiederum mit einer Kommunikationsschicht4 kommunizieren. Die Kommunikationsschicht4 des Client1 ist dafür eingerichtet, mit einer entsprechenden Kommunikationsschicht4 eines Dienstanbieters10 über das Internet9 zu kommunizieren. Die Einrichtungen des Dienstanbieters10 enthalten außerdem Software-Mittel zur Realisierung von Services5 , z. B. Service A und Service B. - Der bekannte Ablauf eines entfernten Dienstaufrufs in einer solchen Umgebung gemäß
3 ist nachstehend beschrieben: - i. Der Client
1 ruft eine lokale, von einem Stellvertreter3 zur Verfügung gestellte Prozedur auf. - ii. Der Stellvertreter
3 verwendet die in der Kommunikationsschicht4 implementierte Funktionalität zum Übermitteln der Prozeduraufrufinformationen über das LAN oder das Internet9 zum Dienstanbieter10 . - iii. In der Kommunikationsschicht
4 des Dienstanbieters10 wird die Prozeduraufrufinformation extrahiert, die den Dienst implementierende Prozedur5 lokal aufgerufen, der Rückgabewert des Aufrufs formatiert und an die Kommunikationsschicht4 des Klienten1 übermittelt. - iv. Die Kommunikationsschicht
4 des Klienten1 extrahiert die Prozedurrückgabeinformationen, und der entsprechende lokale Stellvertreter3 liefert den Rückgabewert als Ergebnis des initialen lokalen Prozeduraufrufs an die Client-Anwendung2 . - Durch die Verwendung von SOAP (Simple Object Access Protocol), wie in http://www.w3.org/TR/soap12-part1/ beschrieben, verbunden mit http (Hypertext Transfer Protocol), wie in ftp://ftp.isi.edu/in-notes/rfc2616.txt beschrieben, als Verfahren zum Austausch strukturierter und typisierter Daten, können Dienste unterschiedlichsten Anwendungen innerhalb des sogenannten WWW über Plattformgrenzen hinweg zugänglich gemacht werden. Grundsätzlich ist das bekannte, wie auch das unten beschriebene Verfahren jedoch unabhängig vom verwendeten Protokoll.
- Ein wesentlicher Nachteil einer solchen generischen Realisierung entfernter Methodenaufrufe ist, dass diese Aufrufe um ein Vielfaches zeit- und rechenintensiver sind als lokale Funktionsaufrufe oder Funktionsaufrufe in enger gekoppelten Systemen.
- Der Erfindung liegt daher die Aufgabe zugrunde, ein System und ein Verfahren zur Kommunikation zwischen entfernten Objekten anzugeben, mit denen eine Verringerung des Kommunikationsaufwands erreichbar ist.
- Diese Aufgabe wird durch ein Kommunikationssystem gelöst, das die im Anspruch 1 angegebenen Merkmale aufweist. Ein zugehöriges Kommunikationsverfahren und vorteilhafte Ausgestaltungen sind in weiteren Ansprüchen angegeben.
- Mit der Erfindung wird demnach vorgeschlagen, den erforderlichen Kommunikationsaufwand dadurch zu verringern, dass Client-seitig eine Optimierungsschicht sowie ein Generalproxy angeordnet werden, und beim Dienstanbieter einen Generalservice einzufügen. Mit diesen Maßnahmen lassen sich Optimierungen, z. B. durch Bündelung von Aufrufen erreichen.
- Das System bzw. Verfahren erlaubt die Nutzung von Zwischenspeichern (Caches), alternativen Datenformaten und Übertragungsprotokollen, sowie anwendungsspezifischen Optimierungen.
- In Umgebungen, die z. B. über die Grenzen eines lokalen Netzwerkes hinweg einzelne Komponenten nur lose koppeln, gilt insbesondere, dass ein Bündeln von Dienstaufrufen wünschenswert sein kann, wenn die fixen Kosten für eine sogenannte Rundreise vom Klienten zum Dienstanbieter und zurück im Verhältnis zu den Kosten der Übertragung und Bearbeitung der eigentlichen Dienstanfrage und Antwort sehr hoch sind. Diese Kosten werden verursacht durch (oft mehrfach) notwendige Verbindungsaufbauten, die Erstellung und Übertragung protokollspezifischer Nachrichtenköpfe und die Initialisierung von Nachrichten verarbeitenden (z. B. von SOAP/XML-Parser-, Authentifizierungs- und Autorisierungs-) oder übertragenden (z. B. HTTP-Verbindungs- oder Datenkomprimierungs-) Komponenten. Mit der Erfindung wird hinsichtlich dieses Sachverhalts eine Verbesserung erreicht, da ermöglicht wird, unabhängig von der Erstellung der Dienste (Webservices) und Stellvertreter (Proxies), Optimierungen in den Kommunikationsablauf einzufügen. Dabei werden keine zusätzlichen Anforderungen an die Ablaufumgebung sowohl der Dienst- als auch der Klient- und Stellvertreterkomponenten gestellt, und die generischen Dienst- und Stellvertreterkomponenten, insbesondere deren Schnittstellen, werden nicht verändert, wodurch vorteilhaft Wiederverwendbarkeit und leichte Konfigurierbarkeit erreicht werden.
- Das erfindungsgemäße Verfahren ermöglicht es:
- 1. entfernte Methodenaufrufe zu unterbinden, z. B. indem lokale Caches zum Beantworten von Informationsanfragen genutzt werden,
- 2. entfernte Methodenaufrufe zu verzögern, z. B. können die in objektorientierten Umgebungen notwendigen Methodenaufrufe zur Kontrolle der Lebenszeit entfernter Objekte, sei es durch deren explizite Zerstörung (sogenannte Destruktoraufrufe), oder durch das periodische Ermitteln von nicht mehr verwendeten Objekten (die sogenannte Garbage Collection), durchaus zeitlich verzögert vom Klienten zur Ablaufumgebung der entfernten Objekte übermittelt werden,
- 3. entfernte Methodenaufrufe zu bündeln, z. B. um die Zahl ressourcenintensiver Verbindungsaufbauvorgänge zu verkleinern und die in 1. und 2. hintangestellten Anfragen bei sich bietender Gelegenheit nachträglich zu tätigen,
- 4. die die Rückgabewerte entfernter Methodenaufrufe enthaltenden Nachrichten mit weiteren, für die lokale Anwendung relevanten Informationen anzureichern, z. B. um das Löschen von ungültig gewordenen Einträgen in lokalen Caches zu veranlassen,
- 5. über verwendete Übertragungsprotokolle oder Datenformate je nach Laufzeitumgebung zu entscheiden, z.B. um die ressourcenintensive SOAP/HTTP-Übertragung durch eine effizientere zu ersetzen, sofern die Art der Verbindung (Internet/LAN, eventuell vorhandene HTTP-Proxies und Firewalls) dies erlauben, und
- 6. zur Verwaltung, insbesondere Aktualisierung und Invalidierung der Daten in einem Zwischenspeicher, unabhängig von Aufrufen aus Client-Anwendungen eine Kommunikation zu initiieren, oder huckepack Informationen zusammen mit der Übertragung von Aufrufbündeln und der Rückübertragung von Antworten beim Dienstanbieter anzufordern.
- Das Verfahren ist in allen Umgebungen einsetzbar, in denen generische Dienstanbieter- und Stellvertreter-Komponenten zur Verfügung stehen, die die Funktionalität zur Formatierung und Übertragung eines entfernten Dienstaufrufs und der entsprechenden Antwort kapseln. Zum Beispiel bietet die Framework Class Libraryq (FCL) der Microsoft.NET Plattform, vergl. J. Richter, Applied Microsoft .NET Framework Programming, Microsoft Press 2001, Seiten 21 bis 24, solche Komponenten an.
- Eine weitere Beschreibung der Erfindung und deren Vorteile erfolgt nachstehend anhand eines in Zeichnungsfiguren dargestellten Ausführungsbeispiels.
- Es zeigt:
-
1 die Systemarchitektur eines erfindungsgemäßen Kommunikationssystems, -
2 einen erfindungsgemäßen Kommunikationsablauf, -
3 die Systemarchitektur eines Kommunikationssystems nach dem Stand der Technik. -
1 zeigt die Systemarchitektur eines erfindungsgemäßen Kommunikationssystems. Zum Zweck der Kontrolle und Optimierung der Kommunikation ist dabei auf der Seite eines Dienstanbieters10 zusätzlich zu den in einer Ausführungsumgebung gemäß dem Stand der Technik, wie bereits oben anhand der3 beschrieben, vorhandenen Diensten, den Services5 , ein weiterer Webservice allgemeinerer Funktionalität installiert, der mit Generalservice8 bezeichnet ist. Dieser ist in der Lage, eine oder mehrere Dienstanfragen an die ursprünglichen Dienstanbieter, die Services5 , zu vermitteln, und eine oder mehrere Antwortnachrichten an den oder die entfernten Klienten, die Clients1 , zu übermitteln. - Entsprechend ist in der entfernten Ablaufumgebung, beim Client
1 , ein generischer Stellvertreter für diesen zusätzlichen Webservice installiert, der als Generalproxy7 bezeichnet ist. Außerdem enthält der Client1 als zusätzliche Komponente eine Optimierungsschicht6 . Diese bietet für die Kommunikation mit den Proxies3 erforderliche Kommunikations- und Datenformatierungs-Funktionen und ersetzt insoweit Funktionen der Kommunikationsschicht4 , erweitert aber auch die Optimierungsmöglichkeiten. Die Optimierungsschicht6 kann ihrerseits mittels des Generalproxies7 die Funktionalität der Kommunikationsschicht4 , oder eine andere Implementierung der benötigten Funktionalität, verwenden. - Weitere Informationen zur Funktion der bereits genannten Komponenten erschließen sich aus der nachstehenden Beschreibung eines Kommunikationsablaufes anhand der
2 . In2 symbolisieren senkrechte Balken die jeweils benutzten Systemkomponenten, deren Nummerierung mit der jeweiligen Komponentenbezeichnung in3 übereinstimmt. Mit S1 bis S14 sind Ablaufschritte bezeichnet, die nachstehend erläutert werden. -
2 zeigt einen typischen Ablauf eines Dienstaufrufes in einer erfindungsgemäß erweiterten Umgebung:
Schritt S1: Der Client1 , bzw. die Client-Anwendung2 ruft eine lokale, von einem Proxy3 zur Verfügung gestellte Prozedur auf.
Schritt S2: Der Proxy3 verwendet die in der Optimierungsschicht6 implementierte Funktionalität zum Übermitteln von Prozeduraufrufen. Die Optimierungsschicht6 bietet dem Proxy oder Stellvertreter3 dazu eine zur ursprünglichen Kommunikationsschicht identische Schnittstelle.
Schritt S3: In der Optimierungsschicht6 wird der Dienstaufruf, sofern er nicht verzögert oder durch ein, in einem Zwischenspeicher der Optimierungsschicht6 vorhandenes Ergebnis beantwortet werden kann, durch schon vorhandene, vorher verzögerte, oder aber sinnvollerweise im Voraus zu tätigende Dienstaufrufe, erweitert (Bündelung von Aufrufen).
Schritt S4: Dieses Bündel von Aufrufen wird durch einen lokalen Aufruf des Generalproxy7 an die generische Kommunikationsschicht4 des Client1 übergeben, und zur Kommunikationsschicht4 des Dienstanbieters10 übertragen.
Schritt S5: Durch einen lokalen Aufruf der Generalserviceprozedur wird das Bündel an den Generalservice8 übergeben.
Schritt S6: Die Generalserviceprozedur bearbeitet die Dienstaufrufe und liefert deren Ergebnisse. Der Generalservice8 findet dazu im Schritt6 die benötigten Services5 auf.
Schritt S7: Methodenaufruf durch den Generalservice B.
Schritt S8: Resultate-Rückgabe der Services5 an den Generalservice B.
Schritt S9: Zusammenstellung der Resultate durch den Generalservice8 zu Bündeln.
Schritt S10: Rückgabe des Resultate-Bündels an die Kommunikationsschicht4 . Das Bündel kann erweitert sein um zusätzlich vom Dienstanbieter zur Optimierungsschicht6 des Klienten zu übermittelnde Informationen.
Schritt S11: Übertragung zur entfernten Kommunikationsschicht4 und von dort Rückgabe zum Generalproxy7 , der das Ergebnis als lokale Prozedurrückgabe an die Optimierungsschicht6 liefert.
Schritt S12: Auswertung der Resultate in der Optimierungsschicht6 .
Schritt S13: In der Optimierungsschicht6 werden die zusätzlich zur Antwort auf die initiale Dienstanfrage gelieferten Informationen ausgewertet und verwendet.
Schritt S14: Die Antwort auf die initiale Anfrage wird über den generischen Stellvertreter3 an die Clientanwendung2 übermittelt, womit der beispielhafte Ablauf beendet ist. - In einer konkreten Implementierung des Systems, zum Beispiel als Komponente innerhalb des NET Frameworks, kann die Erweiterung eines bestehenden Systems von generischen Stellvertretern und Dienstanbietern durch einen Austausch der klientenseitigen Kommunikationsschicht durch die erfindungsgemäße Optimierungsschicht
6 mit Kommunikationsschicht4 und die Installation des zusätzlichen Generalproxy parallel zu den vorhandenen Proxies realisiert werden. Anwendungsunabhängige Optimierungen, wie die Verwendung von Caches und die Verzögerung von Dienstaufrufen können so ohne Implementationsaufwand konfigurierbar zur Verfügung gestellt werden. Anwendungsabhängige Optimierungen können als Module an einer definierten Schnittstelle der Optimierungsschicht6 eingefügt werden. - Entsprechend wird auf der Dienstanbieterseite der Generalservice
8 parallel zu den vorhandenen Services realisiert. Der Generalservice8 beinhaltet einen Zwischenspeicher von dienstanbietenden Serviceinstanzen, deren Dienstmethoden durch sogenannte Reflektion, d.h. anhand von Informationen über das Ziel, den Namen und die Signatur der Methode ausgeführt werden. Zur Serialisierung und Deserialisierung der Parameter- und Rückgabeobjekte der Methodenaufrufe können XML-Dokument-Instanzen gemäss der SOAP-Spezifikation oder eine bandbreiteneffizientere Binärkodierung verwendet werden. Die Zuordnung von klientenseitigen zu dienstanbieterseitigen Typen erfolgt im Falle der SOAP-(De)Serialisierung anhand von in den gegebenen Proxy-Service-Paaren deklarierten Typattributen, im Falle der Binärkodierung wird eine Bindung zwischen Serialisierung und zu instanzüerendem Typ gemäss den Anforderungen der vorgefundenen Deserialisierungskomponente implementiert. - Die Optimierung und Kontrolle der Kommunikation ist transparent sowohl für die Nutzer der angebotenen Dienste als auch für deren Anbieter.
Claims (7)
- System zur Kommunikation zwischen entfernten, bei Dienstanbietern (
10 ) vorhandenen Objekten, deren Methoden als Webservices (5 ) zugreifbar sind, und Client-seitigen lokalen Stellvertretern (Proxies3 ) in einem Rechnernetz (9 ), insbesondere Internet oder LAN, wobei a) auf der Seite der Dienstanbieter (10 ) zusätzlich zu vorhandenen Diensten (Webservices5 ) ein Generalservice (8 ) installiert ist, der dafür eingerichtet ist, eine oder mehrere Serviceaufrufe eines Clients (1 ) an die vorhandenen Dienste (5 ) zu vermitteln, und eine oder mehrere Antwortnachrichten an den Client (1 ) zu übermitteln, b) Client-seitig zusätzlich zu den sonstigen lokalen Stellvertretern (Proxies3 ) eine Optimierungsschicht (6 ) implementiert ist, die dafür eingerichtet ist, Client-seitige Optimierungen vorzunehmen und Aufrufbündel zusammenzustellen, und außerdem ein Generalproxy (7 ) installiert ist, der dafür eingerichtet ist, gebündelte Dienstaufrufe auszuführen und Antwortnachrichten an die Optimierungsschicht (6 ) zurückzugeben. - System nach Anspruch 1, dadurch gekennzeichnet, dass die Optimierungsschicht (
6 ) mindestens einen Zwischenspeicher enthält, mit dessen Hilfe Dienstaufrufe vermeidbar oder verzögerbar sind. - System nach Anspruch 2, dadurch gekennzeichnet, dass der Client (
1 ) mittels der Optimierungsschicht (6 ) und dem Generalproxy (7 ) dafür eingerichtet ist, auch ohne Aufruf durch eine Client-Anwendung (2 ) selbsttätig eine Kommunikation mit einem Dienstanbieter (10 ) zu initiieren, um gespeicherte Information zu aktualisieren. - System nach Anspruch 2, dadurch gekennzeichnet, dass der Client (
1 ) mittels der Optimierungsschicht (6 ) und dem Generalproxy (7 ) dafür eingerichtet ist, zur Verwaltung, insbesondere Aktualisierung und Invalidierung der Daten im Zwischenspeicher, huckepack Informationen zusammen mit der Übertragung von Aufrufbündeln und der Rückübertragung von Antworten beim Dienstanbieter (10 ) anzufordern. - Verfahren zur Kommunikation zwischen entfernten, bei Dienstanbietern (
10 ) vorhandenen Objekten, deren Methoden als Webservices (5 ) zugreifbar sind, und Client-seitigen lokalen Stellvertretern (Proxies3 ) in einem Rechnernetz (9 ), insbesondere Internet oder LAN, wobei –auf der Seite von Dienstanbietern (10 ) zusätzlich zu vorhandenen Diensten (Webservices5 ) ein Generalservice (8 ) installiert ist, und – Client-seitig jeweils zusätzlich zu den sonstigen lokalen Stellvertretern (Proxies3 ) eine Optimierungsschicht (6 ) implementiert ist, die einen Zwischenspeicher enthält, und außerdem ein Generalproxy (7 ) installiert ist, und wobei a) mehrere Aufrufe von Methoden durch Client-Anwendungen (2 ) beim jeweiligen Stellvertreter (Proxy3 ) durch diesen der Optimierungsschicht (6 ) zugeleitet werden, dort zu einem Aufrufbündel zusammengestellt und einer Kommunikationsschicht (4 ) zugeleitet werden, b) eine Übertragung des Aufrufbündels zum Dienstanbieter (10 ) durchgeführt wird, dort durch den Generalservice (8 ) die im Aufrufbündel enthaltenen einzelnen Aufrufe den jeweils entsprechenden Diensten (5 ) zugeleitet werden, deren Antworten zusammengestellt und gebündelt zum Client (1 ) zurückübertragen werden, und c) die Antworten in der Optimierungsschicht (6 ) ausgewertet und über den jeweiligen Stellvertreter (3 ) der Client-Anwendung (2 ) zugeführt werden. - Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die Optimierungsschicht (
6 ) zur Verwaltung, insbesondere Aktualisierung und Invalidierung der Daten im Zwischenspeicher, huckepack Informationen zusammen mit der Übertragung von Aufrufbündeln und der Rückübertragung von Antworten beim Dienstanbieter (10 ) anfordert. - Verfahren nach Anspruch 5 oder 6, dadurch gekennzeichnet, dass die Optimierungsschicht (
6 ) zur Verwaltung, insbesondere Aktualisierung und Invalidierung der Daten im Zwischenspeicher, auch ohne Aufruf durch eine Client-Anwendung (2 ) selbsttätig eine Kommunikation mit einem Dienstanbieter (10 ) initiiert.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102004004345A DE102004004345A1 (de) | 2004-01-29 | 2004-01-29 | System und Verfahren zur Kommunikation zwischen entfernten Objekten und lokalen Stellvertretern |
PCT/EP2005/000862 WO2005074234A1 (de) | 2004-01-29 | 2005-01-28 | System und verfahren zur kommunikation zwischen entfernten objekten und lokalen stellvertretern |
US10/587,471 US20070266159A1 (en) | 2004-01-29 | 2005-01-28 | System and Method for Communication Between Remote Objects and Local Proxies |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102004004345A DE102004004345A1 (de) | 2004-01-29 | 2004-01-29 | System und Verfahren zur Kommunikation zwischen entfernten Objekten und lokalen Stellvertretern |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102004004345A1 true DE102004004345A1 (de) | 2005-08-18 |
Family
ID=34801160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102004004345A Withdrawn DE102004004345A1 (de) | 2004-01-29 | 2004-01-29 | System und Verfahren zur Kommunikation zwischen entfernten Objekten und lokalen Stellvertretern |
Country Status (3)
Country | Link |
---|---|
US (1) | US20070266159A1 (de) |
DE (1) | DE102004004345A1 (de) |
WO (1) | WO2005074234A1 (de) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7739387B2 (en) * | 2007-03-08 | 2010-06-15 | Sap Ag | System and method for message packaging |
US7945949B2 (en) | 2007-03-19 | 2011-05-17 | Microsoft Corporation | Providing remote services to legacy applications |
US20090094263A1 (en) * | 2007-10-04 | 2009-04-09 | Microsoft Corporation | Enhanced utilization of network bandwidth for transmission of structured data |
EP2073490A1 (de) * | 2007-12-20 | 2009-06-24 | Alcatel Lucent | Vorrichtungen und Verfahren zum Aufrufen einer Sequenz von Webleistungen durch eine Nachricht, die auf einer einfachen Anfrage beruht |
US7839799B2 (en) * | 2008-09-12 | 2010-11-23 | International Business Machines Corporation | Middleware components for bundling service invocations |
US9165145B2 (en) * | 2013-03-11 | 2015-10-20 | Sap Se | Efficiently segregating data from externally accessible systems |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093500A1 (en) * | 2001-10-09 | 2003-05-15 | Edwin Khodabakchian | System and method for managing service interactions |
US20030135628A1 (en) * | 2002-01-15 | 2003-07-17 | International Business Machines Corporation | Provisioning aggregated services in a distributed computing environment |
US20030188039A1 (en) * | 2002-03-26 | 2003-10-02 | Liu James C. | Method and apparatus for web service aggregation |
US20030236857A1 (en) * | 2002-03-07 | 2003-12-25 | International Business Machines Corporation | Network service system and program using data processing |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5526491A (en) * | 1992-09-22 | 1996-06-11 | International Business Machines Corporation | System and method for calling selected service procedure remotely by utilizing conditional construct switch statement to determine the selected service procedure in common stub procedure |
US5778228A (en) * | 1994-08-16 | 1998-07-07 | International Business Machines Corporation | Method and system for transferring remote procedure calls and responses over a network |
US5613155A (en) * | 1995-06-07 | 1997-03-18 | International Business Machines Corporation | Bundling client write requests in a server |
US6321274B1 (en) * | 1996-06-28 | 2001-11-20 | Microsoft Corporation | Multiple procedure calls in a single request |
US6578113B2 (en) * | 1997-06-02 | 2003-06-10 | At&T Corp. | Method for cache validation for proxy caches |
US6324567B2 (en) * | 1997-06-11 | 2001-11-27 | Oracle Corporation | Method and apparatus for providing multiple commands to a server |
US6098149A (en) * | 1997-06-13 | 2000-08-01 | Emc Corporation | Method and apparatus for extending commands in a cached disk array |
US6785675B1 (en) * | 2000-11-13 | 2004-08-31 | Convey Development, Inc. | Aggregation of resource requests from multiple individual requestors |
BR0210141A (pt) * | 2001-06-04 | 2004-06-08 | Nct Group Inc | Sistema e método para a redução do tempo para envio de informação de uma rede de comunicações para um usuário |
WO2003005668A1 (en) * | 2001-07-03 | 2003-01-16 | Nokia Corporation | Method for managing sessions between network parties, methods, network element and terminal for managing calls |
US7130890B1 (en) * | 2002-09-04 | 2006-10-31 | Hewlett-Packard Development Company, L.P. | Method and system for adaptively prefetching objects from a network |
US7260599B2 (en) * | 2003-03-07 | 2007-08-21 | Hyperspace Communications, Inc. | Supporting the exchange of data by distributed applications |
-
2004
- 2004-01-29 DE DE102004004345A patent/DE102004004345A1/de not_active Withdrawn
-
2005
- 2005-01-28 US US10/587,471 patent/US20070266159A1/en not_active Abandoned
- 2005-01-28 WO PCT/EP2005/000862 patent/WO2005074234A1/de active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093500A1 (en) * | 2001-10-09 | 2003-05-15 | Edwin Khodabakchian | System and method for managing service interactions |
US20030135628A1 (en) * | 2002-01-15 | 2003-07-17 | International Business Machines Corporation | Provisioning aggregated services in a distributed computing environment |
US20030236857A1 (en) * | 2002-03-07 | 2003-12-25 | International Business Machines Corporation | Network service system and program using data processing |
US20030188039A1 (en) * | 2002-03-26 | 2003-10-02 | Liu James C. | Method and apparatus for web service aggregation |
Also Published As
Publication number | Publication date |
---|---|
US20070266159A1 (en) | 2007-11-15 |
WO2005074234A1 (de) | 2005-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60015423T2 (de) | Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk | |
EP1559038B1 (de) | Verfahren zum vorabübertragen strukturierter datenmengen zwischen einer clienteinrichtung und einer servereinrichtung | |
DE69803369T2 (de) | Verfahren und Vorrichtung zur Bereitstellung eines dritten Internet-Datenkanals | |
EP0825527B1 (de) | Verfahren zur Unterstützung der Adress-Interaktion zwischen einer ersten und einer zweiten Einheit | |
DE602004011455T2 (de) | Verfahren und System zur automatischen Erzeugung von Dienstschnittstellen für eine dienstorientierte Architektur | |
DE60038170T2 (de) | Verfahren und vorrichtung zur verwaltung der serversbandbreitenutzung | |
DE10297998B4 (de) | Erstellen verteilter Proxy-Konfigurationen | |
EP0825524A1 (de) | Verfahren zur Verwaltung der Benennung von Objekten | |
DE10204609A1 (de) | Computersystem eines Typs einer verteilten Umgebung, das aufeinanderfolgende Nachrichtenkommunikationen mit hoher Geschwindigkeit durch eine Dienstschicht erreichen kann | |
DE602005004334T2 (de) | Nms zur Verarbeitung von Multi-Server Ereignissen | |
DE10151119C2 (de) | Verfahren zum Erfassen von mehreren Feldgeräten in einer Gerätekonfiguration | |
EP0993712A2 (de) | Verfahren und anordnung zur codierung digitaler daten | |
DE60218185T2 (de) | Verfahren und Vorrichtung zum Wiederauffinden von Informationen in einem Netzwerk | |
DE102004004345A1 (de) | System und Verfahren zur Kommunikation zwischen entfernten Objekten und lokalen Stellvertretern | |
DE19813883B4 (de) | Verfahren, Computerprogrammprodukt und Dokumentenmanagementsystem zum Zugriff auf Internet-Informationen für geschlossene Benutzergruppen | |
DE602005004255T2 (de) | Bidirektionale SOAP-Kommunikation mittels einer einzigen HTTP-Sitzung | |
DE10244459A1 (de) | Rechner- und/oder Software-Architektur unter Verwendung von Micro-Kernel- und Multi-Tier-Konzept mit Komponententechnik | |
EP1656783B1 (de) | Verfahren zur bertragung von wap-push-nachrichten | |
DE60036503T2 (de) | Verfahren zur Kommunikation zwischen Fernobjekten | |
EP0825526B1 (de) | Verfahren zur Unterstützung der Interaktion zwischen einer ersten und einer zweiten Einheit | |
EP1435026B1 (de) | System und verfahren zur datenausgabe eines geräts, insbesondere eines automatisierungsgerät über eine standardisierte schnittstelle mit variablenersetzung über einen echoserver | |
DE60104672T2 (de) | System zur überwachung von terminals | |
DE60219244T2 (de) | Aktives Netzwerk | |
DE102012111629B4 (de) | Telekommunikationseinrichtung sowie Verfahren zum Steuern und Verwalten von Servicenummern | |
DE102007040405B3 (de) | Verfahren und Anordnung zur Erzeugung und/oder Nutzung eines generischen Webdienstes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OM8 | Search report available as to paragraph 43 lit. 1 sentence 1 patent law | ||
8110 | Request for examination paragraph 44 | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R081 | Change of applicant/patentee |
Owner name: ABB SCHWEIZ AG, CH Free format text: FORMER OWNER: ABB RESEARCH LTD., ZUERICH, CH |
|
R082 | Change of representative |
Representative=s name: MILLER, TOIVO, DIPL.-ING., DE |
|
R120 | Application withdrawn or ip right abandoned |