-
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.