DE60311684T2 - Kundenzugang zum internetdienst - Google Patents

Kundenzugang zum internetdienst Download PDF

Info

Publication number
DE60311684T2
DE60311684T2 DE60311684T DE60311684T DE60311684T2 DE 60311684 T2 DE60311684 T2 DE 60311684T2 DE 60311684 T DE60311684 T DE 60311684T DE 60311684 T DE60311684 T DE 60311684T DE 60311684 T2 DE60311684 T2 DE 60311684T2
Authority
DE
Germany
Prior art keywords
request
internet service
client
condition
internet
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.)
Expired - Lifetime
Application number
DE60311684T
Other languages
English (en)
Other versions
DE60311684D1 (de
Inventor
Paul Zachary Fremantle
Elizabeth Anne Hutchison
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE60311684D1 publication Critical patent/DE60311684D1/de
Application granted granted Critical
Publication of DE60311684T2 publication Critical patent/DE60311684T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Peptides Or Proteins (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft den Zugriff von Clients auf Internetdienste und insbesondere die Verarbeitung von Anforderungen von einem Webclient für den Zugriff auf einen Internetdienst.
  • HINTERGRUND DER ERFINDUNG
  • In den letzten Jahren sind Internetdienste alltäglich geworden, zum Beispiel für ein Unternehmen, das einen Internetdienst anbietet, damit ein Webclient über das Internet Waren von dem Unternehmen kaufen kann. Ausgehend von diesen Erfolgen hat sich die Nutzung des Internet ausgeweitet, und die Anforderungen der Webclients und der Internetunternehmen sind immer komplexer geworden. Dies hat zu Middlewareangeboten geführt, die Clients den Zugriff auf Internetdienste und Unternehmen die Einrichtung von Internetdiensten auf neue und bessere Weise ermöglichen.
  • Zum Beispiel stellt ein Servicebus eine flexibel verwaltete Infrastruktur für Internetdienste bereit. Im Allgemeinen nutzen in dem Servicebus tätige Clients und Internetdienste einen intelligenten Clientzugang zum Anschließen an den Servicebus, damit der Dialog zwischen Client und Internetdienst mit Kontext- und anderen Umgebungsdaten versehen werden kann und so zum Beispiel die Sicherheit, die Transaktionen sowie die übrige Verarbeitung entsprechend den Anforderungen des Internetdienstes und seiner Clients ordnungsgemäß abgewickelt werden können. Ferner ermöglicht der Bus die kontrollierte Auswahl und die Ermittlung von Diensten, damit ein auf der Suche nach einem Internetdienst befindlicher Client einen aufgefundenen Internetdienst entsprechend der vom Client geforderten Funktionalität nutzen kann. Zum Beispiel kann ein Client ein Internetdienst anfordern, der IBM Computerausrüstungen verkauft, nach Großbritannien liefert und die Zahlung über American Express akzeptiert. Ein solcher intelligenter Clientzugang und eine solche Clientbusarchitektur werden in der US-Patentanmeldung Nr. 10/322 053 mit dem Titel „Apparatus and method for selecting a web service in response to a request from a client device" von Flurry und Holdsworth beschrieben.
  • Manche Clients oder Internetdienste in der Servicebusumgebung werden der Businfrastruktur möglicherweise nicht gewahr, zum Beispiel als fest codierte .NET-, C- oder Python-/Perl-/ JavaScript-SOAP-Clients, um für den Zugriff auf einen Internetdienst eine bestimmte URL und ein bestimmtes Format zu verwenden. Ferner sind solche Clients nicht unter Verwendung einer für den Zugriff auf die Servicebusinfrastruktur vorgesehenen anwendungsprogrammierten Schnittstelle (API) geschrieben, zum Beispiel für das Web Services Invocation Framework (WSIF) oder das Programmiermodell Java JSRL 09 (erhältlich von der Website Java Community Process)(Java ist ein Warenzeichen von Sun Microsystems Inc.). Damit der Servicebus Anforderungen von solchen Clients verarbeitet, werden die Clientanforderungen üblicherweise an einen Vermittlungsknoten oder Gateway weitergeleitet. Zum Beispiel wird ein Gateway als Anbieter des Internetdienstes benannt und kann nach dem Empfangen einer Clientanforderung die Anforderung an einen geeigneten Internetdienstanbieter weiterleiten, der genauso kontrolliert ermittelt und ausgewählt wird wie bei einem Client, der des Servicebusses gewahr ist. Hierzu muss der Client jedoch aktualisiert werden können, damit er die in seiner Anforderung angegebene URL in die URL des Zwischenknotens ändern kann, wobei der Client bei bestimmten Szenarien jedoch nicht in dieser Weise aktualisiert werden kann. Darüber hinaus kann der Zwischenknoten möglicherweise nicht in der Lage sein, Aktionen auszuführen, die nur der Client ausführen kann – zum Beispiel das Hinzufügen spezieller Informationen zur Anforderung.
  • ÜBERBLICK ÜBER DIE ERFINDUNG
  • Gemäß einem ersten Aspekt stellt die vorliegende Erfindung deshalb ein Verfahren zur Clientdatenverarbeitung für einen die Clientdaten verarbeitenden Host bereit, um eine Anforderung von einem Web-Client umzuwandeln, wobei das Verfahren Folgendes umfasst: Abfangen der Anforderung; Ändern einer Ausführungsform eines ersten Internetdienstes, die in der Anforderung angegeben ist, in eine Ausführungsform eines zweiten Internetdienstes; und Weiterleiten der Anforderung an die Ausführungsform eines zweiten Internetdienstes, um dadurch die Ausführungsform eines zweiten Internetdienstes in die Lage zu versetzen, die Anforderung zu verarbeiten, wobei die Ausführungsform des zweiten Internetdienstes ausgehend von mit dem Web-Client verbundenen Strategiedaten ausgewählt wird.
  • Gemäß einem zweiten Aspekt stellt die vorliegende Erfindung eine Vorrichtung zur Clientdatenverarbeitung zum Umwandeln einer Anforderung von einem Web-Client bereit, wobei die Vorrichtung Folgendes umfasst: ein Mittel zum Abfangen der Anforderung; ein Mittel zum Ändern einer Ausführungsform eines ersten Internetdienstes, die in der Anforderung angegeben ist, in eine zweite Ausführungsform eines zweiten Internetdienstes; und ein Mittel zum Weiterleiten der Anforderung an die Ausführungsform eines zweiten Internetdienstes, um dadurch die Ausführungsform eines zweiten Internetdienstes in die Lage zu versetzen, die Anforderung zu verarbeiten, wobei die Ausführungsform eines zweiten Internetdienstes ausgehend von mit dem Web-Client verbundenen Strategiedaten ausgewählt wird.
  • Gemäß einem dritten Aspekt stellt die vorliegende Erfindung ein Computerprogrammprodukt bereit, das Anweisungen umfasst, die bei Ausführung in einem Datenverarbeitungshost den Datenverarbeitungshost veranlassen, ein Verfahren gemäß dem ersten Aspekt auszuführen.
  • Somit ermöglicht die vorliegende Erfindung, dass eine Clientanforderung für einen bestimmten Internetdienst im Clienthost abgefangen und in eine Anforderung für einen anderen Internetdienst umgewandelt wird, der auf kontrollierte Weise ausgewählt wurde. Die Strategiedaten können zum Beispiel bestimmte Anforderungen des Webclient an die Dienstqualität vorgeben, und infolgedessen wird auf einen Internetdienst zugegriffen, der den Anforderungen des Webclient an die Dienstqualität am besten entspricht.
  • Die Anforderung vom Webclient kann in einem Protokoll der Anwendungsschicht angegeben sein, zum Beispiel im SOAP/HTTP (Simple Objekt Access Protocol over Hypertext Transfer Protocol), IIOP (Internet Inter-Orb Protocol) oder SOAP/JMS (SOAP over Java Message Service). Wahlweise kann die Anforderung auch für ein anderes Protokoll der Anwendungsschicht angepasst werden, das von dem Protokoll verschieden ist, in dem die Anforderung des Webclient angegeben wurde. Zum Beispiel kann die Anforderung von einer SOAP/HTTP-Anforderung in eine IIOP-Anforderung geändert werden.
  • Für das Abfangen der Anforderung gibt es verschiedene Möglichkeiten. Wenn der Protokollstapel des die Clientdaten verarbeitenden Host eine SOCKS-Unterstützung beinhaltet, kann die SOCKS-Unterstützung in einem in Bezug auf den Client lokalen SOCKS-Proxy konfiguriert werden, sodass der SOCKS-Proxy aufgerufen und der Schritt zum Abfangen der Anforderung durch den SOCKS-Proxy ausgeführt wird, wenn der Protokollstapel die Anforderung verarbeitet. Wenn der Protokollstapel des die Clientdaten verarbeitenden Host eine HTTP-Unterstützung beinhaltet, kann er alternativ die Konfiguration in einem HTTP-Proxy unterstützen, sodass ein lokaler HTTP-Proxy aufgerufen wird, um durch diesen die Anforderung abzufangen. Alternativ wird der Protokollstapel so modifiziert, dass er die Anforderung während der Verarbeitung abfängt und eine Routine aufruft, die den Schritt zur Änderung der Anforderung auslöst.
  • Auf der Suche nach einem zweiten Internetdienst werden vorzugsweise ein oder mehrere alternative Internetdienste zur Verarbeitung der Anforderung gefunden, aus denen dann der zweite Internetdienst basierend auf den Strategiedaten, zum Beispiel aus dem Internetdienst-Strategiesystem (Web Services Policy framework, WS-Policy), ausgewählt wird.
  • Wahlweise werden der eine oder die mehreren Internetdienste durch Empfangen eines in der Internetdienst-Definitionssprache (Web Services Definition Language, WSDL) abgefassten Dokuments für den ersten Internetdienst gefunden, indem die Informationen dieses WSDL-Dokuments zur Erstellung eines WSDL-Dokuments für jeden des einen oder der mehreren alternativen Internetdienste zur Verarbeitung der Anforderung genutzt werden.
  • Wahlweise wird auf die Anforderung eine Sicherheitsstrategie angewendet. Zum Beispiel kann zumindest ein Teil der Anforderung verschlüsselt und/oder ein Clientschlüssel zur Anforderung hinzugefügt und/oder ein Transportmechanismus zum Senden der Anforderung entsprechend deren Sicherheitseigenschaften ausgewählt werden, die durch das Internetdienst-Sicherheitsprotokoll (Web Services Security Protocol, WS-Security) oder andere Informationen angezeigt werden. Als Clientschlüssel kann zum Beispiel eine Kennung dienen, zum Beispiel eine Clientkennung oder eine Benutzerkennung. Ferner kann der Clientschlüssel zum Beispiel ein Passwort beinhalten.
  • Wahlweise können zur Anforderung auch spezielle Informationen des Client hinzugefügt werden. Dies können zum Beispiel ein Clientschlüssel, eine Maschinenkennung des die Clientdaten verarbeitenden Host und/oder eine IP-Adresse des die Clientdaten verarbeitenden Host sein. Solche Informationen können vom Internetdienst zum Beispiel für Prüf- oder Sicherheitszwecke genutzt werden.
  • Die Strategiedaten können zum Beispiel eine oder mehrere der folgenden Eigenschaften angeben: eine Antwortzeitbedingung; eine Sicherheitsniveaubedingung; eine Transaktionsbedingung; eine Kostenbedingung; eine Verfügbarkeitsbedingung; eine Anwendungsschichtprotokollbedingung; eine Zusatzinformationsbedingung; und eine Internetdienstausführungsformbedingung.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Im Folgenden wird die Erfindung lediglich beispielhaft unter Bezug auf eine bevorzugte Ausführungsart beschrieben, die in den beiliegenden Zeichnungen veranschaulicht ist, wobei:
  • 1 ein Blockschaltbild einer Datenverarbeitungsumgebung ist, in welcher die bevorzugte Ausführungsart der vorliegenden Erfindung vorteilhaft angewendet wird;
  • 2 eine schematische Darstellung eines Beispiels eines Webclient ist, der nach dem Stand der Technik eine Anforderung von einem Clientprozess an einen Internetdienst sendet;
  • 3 eine schematische Darstellung eines Webclient ist, der gemäß der bevorzugten Ausführungsart der vorliegenden Erfindung eine Anforderung von einem Clientprozess an einen Internetdienst sendet;
  • 4 eine schematische Darstellung des Zugangs von 3, bei dem eine von einem Webclient stammende Anforderung verarbeitet wird;
  • 5 ist ein Ablaufdiagramm der Hauptverarbeitungsschritte eines die Clientdaten verarbeitenden Host von 3; und
  • 6 ist ein Ablaufdiagramm der Hauptverarbeitungsschritte des Zugangs von 3.
  • Zu beachten ist, dass in den Figuren gleiche Bezugsnummern für gleiche Teile verwendet werden.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSART
  • 1 ist eine schematische Darstellung eines Datenverarbeitungsumgebung, in welcher die bevorzugte Ausführungsart der vorliegenden Erfindung vorteilhaft angewendet wird. In 1 ist ein die Client-/Serverdaten verarbeitender Host 10 über ein Netz 11, zum Beispiel über das Internet, mit anderen die Client-/Serverdaten verarbeitenden Hosts 12 und 13 verbunden. Gemäß der vorliegenden Erfindung kann beispielsweise ein auf dem Host 10 laufender Webclient eine Anforderung an einen im Host 12 verfügbaren Internetdienst richten, aber die im Client laufende Software wandelt die Anforderung in eine Anforderung für einen im Host 13 verfügbaren Internetdienst um, wobei der Internetdienst im Host 13 gemäß mit dem Webclient verbundenen Strategiedaten ausgewählt wird. Der Client/Server 10 weist einen Prozessor 101 zum Ausführen von Programmen auf, welche die Funktion des Client/Server 10 steuern, ein flüchtiges Speicherelement (RAM) 102, einen nichtflüchtigen Speicher 103 und einen Netzanschluss 104 zum Anschließen an das Netz 11, um den Austausch von Daten mit den anderen Clients/Servern 12 und 13 zu ermöglichen.
  • 2 ist eine schematische Darstellung eines Beispiels eines Webclient 201, der nach dem Stand der Technik eine Anforderung 208 an eine Internetdienstausführungsform 211 sendet. Der Webclient und der Internetdienst laufen in den Datenverarbeitungshosts 200 bzw. 210 und verwenden jeweils einen TCP/IP-Protokollstapel.
  • In 2 erstellt der Webclient eine Anforderung für eine Bankoperation, die an einen Bankdienstleister mit der URL http://www.banka.com/ (209) gerichtet ist. Der Webclient 201 leitet (205) die Anforderung an die Anwendungsschicht 202 des Protokollstapels weiter. Die Anwendungsschicht stellt auf höherer Ebene zwei Protokolle bereit, durch welche ein Webclient/-server zum Beispiel auf den TCP/IP-Protokollstapel zugreifen kann, in diesem Beispiel das SOAP/HTTP (Simple Objekt Access Protocol over Hypertext Transfer Protocol). Alternativ kann die Anwendungsschicht das IIOP (Internet Inter-Orb Protocol) bereitstellen. Die Anwendungsschicht 202 ändert die Anforderung und leitet sie an die Transport- und Vermittlungsschicht 203 weiter. Die Transport- und Vermittlungsschicht bewerkstelligt die Datenübertragung über ein Netz, wobei diese Schicht im vorliegenden Beispiel das TCP/IP (Transmission Control Protocol over Internet Protocol) unterstützt. Alternativ kann die Transport- und Vermittlungsschicht zum Beispiel das UDP (User Datagram Protocol) unterstützen. Die Transport- und Vermittlungsschicht 203 ändert dann die Anforderung und leitet (207) sie an die Netzschnittstellenschicht 204 weiter, welche die Verbindung zur Client-Hardware herstellt und die Anforderung 208 über das Netz 11 überträgt.
  • Wenn die Anforderung am Host 210 der Internetdienstausführungsform ankommt, wird sie durch die Netzschnittstellenschicht 214 empfangen, welche die Anforderung an die Transport- und Vermittlungsschicht 213 weiterleitet, die das TCP/IP unterstützt. Die Transport- und Vermittlungsschicht macht die im Clientnetz vorgenommenen Änderungen an der Nachricht rückgängig und leitet (216) sie an die Verarbeitungsschicht 212 weiter, die das SOAP/HTTP unterstützt. Die Verarbeitungsschicht macht dann die in der Verarbeitungsschicht des Client an der Anforderung vorgenommenen Änderungen rückgängig und leitet (217) sie weiter zur Zielinternetdiensausführungsart 211 weiter. Ab diesem Augenblick steht die Clientanforderung zur Verarbeitung zur Verfügung. Zu beachten ist, dass der Protokollstapel des Internetdienstes dieselben Protokolle wie im Client-Protokollstapel (d.h. SOAP/HTTP und TCP/IP) unterstützen muss, damit die Anforderung des Webclient erfolgreich verarbeitet werden kann.
  • Beim Stand der Technik nach 2 besteht jedoch ein Problem darin, dass der Webclient fest mit der URL (http://www.banka.comm) einer Internetdienstausführungsform codiert ist, an welche seine Anforderung gerichtet ist. Deshalb kann der Client nicht einen Servicebus nutzen, der zum Beispiel eine Internetdienstausführungsform zur Verarbeitung der Anforderung entsprechend dem Webclient zugeordneten Strategiedaten auswählen kann.
  • 3 ist eine schematische Darstellung des die Clientdaten verarbeitenden Host 200 von 2, der gemäß der bevorzugten Ausführungsart der vorliegenden Erfindung modifiziert worden ist. Bei dieser Ausführungsart beinhaltet die TCP/IP außerdem eine SOCKS-Unterstützung 305. Bei normaler Verwendung ist das SOCKS-Protokoll so konfiguriert, dass es eine Anforderung des Webclient an einen SOCKS-Proxy (oder SOCKS-Server) umleitet, der dann eine bestimmte Sicherheitsprüfung durchführt, bevor er die Anforderung des Webclient zur Weiterleitung an das in der Anforderung angegebene Ziel freigibt. Gemäß der bevorzugten Ausführungsart der vorliegenden Erfindung ist die SOCKS-Unterstützung 305 jedoch so konfiguriert, dass sie eine Anforderung des Webclient an einen passenden SOCKS-Proxy 306 umleitet, der dem Client nahe steht. Wenn also die Anforderung des Webclient an die TCP/IP-Transport- und Vermittlungsschicht 203 weitergeleitet wird, wird die SOCKS-Unterstützung 305 aufgerufen, welche die Anforderung an den lokalen angepassten SOCKS-Proxy 306 umleitet (322), der die Anforderung dann an einen URL-Filter 307 weiterleitet (323). Der URL-Filter prüft die als Ziel für die Anforderung des Webclient angegebene URL unter Verwendung einer Konfigurationsdatei, die Entscheidungskriterien dafür enthält, ob die in der Anforderung des Webclient als Ziel angegebene URL zur Änderung geeignet ist. Zum Beispiel kann die Konfigurationsdatei eine Liste mit bestimmten URLs enthalten, die eine genaue Übereinstimmung erfordern, oder eine Liste mit URLs mit Platzhalterzeichen, die eine Ähnlichkeitsprüfung erfordern. Wenn die URL nicht zur Änderung der Anforderung des Webclient geeignet ist, wird sie zur normalen Verarbeitung an die TCP/IP-Transport- und Vermittlungsschicht 203 zurückgesendet (nicht gezeigt). Wenn die Anforderung jedoch zur Änderung geeignet ist, wird sie zum Entnehmen von Informationen, zum Beispiel in der Anforderung des Webclient zusammen mit der URL gesendeten Daten, an eine SOAP/HTTP-Analyseeinheit 308 weitergeleitet (324). Nach dem Entnehmen der benötigten Informationen wird die Anforderung zum Zugang 309 weitergeleitet (325), der sie dann so ändert, dass sie an einen Servicebus weitergeleitet werden kann, der dann unter Verwendung einer Vielzahl von Protokollen den Zugriff auf eine Vielzahl von Internetdienstausführungsformen ermöglicht. Gemäß der bevorzugten Ausführungsart von 3 stellt der dem Client zur Verfügung stehende Servicebus unter Verwendung einer der beiden Protokollkombinationen IIOP 310 und SOAP/HTTP 311 den Zugriff auf Internetdienstausführungsformen bereit, und der Zugang ändert die Anforderung des Webclient auf eine alternative Internetdienstausführungsform ab, die unter Verwendung einer IIOP-Anforderung über den Servicebus verfügbar ist. Dann leitet (326) der Zugang 309 die Anforderung für die alternative Internetdienstausführungsform an die IIOP-Verarbeitungsschicht weiter, von wo sie dann an die TCP/IP-Transport- und Vermittlungsschicht 203 (327) und dann zum Senden über das Netz durch die Netzschnittstellenschicht 204 zum Netz weitergeleitet wird (328).
  • 4 ist eine detailliertere schematische Darstellung des Zugangs 309 von 3 und der mit diesem verbundenen Komponenten, und zwar der SOAP/HTTP-Analyseeinheit 308 und den Verarbeitungsschichten SOAP/HTTP 310 und IIOP 311 des Servicebusses. Die Anforderung des Webclient wird von der SOAP/HTTP-Analyseeinheit an die Anpassungsmaschine 401 des Zugangs 309 geleitet. Die Anpassungsmaschine sucht nach in einer Strategiedatei 402 für den Webclient angegebenen Strategien. Die Strategiedatei kann für den Client zum Beispiel Einzelheiten wie eine Antwortzeitbedingung, eine Sicherheitsniveaubedingung, eine Transaktionsbedingung, eine Kostenbedingung, eine Verfügbarkeitsbedingung, eine Anwendungsschichtprotokollbedingung, eine Zusatzinformationsbedingung und/oder eine Internetdienstausführungsformbedingung enthalten. Die Anpassungsmaschine nutzt dann die durch die SOAP/HTTP-Analyseeinheit der Anforderung des Webclient entnommenen Strategieinformationen und Anforderungsinformationen zur Änderung der Anforderung unter Verwendung eines Ermittlungsmechanismus 403, eines Auswahlmechanismus 404 und eines Sicherheitsmechanismus 405. Der Ermittlungsmechanismus 403 dient zur Ermittlung, zum Beispiel anhand der in der Anforderung angegebenen URL, auf dem Servicebus verfügbarer alternativer Internetdienstausführungsformen, die zur Verarbeitung der Anforderung des Webclient in der Lage sind. Dann wird der Auswahlmechanismus zur Auswahl einer bestimmten Internetdienstausführungsform aus den ermittelten Internetdienstausführungsformen eingesetzt. Der ausgewählte Internetdienst entspricht dann ziemlich genau den in der Strategiedatei angegebenen Anforderungen. Der Auswahlmechanismus kann ferner aus den auf dem Servicebus verfügbaren Protokollen ein geeignetes Protokoll auswählen, das für den Zugriff auf die Internetdienstausführungsform verwendet werden kann. Zum Zwecke der Auswahl kann auch ein Sicherheitsmechanismus 405 verwendet werden, zum Beispiel um ein geeignetes Protokoll auszuwählen, das den Sicherheitsanforderungen des Client oder des Internetdienstes entspricht. Zum Beispiel kann der Client oder die Internetdienstausführungsform einen Datenaustausch über ein sichereres Protokoll wie beispielsweise WSA-Sicherheit über SOAP, sicheres HTTP (HTTPS) oder sicheres IIOP (IIOPS) fordern. Ferner kann der Sicherheitsmechanismus zum Beispiel die Nachricht unter Verwendung der SOAP-Verschlüsselung verschlüsseln und/oder Informationen zur Anforderung hinzufügen, zum Beispiel einen Clientschlüssel entsprechend den Sicherheitsanforderungen des Webclient oder der Internetdienstausführungsform. Bei der bevorzugten Ausführungsart wählt die Anpassungsmaschine 401 nach Anwendung dieser Mechanismen einen geeigneten Internetdienst zur Verarbeitung der Anforderung des Webclient aus und stellt hierzu ein geeignetes Transportprotokoll bereit, zum Beispiel SOAP/HTTP 311 oder IIOP 310.
  • Zu beachten ist, dass die Strategiedatei zum Beispiel eine oder mehrere der folgenden Eigenschaften enthalten kann: eine Antwortzeitbedingung, welche die Verwendung eines schnelleren Transportprotokolls oder eines Internetdienstes fordert, der eine bestimmte Antwortzeit garantiert; eine Sicherheitsniveaubedingung, welche eine Verschlüsselung der Anforderung oder die Verwendung eines sicheren Protokolls wie beispielsweise HTTPS fordert; eine Kostenbedingung, welche einen maximalen Preisbereich für die vom Internetdienst angebotenen Waren oder die Verwendung eines Kommunikationsprotokolls angibt, das eine preiswerte Verbindung bereitstellt; eine Verfügbarkeitsbedingung, welche die Verwendung eines Internetdienstes, der eine Verfügbarkeit an sieben Wochentagen rund um die Uhr bietet, oder die Verwendung eines Protokolls mit garantierter Lieferung auf Anforderung fordert wie beispielsweise Transaktions-JMS (Java Message Service); eine Verarbeitungsschichtprotokollbedingung, welche ein oder mehrere Verarbeitungsschichtprotokolle angibt, die zum Senden der Anforderung entweder verwendet werden müssen oder nicht verwendet dürfen; eine Zusatzinformationsbedingung, welche das Hinzufügen einer IP-Adresse und/oder oder einer Maschinenkennung des die Clientdaten verarbeitenden Host zur Anforderung fordert; und eine Internetdienstausführungsformbedingung, welche als Internetdienstausführungsform zum Beispiel einen von IBM zugelassenen Händler oder eine Handelseinrichtung fordert, welche die Zahlung über American Express akzeptiert.
  • Somit ist eine bevorzugte Ausführungsart der vorliegenden Erfindung beschrieben worden, bei der eine Anforderung eines Webclient abgefangen und umgewandelt wird. Die Umwandlung der Anforderung beinhaltet die Änderung des Internetdienstes, an den die Anforderung gesendet wird, sowie wahlweise die Änderung von Eigenschaften wie das zum Senden der Anforderung verwendete Anwendungsschichtprotokoll, das für die Anforderung verwendete Sicherheitsprotokoll oder das Hinzufügen von Informationen zur Anforderung. Zu dieser beschriebenen Ausführungsart gibt es jedoch viele alternative Ausführungsarten.
  • Zum Beispiel verwendet der Webclient bei der in Verbindung mit 3 beschriebenen Ausführungsart eine SOAP/HTTP-Verarbeitungsschicht 202. Bei einer alternativen Ausführungsart kann hierfür jedoch zum Beispiel IIOP, IIOPS, HTTP, HTTPS, SOAP über JMS, RMI (Remote Method Invocation, ferner Verfahrensaufruf) über IIOP, XML über JMS (Java Message Service, Java-Nachrichtendienst), SOAP über SMTP (Simple Mail Transfer Protocol, einfaches Übertragungsprotokoll für elektronische Post), oder EJB (Enterprise JavaBeans, JavaBeans für Unternehmen) (JavaBeans ist ein eingetragenes Warenzeichen von Sun Microsystems Inc.) verwendet werden. Wenn zum Beispiel IIOP als Anwendungsschicht diente, würde die SOAP/HTTP-Analyseeinheit 308 durch eine IIOP-Analyseeinheit ersetzt.
  • Ferner wird die Anforderung des Webclient zum Beispiel bei der in Verbindung mit 3 beschriebenen Ausführungsart durch die SOCKS-Unterstützung 305 in der Transport- und Vermittlungsschicht 203 abgefangen. Bei einer alternativen Ausführungsart kann dies jedoch auch durch andere Mittel erreicht werden. Zum Beispiel kann die HTTP-Schicht so konfiguriert werden, dass sie einen lokalen HTTP-Proxy aufruft, so den SOCKS-Server 306 durch einen HTTP-Proxy ersetzt und das Abfangen der Anforderung des Webclient in die SOAP/HTTP-Anwendungsschicht 202 verlagert.
  • Ferner kann der Zugang 309 zum Beispiel bei der in Verbindung mit 3 beschriebenen Ausführungsart einen Servicebus verwenden, der zum Senden von Anforderungen als Verarbeitungsschichtprotokoll entweder IIOP 310 oder SOAP/HTTP 311 bereitstellt. Bei einer anderen Ausführungsart kann ein oder mehrere dieser Verarbeitungsschichtprotokolle weggelassen und/oder ersetzt und/oder hinzugefügt werden. Außerdem kann der Servicebus noch andere zusätzliche/alternative Schichten bereitstellen, zum Beispiel IIOP, IIOPS, HTTP, HTTPS, SOAP über JMS, JMI über IIOP, XML über JMS, SOAP über SMTP oder EJB. Ferner können die für diese Verarbeitungsschicht zur Verfügung stehenden Transport- und Netzwerkschichtprotokolle ausgetauscht und/oder hinzugefügt werden, zum Beispiel kann zusätzlich zu TCP/IP auch UDP/IP verfügbar sein.
  • Wenn ferner der ebenfalls in Verbindung mit 4 beschriebenen Ermittlungsmechanismus 403 eine oder mehrere alternative Internetdienstausführungsformen ermittelt, die als Ziel für die Clientanforderung infrage kommen, kann er dies auf der Basis von WSDL-Dokumenten tun. Das ist möglich, wenn der Client ein WSDL-Dokument zur Gewinnung einer Definition des Ziels für die Internetdienstausführungsform verwendet hat, an das er eine Anforderung gerichtet hat. In diesem Fall kann der Ermittlungsmechanismus nach dem Abfangen der Anforderung zuerst das WSDL-Dokument für den Zielinternetdienst und dann auf der Basis der in diesem WSDL-Dokument enthaltenen Informationen WSDL-Dokumente für geeignete alternative Internetdienstausführungsformen erhalten, zum Beispiel von einer UDDI-Registrierung (Universal Description, Discovery and Integration, universelle Beschreibung, Ermittlung und Integration). Zu beachten ist, dass ein WSDL-Dokument Einzelheiten des Zielinternetdienstes wie Anschlussart, Bindungen, Anschlüsse, Nachrichten, Typen usw. enthält. Die Anschlussart definiert die vom Zielinternetdienst vorgegebene Betriebsart und Betriebsparameter, die Bindungen benennen die Transportmechanismen, und der Anschluss benennt die Endpunktadressen für Kanäle, die den Zugriff auf den Zielinternetdienst unter Verwendung der Transportmechanismen ermöglichen. Zum Beispiel kann anstelle eines WSDL-Dokuments alternativ ein DAML-Dienstdokument (DARPA Agent Markup Language) verwendet werden.
  • Ferner verwendet die Anpassungsmaschine bei der in Verbindung mit 4 beschriebenen bevorzugten Ausführungsart zur Umwandlung der Anforderung zum Beispiel einen Ermittlungsmechanismus, einen Auswahlmechanismus und einen Sicherheitsmechanismus. Bei einer alternativen Ausführungsart können ein oder mehrere dieser Mechanismen weggelassen und/oder ersetzt und/oder hinzugefügt und/oder in der Anpassungsmaschine eingekapselt werden. Zum Beispiel kann ein zusätzlicher oder alternativer Mechanismus die Transaktionalität durch Einbeziehen einer oder mehrerer Anforderung vom Webclient in eine Arbeitseinheit herstellen. Ferner können die Strategiedaten zum Beispiel in den Mechanismen eingekapselt oder eine Strategie nach dem Zufallsprinzip angewendet werden. Ferner kann die Anforderung des Webclient ohne Analyse direkt an die Anpassungsmaschine weitergeleitet werden, und alternativ kann die Anpassungsmaschine bei Bedarf die Analyseeinheit aufrufen.
  • 5 ist ein Ablaufdiagramm der Hauptschritte der bevorzugten Ausführungsart der vorliegenden Erfindung. In Schritt 501 wird die Anforderung des Webclient abgefangen. In Schritt 502 wird die als Ziel für die Anforderung des Webclient angegebene URL erhalten und in Schritt 503 geprüft, ob die URL in einer Konfigurationsdatei als URL aufgeführt ist, die zur Umwandlung durch den Zugang (309 in 3) geeignet ist. Wenn die URL nicht zur Umwandlung der Anforderung des Webclient geeignet ist, wird die Anforderung in Schritt 504 an die Ziel-URL gesendet. Wenn die URL jedoch zur Umwandlung geeignet ist, wird die Anforderung des Webclient in Schritt 505 analysiert, um zusätzliche Informationen wie beispielsweise zusammen mit der Anforderung gesendete Parameter zu erhalten, zum Beispiel Einzelheiten zu einem bestimmten Aspekt des als Ziel für die Anforderung vorgesehenen Internetdienstes oder Einzelheiten eines WSDL-Dokuments, das den als Ziel für die Anforderung vorgesehenen Internetdienst beschreibt. Dann wird die Anforderung des Webclient in Schritt 506 entsprechend den Strategiedaten des Client geändert. Zum Beispiel wird die Anforderung an einen Internetdienst umgeleitet, der denselben Dienst wie den in der ursprünglichen Anforderung angegebenen leistet, aber durch die Unternehmensstrategiedaten des Client zur Nutzung freigegeben wurde. Nach der Veränderung der Anforderung wird diese in Schritt 504 an den Internetdienst gesendet, zu dem sie umgeleitet wurde.
  • 6 ist eine detailliertere Darstellung der in Schritt 506 von 5 ablaufenden Verarbeitung. In Schritt 601 werden von einer Konfigurationsdatei Strategiedaten für den Client erhalten und in Schritt 602 ein Ermittlungsmechanismus zum Auffinden geeigneter alternativer Internetdienstausführungsformen zur Verarbeitung der Anforderung des Webclient verwendet. Alternativen lassen sich zum Beispiel anhand der URL und anderer in der Anforderung des Webclient angegebener zusätzlicher Daten ermitteln. Ferner können durch den Ermittlungsmechanismus Strategiedaten verwendet werden. In Schritt 603 wird ein Auswahlmechanismus zur Auswahl einer Internetdienstausführungsform aus der ermittelten Liste zur Verarbeitung der Anforderung geeigneter Alternativen verwendet. Zum Beispiel kann ein Internetdienst anhand von Strategiedaten des Client ausgewählt werden, aus denen hervorgeht, dass der Internetdienst von Großbritannien aus operiert und die Bezahlung über American Express zulässt. Der Auswahlmechanismus kann ferner aus den auf dem Servicebus vorhandenen Protokollen ein Anwendungsschichtprotokoll zum Senden der Anforderung auswählen, über das der Kontakt zu der ausgewählten Internetdienstausführungsform hergestellt werden kann. Nach der Auswahl eines Internetdienstes wird in Schritt 604 unter Verwendung eines Sicherheitsmechanismus eine geeignete Sicherheitsstrategie auf die Anforderung angewendet, zum Beispiel kann der ausgewählte Internetdienst verlangen, dass sämtliche Datenübertragungen verschlüsselt werden und/oder ein sicheres Anwendungsschichtprotokoll verwendet wird. In Schritt 605 werden wahlweise für den Client spezifische Informationen zur Anforderung hinzugefügt, zum Beispiel eine Kennung wie eine IP-Adresse oder eine Maschinenkennung oder eine Kennung zur Kennzeichnung des Webclient oder eines Benutzers des Webclient, die zur Kennzeichnung eines die Clientdaten verarbeitenden Host dienen kann. In Schritt 606 wird auf die umgewandelte Anforderung schließlich ein geeignetes Anwendungsschichtprotokoll angewendet, zum Beispiel IIOP oder SOAP/HTTP. Das Protokoll für die Anforderung kann zum Beispiel so gewählt werden, dass es mit dem Protokoll des ausgewählten Internetdienstes übereinstimmt, oder entsprechend einer Clientstrategie, die zum Beispiel eine geforderte Antwortzeit angibt, aus mehreren durch den ausgewählten Internetdienst unterstützten Protokollen ausgewählt werden.
  • Obwohl die bevorzugte Ausführungsart der vorliegenden Erfindung mit allgemeinen Begriffen beschrieben wurde, sollte dem Fachmann klar sein, dass die Erfindung in einem Datenverarbeitungsverfahren, einer Datenverarbeitungsvorrichtung oder einem Computerprogrammprodukt realisiert werden kann, das Anweisungen zur Ausführung des Datenverarbeitungsverfahrens umfasst.
  • Somit stellt die vorliegende Erfindung ein Verfahren, eine Vorrichtung und ein Computerprogrammprodukt bereit, in welchem eine Anforderung eines Webclient für einen Internetdienst abgefangen und das Ziel der Anforderung gemäß mit dem Webclient verbundenen Strategiedaten aktualisiert wird. Ferner kann das Anwendungsschichtprotokoll, in welchem in welchem die Anforderung des Webclient angegeben wird, geändert werden und/oder Informationen zur Anforderung hinzugefügt werden. Somit kann ein Webclient, der eine Anforderung mit einem fest codierten Zielinternetdienst erstellt, so angepasst werden, dass er von einem gesteuerten Zugriff auf Internetdienste Gebrauch macht und so auf Internetdienste zugreifen kann, die zum Beispiel Eigenschaften der Dienstqualität bieten, die den Erfordernissen des Webclient besser entsprechen.

Claims (19)

  1. Verfahren zum Verarbeiten von Clientdaten, um eine Anforderung von einem Web-Client umzuwandeln, wobei das Verfahren die folgenden Schritte umfasst: Abfangen (501) der Anforderung; Ändern (505, 506) einer Ausführungsform eines ersten Internetdienstes, die in der Anforderung angegeben ist, in eine Ausführungsform eines zweiten Internetdienstes; und Weiterleiten (504) der Anforderung an die Ausführungsform eines zweiten Internetdienstes, um dadurch die Ausführungsform eines zweiten Internetdienstes in die Lage zu versetzen, die Anforderung zu verarbeiten, wobei die Ausführungsform des zweiten Internetdienstes ausgehend von mit dem Webclient verbundenen Strategiedaten ausgewählt wird (506).
  2. Verfahren nach Anspruch 1, bei dem die Anforderung im Protokoll einer ersten Anwendungsschicht angegeben wird und das Verfahren ferner den folgenden Schritt umfasst: Ändern der im Protokoll einer zweiten Anwendungsschicht anzugebenden Anforderung.
  3. Verfahren nach Anspruch 1 oder nach Anspruch 2, bei dem der die Clientdaten verarbeitende Host einen SOCKS-Proxy umfasst und der Schritt des Abfangens der Anforderung das Aufrufen des SOCKS-Proxy mit den in der Anforderung enthaltenen Anrufdetails umfasst.
  4. Verfahren nach Anspruch 1 oder nach Anspruch 2, bei dem der die Clientdaten verarbeitende Host einen HTTP-Proxy umfasst und der Schritt des Abfangens der Anforderung das Aufrufen des HTTP-Proxy mit den in der Anforderung enthaltenen Anrufdetails umfasst.
  5. Verfahren nach einem der vorhergehenden Ansprüche, das ferner die folgenden Schritte umfasst: Ermitteln der Ausführungsformen eines oder mehrerer Internetdienste zur Verarbeitung der Anforderung; und Auswählen der Ausführungsform des zweiten Internetdienstes aus den ermittelten einen oder mehreren alternativen Internetdiensten.
  6. Verfahren nach Anspruch 5, bei dem der Ermittlungsschritt die folgenden Schritte umfasst: Erhalten eines Dokuments mit der Definitionssprache für Internetdienste (Web Services Definition Language, WSDL) für die Ausführungsform des ersten Internetdienstes; und Verwenden der Informationen aus dem WSDL-Dokument für die Ausführungsform des Internetdienstes, um ein WSDL-Dokument für jede der Ausführungsformen des einen oder der mehreren alternativen Internetdienste zur Verarbeitung der Anforderung zu erhalten.
  7. Verfahren nach einem der vorhergehenden Ansprüche, das ferner den folgenden Schritt umfasst: Anwenden einer Sicherheitsstrategie auf die Anforderung; wobei der Schritt des Anwendens der Sicherheitsstrategie einen oder mehrere der folgenden Schritte umfasst: Verschlüsseln mindestens eines Teils der Anforderung; Zufügen eines Webclientschlüssels zur Anforderung; und Senden der Anforderung unter Verwendung eines sicheren Protokolls der Anwendungsschicht.
  8. Verfahren nach einem der vorhergehenden Ansprüche, das ferner den folgenden Schritt umfasst: Zufügen auf den Webclient zugeschnittener Informationen zur Anforderung, wobei das Zufügen einen oder mehrere der folgenden Schritte umfasst: Zufügen einer IP-Adresse des die Clientdaten verarbeitenden Host; Zufügen einer Maschinen-ID des die Clientdaten verarbeitenden Host; Zufügen eines Webclientschlüssels.
  9. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Strategiedaten eine oder mehrere der folgenden Bedingungen angeben: eine Antwortzeitbedingung; eine Sicherheitsniveaubedingung; eine Transaktionsbedingung; eine Kostenbedingung; eine Verfügbarkeitsbedingung; eine Anwendungsschichtprotokollbedingung; eine Zusatzinformationsbedingung; und eine Internetdienstausführungsformbedingung.
  10. Vorrichtung zur Verarbeitung von Clientdaten, um eine Anforderung von einem Webclient umzuwandeln, wobei die Vorrichtung Folgendes umfasst: ein Mittel zum Abfangen (501) der Anforderung; ein Mittel zum Ändern (505, 506) einer Ausführungsform eines ersten Internetdienstes, die in der Anforderung angegeben ist, in eine Ausführungsform eines zweiten Internetdienstes; und ein Mittel zum Weiterleiten (504) der Anforderung an die Ausführungsform eines zweiten Internetdienstes, um dadurch die Ausführungsform eines zweiten Internetdienstes in die Lage zu versetzen, die Anforderung zu verarbeiten, wobei das Mittel zum Ändern einer Ausführungsform des ersten Internetdienstes dazu verwendet werden kann, ausgehend von mit dem Webclient verbundenen Strategiedaten die Ausführungsform des zweiten Internetdienstes auszuwählen (506).
  11. Vorrichtung nach Anspruch 10, bei der die Anforderung in einem ersten Protokoll der Anwendungsschicht angegeben ist und wobei die Vorrichtung ferner Folgendes umfasst: ein Mittel zum Ändern der in einem zweiten Protokoll der Anwendungsschicht angegebenen Anforderung.
  12. Vorrichtung nach Anspruch 10 oder nach Anspruch 11, die ferner einen SOCKS-Proxy umfasst und bei der das Mittel zum Abfangen der Anforderung dazu verwendet werden kann, den SOCKS-Proxy mit den in der Anforderung enthaltenen Anrufdetails aufzurufen.
  13. Vorrichtung nach Anspruch 10 oder nach Anspruch 11, die ferner einen HTTP-Proxy umfasst und bei der der Schritt des Abfangens der Anforderung dazu verwendet werden kann, den HTTP-Proxy mit den in der Anforderung enthaltenen Anrufdetails aufzurufen.
  14. Vorrichtung nach einem der Ansprüche 10 bis 13, die ferner Folgendes umfasst: ein Mittel zum Ermitteln einer oder mehrerer Ausführungsformen von alternativen Internetdiensten zum Verarbeiten der Anforderung; und ein Mittel zum Auswählen der Ausführungsform des zweiten Internetdienstes aus den ermittelten ersten oder mehreren alternativen Internetdiensten.
  15. Vorrichtung nach Anspruch 14, bei dem das Mittel zum Ermitteln Folgendes umfasst: ein Mittel zum Erhalten eines Dokuments mit der Definitionssprache für Internetdienste (Web Services Definition Language, WSDL) für die Ausführungsform des ersten Internetdienstes; und ein Mittel zum Verwenden der Informationen aus dem WSDL-Dokument für die Ausführungsform des Internetdienstes, um ein WSDL-Dokument für jede der Ausführungsformen des einen oder der mehreren alternativen Internetdienste zur Verarbeitung der Anforderung zu erhalten.
  16. Vorrichtung nach einem der Ansprüche 10 bis 15, die ferner Folgendes umfasst: ein Mittel zum Anwenden einer Sicherheitsstrategie auf die Anforderung, wobei das Mittel eines oder mehrere der folgenden Mittel umfasst: ein Mittel zum Verschlüsseln mindestens eines Teils der Anforderung; ein Mittel zum Zufügen eines Webclientschlüssels zur Anforderung; und ein Mittel zum Senden der Anforderung unter Verwendung eines sicheren Transportmechanismus.
  17. Vorrichtung nach einem der Ansprüche 10 bis 16, die ferner Folgendes umfasst: ein Mittel zum Zufügen auf den Webclient zugeschnittener Informationen zur Anforderung, wobei das Mittel eines oder mehrere der folgenden Mittel umfasst: ein Mittel zum Zufügen einer IP-Adresse des die Clientdaten verarbeitenden Host; ein Mittel zum Zufügen einer Maschinen-ID des die Clientdaten verarbeitenden Host; ein Mittel zum Zufügen eines Webclientschlüssels.
  18. Vorrichtung nach einem der Ansprüche 10 bis 17, bei der die Strategiedaten eine oder mehrere der folgenden Bedingungen angeben: eine Antwortzeitbedingung; eine Sicherheitsniveaubedingung; eine Transaktionsbedingung; eine Kostenbedingung; eine Verfügbarkeitsbedingung; eine Anwendungsschichtprotokollbedingung; eine Zusatzinformationsbedingung; und eine Internetdienstausführungsformbedingung.
  19. Computerprogrammprodukt, das Anweisungen umfasst, die bei Ausführung in einem Datenverarbeitungshost den Datenverarbeitungshost veranlassen, das Verfahren nach einem der Ansprüche 1 bis 9 auszuführen.
DE60311684T 2003-03-15 2003-12-05 Kundenzugang zum internetdienst Expired - Lifetime DE60311684T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB0305959.9A GB0305959D0 (en) 2003-03-15 2003-03-15 Client web service access
GB0305959 2003-03-15
PCT/GB2003/005320 WO2004084522A1 (en) 2003-03-15 2003-12-05 Client web service access

Publications (2)

Publication Number Publication Date
DE60311684D1 DE60311684D1 (de) 2007-03-22
DE60311684T2 true DE60311684T2 (de) 2007-11-22

Family

ID=9954841

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60311684T Expired - Lifetime DE60311684T2 (de) 2003-03-15 2003-12-05 Kundenzugang zum internetdienst

Country Status (9)

Country Link
US (1) US20070005777A1 (de)
EP (1) EP1604506B1 (de)
KR (1) KR100800350B1 (de)
CN (1) CN100563260C (de)
AT (1) ATE353518T1 (de)
AU (1) AU2003285597A1 (de)
DE (1) DE60311684T2 (de)
GB (1) GB0305959D0 (de)
WO (1) WO2004084522A1 (de)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7249195B2 (en) 2001-03-30 2007-07-24 Minor Ventures, Llc Apparatus and methods for correlating messages sent between services
GB0308523D0 (en) * 2003-04-12 2003-05-21 Ibm Access to web services
US9106479B1 (en) * 2003-07-10 2015-08-11 F5 Networks, Inc. System and method for managing network communications
US7404189B2 (en) 2003-12-30 2008-07-22 International Business Machines Corporation Scheduler supporting web service invocation
US7802007B2 (en) 2004-05-19 2010-09-21 Salesforce.Com, Inc. Techniques for providing connections to services in a network environment
US8615601B2 (en) * 2004-05-21 2013-12-24 Oracle International Corporation Liquid computing
US7681202B2 (en) * 2004-05-21 2010-03-16 Sap Portals Israel Ltd. Portal runtime framework
US7653008B2 (en) 2004-05-21 2010-01-26 Bea Systems, Inc. Dynamically configurable service oriented architecture
US7774485B2 (en) * 2004-05-21 2010-08-10 Bea Systems, Inc. Dynamic service composition and orchestration
US8312132B2 (en) * 2004-08-20 2012-11-13 Core Wireless Licensing S.A.R.L. Context data in UPNP service information
US20060106856A1 (en) * 2004-11-04 2006-05-18 International Business Machines Corporation Method and system for dynamic transform and load of data from a data source defined by metadata into a data store defined by metadata
EP1675022A1 (de) * 2004-12-22 2006-06-28 Sap Ag Methode und System zur Integration semantischer Web Services in bestehende Web Service Infrastrukturen
FR2880716A1 (fr) * 2005-01-13 2006-07-14 Gemplus Sa Personnalisation de service dans un dispositif terminal
US7509398B2 (en) * 2005-01-13 2009-03-24 International Business Machines Corporation System and method for protocol independent access and invocation of web services
US7657924B2 (en) * 2005-04-06 2010-02-02 International Business Machines Corporation Method and system for implementing authorization policies for web services
US9407608B2 (en) 2005-05-26 2016-08-02 Citrix Systems, Inc. Systems and methods for enhanced client side policy
US8943304B2 (en) * 2006-08-03 2015-01-27 Citrix Systems, Inc. Systems and methods for using an HTTP-aware client agent
US9692725B2 (en) 2005-05-26 2017-06-27 Citrix Systems, Inc. Systems and methods for using an HTTP-aware client agent
US9621666B2 (en) 2005-05-26 2017-04-11 Citrix Systems, Inc. Systems and methods for enhanced delta compression
FR2887718A1 (fr) * 2005-09-30 2006-12-29 France Telecom Dispositif et procede pour realiser l'interface entre un equipement informatique et un serveur http
US8819181B2 (en) * 2006-03-17 2014-08-26 Apple Inc. Adaptable network service access through dynamic request routing
US8561155B2 (en) * 2006-08-03 2013-10-15 Citrix Systems, Inc. Systems and methods for using a client agent to manage HTTP authentication cookies
US8392977B2 (en) * 2006-08-03 2013-03-05 Citrix Systems, Inc. Systems and methods for using a client agent to manage HTTP authentication cookies
CN101127757B (zh) * 2006-08-18 2011-02-09 国际商业机器公司 控制Web服务策略的方法和装置
US20080104203A1 (en) * 2006-10-31 2008-05-01 Microsoft Corporation Viewing Digital Information Over a Network
GB0623904D0 (en) * 2006-11-30 2007-01-10 Ibm A method,apparatus and computer program for modifying an endpointreference representing a web service endpoint
US8380880B2 (en) * 2007-02-02 2013-02-19 The Mathworks, Inc. Scalable architecture
US20080244078A1 (en) * 2007-03-26 2008-10-02 Pieter Viljoen Web services intermediary
US7822828B2 (en) * 2007-09-17 2010-10-26 Gm Global Technology Operations, Inc. System for using non-standard transfer protocol from software received at in-vehicle communications gateway for exchanging data with client device
US7849224B2 (en) * 2007-09-17 2010-12-07 Gm Global Technology Operations, Inc. Method and apparatus for implementing a mobile server
US7818403B2 (en) * 2007-09-17 2010-10-19 Gm Global Technology Operations, Inc. System for using non-standard transfer protocol from software received at client device for exchanging data with in-vehicle communications gateway
US20090132463A1 (en) * 2007-11-19 2009-05-21 Emericon, L.L.C. System and method for facilitating transition between ibm® websphere® mq workflow and ibm® websphere® process server
EP2241081B1 (de) * 2008-01-26 2018-05-02 Citrix Systems, Inc. Systeme und verfahren für richtliniengesteuertes feinkorn-cookie-proxying
US8254381B2 (en) * 2008-01-28 2012-08-28 Microsoft Corporation Message processing engine with a virtual network interface
DE102008002787A1 (de) * 2008-02-29 2009-09-03 Schneider Electric Gmbh 4-Phasen-Interaktionsmuster basierend auf Port-Typ-Protokollen für die Verwendung von Lebenszyklen von Services, welche durch serviceorientierte Geräte bereitgestellt werden
US7904561B2 (en) * 2008-05-15 2011-03-08 International Business Machines Corporation Brokering mobile web services
US20090307233A1 (en) * 2008-06-02 2009-12-10 Guorui Zhang Efficient Handling of PMU Data for Wide Area Power System Monitoring and Visualization
US20100031309A1 (en) * 2008-07-31 2010-02-04 International Business Machines Corporation Policy based control of message delivery
US8661334B1 (en) * 2010-03-30 2014-02-25 Amazon Technologies, Inc. Mapping behavior to data
US8380845B2 (en) 2010-10-08 2013-02-19 Microsoft Corporation Providing a monitoring service in a cloud-based computing environment
US8843632B2 (en) 2010-10-11 2014-09-23 Microsoft Corporation Allocation of resources between web services in a composite service
US8959219B2 (en) 2010-10-18 2015-02-17 Microsoft Technology Licensing, Llc Dynamic rerouting of service requests between service endpoints for web services in a composite service
US8510426B2 (en) 2010-10-20 2013-08-13 Microsoft Corporation Communication and coordination between web services in a cloud-based computing environment
US8874787B2 (en) * 2010-10-20 2014-10-28 Microsoft Corporation Optimized consumption of third-party web services in a composite service
EP2659650B1 (de) 2010-12-29 2022-06-22 Citrix Systems Inc. Systeme und verfahren zur mehrstufigen markierung von verschlüsselten objekten für zusätzliche sicherheit und effiziente bestimmung verschlüsselter objekte
CN102790712B (zh) * 2011-05-17 2015-07-15 北京航空航天大学 Web服务安全处理方法及系统
US9609077B1 (en) * 2012-05-30 2017-03-28 Crimson Corporation Forwarding content on a client based on a request
RU2635276C1 (ru) * 2016-06-24 2017-11-09 Акционерное общество "Лаборатория Касперского" Безопасная аутентификация по логину и паролю в сети Интернет с использованием дополнительной двухфакторной аутентификации
CN109284968B (zh) * 2017-07-19 2022-02-01 华润微电子(重庆)有限公司 签核系统的管理方法、签核系统、可读存储介质及服务器
DE102022107431B3 (de) 2022-03-29 2023-05-11 Volkswagen Aktiengesellschaft Verfahren zum Nachrüsten einer Socks-Kompatibilität für zumindest eine Anwendung in einem Kraftfahrzeug sowie entsprechend eingerichtetes Kraftfahrzeug

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6097882A (en) * 1995-06-30 2000-08-01 Digital Equipment Corporation Method and apparatus of improving network performance and network availability in a client-server network by transparently replicating a network service
US6029175A (en) * 1995-10-26 2000-02-22 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
US5781550A (en) * 1996-02-02 1998-07-14 Digital Equipment Corporation Transparent and secure network gateway
US5673322A (en) * 1996-03-22 1997-09-30 Bell Communications Research, Inc. System and method for providing protocol translation and filtering to access the world wide web from wireless or low-bandwidth networks
US6016516A (en) * 1996-08-07 2000-01-18 Fuji Xerox Co. Ltd. Remote procedure processing device used by at least two linked computer systems
US5892903A (en) * 1996-09-12 1999-04-06 Internet Security Systems, Inc. Method and apparatus for detecting and identifying security vulnerabilities in an open network computer communication system
US6173322B1 (en) * 1997-06-05 2001-01-09 Silicon Graphics, Inc. Network request distribution based on static rules and dynamic performance data
US6247050B1 (en) * 1997-09-12 2001-06-12 Intel Corporation System for collecting and displaying performance improvement information for a computer
US6587836B1 (en) * 1997-09-26 2003-07-01 Worldcom, Inc. Authentication and entitlement for users of web based data management programs
CA2228687A1 (en) * 1998-02-04 1999-08-04 Brett Howard Secured virtual private networks
US6732175B1 (en) * 2000-04-13 2004-05-04 Intel Corporation Network apparatus for switching based on content of application data
US6922832B2 (en) * 2000-12-12 2005-07-26 Lockheed Martin Corporation Execution of dynamic services in a flexible architecture for e-commerce
GB2375214B (en) * 2001-05-02 2004-09-29 Virtual Access Ltd Secure payment method and system
US20030163450A1 (en) * 2001-05-25 2003-08-28 Joram Borenstein Brokering semantics between web services
US7254614B2 (en) * 2001-11-20 2007-08-07 Nokia Corporation Web services push gateway

Also Published As

Publication number Publication date
DE60311684D1 (de) 2007-03-22
ATE353518T1 (de) 2007-02-15
KR20050117521A (ko) 2005-12-14
WO2004084522A1 (en) 2004-09-30
GB0305959D0 (en) 2003-04-23
CN100563260C (zh) 2009-11-25
US20070005777A1 (en) 2007-01-04
EP1604506A1 (de) 2005-12-14
EP1604506B1 (de) 2007-02-07
KR100800350B1 (ko) 2008-02-04
CN1692617A (zh) 2005-11-02
AU2003285597A1 (en) 2004-10-11

Similar Documents

Publication Publication Date Title
DE60311684T2 (de) Kundenzugang zum internetdienst
DE60033615T2 (de) Verfahren und System, um das Verteilen von IP-Datagrammen auf mehrere Server gemäß einer definierten Strategie zu erzwingen
DE69832406T2 (de) Kombiniertes internet-und datenzugangssystem
DE69912317T2 (de) Vorrichtung und verfahren zur bestimmung einer programmnachbarschaft für einen kundenknoten in einem kundenbedienernetzwerk
DE60218069T2 (de) Bereitstellung von gekoppelten diensten in einer verteilten rechnerumgebung
DE60031340T2 (de) Geschützter Zugang durch Netzwerk-Firewalls
DE60100680T2 (de) Vorrichtung und Verfahren mit sicherem und öffentlichem Zugang
DE69730382T2 (de) System und Verfahren zur automatischen Netzrekonfiguration
DE60200451T2 (de) Herstellung einer gesicherten Verbindung mit einem privaten Unternehmensnetz über ein öffentliches Netz
DE602005003449T2 (de) Verbesserte benutzerschnittstelle
DE69909839T3 (de) Optimierte Lokalisierung von Netzwerkbetriebsmittel
DE69934871T2 (de) Verfahren und System zur optimalen Auswahl eines Webfirewalls in einem TCP/IP Netzwerk
DE10116640B4 (de) Auf URL beruhende Token für schwierige Verteilungen, die einen serverseitigen Cookiebehälter benutzen
DE60306186T2 (de) Verfahren und system zur anordnung von dienste in einer webdienstarchitektur
DE69832786T2 (de) Vorrichtung und verfahren zur identifizierung von klienten die an netzwer-sites zugreifen
DE69724877T2 (de) Verfahren und Vorrichtung zum Betrieb einer Aggregation von Serverrechnern mittels eines Doppelzweck-Proxy-Servers
DE69731318T2 (de) Herstellen von kommunikationsverbindungen in einem computernetzwerk
US20120136916A1 (en) Enabling Interactive Integration of Network-Accessible Applications in a Content Aggregation Framework
DE10051024A1 (de) Methode zum Einrichten optimaler intermediärer Cachingpunkte durch Gruppierung von Programmelementen in einem Softwaresystem
DE10205108A1 (de) System und Verfahren zum Zugreifen auf Softwarekomponenten in einer verteilten Netzwerkumgebung
DE602004008483T2 (de) Analyseverfahren für benutzeranforderungen
DE10295699T5 (de) Eine Anordnung und ein Verfahren in Bezug auf Sitzungsverwaltung in einer Portalstruktur
DE10148985A1 (de) Verfahren zur Ausgabe von personalisierten Informationen auf einer Website
DE60035348T2 (de) Verlängerbarer Bereitstellungsmechanismus für einen Diensten-gateway
DE60316649T2 (de) Konferenzanwendung die keinen bestimmten Verbindungsport verwendet

Legal Events

Date Code Title Description
8381 Inventor (new situation)

Inventor name: FREMANTLE, PAUL ZACHARY, EMSWORTH HAMPSHIRE, GB

Inventor name: HUTCHISON, ELIZABETH ANNE, ROMSEY HAMPSHIRE, GB

8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)