Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberDE60218069 T2
Publication typeGrant
Application numberDE2002618069
PCT numberPCT/GB2002/005626
Publication date9 Aug 2007
Filing date11 Dec 2002
Priority date15 Jan 2002
Also published asCN1291318C, CN1608248A, DE60218069D1, EP1483671A2, EP1483671B1, US7603469, US20030135628, WO2003060710A2, WO2003060710A3
Publication number02618069, 2002618069, DE 60218069 T2, DE 60218069T2, DE-T2-60218069, DE02618069, DE2002618069, DE60218069 T2, DE60218069T2, PCT/2002/5626, PCT/GB/2/005626, PCT/GB/2/05626, PCT/GB/2002/005626, PCT/GB/2002/05626, PCT/GB2/005626, PCT/GB2/05626, PCT/GB2002/005626, PCT/GB2002/05626, PCT/GB2002005626, PCT/GB200205626, PCT/GB2005626, PCT/GB205626
InventorsJames Apex FLETCHER, David Raleigh LINDQUIST, Michael Durham WANDERSKI, Ajamu Raleigh WESLEY
ApplicantInternational Business Machines Corp.
Export CitationBiBTeX, EndNote, RefMan
External Links: DPMA, Espacenet
Bereitstellung von gekoppelten diensten in einer verteilten rechnerumgebung Provision of services coupled in a distributed computer environment translated from German
DE 60218069 T2
Abstract  available in
Claims(18)  translated from German
  1. Verfahren zur Bereitstellung eines gekoppelten Dienstes in einem Computernetz ( A method for providing a coupled service in a computer network ( 100 100 , . 120 120 , . 150 150 ), wobei das Verfahren die folgenden Schritte umfasst: Empfangen ( ), The method comprising the steps of: receiving ( 600 600 ) von Berechtigungsnachweisen eines Benutzers, der den Zugriff auf einen gekoppelten Dienst fordert; ) Credentials of a user who requests access to an aggregated service; Suchen in einer über das Netz erreichbaren Registrierungsdatenbank nach einem Dienstbeschreibungsdokument, das eine Bereitstellungsschnittstelle für den gekoppelten Dienst beschreibt, wobei der gekoppelte Dienst eine Vielzahl miteinander gekoppelter Teildienste umfasst und die Bereitstellungsschnittstelle beschreibt, wie Identitätsfunktionen des gekoppelten Dienstes aufgerufen werden müssen; Search in a reachable over the network registry for a service description document that describes a provisioning interface for the aggregated service, the aggregated service includes a plurality of interlocking part services and the provisioning interface describes how identity functions of the aggregated service must be called; Analysieren ( Analyze ( 620 620 , . 630 630 ) der empfangenen Berechtigungsnachweise durch Aufrufen einer oder mehrerer der Identitätsfunktionen gemäß deren Beschreibung in der Bereitstellungsschnittstelle, um zu ermitteln, ob der Benutzer für den Zugriff auf den gekoppelten Dienst berechtigt ist; ) Of the received credentials by invoking one or more of the identity functions, according to the description thereof in the provisioning interface, to determine whether the user is authorized to access the aggregated service; und Zulassen des Benutzers für den Zugriff auf den gekoppelten Dienst nur, wenn die Analyse ermittelt, dass der Benutzer für den Zugriff auf den gekoppelten Dienst zugelassen ist. and allowing the user to access the aggregated service only if the analyzing determines that the user is allowed to access the aggregated service.
  2. Verfahren nach Anspruch 1, bei dem eine Ausführungsform jeder der Identitätsfunktionen des gekoppelten Dienstes durch mindestens einen der Teildienste bereitgestellt wird. The method of claim 1, wherein an embodiment of each of the identity functions of the aggregated service is provided by at least one of the sub-services.
  3. Verfahren nach Anspruch 1, bei dem: mindestens einer der Teildienste eine lokale Bereitstellungsschnittstelle aufweist, wobei die lokale Bereitstellungsschnittstelle in einem entsprechenden Dienstbeschreibungsdokument beschrieben ist und eine Beschreibung umfasst, wie eine oder mehrere Identitätsfunktionen des Teildienstes aufgerufen werden müssen; The method of claim 1, wherein: at least one of the sub-services has a local provisioning interface, the local provisioning interface is described in a corresponding service description document and a description comprising, as one or more identity functions of the sub service must be invoked; und den Zugriff auf jeden der Teildienste mit der lokalen Bereitstellungsschnittstelle steuert, wobei die Steuerung ferner die folgenden Schritte umfasst: Ermitteln, ob der Benutzer für den Zugriff auf den Teildienst berechtigt ist, durch Aufrufen mindestens einer der einen oder mehreren Identitätsfunktionen des Teildienstes gemäß deren Beschreibung in der lokalen Bereitstellungsschnittstelle; and access to each of the sub-services controlled by the local provisioning interface, wherein the controller further comprises the steps of: determining whether the user is authorized to access the facility by calling at least one of said one or more identity functions of the partial service according to their description in the local provisioning interface; und Zulassen des Benutzers für den Zugriff auf den Teildienst nur, wenn im Ermittlungsschritt ermittelt wird, dass der Benutzer für den Zugriff auf den Teildienst zugelassen ist. and allowing the user to access the facility only if it is determined in said determining step that the user is authorized to access the facility.
  4. Verfahren nach Anspruch 3, bei dem: im Schritt des Empfangens von Berechtigungsnachweisen vom Benutzer auch Teildienstberechtigungsnachweise für mindestens einen der Teildienste mit der lokalen Bereitstellungsschnittstelle empfangen werden; The method of claim 3, wherein: in step of receiving credentials received from the user and facility credentials for at least a part of the services with the local provisioning interface; und die empfangenen Teildienstberechtigungsnachweise im Ermittlungsschritt verwendet werden. and the received sub-service credentials are used in the determination step.
  5. Verfahren nach Anspruch 1, bei dem: eine oder mehrere Funktionen mindestens eines der Teildienste zugriffsgeschützt sind; The method of claim 1, wherein: one or more functions of at least one of the sub-services are access-protected; der Empfangsschritt ferner das Empfangen funktionsspezifischer Berechtigungsnachweise des Benutzers für mindestens eine der zugriffsgeschützten Funktionen und ferner den folgenden Schritt umfasst: Steuern des Zugriffs auf jede der mindestens einen zugriffsgeschützten Funktionen, wobei die Steuerung ferner die folgenden Schritte umfasst: Analysieren der empfangenen funktionsspezifischen Berechtigungsnachweise durch Aufrufen einer oder mehrerer der Identitätsfunktionen gemäß deren Beschreibung in der Bereitstellungsschnittstelle, um zu ermitteln, ob der Benutzer auf die zugriffsgeschützte Funktion zugreifen kann; the receiving step further comprises receiving function-specific credentials of the user for at least one of the functions with access protection and further comprising the step of: controlling access to each of the at least one access-protected functions, wherein the controller further comprises the steps of: analyzing the received function-specific credentials by calling a or more of the identity functions, according to the description thereof in the provisioning interface, to determine whether the user can access the access-protected operation; und Zulassen des Benutzers für den Zugriff auf zugriffsgeschützte Funktion nur, wenn im Schritt zur Analyse der empfangenen funktionsspezifischen Berechtigungsnachweise ermittelt wird, dass der Benutzer auf die zugriffgeschützte Funktion zugreifen kann. and allowing the user to access access-protected function only if it is determined in the step of analyzing the received function-specific credentials that the user can access the access-protected function.
  6. Verfahren nach Anspruch 1, bei dem durch Aufrufen einer oder mehrerer Identitätsfunktionen gewonnene Identitätsinformationen programmgesteuert zwischen mindestens zwei der Teildienste des gekoppelten Dienstes ausgetauscht werden. The method of claim 1, wherein the obtained by invoking one or more identity functions programmatically identity information exchanged between at least two of the sub-services of the aggregated service.
  7. Verfahren nach Anspruch 6, bei dem der programmgesteuerte Austausch das Senden einer Nachricht umfasst, welche die Berechtigungsnachweise in den Kopfdaten der Nachricht und eine Dienstanforderung in einem Textkörper der Nachricht beschreibt. The method of claim 6, wherein the program-controlled exchange comprises transmitting a message, which describes the credentials in the header data of the message and a service request in a body of the message.
  8. Verfahren nach Anspruch 7, bei dem die Nachricht eine SOAP-Nachricht (Simple Objekt Access Protocol, einfaches Zugangsprotokoll für Objekte) ist. The method of claim 7, wherein the message is a SOAP message (Simple Object Access Protocol, easy access protocol for properties).
  9. Verfahren nach Anspruch 1, bei dem das Dienstbeschreibungsdokument in einer Auszeichnungssprache (Markup Language) beschrieben ist. The method of claim 1, wherein the service description document is described in a markup language (Markup Language).
  10. Verfahren nach Anspruch 9, bei dem die Markierungssprache eine Beschreibungssprache für Internetdienste (Web Services Description language, WSDL) ist. The method of claim 9, wherein the markup language is a description language for Internet services (Web Services Description Language, WSDL).
  11. Verfahren nach Anspruch 1, bei dem auf die über das Netz erreichbare Registrierungsdatenbank unter Verwendung von standardisierten Nachrichten zugegriffen wird. The method of claim 1, wherein the access to the network accessible via the registration database using standardized messages.
  12. Verfahren nach Anspruch 1, bei dem eine Ausführungsform mindestens eines der Teildienste dynamisch während der Laufzeit gesucht wird. The method of claim 1, wherein an embodiment at least one of the sub-services is dynamically searched for during run-time.
  13. Verfahren nach Anspruch 6, bei dem die Identitätsinformation zu Anfang als Ergebnis des Analyseschrittes gewonnen wird. The method of claim 6, wherein the identity information is initially obtained as a result of the analysis step.
  14. Verfahren nach Anspruch 6, bei dem die Identitätsinformation ein Identitätsnachweis-Token umfasst, das durch eine der aufgerufenen Identitätsfunktionen erzeugt wurde. The method of claim 6, wherein the identity information comprises an identification token generated by one of the invoked identity functions.
  15. Verfahren nach Anspruch 1, bei dem: mindestens zwei der Teildienste jeweils ein Identitätssystem für die Steuerung des Zugriffs auf die Teildienste zugehörig ist; The method of claim 1, wherein: at least two of the sub-services each an identity system for controlling access is associated to the sub-services; mindestens zwei der zugehörigen Identitätssysteme heterogen sind; at least two of the associated identity systems are heterogeneous; und mindestens eine der ausgewählten Identitätsfunktionen des gekoppelten Dienstes die dynamische Verknüpfung von mindestens zwei der heterogenen Identitätssysteme ermöglicht. and at least one of the selected identity functions of the aggregated service enables the dynamic connection of at least two of the heterogeneous identity systems.
  16. Verfahren nach Anspruch 15, bei dem die mindestens eine ausgewählte Identitätsfunktion nach dem Aufrufen das Identitätssystem erkennt, das Informationen speichert, die zu Benutzern desjenigen Teildienstes gehören, dem dieses Identitätssystem zugeordnet ist. The method of claim 15, wherein the at least one selected identity function detects after invoking the identity system that stores information pertaining to users of that part of the service, which is associated with this identity system.
  17. Verfahren zur Bereitstellung eines gekoppelten Dienstes in einem Rechnernetz, das Folgendes umfasst: ein Mittel zum Empfangen von Berechtigungsnachweisen eines Benutzers, der den Zugriff auf einen gekoppelten Dienst fordert; A method of providing aggregated service in a computer network, comprising: means for receiving credentials of a user who requests access to an aggregated service; ein Mittel zum Suchen in einer über das Netz erreichbaren Registrierungsdatenbank nach einem Dienstbeschreibungsdokument, das eine Bereitstellungsschnittstelle für den gekoppelten Dienst beschreibt, wobei der gekoppelte Dienst eine Vielzahl miteinander gekoppelter Teildienste umfasst und die Bereitstellungsschnittstelle beschreibt, wie Identitätsfunktionen des gekoppelten Dienstes aufgerufen werden müssen; means for searching in a reachable over the network registry for a service description document that describes a provisioning interface for the aggregated service, the aggregated service includes a plurality of interlocking part services and the provisioning interface describes how identity functions of the aggregated service must be called; ein Mittel zum Analysieren der empfangenen Berechtigungsnachweise durch Aufrufen einer oder mehrerer der Identitätsfunktionen gemäß deren Beschreibung in der Bereitstellungsschnittstelle, um zu ermitteln, ob der Benutzer für den Zugriff auf den gekoppelten Dienst berechtigt ist; a means for analyzing the received credentials by invoking one or more of the identity functions, according to the description thereof in the provisioning interface, to determine whether the user is authorized to access the aggregated service; und Zulassen des Benutzers für den Zugriff auf den gekoppelten Dienst nur, wenn die Analyse ermittelt, dass der Benutzer für den Zugriff auf den gekoppelten Dienst zugelassen ist. and allowing the user to access the aggregated service only if the analyzing determines that the user is allowed to access the aggregated service.
  18. Computerprogrammprodukt zur Bereitstellung einer oder mehrerer Softwareressourcen eines gekoppelten Dienstes in einem Rechnernetz, wobei das Computerprogrammprodukt in einem oder mehreren computerlesbaren Medien realisiert ist und Folgendes umfasst: computerlesbare Programmcodemittel zur Ausführung aller Schritte des Verfahrens nach einem der Ansprüche 1 bis 16. Computer program product for providing one or more software resources of an aggregated service in a computer network, said computer program product is implemented in one or more computer-readable media and comprising: computer readable program code means for performing all the steps of the method according to any one of claims 1 to 16.
Description  translated from German
  • HINTERGRUND DER ERFINDUNG BACKGROUND OF THE INVENTION
  • Zugrunde liegende Erfindungen Underlying inventions
  • [0001] [0001]
    Die vorliegende Erfindung betrifft die US-Patentanmeldung RSW920010189 (US-A-2003/055 868, Seriennummer 09/955 788) mit dem Titel „Building Distributed Software Services as Aggregations of Other Services"; die US-Patentanmeldung RSW920010190 (US-A-2003/055 878, Seriennummer 09/956 268) mit dem Titel „Programmatic Management of Software Resources in a Content Framework Environment"; The present invention relates to the US patent application RSW920010189 (US-A-2003/055868, serial number 09/955 788) entitled "Building Distributed Software Services as aggregation of Other Services"; US patent application RSW920010190 (US-A- 2003/055 878, serial number 09/956 268) entitled "Programmatic Management of Software Resources in a Content Framework Environment"; und die US-Patentanmeldung RSW920010144 (US-A-2003/055 624, Seriennummer 09/956 276) mit dem Titel „Dynamic, Real-Time Integration of Software Resources through Services of a Content Framework", die sämtlich an International Business Machines Corporation abgetreten und am 19. September 2001 eingereicht worden sind. Diese US-Patentanmeldungen werden hier als die „verwandten Erfindungen" bezeichnet. and US patent application RSW920010144 (US-A-2003/055624, serial number 09/956 276) entitled "Dynamic, real-time integration of software resources through services of a Content Framework", all of which are at International Business Machines Corporation have been assigned and submitted on 19 September 2001. This US patent applications are herein referred to as the "related inventions".
  • GEBIET DER ERFINDUNG FIELD OF THE INVENTION
  • [0002] [0002]
    Die vorliegende Erfindung betrifft Computersoftware und behandelt vor allem Verfahren zur Bereitstellung gekoppelter Dienste in einer verteilten Rechnerumgebung. The present invention relates to computer software and deals mainly with proceedings to provide coupled services in a distributed computing environment.
  • BESCHREIBUNG DER ZUGRUNDE LIEGENDEN TECHNIK DESCRIPTION OF THE UNDERLYING TECHNOLOGY
  • [0003] [0003]
    Vor allem aufgrund der zunehmenden Nutzung des öffentlichen Internet und dessen als „World Wide Web" (oder einfach „Web") bekannten Teilbereichs durch Geschäftsleute und Privatpersonen haben verteilte Computernetze und die Datenverarbeitung in Netzen in den letzten Jahren große Beliebtheit erlangt. Mainly due to the increasing use of the public Internet and the "World Wide Web" (or simply "Web") known portion by businessmen and individuals have distributed computer networks and data processing in networks in recent years gained great popularity. Auch andere Arten verteilter Computernetze wie beispielsweise interne (Intranet) und von außen zugängliche (Extranet) Unternehmensnetze werden immer beliebter. Other types of distributed computer networks such as internal (intranet) and externally accessible (Extranet) business networks are becoming increasingly popular. Indem sich Lösungsanbieter immer mehr auf die Bereitstellung verbesserter webgestützter Datenverarbeitungsleistungen konzentrieren, können viele der entwickelten Lösungen auf andere verteilte Datenverarbeitungsumgebungen angepasst werden. By itself a solution provider focusing more and more on the provision of improved web-based data processing services, many of the developed solutions can be adapted to other distributed computing environments. Somit dienen die Bezugnahmen auf das Internet und das Web lediglich zur Veranschaulichung und sind nicht als Einschränkung zu verstehen. Thus, the references are used on the Internet and the web only, and are not intended to be limiting.
  • [0004] [0004]
    Ein Bereich, in dem die verteilte Datenverarbeitung Fortschritte macht, ist die so genannte Internetdienstinitiative („web services" initiative). Diese Initiative wird allgemein auch als „dienstorientierte Architektur" für verteilte Datenverarbeitung bezeichnet. One area in which the distributed computing is making progress, is the so-called Internet Service Initiative ("web services" initiative). This initiative is commonly referred to as "service-oriented architecture" for distributed data processing. Internetdienste stellen eine sich schnell entwickelnde Technologie für die Integration verteilter Anwendungen im Internet dar. Ein „Internetdienst" ist allgemein eine Schnittstelle, die einen Satz über das Netz verfügbarer Operationen beschreibt. Internetdienste führen eine bestimmte Aufgabe oder einen Satz Aufgaben aus. Sie können mit einem oder mehreren anderen Internetdiensten kooperieren, um ihren Anteil zum Arbeitsablauf oder einer geschäftlichen Transaktion beizusteuern. Zum Beispiel kann die Bearbeitung der Transaktion einer komplexen Bestellung eine automatisierte Zusammenarbeit zwischen einem Bestelldienst (dh der Bestellsoftware) beim bestellenden Unternehmen und einem Bestellungsbearbeitungsdienst bei einem oder mehreren Geschäftspartnern erfordern. Internet services are a rapidly developing technology for the integration of distributed applications on the Internet. An "Internet Service" is generally an interface that describes a set through the network of available operations. Internet services perform a specific task or set of tasks. You can use a cooperate or more other Internet services, to contribute their share to the workflow, or a business transaction. For example, require automated collaboration between an ordering service (ie the order software) when ordering company and order processing service with one or more business partners to process the transaction of a complex order ,
  • [0005] [0005]
    Viele Fachleute aus der Industrie sind der Meinung, dass die dienstorientierte Internetdienstinitiative die nächste Umwälzung des Internets darstellen wird. Many industry professionals are of the opinion that the service-oriented Internet service initiative will be the next revolution of the Internet. Durch Internetdienste wird für kooperierende Programme der Zugriff auf Software in verteilten Netzen ohne menschliches Eingreifen in großem Umfang verfügbar. Through internet services, access to software in distributed networks without human intervention on a large scale is available for cooperating programs.
  • [0006] [0006]
    Internetdienste sind im Allgemeinen nach einem Modell aufgebaut, bei dem ein Unternehmen, das Dienste über das Netz anbietet, diese Dienste in einer über das Netz erreichbaren Registrierungsdatenbank bekannt macht, und andere Unternehmen, die solche Dienste benötigen, die Registrierungsdatenbank abfragen können, um die Verfügbarkeit der Dienste in Erfahrung zu bringen. Internet services are generally constructed according to a model in which a company providing services via the network, these services makes known in a reachable over the network registry, and other companies who need such services, the registry can inquire about the availability to bring the services experience. Die Teilnehmer an diesem Datenverarbeitungsmodell werden im Allgemeinen als (1) Dienstanbieter (Service Provider), (2) Dienstanforderer (Service Requester) und (3) Dienstvermittler (Service Broker) bezeichnet. The participants in this computing model are generally referred to as (1) Service Provider (Service Provider), (2) service requester (service requester) and (3) Service Agent (Service Broker). Diese Teilnehmer und die grundlegenden Arbeitsschritte beim Austauschen von Nachrichten zwischen den Teilnehmern sind in These participants and the basic steps exchanging messages between participants in 1 1 dargestellt. shown. Die Dienstanbieter The service provider 100 100 stellen diejenigen Einheiten dar, die Dienste bereithalten, und die Registrierungsdatenbank, in der diese Dienste veröffentlicht represent those units are ready stop the services, and the registration database in which publishes these services 110 110 werden, wird durch einen Dienstvermittler be, is a service broker 120 120 verwaltet. managed. Die Dienstanforderer The service requester 150 150 sind Einheiten, welche Dienste benötigen und die Registrierungsdatenbank des Dienstvermittlers abfragen are units that require services and query the registry of the service agent 140 140 . , Wenn in der Registrierungsdatenbank ein gewünschter Dienst gefunden wurde, stellt der Dienstanforderer eine Verbindung zu ermittelten Dienstanbieter her When a desired service has been found in the registry database, the service requester to connect to identified service providers ago 130 130 , um den Dienst zu nutzen. To use the service. Diese Arbeitsschritte erfolgen nach einem Programm ohne menschliches Eingreifen, sodass ein Dienstanforderer nach einem bestimmten Dienst suchen und diesen Dienst dynamisch, dh während der Laufzeit, nutzen kann. These steps are carried out according to a program without human intervention, so that a service requester search for a particular service and this service dynamically, ie, can use at runtime. Das Modell der Internetdienste ist theoretisch für jede Art Datenverarbeitungsanwendung verfügbar. The model of Internet services is theoretically available for each type of data processing application. Die gegenwärtig über Registrierungsdatenbanken verfügbaren Internetdienste sind jedoch auf relativ einfache Programme wie beispielsweise Demoprogramme „Hello, World!", Programme, die für eine bestimmte Postleitzahl die aktuelle Temperatur angeben, Programme zur Ausführung von Währungsumrechnungen usw. beschränkt. However, presently about registration databases available Internet services, etc. limited to relatively simple programs such as demo programs "Hello, World!" Program, which indicates the current temperature for a given zip code, programs for execution on currency conversion.
  • [0007] [0007]
    Zu den grundlegenden Standards, mit denen die Internetdienste arbeiten, gehören HTTP (Hypertext Transfer Protocol, Übertragungsprotokoll für Hypertext), SOAP (Simple Object Access Protocol, einfaches Zugangsprotokoll für Objekte) und/oder XML-Protokoll (Extensible Markup Language, erweiterte Auszeichnungssprache), WSDL (Web Services Description Language, Beschreibungssprache für Internetdienste) und UDDI (Universal Description, Discovery, and Integration; universelle Beschreibung, Erkennung und Integration). The basic standards with which the Internet services work, including HTTP (Hypertext Transfer Protocol, transmission protocol for hypertext), SOAP (Simple Object Access Protocol, easy access protocol for objects) and / or XML protocol (Extensible Markup Language, extended markup language) WSDL (Web Services Description Language, description language for web services) and UDDI (Universal Description, Discovery, and Integration; universal description, discovery and integration). Das HTTP wird allgemein zum Austauschen von Nachrichten über TCP/IP-Netze (Transmission Control Protocol/Internet Protocol, Protokoll für die Übertragungskontrolle/Internetprotokoll) wie das Internet verwendet. The HTTP is generally to exchange messages over TCP / IP (Transmission Control Protocol / Internet Protocol is a protocol for transmission control / Internet Protocol) how the Internet is used. Das SOAP ist ein auf XML beruhendes Protokoll für das Senden von Nachrichten zum Aufrufen von Verfahren in einer verteilten Umgebung. The SOAP is an XML-based protocol for sending messages to invoke methods in a distributed environment. Das XML-Protokoll ist eine neuere Beschreibung des WWW-Konsortiums (W3C) für ein Übertragungsprotokoll der Anwendungsschicht, das die Übertragung von Nachrichten zwischen Anwendungen ermöglicht und mit dem SOAP verschmelzen kann. The XML protocol is a more recent description of the World Wide Web Consortium (W3C) for a transfer application layer protocol that allows the transfer of messages between applications and can merge with the SOAP. WSDL ist ein XML-Format zur Beschreibung verteilter Netzdienste. WSDL is an XML format for describing distributed network services. UDDI ist ein Registrierungsverfahren auf der Grundlage von XML, mit dessen Hilfe Unternehmen ihre Dienste auflisten und mit dessen Hilfe Dienstanforderer Unternehmen finden können, die bestimmte Dienste anbieten. UDDI is a registration procedure based on XML, which helps companies to list their services and with the help of the service requester can find companies that provide specific services. (Nähere Informationen zu SOAP sind in „Simple Object Access Protocol (SOAP) 1.1, W3C Note 08 May 2000" zu finden, das im Internet unter http://www.w3.org/TR/2000/NOTE-SOAP-20000508 erhältlich ist. Nähere Informationen zum XML-Protokoll und der Schaffung eines XML-Protokollstandards sind unter http://www.w3.org/2000/xp zu finden. Die Beschreibung der WSDL mit dem Titel (Web Services Description Language (WSDL) 1.1, W3C Note 15 March 2001) ist im Internet unter http://www.w3.org/TR/2001/NOTE-wsdl-20010315 zu finden. Nähere Informationen zu UDDI sind in der UDDI-Beschreibung mit dem Titel „UDDI Version 2.0 API Specification, UDDI Open Draft Specification 8 June 2001" zu finden, die im Internet unter http://www.uddi.org/specification.html erhältlich ist. Die HTTP wird in „Request For Comments" („RFC") der Internet Engineering Task Force unter dem Titel „Hypertext Transfer Protocol -- HTTP/1.1" beschrieben. (For more information about SOAP are "2000 Simple Object Access Protocol (SOAP) 1.1, W3C Note 08 May" to see the available online at http://www.w3.org/TR/2000/NOTE-SOAP-20000508 is. For more information on XML protocol and the creation of an XML protocol standards can be found at http://www.w3.org/2000/xp. The description of the WSDL with the title (Web Services Description Language (WSDL) 1.1, W3C Note 15 March 2001) is available on the Internet at http://www.w3.org/TR/2001/NOTE-wsdl-20010315. For more information about UDDI are in the UDDI specification entitled "UDDI Version 2.0 API , UDDI Open Draft Specification Specification 8 June 2001 'to find available under http://www.uddi.org/specification.html the Internet. The HTTP is in "Request For Comments" ("RFC") of the Internet Engineering Task Force, titled "Hypertext Transfer Protocol - HTTP / 1.1" described.
  • [0008] [0008]
    Die Integration von Anwendungen unter Anwendung dieser offenen Standards erfordert mehrere Schritte. The integration of applications using these open standards requires several steps. Es muss die Schnittstelle zu einem Internetdienst beschrieben werden, die den Namen der Verfahren zum Aufrufen des Dienstes, die Eingabe- und Ausgabeparameter des Verfahrens und dessen Datentypen usw. beinhaltet. It must be the interface are described to an Internet service that includes the name of the method to invoke the service, the input and output parameters of the method and its data types etc. Diese Informationen werden durch WSDL-Dokumente bereitgestellt und unter Verwendung einer UDDI-Bekanntmachungsoperation an eine Registrierungsdatenbank gesendet, die gemäß der UDDI-Beschreibung aufgebaut ist. This information is provided by WSDL documents and sent using a UDDI publication operation on a registry, which is constructed according to the UDDI specification. Sobald der Dienst in der UDDI-Registrierungsdatenbank registriert ist, können Dienstanforderer UDDI-Suchanfragen ausgeben, um verteilte Dienste ausfindig zu machen. Once the service in the UDDI registry database is registered, the service requester can spend UDDI queries to make distributed services identified. Dann gibt ein Dienstanforderer, der auf diese Weise einen Dienst gefunden hat, eine UDDI-Verknüpfungsanforderung aus, die den Anforderer unter Verwendung der Dienstinformation aus dem WSDL-Dokument dynamisch mit dem gefundenen Dienst verknüpft. Then, a service requester who has thus found one service, UDDI link request from that associates the requester using the service information from the WSDL document dynamically with the service found. (Diese UDDI-Operationen sind in (This UDDI operations are in 1 1 als Prinzipdarstellung gezeigt.) Zur Übertragung der WSDL-Dokumente und der UDDI-Anforderungen werden im Allgemeinen SOAP/XML-Protokoll- und HTTP-Nachrichten verwendet. To transfer the WSDL documents and UDDI requirements SOAP / XML protocol and HTTP messages are generally used as a basic illustration shown.). (Im Folgenden sind Bezüge auf SOAP so zu verstehen, dass sie gleichwertig und semantisch ähnliche Aspekte des XML-Protokolls bedeuten. Darüber hinaus wird darauf hingewiesen, dass Bezüge auf „HTTP" im allgemeingültigen Sinne HTTP-ähnliche Funktionen bedeuten sollen. Einige UDDI-Operationen beispielsweise erfordern HTTPS anstelle von HTTP, wobei HTTPS eine HTTP-Version mit erhöhter Sicherheit ist. Diese Unterschiede sind für die vorliegende Erfindung jedoch ohne Belang, sodass im Folgenden bei der Erörterung des HTTP kein Unterschied gemacht wird.) (Hereinafter, references to SOAP are to be understood to mean equivalent semantically similar aspects of the XML protocol. In addition, it is noted that references to "HTTP" shall mean in the general sense HTTP-like features. Some UDDI operations for example, require HTTPS instead of HTTP, HTTPS, which is an HTTP-security-enhanced version. However, these differences are not relevant to the present invention, so below in the discussion of HTTP no distinction is made.)
  • [0009] [0009]
    Das Ziel von Internetdiensten besteht darin, Dienstanforderern einen transparenten Zugriff auf Programmkomponenten zu ermöglichen, die sich an einem oder mehreren fernen Standorten befinden können, selbst wenn diese Komponenten auf verschiedenen Betriebssystemen laufen und in anderen Programmiersprachen als denen des Anforderers geschrieben sind. The goal of Internet services is to enable service requestors transparent access to program components which can be located on one or more remote locations, even if these components run on different operating systems and are written in other languages than those of the requester. Obwohl bereits umfangreiche Arbeit zum Definieren der Ziele, der Architektur und der Standards geleistet worden ist, auf die sich die Internetdienste stützen, bleibt noch viel zu tun, damit die Internetdienste wirksam und leistungsfähig arbeiten können. Although extensive work to define the goals, architecture and standards has been done already, as a basis for the Internet services, much remains to be done so that the Internet services can work effectively and efficiently.
  • [0010] [0010]
    Insbesondere ist zu berücksichtigen, dass sich Benutzer bei vielen Anwendungsdiensten, die auf herkömmliche Weise bereitgestellt werden, vor deren Nutzung einer Identitätsprüfung und einer Berechtigungsprüfung unterziehen müssen. In particular, it should be noted that users must undergo prior to using an identity verification and authorization checks in many application services that are provided in a conventional manner. Unter der Identitätsprüfung ist hier die Ermittlung der Tatsache zu verstehen, dass der Benutzer wirklich derjenige ist, für den er sich ausgibt, während unter der Berechtigungsprüfung normalerweise zu verstehen ist, mit welchen Zugriffsrechten dieser Benutzer ausgestattet ist oder ob dieser Benutzer auf einen bestimmten Dienst oder dessen Funktion zugreifen darf. Under the identity verification here is to determine the fact to understand that the user is really the one he claims to be, whereas under the authorization check to see normally, is equipped with the access permissions that user or whether that user to a specific service or is allowed to access the function. D. Ferguson beschreibt in „Technical and Product Architecture and Roadmap", IBM Web Services, [Online] Mai 2001 (2001-05), S. 1 bis 42, XP002272181 ein solches Verfahren. Es ist beabsichtigt, dass in der Umgebung von Internetdiensten ein Dienstanbieter dynamisch ausfindig gemacht werden kann, um einen bestimmten Dienst auszuführen. Wenn mehrere Dienstanbieter zur Verfügung stehen, kann aus diesen Dienstanbietern anhand Kriterien wie beispielsweise des Preises für die Nutzung des Dienstes dieses Anbieters, der garantierten Antwortzeit dieses Anbieters usw. ein bestimmter Dienstanbieter ausgewählt werden. Jeder Dienstanbieter kann für die Identitäts- und Berechtigungsprüfungsinformationen unterschiedliche Formate sowie eigene Verfahren für den Zugriff auf die Identitäts- und Berechtigungsprüfungsfunktionen verwenden. Den Erfindern sind bislang keine Verfahren zum Zusammenschließen oder Koppeln unterschiedlicher Identitätssysteme in der Umgebung von Internetdiensten bekannt, die die Nutzung von miteinander verbundenen Internetdiensten deutlich befördern würden. D. Ferguson describes in "Technical and Product Architecture and Roadmap," IBM Web Services [Online] May 2001 (2001-05), pages 1 to 42, XP002272181 such a process. It is intended that in the area of Internet services a service provider can be made dynamically locate to perform a particular service. If several service providers are available to a particular service provider can from these service providers based on criteria such as the price of the use of the service that provider, the guaranteed response time from this agent etc. selected be. Each service provider may use different formats and specific procedures for access to the identity and authorization functions for the identity and authorization information. The inventors no method of assembling closing or coupling distinct identity systems in the area of Internet services known so far of the use interconnected Internet services would promote significantly.
  • ZUSAMMENFASSUNG DER ERFINDUNG SUMMARY OF THE INVENTION
  • [0011] [0011]
    Die vorliegende Erfindung ist in den anhängenden Ansprüchen definiert und stellt Verfahren, Systeme und Computerprogrammprodukte für miteinander verbundene Dienste in einem Datenverarbeitungsnetz bereit. The present invention is defined by the appended claims and provides methods, systems and computer program products for interconnected services in a data processing network ready. Bei bevorzugten Ausführungsarten bieten eine oder mehrere Softwareressourcen einen gekoppelten Dienst, wobei dieses Verfahren folgende Schritte umfasst: Definieren einer Bereitstellungsschnittstelle des gekoppelten Dienstes; In preferred embodiments, one or more software resources provide an aggregated service, said method comprising the steps of: defining a provisioning interface of the aggregated service; Beschreiben der Bereitstellungsschnittstelle in einem Dienstbeschreibungsdokument; Describe the provisioning interface in a service description document; Empfangen von Berechtigungsnachweisen eines Benutzers des gekoppelten Dienstes gemäß dem Dienstbeschreibungsdokument; Receiving credentials of a user of the aggregated service according to the service description document; Analysieren der empfangenen Berechtigungsnachweise; Analyzing the received credentials; und Erteilen der Erlaubnis für den Benutzer, den gekoppelten Dienst zu nutzen, wenn dies durch die Analyse angezeigt wird. and granting permission to the user to use the aggregated service if indicated by the analysis.
  • [0012] [0012]
    Das Verfahren kann ferner das Definieren einer Bereitstellungsschnittstelle mindestens einer der einen oder mehreren Softwareressourcen des gekoppelten Dienstes oder jeder der mindestens einen Softwareressourcen umfassen, indem die Bereitstellungsschnittstelle eines durch die Softwareressource ausgeführten Dienstes im Dienstbeschreibungsdokument oder in einem oder mehreren anderen Dienstbeschreibungsdokumenten beschrieben wird. The method may further include defining a provisioning interface at least one of the one or more software resources of the aggregated service or each of the at least one software resources by the provisioning interface of an executed by the software resource service is described in the service description document or in one or more other service description documents. In diesem Fall können Berechtigungsnachweise des Benutzers gemäß dem Dienstbeschreibungsdokument oder gemäß dem einen oder den mehreren anderen Dienstbeschreibungsdokumenten nicht nur für den gekoppelten Dienst, sondern auch für die mindestens eine Softwareressource empfangen werden. In this case, the user credentials can be received not only for the aggregated service, but also for the at least one resource software according to the service description document or in accordance with one or more other service description documents. Dann kann dem Benutzer vorzugsweise die Nutzung ausgewählter durch die Bereitstellungsschnittstelle der mindestens einen Softwareressource angebotener, Dienste erlaubt werden, wenn dies wiederum durch die Analyse dieser Berechtigungsnachweise angezeigt wird. Then the user can preferably be selected allowed by the provisioning interface of the at least one software resource offered, service use, if this is again indicated by the analysis of these credentials.
  • [0013] [0013]
    Bei bevorzugten Ausführungsarten umfasst die Analyse die (1) Identitätsprüfung und/oder (2) die Berechtigungsprüfung der Berechtigungsnachweise. In preferred embodiments, the analysis includes (1) identity verification and / or (2) the authorization check the credentials.
  • [0014] [0014]
    Somit können Identitätsinformationen durch Programme zwischen verteilten Diensten übertragen werden, die durch Softwareressourcen des gekoppelten Dienstes ausgeführt werden. Thus, identity information can be transmitted through programs between distributed services that are performed by software resources of the aggregated service. Vorzugsweise umfasst das Übertragen durch Programme das Senden einer Nachricht, die in den Kopfdaten der Nachricht den Berechtigungsnachweis und in einem Hauptteil der Nachricht eine Dienstanforderung umfasst. Preferably, the transmitting comprises programs by sending a message that the credentials and in a body of the message included in the header of the message is a request for service. Die Nachricht kann zum Beispiel eine SOAP-Nachricht (Simple Object Access Protocol, einfaches Zugangsprotokoll für Objekte) sein. The message may be, for example, a SOAP message (Simple Object Access Protocol, easy access protocol for objects).
  • [0015] [0015]
    Die Markierungssprache wird vorzugsweise zum Beschreiben der Dienstbeschreibungsdokumente genutzt. The markup language is preferably used to describe the service description documents. Als Markierungssprache dient vorzugsweise die Beschreibungssprache für Internetdienste (Web Services Description Language, WSDL). As a markup language used is preferably the description language for web services (Web Services Description Language, WSDL).
  • [0016] [0016]
    Das Verfahren kann ferner das Registrieren des Dienstbeschreibungsdokuments in einer Registrierungsdatenbank umfassen, bei der es sich um eine über das Netz erreichbare Registrierungsdatenbank handeln kann, auf die unter Verwendung standardisierter Nachrichten zugegriffen wird. The method may further include registering the service description document in a registry, which may be a reachable over the network registration database to be accessed using standardized messages.
  • [0017] [0017]
    Im Folgenden werden bevorzugte Ausführungsarten lediglich beispielhaft unter Bezug auf die folgenden Zeichnungen beschrieben, wobei gleiche Bezugsnummern grundsätzlich dieselben Elemente bezeichnen. In the following preferred embodiments are described only by way of example with reference to the following drawings, wherein like reference numerals generally designate the same elements.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN BRIEF DESCRIPTION OF THE DRAWINGS
  • [0018] [0018]
    1 1 zeigt ein Schaubild, das die beteiligten Parteien und die Grundoperationen eines dienstorientierten Architektur nach dem Stand der Technik veranschaulicht; shows a graph illustrating the parties involved and the basic operations of a service-oriented architecture according to the prior art;
  • [0019] [0019]
    2 2 ist ein Blockschaubild, das ein Portlet gemäß den bevorzugten Ausführungsarten der verwandten Erfindungen veranschaulicht, das als Internetdienst-Proxy aufgebaut ist; is a block diagram illustrating a portlet according to preferred embodiments of the related inventions, which is constructed as a Web service proxy;
  • [0020] [0020]
    3A 3A und and 3B 3B veranschaulichen den Inhalt von WSDL-Dokumenten, die eine Verteilerschnittstelle bzw. eine Systemschnittstelle gemäß bevorzugten Ausführungsarten der verwandten Erfindungen beschreiben; illustrate the content of WSDL documents that describe a distribution interface and a system interface according to preferred embodiments of the related inventions;
  • [0021] [0021]
    4 4 veranschaulicht das Stapelmodell für Internetdienste zur Koppelung von Diensten gemäß der Beschreibung der verwandten Erfindungen; illustrates the stack model for Internet services for the coupling of services in accordance with the description of the related inventions;
  • [0022] [0022]
    5A 5A bis to 5E 5E veranschaulichen als Beispiel einen Ausschnitt aus einem WSDL-Dokument gemäß bevorzugten Ausführungsarten der vorliegenden Erfindung, das eine Bereitstellungsschnittstelle eines Dienstes beschreibt; illustrate an excerpt from a WSDL document in accordance with preferred embodiments of the present invention, which describes a provisioning interface of a service;
  • [0023] [0023]
    6 6 zeigt ein Ablaufschaubild, das zur Ausführung bevorzugter Ausführungsarten der vorliegenden Erfindung verwendet werden kann; shows a flow diagram that can be used to practice preferred embodiments of the present invention; und and
  • [0024] [0024]
    7A 7A und and 7B 7B zeigen ein Beispiel einer SOAP-Nachricht nach dem Stand der Technik, die in ihren Kopfdaten eine digitale Signatur enthält. show an example of a SOAP message according to the prior art, which contains a digital signature in its header data.
  • BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSARTEN DESCRIPTION OF PREFERRED EMBODIMENTS
  • [0025] [0025]
    Das Versprechen von Internetdiensten lautet, dass verteilte Anwendungen wie nie zuvor zusammenarbeiten können, indem sie durch die Offenheit und Konzentration von Unternehmenssystemen eine neue Generation nahtlos hochintegrierter Anwendungen bieten. The promise of Internet services is that distributed applications like never before can work together by providing a new generation of highly integrated seamlessly applications by the openness and concentration of enterprise systems. Internetdienste stellen verteilte Softwareressourcen breiteren Kreisen zur Verfügung, sodass Software nun als Dienstleistung vermarktet werden kann. Internet services provide distributed software resources more widely available, so that software can be marketed as a service now. Dienste von einem oder mehreren Dienstanbietern werden dynamisch miteinander gekoppelt, um Benutzern die zum Ausführen einer Aufgabe oder eines Dienstes, der jedem betreffenden Benutzer gerade von Interesse ist, benötigte Funktionalität zu bieten. Services of one or more service providers are dynamically coupled together to provide the functionality to perform a task or a service that is relevant to each user is of interest, users need. Zur wirksamen Nutzung dieser dynamisch integrierten Dienste muss es möglich sein, die von ihnen verwendeten heterogenen Identitätssysteme automatisch und dynamisch miteinander zu verknüpfen. To effectively use these dynamic integrated services, it must be possible to combine the heterogeneous identity systems used by them automatically and dynamically with each other. Dies muss während der Laufzeit erfolgen können, damit (menschliche oder programmgesteuerte) Benutzer nahtlos auf Identität und Zugangsberechtigung für die Nutzung der Dienste geprüft oder „identifiziert" werden können. Darüber hinaus ist es wünschenswert, diese nahtlose Identitätsprüfung mit einmaliger Anmeldung durchzuführen, da mehrfache Identitätsprüfung während der Ausführung eines bestimmten Dienstes (einschließlich Diensten, die aus mehreren Teildiensten bestehen) zur Verärgerung führt und zeitaufwändig und unproduktiv ist. Die vorliegende Erfindung stellt gemäß der Beschreibung für diese Anforderungen eine Lösung bereit und verbessert die Leistungsfähigkeit einer Anzahl Verfahren nach dem offenen Industriestandard. This needs to be done at run time for (human or programmatic) Users checked seamlessly on identity and access authorization for the use of the Services or can be "identified". Moreover, it is desirable to perform this seamless identity verification with a single sign, because multiple identity verification during the execution of a particular service (including services composed of several sub-services) leads to irritation and is time-consuming and unproductive. The present invention as described for these requirements a solution and improves the performance of a number of methods according to the open industry standard.
  • [0026] [0026]
    Vor der Erörterung der Einzelheiten der Ausführungsarten ist ein Blick auf Hintergrundinformationen hilfreich, darunter auf die Technologien, auf denen bevorzugte Ausführungsarten der Erfindung aufbauen. Before discussing the details of the embodiments of a look at background information is helpful, including the technologies based on which preferred embodiments of the invention. In den verwandten Erfindungen werden Verfahren zur Verwaltung von Internetdiensten und zum Bereitstellen eines Verknüpfungspunktes definiert, an dem Dienste zu neuen Diensten miteinander gekoppelt werden können, die dann verteilt werden können. In the related inventions procedures for the management of Internet services and for providing a connection point are defined at which services to new services can be linked to each other, which can then be distributed. Bevorzugte Ausführungsarten der verwandten Erfindungen bauen auf einem Inhaltssystem wie beispielsweise einer Portalplattform auf, da ein solches System viele integrierte Dienste für die Verwaltung von Inhalten und die Speicherung von Diensten bietet wie beispielsweise Nachhaltigkeit, Personalisierung und Codeumsetzung. Preferred embodiments of the related inventions are based on a content system such as a portal platform, since such a system many integrated services for managing content and storage services offers such as sustainability, personalization and code implementation. Die in den verwandten Erfindungen beschriebenen Verfahren erweitern die Plattformen, um die Kopplung, Verteilung und Verwaltung von Internetdiensten zu ermöglichen. The methods described in the related inventions extend the platforms to allow coupling, distribution and management of Internet services. Es wurde ein Verknüpfungstool mit Modellcharakter beschrieben, das zum Definieren eines gekoppelten Dienstes verwendet werden kann; It has been described as a model, a shortcut tool that can be used to define an aggregated service; dann können Softwareressourcen gemäß dieser Definition für gekoppelte Dienste programmgesteuert integriert werden. then software resources can be integrated programmatically according to this definition for coupled services. Darüber hinaus können die gekoppelten Dienste automatisch verwaltet werden. In addition, the coupled services can be managed automatically.
  • [0027] [0027]
    Die vorliegende Erfindung definiert Verfahren zum Bereitstellen der gekoppelten Dienste, die sieh aus der Anwendung der verwandten Erfindungen ergeben. The present invention defines methods for providing the coupled services arising visit from the application of related inventions. Diese Verfahren können auch an gekoppelte Dienste angepasst werden, die anderweitig erzeugt werden, ohne vom Geltungsbereich der vorliegenden Erfindung abzuweichen. These methods can also be adapted to coupled services that are otherwise formed without departing from the scope of the present invention. Darüber hinaus ist anzumerken, dass in der vorliegenden Erörterung zwar von der Bereitstellung „gekoppelter" Dienste die Rede ist, aber ein gekoppelter Dienst wiederum ein (aus Teildiensten bestehender) Internetdienst ist und die vorliegende Erfindung deshalb vorteilhaft in Verbindung mit solchen Internetdiensten angewendet werden kann, die als elementare Dienste anzusehen sind (und deshalb einen Spezialfall von Kopplung darstellen, bei der der Satz gekoppelter „Teildienste" aus nur einem Element besteht). In addition, it should be noted that in the present discussion, namely the provision of "coupled" services are mentioned, but a coupled service turn on (off parts services for existing) is Internet service and the present invention can therefore be used to advantage in connection with such Internet services, which are regarded as elementary services (and therefore represent a special case of coupling, wherein the set of coupled "sub-services" only one element).
  • [0028] [0028]
    Eine handelsübliche Portalplattform, auf welcher Ausführungsarten der vorliegenden Erfindung (wie auch der verwandten Erfindungen) aufgebaut werden können, ist der WebSphere ® Portal Server („WPS") von der International Business Machines Corporation („IBM"). A commercial portal platform on which embodiments of the present invention (as well as the related inventions) can be established, the WebSphere ® Portal Server ("WPS") of the International Business Machines Corporation ("IBM"). („WebSphere" ist ein eingetragenes Warenzeichen von IBM.) Zu beachten ist jedoch, dass bei der Erörterung der verwandten Erfindungen und der vorliegenden Erfindung von einer Portalplattform die Rede ist, aber die erfindungsgemäßen Konzepte auf andere Arten von Inhaltssysteme angewendet werden können, die eine analoge Funktionalität bieten und auch auf andere Portale als WPS angewendet werden können, sodass die Nennung von Portalen und ihrer Portlet-Ausführung lediglich zur Veranschaulichung dient und nicht als Einschränkung aufzufassen ist. ("WebSphere" is a registered trademark of IBM.) Note, however, that in the discussion of related inventions and the invention of a portal platform is mentioned, but the inventive concepts can be applied to other types of content systems, a offer similar functionality and can be used as WPS to other portals, so the mention of portals and their portlet execution merely illustrative and is not to be construed as limiting.
  • [0029] [0029]
    Die dynamische Integration von Internetdiensten während der Laufzeit, die durch die verwandten Erfindungen ermöglicht wird, kann ein Verknüpfungs-Tool für die Kopplung neuer Internetdienste verwenden. The dynamic integration of web services at runtime, which is made possible by the related inventions, can use a shortcut tool for the coupling of new Internet services. Unter Verwendung dieses Verknüpfungs-Tool kann ein Systemadministrator (oder entsprechend ein Dienstentwickler oder eine andere Person) einen neuen Dienst definieren, der sich aus differenzierten Diensten zusammensetzt. Using this link tool, a system administrator (or a service developer or any other person accordingly) define a new service, which is composed of differentiated services. Die differenzierten Dienste, aus denen sich andere Dienste zusammensetzen können, können lokal oder auf fernen Rechnern untergebracht sein, und die Verfahren der verwandten Erfindungen ermöglichen das Aufrufen und Nutzen dieser Dienste auf transparente weise unabhängig davon, ob sie lokal oder auf fernen Rechnern untergebracht sind. The differentiated services, from which other services can put together can be local or located on remote systems, and procedures related inventions enable the accessing and using these services in a transparent fashion regardless of whether they are located locally or on remote systems. Die differenzierten Dienste können eine beliebige Form von Programmlogik einschließlich Scriptprogrammen, JavaTM-Klassen, Computer-Klassen, EJBs („Enterprise JavaBeans" TM ), gespeicherte Prozeduren, IMS oder andere Datenbanktransaktionen, herkömmliche Anwendungen usw. enthalten. („Java" und „Enterprise JavaBeans" sind Warenzeichen von Sun Microsystems, Inc.) Die auf diese Weise erzeugten Internetdienste können dann durch die Portalplattform automatisch verwaltet und auch zum rekursiven Erzeugen neuer Internetdienste verwendet werden, was in den verwandten Erfindungen beschrieben wird. The differentiated services can use any form of program logic including script programs, Java ™ classes, computer classes, EJBs ("Enterprise Java Beans" TM), stored procedures, IMS or other database transactions, legacy applications and so on. ("Java" and "Enterprise Java Beans "are trademarks of Sun Microsystems, Inc.) The Internet services generated in this way can be automatically managed by the portal platform and used for recursively generating new Internet services then what is described in the related inventions.
  • [0030] [0030]
    Die verwandten Erfindungen werten die Portlets zur Portalschnittstelle auf und bauen, auch auf dem Konzept einer fernen Portlet-Schnittstelle auf (wo diese Konzept auf programmgesteuerte Portlets erweitert wird), um den Zugriff auf Softwareressourcen zu ermöglichen. The related inventions add value to the portlets to portal interface and build on the concept of a remote portlet interface (where this concept is extended to programmatic portlets) to provide access to software resources. Auf diese Weise funktionierende Portlets können als „Internetdienstvermittler" oder als „Internetdienst-Proxys" bezeichnet werden. In this way, working portlets can be referred to as "Internet service broker" or "Internet service proxies". Das heißt, durch die verwandten Erfindungen wird ein Portlet in die Lage versetzt, als Vermittler zwischen einer Anwendung oder Softwareressource zu agieren, die einen bestimmten Dienst und eine diesen Dienst leistende Softwareressource anfordert. That is, by the related inventions is a portlet able to act as an intermediary between an application or software resource that is requesting a particular service and this service payable software resource. Die Softwareressource, die eine bestimmte Funktion ausführt, kann statisch mit einem Internetdienst-Proxy (zum Beispiel während der Entwicklung) oder mit einer Softwareressource gekoppelt sein, die dynamisch ausgewählt wird (zum Beispiel anhand von Kriterien, die während der Laufzeit geprüft werden). The software resource that performs a specific function can be statically linked to a web service proxy (for example, during development) or with a software resource that is dynamically selected (for example, based on criteria that are checked at run time). In beiden Fällen empfängt der Portlet-Proxy Anforderungsnachrichten und leitet sie an die Softwareressource weiter, mit der er verbunden ist; In both cases, the portlet proxy receives request messages and forwards them to the software resource continues, with which it is connected; sobald die Softwareressource die angeforderte Funktion ausgeführt hat, sendet sie ihre Antwort an den Portlet-Proxy zurück, der diese wiederum an den Anforderer weiterleitet. once the software resource has completed the requested function, it returns its response to the portlet proxy which then forwards this to the requestor.
  • [0031] [0031]
    Anzumerken ist, dass die zum Ausführen eines gekoppelten Dienstes aufgerufenen Softwareressourcen für ein Zusammenwirken zwischen Programmen ausgelegt, alternativ aber ihrem Wesen nach auch visuell gestaltet sein können. It should be noted that to run a service called coupled software resources designed for interaction between programs, but alternatively by its very nature can also be designed visually. Zum Beispiel können visuell gestaltete Ressourcen während der Ausführung eines Internetdienstes aufgerufen werden, der in erster Linie nur zwischen Programmen ausgeführt wird. For example, can be accessed visually designed resources during the execution of an Internet service that is only executed primarily between programs. Der hier gebrauchte Begriff „programmgesteuertes Portlet" bezeichnet im Allgemeinen Portlet-Proxys gemäß den verwandten Erfindungen und der vorliegenden Erfindung unabhängig davon, ob die zugrunde liegenden Softwareressourcen einen Code für visuelle Darstellung beinhalten. As used herein the term "program-controlled portlet" generally refers to a portlet proxy in accordance with the related inventions and the present invention, regardless of whether the underlying software resources include a code for visual representation.
  • [0032] [0032]
    2 2 zeigt ein Blockschaubild, das ein als Internetdienst-Proxy aufgebautes Portlet gemäß den verwandten Erfindungen veranschaulicht. shows a block diagram illustrating a constructed as a Web service proxy portlet according to the related inventions. Dabei beinhaltet der Portlet-Proxy This includes the portlet proxy 240 240 eine Verteilungsschnittstelle a distribution interface 210 210 , eine Systemschnittstelle , A system interface 220 220 und eine Funktionsschnittstelle and a function interface 230 230 . , Der Portlet-Proxy tauscht über diese Schnittstellen Daten mit einer Portalplattform The portlet proxy exchanged through these interfaces data with a portal platform 200 200 aus und dient als Vermittler zwischen der Portalplattform und der Softwareressource and serves as an intermediary between the portal platform and software resource 250 250 , welche die gewünschte Funktion ausführt. , Which performs the desired function. Die Einzelheiten jeder Funktionsschnittstelle richten sich nach dem durch die Softwareressource The details of each function interface depend on the resource by the software 250 250 bereitgestellten Internetdienst und sind nicht Bestandteil der verwandten Erfindungen. provided Internet service and are not part of the related inventions. Die verwandten Erfindungen stellen jedoch die Funktionsschnittstelle der Softwareressource However, the related inventions are the functional interface of the software resource 250 250 als Schnittstelle as an interface 230 230 des Portlet-Proxys zur Verfügung. the portlet proxies available. (Die Nutzbarmachung der Funktionsschnittstelle unter Verwendung von WSDL-Definitionen und SOAP-Diensten kann mit Hilfe eines handelsüblichen Tools wie des IBM Web Services Toolkit („WSTK") während des Verteilungsprozesses erfolgen, was in den verwandten Erfindungen erörtert wurde.) (The utilization of the function interface using WSDL definitions and SOAP services can take place during the distribution process, which was discussed in the related inventions using a commercially available tools such as the IBM Web Services Toolkit ("WSTK").)
  • [0033] [0033]
    Die Verteilungsschnittstelle und die Systemschnittstelle werden in den verwandten Erfindungen detailliert beschrieben. The deployment interface and system interface are described in detail in the related inventions. Im Folgenden wird ein kurzer Überblick gegeben. Below is a brief overview is given. Gemäß den bevorzugten Ausführungsart der verwandten Erfindungen sind eine Verteilungsschnittstelle und eine Systemschnittstelle für jedes Portlet definiert, das als Internetdienst-Proxy dient (obwohl bei alternativen Ausführungsarten nicht alle diese Schnittstellen genutzt werden müssen). According to the preferred embodiment of the related inventions, a deployment interface and a system interface are defined for each portlet which serves as the web service proxy (although in alternative embodiments not all of these interfaces must be used). Diese neuen Schnittstellen können auch als Verteilungsanschlusstyp deployment Port type) bzw. als Systemanschlusstyp (system Port type) bezeichnet werden. These new interfaces may also be referred to as a distribution terminal type deployment port type) or as a system connection type (system port type). Ein Portlet gemäß den verwandten Erfindungen definiert somit einen Dienstanbietertyp, der die zur Integration der Softwareressourcen und zur Dienstzusammenarbeit und -verwaltung erforderlichen Anschlusstypen beinhaltet. A portlet according to the related inventions thus defines a service provider type that contains the required software to integrate the resources and service interworking and management of connection types. („Anschlusstypen" ist ein in der Technik verwendeter Begriff zur Beschreibung der Funktionen eines Portlet und „Dienstanbietertyp" ist ein Begriff zur Bezeichnung einer Gruppe von Anschlusstypen.) ("Connection type" is a term used in the art term used to describe the functions of a portlet and "service provider type" is a term used to describe a group of connection types.)
  • [0034] [0034]
    Die Verteilungsschnittstelle versetzt einen Portlet-Proxy (das heißt, einen gekoppelten Internetdienst, der durch einen Portlet-Proxy dargestellt wird), in die Lage, gemäß den verwandten Erfindungen rekursiv bei aufeinander folgenden Verknüpfungsoperationen des Internetdienstes verwendet zu werden. The deployment interface enables a portlet proxy (that is, a coupled web service which is represented by a portlet proxy), in a position to be used in accordance with the related inventions recursively in successive logic operations of the internet service. Die Verteilungsschnittstelle eines Portlet „A" liefert zum Beispiel während der Verknüpfung mit anderen Portlets zur Bildung eines neuen Internetdienstes „Z" Informationen über das Portlet A. Indem eine Verteilungsschnittstelle gemäß den verwandten Schnittstellen für den Internetdienst Z definiert wird, können anschließend Informationen über den Internetdienst Z bereitgestellt werden, während der Dienst Z zum Verknüpfen neuer Dienste verwendet wird. The distribution interface of a portlet "A" provides, for example, while links to other portlets to form a new Internet service "Z" information about the portlet A. By a distribution interface according to the related interfaces for the Internet service Z is defined, then information on our website Z be provided during the service Z is used to link new services.
  • [0035] [0035]
    Die Systemschnittstelle wird zur Laufzeitverwaltung von Portlets (das heißt, von durch Portlet-Proxys dargestellten Internetdiensten) durch die Portalplattform verwendet. The system interface at run-time management of portlets (ie, of represented by proxy portlet web services) used by the portal platform. Durch die Verwendung der Systemschnittstelle kann die Portalplattform Funktionen wie das Protokollieren von Ereignissen, Gebührenabrechnung und andere Arten administrativer Vorgänge ausführen, die mit der Ausführung von Internetdiensten verbunden sind. By using the system interface, the portal platform features such as event logging, billing and other species can perform administrative tasks associated with the implementation of Internet services. Zu diesem Zweck wird zwischen der Portalplattform und dem Portlet-Proxy eine Zweiwegekommunikation durchgeführt. For this purpose, two-way communication is performed between the portal platform and the portlet proxy.
  • [0036] [0036]
    3A 3A und and 3B 3B zeigen einfache WSDL-Dokumente, die die Beschreibung der Verteilungssoftware bzw. der Systemschnittstelle veranschaulichen. show simple WSDL documents that illustrate the description of the distribution of the software or system interface. Gemäß bevorzugten Ausführungsarten der verwandten Erfindungen werden die Verteilungs- und Systemanschlusstypen in Form von WSDL-Dokumenten dargestellt, die dann in der Registrierungsdatenbank registriert werden können. According to preferred embodiments of the related inventions the distribution system and connection types are represented in the form of WSDL documents that can then be registered in the registry. In Element Add item 310 310 des WSDL-Dokuments of the WSDL document 300 300 in in 3A 3A heißt die beispielhafte Verteilungsschnittstelle „Deployment" und beinhaltet Arbeitsschritte (Operationen) wie „getDisplayName" und „getDisplayIcon16x16" (siehe Abschnitt ie the exemplary distribution interface "deployment" and includes steps (operations) as "getDisplayName" and "getDisplayIcon16x16" (see section 330 330 ). ). Diese Arbeitsschritte können zum Beispiel zum Abrufen eines Namens zur Beschreibung des Internetdienstes und zum Abrufen einer Grafik für die Darstellung des Internetdienstes in einer Menüleiste eines Verknüpfungstools für den Internetdienst verwendet werden. These steps can be used in a menu bar of a link tools for the Internet service, for example, to retrieve a name to describe the web service and to retrieve an image for the presentation of the Internet service. Gemäß der WSDL-Beschreibung werden die zur Datenübertragung mit einem Dienst dienenden Eingabe- und Ausgabenachrichten im Abschnitt „<message>"-Elemente According to the WSDL description of the data transmission with a service serving input and output messages are described in "<message>" - elements 320 320 benannt, wo die durch diese Nachrichten verwendeten Parameter als „<parts>"-Elemente definiert sind. Somit ist ein Nachrichtenelement für jede Nachricht jedes Arbeitsschrittes definiert, der für diesen Anschlusstyp beschrieben ist. (Nähere Informationen zu den Einzelheiten eines WSDL-Dokuments siehe WSDL-Beschreibung.) named, where the parameters used by this news as "<parts> '-.. are defined elements Thus, a news item for each message each work step is defined, which is described for this type of connection (For more information on the details of a WSDL document, see WSDL description.)
  • [0037] [0037]
    Das WSDL-Dokument The WSDL document 350 350 in in 3B 3B definiert die Systemschnittstelle, die im Beispiel als „System" bezeichnet wird (siehe Element defines the system interface, which is referred to as "system" in the example (see element 360 360 ). ). In diesem Beispiel wird der komplexe Datentyp mit der Bezeichnung „Event" definiert (siehe Element In this example, the complex data type called "event" is defined (see element 370 370 ), der zwei Zeichenfolgeparameter und einen Datenparameter umfasst. ) Comprising two string parameters and a data parameter. Dieser Datentyp kann zum Beispiel verwendet werden, wenn Protokolldaten ausgetauscht werden, die in einer Prüfprotokolldatei aufgezeichnet werden sollen. This data type can be used, for example, if log data is exchanged, to be recorded in an audit log file. Desgleichen wird ein Arbeitsschritt „logEvent" definiert (siehe Element Likewise a step "logEvent" defined (see element 390 390 ), wobei in diesem Beispiel eine Einwegeoperation unter Verwendung einer Nachricht „logEventReceive" (siehe Element ), And in this example a Einwegeoperation using a message "logEventReceive" (see element 380 380 ) aufgerufen wird, die einen Parameter vom Typ Event aufweist. ) Is called, which has a parameter of type Event. Außerdem definiert das Beispiel einen Arbeitsschritt „reportUsage", die zwei Nachrichten „reportInput" und „reportOutput" aufweist. The example also defines a step "report usage" which has two news "report input" and "report output".
  • [0038] [0038]
    Bevorzugte Ausführungsarten der vorliegenden Erfindung können die Verteilungsschnittstelle erweitern, damit sie die Bereitstellungsinformationen über den gekoppelten Internetdienst beinhaltet. Preferred embodiments of the present invention can expand the distribution interface so that it contains the deployment information about the linked Internet service. Alternativ kann zu diesem Zweck eine separate Bereitstellungsschnittstelle definiert werden, ohne vom Geltungsbereich der vorliegenden Erfindung abzuweichen. Alternatively can be defined for this purpose a separate provisioning interface, without departing from the scope of the present invention. Eine Beschreibung A description 500 500 der Bereitstellungsschnittstelle für die Probe ist in den the provisioning interface for the sample is in the 5A 5A bis to 5E 5E dargestellt. shown. Durch die Darstellung des Bereitstellungsanschlusstyps oder der Bereitstellungsschnittstelle in Form eines WSDL-Dokuments gemäß der vorliegenden Beschreibung können die Bereitstellungsinformationen für einen Internetdienst dann programmgesteuert in einer Registrierungsdatenbank registriert und Informationen über die Bereitstellungsschnittstelle programmgesteuert während der Laufzeit gefunden und verknüpft werden. Through the presentation of the provisioning connection type or the provisioning interface in the form of a WSDL document according to the present description, the provisioning information for an Internet service can then programmatically in a registration database register and provide information about the provisioning interface programmatically be found and linked at run time.
  • [0039] [0039]
    Wenn die Bereitstellungsschnittstelle als Erweiterung der Verteilungsschnittstelle ausgeführt wird, beschreibt die Schnittstellenbeschreibung für einen bestimmten Internetdienst vorzugsweise seine Arbeitsschritte in einem Bereitstellungselement portType innerhalb einer Definition der Verteilungsschnittstelle. If the provisioning interface is running as an extension of the distribution interface describes the interface description for a particular Internet service preferably its operations in a deployment portType element within a definition of the distribution interface. Zum Beispiel kann die Beschreibung For example, the description 300 300 der Verteilungsschnittstelle in the distribution interface in 3A 3A so erweitert werden, dass sie ein Verteilungselement portType beinhaltet. be extended so that it includes a distribution portType element. Die in den The in 5A 5A bis to 5E 5E dargestellten Nachrichtenbeschreibungen der Probe können zu anderen Nachrichten hinzugefügt werden, die bei Verwendung dieses Ansatzes in einer Verteilungsbeschreibung definiert sind (siehe Element the sample message specifications illustrated can be added to other messages, which are defined when using this approach in a distribution (check element 320 320 von from 3A 3A ), und ein anderes Element wie das in den ), And another element such as in the 5A 5A bis to 5E 5E dargestellte Element portType kann zusammen mit dem portType shown portType element, together with the portType 330 330 für Verteilungsoperationen beschrieben werden. are described for distribution operations. Alternativ kann für die Bereitstellung ein separates WSDL-Dokument erzeugt werden, wobei dieses separate Dokument sein eigenes Element <types>, sein eigenes Element <schema> usw. aufweist. Alternatively can be generated for the provision of a separate WSDL document, this document has its own separate element <types>, his own element <schema>, etc.. Bei dieser Alternative kann sich das Element <definitions> des WSDL-Dokuments aus Bereitstellungsnachrichten und -operationen zusammensetzen, wie sie in der Schnittstellenbeschreibung der In this alternative, the element <definitions> can the WSDL document from deployment messages and operations made up as in the interface description 5A 5A bis to 5E 5E dargestellt sind. are shown.
  • [0040] [0040]
    Gemäß der WSDL-Beschreibung sind die für den Datenaustausch mit einem Internetdienst verwendeten Eingabe- und Ausgabenachrichten in den Elementen „<message>" beschrieben, in denen die von diesen Nachrichten verwendeten Parameter als „<part>"-Elemente definiert sind. According to the WSDL description of the input used for data exchange with an Internet service and output messages in the elements described "<message>", where the parameters used by these messages as "<part>" - elements are defined. Somit ist für jede Nachricht jeder für diesen Anschlusstyp definierten Operation ein Nachrichtenelement definiert. Thus, a message element is defined for each message each operation defined for this type of connection. (Nähere Informationen zu den Einzelheiten eines WSDL-Dokuments siehe die WSDL-Beschreibung.) (For more information on the details of a WSDL document, see the WSDL description.)
  • [0041] [0041]
    Gemäß der Beschreibung in den verwandten Erfindungen wird zur Modellierung der Operationen zur Ausführung aus anderen Internetdiensten (dh Teildiensten) bestehender gekoppelter Internetdienste ein Steuerungsgraph verwendet. As described in the related inventions a control graph is used to model the operations of the implementation of other Internet services (ie sub-services) coupled to existing Internet services.
  • [0042] [0042]
    Die Knoten des Graphen stellen ausgewählte Portlet-Operationen dar, während die Verbindungslinien zwischen den Knoten mögliche Übergänge von einem Betriebszustand oder Prozess des Dienstes zu einem anderen darstellen. The nodes of the graph represent selected portlet operations, while the connecting lines between the nodes represent possible transitions from one operating condition or process of the service to another. Diese Verbindungslinien des Dienstes können mit einer oder mehreren Übergangsbedingungen und erforderlichenfalls mit Datenzuordnungsinformationen verknüpft werden. This connection lines of the service can be associated with one or more transition conditions and, if necessary with data mapping information. Die Bedingungen geben an, unter welchen Bedingungen der nächste verknüpfte Dienst aufgerufen werden soll. The conditions specify the conditions under which the next linked service should be called. Oft werden diese Bedingungen anhand der Ergebnisse eines vorhergehenden Aufrufs eines Dienstes festgelegt. Often these terms are determined based on the results of a previous invocation of a service. Unter Datenzuordnung ist zu verstehen, dass Operationen zwischen Portlet-Anschlusstypen verknüpft und Daten von einer Operation zur nächsten übertragen werden. Under data association is meant that operations between portlet access types and associated data is transferred from one operation to the next. Zum Beispiel können die Datenzuordnungsinformationen anzeigen, dass die Ausgabeparameter eines Dienstes den Eingabeparametern eines anderen Dienstes zugeordnet werden. For example, the data mapping information may indicate that the output parameters of a service are assigned to the input parameters of another service.
  • [0043] [0043]
    Vorzugsweise wie die Web Services Flow Language („WSFL) erweitert, um den Steuerungsgraphen zu unterstützen. Preferably as the Web Services Flow Language ("WSFL) extended to support the control graph. Insbesondere können zu einem Stapel von Internetdiensten WSFL-Permanentspeicherverfahren und Laufzeitbewertungsverfahren unter Verwendung von Steuerungsgraphen hinzugefügt werden, damit sie gemäß den Graphen abgearbeitet werden, die durch eine Verknüpfungseinheit zur Verknüpfung von Diensten erzeugt wurden. In particular, can be added to a stack of Internet services WSFL permanent storage method and runtime evaluation method using control graph, so that they are processed in accordance with the graph generated by a linking unit for linking services. Eine ausführliche Erörterung der WSFL ist in der WSFL-Beschreibung mit dem Titel „Web Services Flow Language (WSFL 1.0)" von Prof. Dr. Leymann (Mai 2001) zu finden, die über das Internet von IBM unter http://www-4.ibm.com/software/solutions/webservices/pdf/WSFL.pdf erhältlich ist. A detailed discussion of the WSFL is found in the WSFL description entitled "Web Services Flow Language (WSFL 1.0)" by Prof. Dr. Leymann (May 2001), via the Internet by IBM at http: // www 4.ibm.com/software/solutions/webservices/pdf/WSFL.pdf is available.
  • [0044] [0044]
    4 4 veranschaulicht den Ansatz der Stapelung von Internetdiensten für die Kopplung von Diensten, die in den verwandten Erfindungen beschrieben wird. illustrates the approach of the stack of web services for the coupling of services that will be described in the related inventions. Der Stapel The stack 400 400 von Internetdiensten wird vorzugsweise durch den WSFL-Dienstablauf Internet service is preferably carried the WSFL service flow 410 410 zum Definieren und Ausführen gekoppelter Dienste unterstützt, während die Diensterkennung support for defining and executing coupled services during service discovery 420 420 und die Dienstveröffentlichung and the Service Publication 430 430 vorzugsweise unter Verwendung von UDDI erfolgen. preferably carried out using UDDI. Der Stapel von Internetdiensten umfasst auch eine WSDL-Schicht The stack of Internet services also includes a WSDL layer 440 440 , um Dokumente zur Dienstbeschreibung zu unterstützen. To support documents for service description. Zur Nachrichtenübertragung auf Grundlage von XML For communication based on XML 450 450 kann SOAP verwendet werden. SOAP can be used. Zur Netzunterstützung For network support 460 460 können Protokolle wie HTTP, FTP (File Transfer Protocol, Dateiübertragungsprotokoll), eMail, MQ (Message Queuing, Steuerung von Nachrichtenwarteschlangen usw. verwendet werden. Gemäß der Erörterung in den verwandten Erfindungen wird die WSDL verwendet, um Internetdienstanschlusstypen zu definieren und ferner zu definieren, wie Operationen dieser Anschlusstypen aufgerufen werden, während WSFL zur Koppelung der Internetdienste (und somit zur Koppelung ihrer Schnittstellen) verwendet wird. Während der Laufzeit werden Dienste innerhalb einer Registrierungsdatenbank unter Verwendung des UDDI-Diensterkennungsprozesses ermittelt und mit der Verwendung von Informationen aus ihren WSDL-Definitionen verknüpft. Dann verwendet die WSFL diese Definitionen (des Anschlusstyps) während der Laufzeit zur Koppelung der Dienste. (Da die Signaturen der Operationen normalerweise nicht mehr eins zu eins zusammenpassen, kann in einem Proxy-Modell ein in den WSFL-Beschreibungen definierter „Modulverbindungs"-Mechanismus (plug link) verwendet werden, um Schnittstellen gemäß der Beschreibung in den verwandten Erfindungen auf einfache Weise zuzuordnen und so eine Beziehung zwischen den Arbeitsschnittstellen herzustellen. Protocols such as HTTP, FTP (File Transfer Protocol, File Transfer Protocol), email, MQ (Message Queuing message queuing and so on. According to the discussion in the related inventions, the WSDL is used to define Internet Service connection types and also to define as operations of these port types are called while WSFL is (thus and to link their interfaces) used to link the Internet services. During the term used to discover services within a registry using the UDDI service discovery process and the use of information from their WSDL definitions linked. Then use the WSFL these definitions (port type) during the term for coupling of services. (Since the signatures of the operations normally no longer match one to one, may be in a proxy model, a defined in the WSFL descriptions "module connection" mechanism (plug left) are used to assign interfaces as described in the related inventions in a simple manner and so establish a relationship between the working interface. Die verwandten Erfindungen beschreiben die Verwendung dieses Plug-Link-Mechanismus als unveränderliche Definition für die Integration von Portlet-Proxys für die Ausführung von Internetdiensten.) The related inventions describe the use of this plug-link mechanism as immutable definition for the integration of portlet proxy for the implementation of Internet services.)
  • [0045] [0045]
    Ein Entwickler, der den Quellcode für eine als Internetdienst zu verbreitende Softwareressource entwickelt, beschreibt das durch diesen Dienst bereitzustellende Identitätsprüfungs-, Berechtigungsprüfungs- und/oder Konfigurierungsverfahren. A developer who developed the source code for an undisclosed as Internet service to software resource that describes the service to be provided by Identitätsprüfungs-, authorization checking and / or configuration procedure. Die Dienste können dann gemäß der Beschreibung in den verwandten Erfindungen miteinander gekoppelt und die Verfahren der vorliegenden Erfindung zur Bereitstellung des gekoppelten Dienstes durchgeführt werden. The services can be coupled together as described in the related inventions and methods of the present invention to provide the aggregated service to be performed. Beispielsweise sei angenommen, dass der gekoppelte Dienst dafür ausgelegt ist, einem menschlichen Benutzer eMail-Dienste bereitzustellen. For example, suppose that the aggregated service is designed to provide a human user email services. Ein Teildienst kann zum Einrichten eines eMail-Kontos für den Benutzer bereitgestellt werden. A part of service can be provided for setting up a email account for the user. Üblicherweise müssen für diesen Teildienst zur Einrichtung des Kontos Informationen wie Vor- und Nachname des Benutzers, eine zu dieser Person gehörende eMail-Adresse, ein Passwort für den Zugriff dieser Person auf ihr eMail-Konto und möglicherweise Konfigurierungsinformationen eingegeben werden, zum Beispiel wie viel Speichervolumen für die eMail-Nachrichten dieses Benutzers reserviert werden soll. Usually need for this facility to set up the account information such as your first and last name, a belonging to that person an email address, a password to access this person to your e-mail account, and possibly configuration information is input, for example, how much storage volume should be reserved for the e-mail messages to this user. (Das gespeicherte Passwort kann dann zusammen mit der Benutzerkennung zur Überprüfung der Identität dieses Benutzers verwendet werden, wenn er unter Verwendung eines anderen Teildienstes des gekoppelten eMail-Dienstes auf seine eMail-Nachrichten zugreift.) Auch die Informationen über die Zugriffsrechte können durch eine Eingabe für den Teildienst zur Kontoeinrichtung bereitgestellt werden. (The stored password can be used together with the user ID to verify the identity of the user when accessing using a different part of the service of the coupled email service on his e-mail messages.) The information on the access rights can by an input for provided the facility for account setup. Einem Benutzer, der gleichzeitig auch Systemadministrator ist, können zum Beispiel erweiterte Zugriffsrechte gewährt werden, damit er zum Beispiel das Speichervolumen für einen anderen Benutzer vergrößern, die E-Mail eines anderen Benutzers löschen kann usw. Dann können WSDL-Dokumente dafür verwendet werden, die durch jeden Teildienst bereitgestellten Arbeitsschritte und die Nachrichten und Parameter zu definieren, die zum Aufrufen dieser Arbeitsschritte dienen. A user, who is also the system administrator simultaneously, for example, extended access rights are granted, so for example, it increase the storage capacity for another user can delete the e-mail to another user, etc. Then, WSDL documents are used for the provided by each facility operations and to define the messages and parameters used to invoke these operations.
  • [0046] [0046]
    Gemäß der Erörterung in den verwandten Erfindungen kann das WSDL-Dokument durch einen menschlichen Benutzer oder programmgesteuert oder durch eine Kombination von beiden erstellt werden. According to the discussion in the related inventions, the WSDL document be created by a human user or programmatically or by a combination of both. (Zum Beispiel kann der menschliche Benutzer zum Eingeben Informationen wie des Anschlusstypnamens, der Speicherplätze des Namensbereichs usw. aufgefordert werden, während für die Veröffentlichungsverfahren einer Softwareressource die Elemente <operation> und <message> programmgesteuert erzeugt werden. WSTK von IBM ist ein Beispiel für ein handelsübliches Produkt, das zur programmgesteuerten Erzeugung der WSDL für eine bestimmte Softwareressource verwendet werden kann. Siehe auch „The Web services (r)evolution: Part 4, Web Services Description Language (WSDL)", G. Glass (Februar 2001), veröffentlicht von IBM im Internet unter http://www-106.ibm.com/developerworks/webservices/library/wspeer4, wo ein Beispiel für die programmgesteuerte Erzeugung eines WSDL-Dokuments für einen einfachen Wetterdienst mit den Funktionen „getTemp" und „setTemp" dargestellt wird. (For example, the human user may be prompted to enter information such as the connection type name, the locations of the namespace, etc., during the publication process a software resource elements <operation> and <message> programmatically generated. WSTK IBM is an example of a commercial product that can be used to programmatically generate the WSDL for a specific software resource See also "The Web services (r) evolution: Part 4, Web Services Description Language (WSDL).", G. Glass (February 2001), published by IBM on the Internet at http://www-106.ibm.com/developerworks/webservices/library/wspeer4, where an example of programmatically generating a WSDL document for a simple weather service with the "getTemp" and "SETTEMP" shown will.
  • [0047] [0047]
    Um eine Verbindung zwischen Identitätssystemen von dynamisch integrierten Diensten herzustellen, wird gemäß der vorliegenden Erfindung die Bereitstellungsschnittstelle jedes Dienstes unter Verwendung eines WSDL-Dokuments einer UDDI-Registrierungsdatenbank mitgeteilt. To establish a connection between identity systems by dynamically integrated services, the provisioning interface of each service is communicated using a WSDL document a UDDI registry according to the present invention. Dann kann die Bereitstellungsschnittstelle des gekoppelten Dienstes entweder durch manuelle oder programmgesteuerte Auswahl der Schnittstellen der Teildienste des gekoppelten Dienstes rekursiv erzeugt werden, und ein WSDL-Dokument für diese neue Bereitstellungsschnittstelle kann erzeugt und veröffentlicht werden. Then the provisioning interface of the aggregated service can be generated recursively by either manual or programmatic selection of interfaces of the services part of the aggregated service, and a WSDL document for this new provisioning interface can be created and published.
  • [0048] [0048]
    Aufgrund des dynamischen Charakters sowohl der Ermittlung als auch des Aufrufens von verteilten Diensten lassen sich gemeinsame Identitätsprüfungs- und Berechtigungsprüfungsoperationen nur schwer ausführen. Due to the dynamic nature of both the determination and the invoking of distributed services is common Identitätsprüfungs- and authorization operations are difficult to perform. Die hier beschriebenen Verfahren beheben diese Schwierigkeit, indem sie die Bereitstellung eines gekoppelten Dienstes innerhalb des Arbeitsablaufs eines Internetdienstes ermöglichen, wobei die Arbeitsschritte unter Verwendung von WSDL-Dokumenten erkannt und unter Verwendung von SOAP-Nachrichten innerhalb einer Arbeitsablaufdefinition aufgerufen werden. The methods described herein resolve this difficulty by allowing the provision of an aggregated service within the workflow of a web service, where the operations are detected using WSDL documents and invoked using SOAP messages within a workflow definition.
  • [0049] [0049]
    Gekoppelte Dienste können den Zugriff auf ihre angebotenen Funktionen auf diejenigen Benutzer beschränken, die über ausreichende Berechtigungsnachweise verfügen und diese Berechtigungsnachweise unter Verwendung einer angebotenen Berechtigungsprüfung erfolgreich vorlegen. Coupled services can restrict access to its functions offered to those users who have sufficient credentials and present these credentials successfully using an authorization check offered. Es kann auch von Vorteil sein, Benutzerprofile für das Angebot eines gekoppelten Dienstes zu erzeugen und wahlweise das Abfragen, Ändern und/oder Löschen dieser Benutzerprofile unter Verwendung entsprechender Funktionen des Dienstes zuzulassen. It may also be advantageous to create user profiles for the offer of an aggregated service and allow either the query, modify and / or delete this user profiles using appropriate functions of the service.
  • [0050] [0050]
    Im Folgenden werden die in den Below are the 5A 5A bis to 5E 5E dargestellten Nachrichten und Arbeitsschritte der Probe beschrieben und zur Veranschaulichung verwendet, wie die vorliegende Erfindung die Bereitstellung von gekoppelten Diensten in einer verteilten Rechnerumgebung bewerkstelligt. described messages and steps described in the sample, and used to illustrate how the present invention accomplishes the provision of coupled services in a distributed computing environment. (Dem Fachmann ist klar, dass die in den (The skilled person will appreciate that the in 5A 5A bis to 5E 5E dargestellten Nachrichten und Arbeitsschritte – sowie deren Parameter – nur der Veranschaulichung dienen. News and illustrated steps - and their parameters - for illustrative purposes only. Eine reale Bereitstellungsschnittstelle kann andere Nachrichten und Arbeitsschritte enthalten, ohne vom Geltungsbereich der vorliegenden Erfindung abzuweichen.) A real provisioning interface can contain other news and job steps without departing from the scope of the present invention.)
  • [0051] [0051]
    Die Nachricht „InResolveProvisioningIDRequest" The message "InResolveProvisioningIDRequest" 502 502 veranschaulicht eine Nachricht zur Eingabeaufforderung, mit der ein Dienst abgefragt werden kann, welchen bestimmten Benutzer oder welche Einheit er als identifiziert betrachtet. illustrates a message to the command prompt at which a service can be queried what certain users or which unit he considered identified. (Wenn nicht anders angegeben, kann der Begriff „Benutzer" im vorliegenden Zusammenhang gleichermaßen als menschlicher Benutzer oder als programmgesteuerte Einheit wie beispielsweise ein automatischer Dienst verstanden werden.) In der Nachrichtenbeschreibung (Unless otherwise indicated, the term can be "User" as used herein understood as both human visitor or a programmable unit such as an automatic service.) The message description 502 502 wird festgestellt, dass die Anforderung als Parameter eine Zeichenfolge „authToken" verwendet. Zum Beispiel sei angenommen, dass sich ein menschlicher Benutzer bei einem gekoppelten Dienst angemeldet hat und der gekoppelte Dienst für diesen menschlichen Benutzer ein Identitätsprüfungs-Token „X" bereithält. it is determined that the request is a string "authToken" as a parameter. For example, assume that a human user has subscribed to an aggregated service and the aggregated service for these human user an authentication token "X" holds. Ferner sei angenommen, dass der gekoppelte Dienst programmgesteuert ermitteln möchte, inwieweit dieser menschliche Benutzer einem bestimmten Teildienst „ServiceABC" bekannt ist. Der gekoppelte Dienst muss nach einem Bereitstellungssystem suchen, das Informationen über den Benutzer enthält. Die Nachrichten It is also assumed that the aggregated service would like to programmatically determine the extent to which these human user is known by a given facility "ServiceABC". The coupled service must look for a delivery system that contains information about the user. The News 502 502 und and 504 504 können zur Bereitstellung dieser Funktionalität verwendet werden, indem das Token „X" (vorzugsweise unter Verwendung einer SOAP-Nachricht, wie unter Bezug auf die can be used to provide this functionality by the token "X" (preferably, using a SOAP message, as with reference to the 7A 7A und and 7B 7B beschrieben wird) der Funktion „ResolveProvisioningID" von „ServiceABC" zugeleitet wird. is described) of the function "ResolveProvisioningID" from "ServiceABC" is passed. 5D 5D zeigt eine Funktion „ResolveProvisioningID" is a function "ResolveProvisioningID" 552 552 mit einer Nachricht „InResolveProvisioningIDRequest" (siehe Element with a message "InResolveProvisioningIDRequest" (see element 502 502 von from 5A 5A ) sowie einer Nachricht „OutResolveProvisioningIDResponse" (siehe Element ) And a message "OutResolveProvisioningIDResponse" (see element 504 504 von from 5A 5A ). ). Die Nachricht „OutResolveProvisioningIDResponse" The message "OutResolveProvisioningIDResponse" 504 504 ist so definiert, dass sie einen Parameter mit der Bezeichnung „Identifier" (Kennung vom Typ Zeichenfolge) zurückgibt. Vorzugsweise ist die zurückgegebene Kennung eine Kennung des fernen Bereitstellungssystems. Diese Kennung kann dann als Eingabeparameter für nachfolgende Arbeitsschritte (siehe zum Beispiel die unten beschriebenen Nachrichten is defined so that they (identification of type string) returns a parameter called "Identifier". Preferably, the returned identifier is an identifier of the remote provisioning system. This identifier can then as an input parameter for subsequent operations (see, for example, the messages described below 506 506 , . 510 510 und and 526 526 ) verwendet werden, um das Bereitstellungssystem zu bezeichnen, welches die Informationen zum Benutzerprofil oder die Konfigurierungsinformationen des Dienstes verwaltet. ) Are used to refer to the provisioning system that manages the user profile information or the configuration information of the service.
  • [0052] [0052]
    Bevorzugte Ausführungsarten der vorliegenden Erfindung gemäß den Preferred embodiments of the present invention according to the 7a 7a und and 7B 7B verwenden SOAP-Nachrichten für den Datenaustausch zwischen den Internetdiensten. Using SOAP messages for the exchange of data between Internet services. Die beispielhafte SOAP-Nachricht The example SOAP message 700 700 umfasst einen SOAP-Rahmen nach dem Stand der Technik mit einer digitalen Signatur in seinen Kopfdaten. includes a SOAP envelope according to the prior art with a digital signature in his head data. 7A 7A zeigt die Kopfdaten shows the header information 710 710 und die digitale Signatur and the digital signature 720 720 . , Diese digitale Signatur kann zur Überprüfung der Identität des Anfordernden verwendet werden, der die Anforderung nach einem Dienst im SOAP-Textkörper übermittelt. This digital signature can be used to verify the identity of the requester that forwards the request for service in the SOAP body. 7B 7B zeigt den Textkörper shows the text body 730 730 und die Anforderung and the request 740 740 . , Bei dieser Nachricht In this message 700 700 der Probe gibt der Textkörper der Nachricht eine Nachricht „GetLastTradePrice" an, für welche das Kindelement <m:symbol> einen Wert „IBM" hat. the sample is the body of the message to a message "GetLastTradePrice" for which the child element <m: symbol> has a value of "IBM". Es kann angenommen werden, dass hierdurch ein Dienst für Aktienkurse aufgerufen wird und dieser Dienst die Anmeldung des Benutzer verlangt; It can be assumed that in this way a service for share prices is called and this service requires the registration of the user; deshalb ist die digitale Signatur des Benutzers in die SOAP-Kopfdaten eingefügt worden. therefore the user's digital signature has been inserted into the SOAP header. (Weitere Informationen über diese Verwendung von SOAP-Nachrichten finden sich in dem Artikel „SOAP Security Extensions: Digital Signature, W3C NOTE, 6. Februar 2001", der im Internet unter http://www.w3.org/TR/SOAP-dsig/aufgerufen werden kann. (More information on this use of SOAP messages can be found in the article "SOAP Security Extensions: Digital Signature, W3C NOTE, February 6, 2001 ', which on the Internet http://www.w3.org/TR/SOAP- can be dsig / called.
  • [0053] [0053]
    Die vorliegende(n) Ausführungsart(en) steigern die Wirksamkeit des Verfahrens mit digitalen Signaturen zum Übertragen von Identitätsinformationen für die Identitätsprüfung von Benutzern von gekoppelten Internetdiensten, zur Ermittlung der Berechtigung dieser Benutzer und/oder zum Konfigurieren gekoppelter Internetdienste. The present (n) Mode (s) increase the effectiveness of the method using digital signatures for transferring identity information for the user identity verification of coupled web services, to determine the validity of these users and / or coupled to configure Internet services.
  • [0054] [0054]
    Anknüpfend an die Erörterung der Nachrichten der Bereitstellungsschnittstelle der Probe in Building on the discussion of the news of the provisioning interface of the sample in 5A 5A veranschaulicht die Nachricht „InResolveUsersRequest" illustrates the message "InResolveUsersRequest" 506 506 eine eingegebene Anforderungsnachricht, die zum Ermitteln einer Reihe von Benutzern verwendet werden kann, die für den Zugriff auf einen bestimmten Dienst berechtigt sind. an input request message that can be used to identify a set of users who are authorized to access a particular service. Bei diesem Beispiel wird dem abgefragten Dienst ein Identitätsprüfungs-Token zugeleitet, und diese Nachricht dient vorzugsweise zur Prüfung der Identität des die Information Anfordernden (das heißt, der programmgesteuerten Einheit oder des menschlichen Benutzers, der die für Benutzer mit geprüfter Identität bestimmte Information anfordert). In this example, the requested service an authentication token is passed, and this message is preferably used to verify the identity of the information requestor (ie, the programmable unit or the human user requesting certain users with certified identity information). Der Parameter „provID" kann zum Erstellen einer Adresse (zum Beispiel einer Einheitlichen Ressourcenkennung, URI) eines durch einen Dienstanbieter betriebenen Bereitstellungssystems verwendet werden. Die Operation „ResolveUsers" (siehe Element The "provid" parameter can be used to create an address (for example, a Uniform Resource Identifier, URI) of an operated by a service provider provisioning system. The operation "ResolveUsers" (see element 554 554 von from 5D 5D ) eines Dienstes empfängt die Nachricht „InResolveUsersRequest" ) A service receives the message "InResolveUsersRequest" 506 506 und antwortet mit einer Nachricht „OutResolveUsersResponse" and responds with a message "OutResolveUsersResponse" 508 508 . , Bei diesem Beispiel ist diese Ausgabenachricht In this example, this output message is 508 508 dadurch definiert, dass sie eine Matrix mit der Bezeichnung „UserSet" zurückgibt. Die Syntax „SOAP-ENC" im Teilelement der Nachricht defined in that it returns an array with the name "UserSet." The syntax "SOAP-ENC" in the sub-element of the message 508 508 ist ein Präfix für den Namensbereich und dient zur Bezeichnung der Matrixdefinition. is a prefix for the name area and designates the matrix definition. (Es wird davon ausgegangen, dass diese Ausgabematrix die berechtigten Benutzer des bestimmten Dienstes kennzeichnet, der diese Operation „ResolveUsers" (It is assumed that this output matrix, the authorized user of the particular service that reads this operation "ResolveUsers" 554 554 ausführt, die unter Verwendung der UDDI verknüpft und unter Verwendung einer SORP-Nachricht aufgerufen wurde. points out, was linked using the UDDI and invoked using a SORP message. Wenn die Operation „ResolveUsers" ausgeführt wurde, kann sie ein Bereitstellungssystem angefordert haben, um die berechtigten Benutzer zu ermitteln.) If the operation "ResolveUsers" was executed, it may have requested a provisioning system to identify the authorized user.)
  • [0055] [0055]
    Die Nachricht „InCreateUserProfileRequest" The message "InCreateUserProfileRequest" 510 510 zeigt, wie die Schnittstelle einer eingegebenen Anforderungsnachricht, die ein Benutzerprofil erstellt, gestaltet sein kann. shows how the interface of an input request message that creates a user profile can be designed. Ebenso wie bei den anderen beispielhaften Nachrichten ist es von Vorteil, ein Identitätsprüfungs-Token als einen der Eingabeparameter einzufügen, die an den fernen Dienst weitergeleitet werden, sodass der ferne Dienst den die Information Anfordernden überprüfen und ermitteln kann, ob dieser Anfordernde zur Nutzung des Dienstes „CreateUserProfile" As with the other exemplary message, it is advantageous to provide a authentication token to be introduced as one of the input parameters that are passed to the remote service so that the remote service which the information can verify the requester and determine whether this requester to use the service "Create User Profile" 556 556 berechtigt ist, der die Nachricht „InCreateProfileRequest" is entitled to the message "InCreateProfileRequest" 510 510 ausgibt. outputs. Der Parameter „provID" kann zum Erstellen einer URI oder einer anderen Adresse eines Bereitstellungssystems gemäß der obigen Erörterung verwendet werden, wobei das Benutzerprofil im Bereitstellungssystem gespeichert werden muss. Der Parameter „userID" kennzeichnet vorzugsweise den Benutzer, für den (im Fall eines menschlichen Benutzers) oder für das (im Fall eines programmgesteuerten Benutzers) das Profil erstellt wird. The "provid" parameter can be used to create a URI or a different address a deployment system according to the discussion above, wherein the user profile in the delivery system must be saved. The "userID" parameter preferably identifies the user for whom (in the case of a human user ) or for (in the case of a program-controlled user) the profile is created. Ein Parameter „password" kann bereitgestellt werden, um das diesem Benutzer zugewiesene Passwort zu erstellen. (Auf Wunsch können anstelle eines Passworts andere Berechtigungsnachweise verwendet werden.) Je nach den Anforderungen des zugrunde liegenden Dienstes können in einem Parameter „FullName" Vorname und Nachname des Benutzers übermittelt werden. A parameter "password" can be provided to create the assigned to this user password. (If desired, can be used instead of a password other credentials.) Depending on the requirements of the underlying service can in a parameter "Full Name" first name and last name transmitted user. Und schließlich werden in dieser Probennachricht die Zugriffsrechte des Benutzers in Form einer Matrix bereitgestellt. And finally, the user's access rights are provided in the form of a matrix in this sample message. Die Operation „CreateUserProfile" Operation "Create User Profile" 556 556 empfängt die Nachricht „InCreateUserProfileRequest" receives the message "InCreateUserProfileRequest" 510 510 und antwortet mit einer Nachricht „OutCreateUserProfilejResponse" and responds with a message "OutCreateUserProfilejResponse" 512 512 . , Bei diesem Beispiel gibt diese Ausgabenachricht In this example, this output message 512 512 einen Booleschen Wert zurück, der anzeigt, ob das Profil erfolgreich erstellt wurde. a Boolean value that indicates whether the profile was successfully created.
  • [0056] [0056]
    Die Nachricht „InQueryUserProfileRequest" The message "InQueryUserProfileRequest" 514 514 zeigt eine beispielhafte Schnittstelle für eine eingegebene Nachricht einer eingegebenen Anforderung, die zum Abrufen von Informationen von einem zuvor gespeicherten Benutzerprofil verwendet wird. shows an example interface for an input message of an input request that is used to retrieve information from a previously stored user profile. Die Parameter der Nachricht beinhalten ein Identitätsprüfungs-Token „authToken" zur Überprüfung der Identität des die Informationen Anfordernden, eine Bereitstellungskennung „procID" zur Kennzeichnung eines Bereitstellungssystems, in welchem das Profil gespeichert ist, und einer Benutzerkennung „userID° zur Kennzeichnung des Benutzers, für den die Profilinformationen angefordert werden. The message parameters include "authToken" an authentication token to verify the identity of the information requestor, a provisioning identifier "procid" to identify a provisioning system in which the profile is stored, and a user identifier "userID ° for the identification of the user for the profile information may be required. Diese Nachricht This message 514 514 wird als Eingabeschnittstelle für einen Dienst „QueryuserProfile" is used as input interface for a service "Query User Profiles" 558 558 bereitgestellt, und die Nachricht „OutQueryUserProfileResponse" provided, and the message "OutQueryUserProfileResponse" 516 516 in diesem Beispiel gibt das Passwort, Vorname und Nachname und Zugriffsrechte des Benutzers aus dem gespeicherten Profil zurück. in this example returns the password, first name and surname and access rights of the user from the stored profile.
  • [0057] [0057]
    Die Nachricht „InUpdateUserProfileRequest" The message "InUpdateUserProfileRequest" 518 518 ist der Nachricht „InCreateUserProfileRequest" is the message "InCreateUserProfileRequest" 510 510 analog und verwendet beim vorliegenden Beispiel dieselben Parameter. analog used in the present example and the same parameters. Die Operation „UpdateUserProfile" The operation "Update User Profile" 560 560 empfängt die Nachricht „InUpdateUserProfileRequest" receives the message "InUpdateUserProfileRequest" 520 520 und antwortet mit einer Nachricht „OutUpdateUserProfileResponse" and responds with a message "OutUpdateUserProfileResponse" 520 520 , die der Nachricht „OutCreateUserProfileResponse" That the message "OutCreateUserProfileResponse" 512 512 analog ist. is analogous. Beim vorliegenden Beispiel gibt diese Ausgabenachricht In the present example is this output message 512 512 einen Booleschen Wert zurück, der anzeigt, ob das Profil erfolgreich erstellt wurde. a Boolean value that indicates whether the profile was successfully created.
  • [0058] [0058]
    Die Nachricht „InDeleteUserProfileRequest" The message "InDeleteUserProfileRequest" 522 522 und die Nachricht „OutDeleteUserProfileResponse" and the message "OutDeleteUserProfileResponse" 524 524 werden als Eingabe- und Ausgabeschnittstelle der Operation „DeleteUserProfile are used as input and output interface of the operation "DeleteUserProfile 562 562 (siehe (See 5E 5E ) bereitgestellt und ermöglichen das Löschen eines Benutzerprofils in ähnlicher Weise die das Profil durch die Operation „CreateUserProfile" 556 und die Operation „UpdateUserProfile" ) Provided and allow the deletion of a user profile in a similar manner, the profile of the operation "Create User Profile" 556 and the operation "Update User Profile" 560 560 erstellt oder aktualisiert werden kann. can be created or updated.
  • [0059] [0059]
    Zusätzlich zu den beschriebenen Identitätsprüfungs- und Berechtigungsprüfungsnachrichten kann es von Nutzen sein, Nachrichten und Operationen zum Konfigurieren von gekoppelten Internetdiensten zu definieren. In addition to the described Identitätsprüfungs- and authorization messages, it may be useful to define messages and operations to configure coupled web services. Beispiele der Operationen „SetConfigParameter" Examples of operations "SetConfigParameter" 564 564 und „GetConfigParameter" and "GetConfigParameter" 566 566 sind in are in 5E 5E veranschaulicht. illustrated.
  • [0060] [0060]
    Die Probeneingabenachricht für die Operation „SetConfigParameter" The sample input message for operation 'SetConfigParameter " 564 564 ist „InSetConfigParameterRequest" is "InSetConfigParameterRequest" 526 526 und für die Probenausgabenachricht „OutSetConfigParameter Response" and for sample output message "OutSetConfigParameter Response" 528 528 . , Die Eingabenachricht The input message 526 526 bei diesem Beispiel enthält Eingabeparameter, zu denen das Identitätsprüfungs-Token „authToken" für den Anfordernden, die Bereitstellungskennung „provID" zur Kennzeichnung des Bereitstellungssystems, in welchem der Parameterwert zu speichern ist, die Benutzerkennung „userID" zur Kennzeichnung des Benutzers, dem dieser Parameter zugewiesen werden soll, sowie der Name des Konfigurierungsparameters „parameterName" und der Wert „parameter Value" gehören. Die Ausgabenachricht in this example contains input parameters, including "authToken" the authentication token for the requester, the provisioning code "provid" to identify the delivery system, in which the parameter value to store the user ID "userID" to identify the user to whom this parameter to be assigned, and the name of Konfigurierungsparameters "parameterName" and the value "parameter value" belong. The output message 528 528 gibt einen Booleschen Wert „result" zurück, der anzeigt, ob die Operation „SerConfigParameter" erfolgreich ausgeführt wurde. returns a Boolean value "result" returned indicating whether the operation "SerConfigParameter" was executed successfully.
  • [0061] [0061]
    Die Probeneingabenachricht für die Operation „GetConfigParameter" The sample input message for operation 'GetConfigParameter " 566 566 ist „InGetConfigParameterRequest" is "InGetConfigParameterRequest" 530 530 und für die Probenausgabenachricht „OutGetConfigParameterResponse" and for sample output message "OutGetConfigParameterResponse" 532 532 . , Die Eingabenachricht The input message 530 530 im vorliegenden Beispiel enthält Eingabeparameter, die denen der Nachricht „InSetConfigParameterRequest" in the present example includes an input parameter corresponding to those of the message "InSetConfigParameterRequest" 526 526 identisch sind, wobei lediglich der Parameter „parameterValue" weggelassen wird. Die Ausgabenachricht are identical, with only the "parameter value" parameter is omitted. The output message 532 532 gibt den Wert des angeforderten Parameters in Form des Parameters „parameterValue" zurück. returns the value of the requested parameter in the form of the parameter "parameter value".
  • [0062] [0062]
    Die in The in 6 6 gezeigte Logik kann zur Ausführung eines gekoppelten Dienstes und der Identitäts- und/oder Konfigurierungsoperationen seiner Teildienste im Arbeitsablauf eines Internetdienstes gemäß den bevorzugten Ausführungsarten der vorliegenden Erfindung verwendet werden. logic shown can be used to perform an aggregated service and the identity and / or its sub-services configuration operations in the workflow of an Internet service according to preferred embodiments of the present invention.
  • [0063] [0063]
    Eine Funktion „vereinheitlichte Anmeldung" oder Einzelanmeldung kann gemäß der vorliegenden Erfindung für einen gekoppelten Dienst bereitgestellt werden, wobei die Bereitstellungsschnittstelle des gekoppelten Dienstes zu Beginn der Ausführung des gekoppelten Dienstes alle erforderlichen Informationen von einem Benutzer abfragen kann. (Es kann natürlich passieren, dass bestimmte Informationen während der Ausführung vom Benutzer abgefragt werden müssen, sodass der Vorteil der vorliegenden Erfindung darin zu sehen ist, dass sie die Anzahl solcher Abfragen so gering wie möglich halten kann. A function "unified login" or single sign-on can be provided according to the present invention for an aggregated service, the provisioning interface of the aggregated service can retrieve all the information from a user at the beginning of the execution of the aggregated service. (It may of course happen that certain information must be requested from the user during execution, so that the advantage of the present invention is the fact that they can keep the number of such visits as low as possible.
  • [0064] [0064]
    Die im WSFL-Arbeitsablauf eines gekoppelten Dienstes nacheinander definierten Operationen werden gemäß der Definition des Arbeitsablauf ausgeführt. The operations in sequence defined in the WSFL procedure of an aggregated service be performed according to the definition of the workflow. Die vom Benutzer erhaltenen Anmeldeinformationen werden zur Nutzung durch den Teildienst, zu welchem einzelne Elemente der Anmeldeinformationen gehören, vorzugsweise „gestapelt". Das Stapeln von Modulen ist in der Technik Fachleuten bekannt, die mit Identitätssystemen und Berechtigungsprüfsystemen mit der Funktion Einzelanmeldung vertraut sind. Das Stapeln betrifft die Verwendung eines „primären" Passworts als Chiffrierschlüssel, wobei die so verschlüsselte Informationen ein oder mehrere „sekundäre" Passwörter umfassen. Bei der Verwendung des Stapelprozesses im Rahmen der vorliegenden Erfindung dienen die sekundären Passwörter als Passwörter für die Teildienste, während das primäre Passwort für den Wirkungsbereich des gekoppelten Dienstes gilt und diese sekundären Passwörter schützt. Die Teildienste werden gemäß der WSFL-Definition in einer festgelegten Reihenfolge aufgerufen, wobei die gestapelten Passwörter dem Stapel entnommen und dem jeweiligen Teildienst für Identitätsprüfung und Berechtigungsprüfung vorgelegt werden. The credentials received from the user are for use by the facility to which individual elements of credentials, preferably "stacked". The stacking of modules is known in the art professionals who are familiar with the Single Sign-On with identity systems and eligibility test systems. The stacking relates to the use of a "primary" password as an encryption key, wherein the thus encrypted information, one or more "secondary" include passwords. When using the batch process in the present invention serve the secondary passwords as passwords for the sub-services, while the primary password for the scope of the aggregated service and applies these secondary protects passwords. The partial services are invoked according to the WSFL-definition in a fixed order, the stacked passwords taken from the stack and be submitted to the respective parts service for identity authentication and authorization.
  • [0065] [0065]
    Dieser Prozess beginnt in Schritt This process begins at step 600 600 von from 6 6 , wo die Benutzerkennung und das Passwort (oder eine ähnliche Eingabe zur Identitätsprüfung) empfangen werden. Where the user ID and password (or a similar input Identity Verification) are received. (Zu beachten ist, dass die Angabe des Begriffes „Passwörter" nicht als Einschränkung der Art der unterstützten Berechtigungsnachweise zu verstehen ist. Berechtigungsnachweise können auf vielerlei Weise bereitgestellt werden, darunter in Form von Normaltext, verschlüsselten Zeichenfolgen, Zugriffsberechtigungen und Sicherheitszertifikaten mit öffentlichem Schlüssel wie beispielsweise X.509-Zertifikate.) Diese Identitätsprüfungsinformation kann dann als Eingabe zu einem fernen Dienst weitergeleitet werden, der nach dem Aufrufen seiner Identitätsprüfungsoperation ein Identitätsprüfungs-Token erzeugt (Schritt (Note that the specification of the term "Passwords" is not intended to limit the type of supported credentials. Credentials can be provided in many ways, including in the form of plain text, encrypted strings, permissions and security public-key certificates such as X.509 certificates.) This identity verification information may be then passed as input to a remote service, which generates an authentication token after entering his authentication operation (step 610 610 ). ).
  • [0066] [0066]
    Vorzugsweise wird das in Schritt Preferably, in step 610 610 erzeugte Identitätsprüfungs-Token als XML-Fragment erzeugt, das dann in die Kopfdaten einer SOAP-Nachricht eingefügt werden kann. generated authentication token generated as an XML fragment, which can then be inserted into the header of the SOAP message. Auf diese Weise können Benutzeridentitäten beim Zugreifen auf Internetdienste übermittelt werden. In this way, user identities can be communicated in accessing Internet services. Siehe auch die Erörterung der SOAP-Nachricht See also the discussion of the SOAP message 700 700 der Probe in den the sample into the 7A 7A und and 7B 7B , die zeigt, wie eine digitale Signatur unter Verwendung der XML-Syntax in die SOAP-Kopfdaten eingefügt wird. Showing how a digital signature is inserted using the XML syntax in the SOAP header. (Dort wird auch gezeigt, dass die Token der digitalen Signatur einen qualifizierten Namensbereich verwenden und deshalb durch die Buchstaben „ds" eingeleitet werden.) Identitätsprüfungssysteme und Strategiesysteme können ebenso auch unter Verwendung von SOAP-Kopfdaten mit den Operationen eines Dienstes verknüpft werden. WSDL-Beschreibungen stellen Operationen vorzugsweise als Kombination von SOAP-Kopfdaten und -Textkörper dar. Das heißt, bei allen Operationen, die einen Nachweis der Identität verlangen, müssen vorzugsweise Benutzerberechtigungsnachweise ausgetauscht werden. Das in den vorliegenden Beispielen angewendete Verfahren der SOAP-Sicherheitserweiterungen stellt ein Beispiel dafür dar, wie dies realisiert werden kann. Auch die Markierungssprache der Sicherheitsvereinigung (Security Association Markup Language, SAML), die GSS-API (Generic Security Service, generischer Sicherheitsdienst) und die CSI-Architektur (Common Secure Interoperability, allgemeine sichere Interoperabilität) stellen ein Mittel zum sicheren Austauschen der Berechtigungsnachweise eines Auftraggebers bereit. (There is also shown that the token of the digital signature using a qualified name field and are therefore initiated by the letters "ds".) Identity verification systems and strategy systems can also be linked using SOAP header with the operations of a service. WSDL descriptions provide operations preferably in combination of SOAP header data and -Textkörper. That is, for all operations that require a proof of identity, preferably user credentials must be replaced. The method used in the present examples, process the SOAP security extensions provides an example of illustrates how this can be implemented. The markup language of the security association (Security Association Markup Language, SAML), the GSS-API (Generic Security Service, a generic security service) and the CSI architecture (Common Secure Interoperability, general secure interoperability) provide a means for securely exchanging the credentials of a client's ready. (Eine Version von SAML ist in einem OASIS-Artikel definiert, der im Internet unter http://www.oasisopen.org/committees/security/docs/draft-sstc-saml-spec-00.PDF vom 11. April 2001 zu finden ist. Die GSS-API ist in RFC 2743, „Generic Security Service Application Program Interface, Version 2, Update 1" vom Januar 2000 zu finden. CSI ist in „Common Secure Interoperability V2 Specification" definiert, die im Internet unter http://www.omg.org/cgi-bin/doc?ptc/2001-03-02 zu finden ist. (A version of SAML defined in the OASIS article on the Internet at http://www.oasisopen.org/committees/security/docs/draft-sstc-saml-spec-00.PDF of 11 April 2001 is found, the GSS-API is described in RFC 2743, "Generic Security Service Application Program Interface, Version 2, Update 1" to find January 2000 CSI is defined in "Common Secure Interoperability V2 Specification", on the Internet at http..: //www.omg.org/cgi-bin/doc?ptc/2001-03-02 be found.
  • [0067] [0067]
    Das in Schritt In step 610 610 unter Verwendung der in Schritt using in step 600 600 erhaltenen Eingabeinformation erzeugte Token wird hier insofern als „allgemeines" Identitätsprüfungs-Token bezeichnet, als es anschließend vorzugsweise dazu dienen kann, verschiedenen Teildiensten des gekoppelten Dienstes die Identität dieses Benutzers nachzuweisen. (Mit anderen Worten, dieses Token ist vorzugsweise für keinen Teildienst oder keine Operation spezifisch.) received input information token generated is here so far referred to as "general" authentication token, as it then may preferably serve to demonstrate various parts services for the aggregated service the identity of the user. (In other words, this token is preferably no facility or no operation specific).
  • [0068] [0068]
    In Schritt In step 620 620 wird geprüft, ob die Identität dieses Benutzers (immer noch) global (das heißt, für den gekoppelten Dienst) gültig ist. it is checked whether the identity of the user (still) global (that is, for the aggregated service) is valid. Bei bevorzugten Ausführungsarten werden, sobald die Identität eines Benutzers einmal geprüft worden ist, dessen Berechtigungsnachweise den Anforderungen für den restlichen Arbeitsablauf (dh, für die Aufrufe der gekoppelten Dienste) zugewiesen. In preferred embodiments, when a user's identity has been checked once assigned its credentials to the requirements for the remaining workflow (ie, for the calls of the coupled services). Gemäß der Logik in According to the logic in 6 6 wird diese Prüfung in Schritt this test is in step 620 620 jedoch nicht nur einmal durchgeführt, zum Beispiel, damit sich ein Benutzer während der im Arbeitsablauf aufeinander folgenden Operationen abmelden kann. However, not only performed once, for example, so that a user can log off during the successive operations in the workflow. Wenn das Ergebnis der Prüfung negativ ist, darf dieser Benutzer den gekoppelten Dienst nicht weiter nutzen, und vorzugsweise wird ein Fehlercode zurückgegeben (Schritt If the test result is negative, this user can not continue to use the aggregated service, and preferably, an error code is returned (step 640 640 ) und die Verarbeitung in ), And processing in 6 6 endet. ends. Wenn das Ergebnis der Prüfung positiv ist, wird die Verarbeitung in Schritt If the result of the check is positive, processing in step 630 630 mit der Prüfung fortgesetzt, ob die Identität dieses Benutzers lokal gültig ist (das heißt, für den nächsten auszuführenden Dienst, wenn dieser gemäß dem WSDL-Arbeitsablauf vorgesehen ist). continue with the examination of whether the identity of the user is valid locally (that is, for the next service to be performed, if it is held in accordance with the WSDL workflow). Wenn das Ergebnis dieser Prüfung negativ ist, geht das Verfahren weiter zu Schritt If the result of this check is negative, the method proceeds to step 640 640 ; ; ansonsten folgt Schritt otherwise followed by step 670 670 . ,
  • [0069] [0069]
    In Schritt In step 625 625 werden die gestapelten Identitätsinformationen für die nächste auszuführende Operation abgerufen. the stacked identity information for the next operation to be performed is retrieved. Diese abgerufenen Informationen werden zur Identitätsprüfung dieser nächsten Operation weitergeleitet, die unter Verwendung dieser Identitätsinformationen ein für die operationsspezifisches Token erzeugt (oder abruft). This retrieved information is passed to the identity verification of this next operation using this identity information generated for the operation-specific token (or retrieve).
  • [0070] [0070]
    In Schritt In step 660 660 wird das operationsspezifische Token (wie unter Bezug auf die is the operation-specific token (as explained in relation to the 7A 7A und and 7B 7B beschrieben) unter Verwendung von SOAP-Kopfdaten an den Anrufer zurückgegeben. described) is returned to the caller using the SOAP header. (Zu beachten ist, dass die Antwortnachrichten in den (It should be noted that the response messages in the 5A 5A bis to 5C 5C zwar keine Rückgabe von Identitätsprüfungs-Token zeigen, solche Token aber auf Wunsch hinzugefügt werden können.) In Schritt Although no return of authentication token show such tokens can be added on request though.) In step 670 670 wird dann unter Verwendung des empfangenen operationsspezifischen Token die operationsspezifische Berechtigung des Benutzers ermittelt. is then determined by the user's operational specific authorization using the received operation-specific token. (Benutzer können unterschiedliche Rollen einnehmen, von denen ihre Berechtigungsnachweise für eine bestimmte Klasse von Operationen abhängen. Ein Manager kann beispielsweise in seiner Rolle als leitender Mitarbeiter berechtigt sein, die Personalakten seiner Angestellten einzusehen, während er in seiner Rolle als Angestellter dieselbe Operation möglicherweise nicht ausführen darf.) Die Anforderung der Berechtigung in Schritt (User can play different roles, one of which depend their credentials for a particular class of operations. A manager may for example be entitled, in its role as an officer to inspect the personnel records of his employees while he was in his role as an employee of the same operation not run potentially allowed.) The requirement of authorization in step 670 670 nutzt zur Weiterleitung des in Schritt uses for routing in step 660 660 empfangenen operationsspezifischen Token vorzugsweise auch SOAP-Kopfdaten. received operation-specific token preferably also SOAP header data. Wenn das Ergebnis der Berechtigungsprüfung zeigt, dass der Benutzer zur Ausführung der nächsten Operation des gekoppelten Dienstes berechtigt ist, wird die Verarbeitung mit Schritt If the result of the authorization check shows that the user is authorized to perform the next operation of the aggregated service, processing continues with step 680 680 fortgesetzt. continued. (Ansonsten kann ein Fehler erzeugt und/oder oder der Arbeitsablauf mit einer anderen Operation fortgesetzt werden. Die jeweilige Verarbeitung kann jeweils zwischen den Ausführungsformen variieren und ist in (Otherwise, an error is generated and / or workflow, or continue with another operation. The respective processing may vary between the embodiments and each is 6 6 deshalb nicht dargestellt. therefore not shown. Dem Fachmann ist klar, wie geeignete Schritte in die Logik von Those skilled in the art will appreciate, as appropriate steps in the logic of 6 6 eingefügt werden können.) can be inserted.)
  • [0071] [0071]
    In Schritt In step 680 680 wird die nächstfolgende Operation aufgerufen. is access to the next operation. Für diesen Aufruf können auch SOAP-Kopfdaten verwendet werden, wenn ein Berechtigungsnachweis des Benutzer benötigt wird, um das in Schritt Also SOAP Header data can be used for this call when a credential of the user is required to in step 660 660 empfangene operationsspezifische Token weiterzuleiten. received specific operational token pass. (Wenn als Ergebnis der Verarbeitung in Schritt (If as a result of the processing in step 670 670 ein Berechtigungs-Token empfangen wird, wird dieses Token zusätzlich oder anstelle des Token von Schritt an authorization token is received, this token is in addition to or instead of the token from step 650 650 weitergeleitet.) Nach Beendigung der Operation wird in Schritt forwarded.) After completing the operation in step 690 690 geprüft, ob noch weitere Operationen anstehen. checked if still pending further operations. Wenn dies nicht der Fall ist, ist die Verarbeitung von If this is not the case, the processing of 6 6 beendet. finished. Ansonsten geht das Verfahren zurück zu Schritt Otherwise the procedure goes back to step 620 620 , um zu ermitteln, ob die Identität des Benutzers für den gekoppelten Dienst immer noch gültig ist (worauf in Schritt To determine whether the user for the aggregated service identity is still valid (what in step 630 630 geprüft wird, ob die Identität des Benutzers wie oben beschrieben für diesen nächsten Dienst gültig ist). it is checked whether, as described above the user's identity is valid for this next service).
  • [0072] [0072]
    Es wurde gezeigt, dass die vorliegende Erfindung vorteilhafte Verfahren zur Bereitstellung gekoppelter Internetdienste bereitstellt. It has been shown that the present invention provides advantageous method of providing Internet services coupled. Zur Übermittlung von Identitätsinformationen werden vorzugsweise SOAP-Kopfdaten verwendet. For the transmission of identity information SOAP header data is preferably used. Mit Hilfe der beschriebenen Verfahren können heterogene Identitätssysteme zu einer dynamischen, integrierten Umgebung von Internetdiensten während der Laufzeit vereint werden. Using the method described heterogeneous identity systems can be combined into a dynamic, integrated environment of Internet services at runtime. Der Einsatz von offenen Standards wird erleichtert. The use of open standards is facilitated. Zu beachten ist, dass bei der Beschreibung bevorzugten Ausführungsarten zwar bestimmte Standards (zum Beispiel WSDL und SOAP) genannt wurden, dass dies jedoch nur zur Veranschaulichung der erfindungsgemäßen Konzepte der vorliegenden Erfindung dient. It should be noted that in the description of preferred embodiments Although certain standards have been mentioned (for example, WSDL and SOAP), but that this is only to illustrate the concepts of the present invention according to the invention. Es können alternative Mittel zur Bereitstellung der analogen Funktionalität bereitgestellt werden, ohne vom Geltungsbereich der vorliegenden Erfindung abzuweichen. There may be provided an alternative means for providing the analogous functionality without departing from the scope of the present invention.
  • [0073] [0073]
    Der Fachmann kann sich vorstellen, dass Ausführungsarten der vorliegenden Erfindung in Form von Verfahren, Systemen oder Computerprogrammprodukten bereitgestellt werden können. The expert can imagine that embodiments of the present invention may be provided in the form of methods, systems and computer program products. Demzufolge kann die vorliegende Erfindung die Form einer Ausführungsart ausschließlich in Hardware, ausschließlich in Software oder als Kombination von Software- und Hardwareaspekten annehmen. Accordingly, an embodiment can take the form exclusively in hardware, exclusively in software, or as a combination of software and hardware aspects, the present invention. Außerdem kann die vorliegende Erfindung die Form eines Computerprogrammprodukts mit einem darin enthaltenen computerlesbaren Programmcode annehmen, das auf einem oder mehreren computerlesbaren Speichermedien (darunter, aber nicht ausschließlich, Plattenspeicher, CD-ROM, optische Speicher usw.) realisiert ist. In addition, the present invention can take the form of a computer program product having a contained therein computer readable program code, which is realized on one or more computer readable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.).
  • [0074] [0074]
    Die vorliegende Erfindung ist unter Bezug auf Ablaufschaubilder und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsarten der Erfindung beschrieben worden. The present invention with reference to sequence diagrams and / or block diagrams of methods have been described devices (systems) and computer program products according to embodiments of the invention. Es ist klar, dass jeder Arbeitsablauf und/oder jeder Arbeitsschritt der Ablaufschaubilder und/oder Blockschaubilder und Kombinationen von Arbeitsabläufen/Arbeitsschritten in den Ablaufschaubildern und/oder Blockschaubildern durch Computerprogrammanweisungen realisiert werden kann. It is clear that each workflow and / or each step of the sequence diagrams and / or block diagrams, and combinations of work processes / steps in the sequence diagrams and / or block diagrams can be implemented by computer program instructions. Diese Computerprogrammanweisungen können einem Prozessor eines Universalcomputers oder eines Spezialcomputers, einem integrierten Prozessor oder einer anderen programmierbaren Datenverarbeitungseinrichtung bereitgestellt werden, um eine Maschine derart zu schaffen, dass die durch den Prozessor des Computers oder einer anderen programmierbaren Datenverarbeitungseinrichtung ausgeführten Anweisungen ein Mittel zur Realisierung der im Arbeitsablauf der Ablaufschaubilder und/oder in den Arbeitsschritten der Blockschaubilder dargestellten Funktionen bilden. These computer program instructions can be provided to a processor of a general purpose computer or a special computer, an embedded processor or other programmable data processing apparatus to provide a machine such that the instructions executed by the processor of the computer or other programmable data processing apparatus comprising a means for the realization of the workflow the flow diagrams and / or in the individual steps of the block diagrams form functions shown.
  • [0075] [0075]
    Diese Computerprogrammanweisungen können auch in einem computerlesbaren Speicher gespeichert werden, der einen Computer oder eine andere programmierbare Datenverarbeitungseinrichtung in der Weise zum Ausführen einer Funktion veranlassen kann, dass die im computerlesbaren Speicher gespeicherten Anweisungen einen Herstellungsartikel bilden, der die im Arbeitsablauf des Ablaufschaubildes und/oder in den Arbeitsschritten des Blockschaubildes angegebene Funktion ausführt. These computer program instructions may also be stored in a computer readable memory that can cause a computer or other programmable data processing apparatus in such a way to execute a function that the data stored in computer readable memory form an article of manufacture in the workflow of the flow chart image and / or in performs the steps of the block diagram of the image specified function.
  • [0076] [0076]
    Die Computerprogrammanweisungen können auch in einen Computer oder eine andere programmierbare Datenverarbeitungseinheit geladen werden, um die Ausführung einer Reihe von Arbeitsschritten im Computer oder in der anderen programmierbaren Einrichtung zu veranlassen und somit einen durch den Computer durchgeführten Prozess zu schaffen, sodass die im Computer oder in der anderen programmierbaren Einrichtung ausgeführten Anweisungen Schritte zur Ausführung der im Arbeitsablauf der Ablaufschaubilder und/oder in den Arbeitsschritten der Blockschaubilder angegebenen Funktionen bewirken. The computer program instructions may also be loaded onto a computer or other programmable data processing unit to cause the execution of a series of steps in the computer or other programmable device and thus provide an operations performed by the computer process, so that the computer or in other programmable device executed instructions cause steps to perform the steps given in the block diagrams in the operation of the flow diagrams and / or functions.
  • [0077] [0077]
    Obwohl die bevorzugten Ausführungsarten der vorliegenden Erfindung beschrieben worden sind, kann sich der Fachmann nach dem Erfassen der Grundideen der Erfindung weitere Varianten und Modifikationen dieser Ausführungsarten ausdenken. Although the preferred embodiments of the present invention have been described, the expert can come up with after the detection of the basic ideas of the invention further variants and modifications to these embodiments. Deshalb sind die angehängten Ansprüche so zu verstehen, dass sie sowohl die bevorzugte Ausführungsart als auch alle derartigen Varianten und Modifikationen beinhalten und diese in den Geltungsbereich der Erfindung fallen. Therefore, the appended claims are to be understood to include both the preferred embodiment and all such variations and modifications which fall within the and scope of the invention.
Classifications
International ClassificationG06F15/00, H04L29/08, G06F9/50, H04L29/06, G06F21/20
Cooperative ClassificationH04L67/16, H04L69/329, H04L67/02, H04L63/0815, H04L63/102, H04L29/06, H04L63/08, H04L63/083
European ClassificationH04L29/06, H04L29/08N15, H04L29/08A7, H04L29/08N1