-
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf den Benutzerzugriff auf ein
Register, z.B. ein UDDI-Register, mit Unternehmensdiensten und insbesondere
darauf, dass der Benutzer Details zu einem Unternehmensdienst aus
dem Register erhält.
-
Hintergrund der Erfindung
-
In
den vergangenen Jahren wurde es für Unternehmen zunehmend üblich, einem
Benutzer unter Verwendung eines Computers, der mit einem Computer
des Unternehmens Daten austauscht, den Erwerb von Waren von dem
betreffenden Unternehmen zu ermöglichen.
So kann ein Unternehmen beispielsweise eine Website im Internet
bereitstellen, die einem Benutzer den Erwerb von Waren von dem Unternehmen über das
World Wide Web ermöglicht.
Infolge dieser erfolgreichen Entwicklung wurde es notwendig, für eine Geschäftsbeziehung
geeignete Unternehmen einfacher ausfindig machen zu können; dieser
Notwendigkeit wurde durch die Einführung von Registerdiensten
wie beispielsweise UDDI (Universal Description, Discovery and Integration)
Rechnung getragen, von denen Unternehmenseinheiten, die Dienste
bereitstellen, Unterstützung
bereitgestellt wird.
-
Ein
UDDI-Register ermöglicht
einer Unternehmenseinheit die Veröffentlichung von Informationen
zu den von ihr bereitgestellten Diensten, und es ermöglicht einem
Benutzer, Informationen über
veröffentlichte
Unternehmensdienste ausfindig zu machen. So kann ein Benutzer eine
Anforderung an das UDDI-Register senden, um Details zu Unternehmensdiensten
zu erhalten, die einen bestimmten von dem Benutzer benötigten Dienst
bereitstellen. Danach wählt
der Benutzer aus einem oder mehreren Unternehmensdiensten aus, für den/die
das UDDI-Register
Details zurückgibt,
und sendet eine entsprechende Anforderung an den ausgewählten Unternehmensdienst.
Allerdings gibt das UDDI-Register einem Benutzer unter Umständen Details
zu einem Unternehmensdienst zurück,
für das
er nicht über
die entsprechende Zugriffsberechtigung verfügt, wodurch der Benutzer erst
dann feststellt, dass er auf einen bestimmten Unternehmensdienst
nicht zugreifen kann, wenn seine Anforderung des betreffenden Unternehmensdienstes
zurückgewiesen
wird.
-
Für den Benutzer
stellt es eine Zeit- und Ressourcenverschwendung dar, eine Anforderung
an einen Unternehmensdienst zu stellen, die zwangsläufig fehlschlagen
muss, während
es für
das Unternehmen, das den Dienst bereitstellt, eine Verschwendung
von Zeit und Ressourcen darstellt, Anforderungen von Benutzern verarbeiten
zu müssen,
die nicht über
die erforderlichen Berechtigungen für den Zugriff darauf verfügen. Somit
wäre es
vorteilhaft, ein Verfahren bereitzustellen, das eine derartige Zeit- und
Ressourcenverschwendung verhindert.
-
WO-A-01/22299 beschreibt
ein Verfahren gemäß der Einleitung
zu Anspruch 1.
-
Zusammenfassung der Erfindung
-
Die
vorliegende Erfindung löst
dieses Problem durch die Bereitstellung von Mitteln für ein Register,
das Unternehmenseinheitsdefinitionen enthält wie beispielsweise ein UDDI-Register,
um so den Benutzerzugriff auf Daten in den Unternehmensdefinitionen
auf diejenigen zu beschränken,
für die
der Benutzer über
eine Zugriffsberechtigung verfügt.
-
Gemäß einem
ersten Aspekt stellt die vorliegende Erfindung gemäß Nebenanspruch
1 ein Verfahren bereit, mit dem ein Register mit Unternehmenseinheitsdefinitionen
Benutzeranforderungen für den
Zugriff auf Unternehmenseinheitsdefinitionen verarbeitet.
-
Gemäß einem
zweiten Aspekt stellt die vorliegende Erfindung gemäß Nebenanspruch
8 ein Register mit Unternehmenseinheitsdefinitionen für die Verarbeitung
von Anforderungen für
den Zugriff auf Unternehmenseinheitsdefinitionen bereit.
-
Gemäß einer
Ausführungsform
des ersten Aspekts wird ein Registerdienst für die Verarbeitung von Benutzeranforderungen
für den
Zugriff auf Unternehmenseinheitsdefinitionen bereitgestellt, die
den Dienst bereitstellen. Dabei umfasst das in dem Registerdienst
realisierte Verfahren die folgenden Schritte: Empfangen einer Anforderung
für den
Zugriff auf eine Unternehmenseinheitsdefinition von einem Benutzer;
Erhalten der Identität
des Benutzers anhand von Daten, die der Anforderung zugehörig sind;
Erhalten von Berechtigungsdetails, die der Unternehmenseinheitsdefinition
zugehörig
sind; Ermitteln anhand der Berechtigungsdetails und der Identität des Benutzers,
ob der Benutzer berechtigt ist, auf Daten in der Unternehmenseinheitsdefinition
zuzugreifen; und Verweigern des Zugriffs auf Daten der Unternehmenseinheitsdefinition
durch den Benutzer, falls ermittelt wird, dass der Benutzer über keine
Berechtigung verfügt;
wobei die Daten in der Unternehmenseinheitsdefinition eine Vielzahl
von Datenelementen umfassen, und wobei mindestens einem Element
aus der Vielzahl von Elementen Berechtigungsdetails zugehörig sind;
wobei der Ermittlungsschritt anhand der Berechtigungsdetails, die
einem betreffenden Datenelement zugehörig sind, ermittelt, ob der
Benutzer für
den Zugriff auf das Datenelement berechtigt ist; und wobei der Verweigerungsschritt dem
Benutzer den Zugriff auf diese Datenelemente verweigert, für die ermittelt
wird, dass der Benutzer über
keine Berechtigung verfügt.
-
Gemäß einem
dritten Aspekt stellt die vorliegende Erfindung ein Computerprogrammprodukt
bereit, das Anweisungen umfasst, die bei Ausführung auf einem Datenverarbeitungshost
diesen dazu veranlassen, ein Verfahren nach dem ersten Aspekt auszuführen.
-
Die
Benutzerzugriffsanforderung könnte
darin bestehen, die gesamten oder einen Teilsatz der Daten in einer
Unternehmenseinheitsdefinition zu lesen, zu aktualisieren oder zu
löschen.
Wenn die Anforderung lautet, die Unternehmensdienstdefinition zu
lesen, könnte
es sich um eine Anforderung zum Lesen einer bestimmten Unternehmenseinheitsdefinition
oder aber einer Unternehmenseinheitsdefinition handeln, die in der
Anforderung angegebene Suchkriterien erfüllt. So könnten die Suchkriterien z.B.
dazu verwendet werden, die Unternehmenseinheitsdefinition ausfindig
zu machen und zu ermitteln, auf welche Daten in der Unternehmenseinheitsdefinition
der Benutzer zugreifen möchte.
-
Optional
kann die Unternehmenseinheitsdefinition eine Vielzahl von Datenelementen
und Berechtigungsdetails umfassen, die jedem dieser Datenelemente
zugehörig
sind. Folglich können
die Berechtigungsdetails dazu dienen, einem Benutzer lediglich den
Zugriff auf diejenigen Datenelemente zu verweigern, für welche
die Berechtigungsdetails angeben, dass der Benutzer nicht über die
erforderliche Berechtigung verfügt.
Dabei ist allerdings zu beachten, dass dies nicht zwangsläufig bedeutet,
dass sämtliche
Datenelemente in einer Unternehmenseinheitsdefinition über ihnen
zugehörige
Berechtigungsdetails verfügen
müssen.
Ferner ist zu beachten, dass nicht ermittelt werden muss, ob ein
Benutzer für den
Zugriff auf alle Datenelemente, die über ihnen zugehörige Berechtigungsdetails
verfügen,
berechtigt ist, sondern lediglich, ob er für den Zugriff auf diejenigen
Datenelemente berechtigt ist, für
die er einen Zugriff angefordert hat.
-
Wenn
Berechtigungsdetails einer Vielzahl von Datenelementen in einer
Unternehmenseinheitsdefinition zugehörig sind, können Zugriffsrichtlinien verwendet
werden, mit denen festgestellt wird, ob ein Benutzer für den Zugriff
auf ein Datenelement berechtigt ist, wobei sowohl die Berechtigungsdetails, die
dem Datenelement zugehörig
sind, als auch die Berechtigungsdetails eines anderen Datenelements verwendet
werden. Wenn die Datenelemente beispielsweise in einer Hierarchie
angeordnet sind, bei der ein erstes Datenelement ein oder mehrere
zweite Datenelemente enthält,
kann der Zugriff auf das erste Datenelement verweigert werden, wenn
der Benutzer nicht für den
Zugriff auf alle oder auf einen Teilsatz der darin enthaltenen zweiten
Datenelemente berechtigt ist.
-
Berechtigungsdetails
könnten
z.B. Bezeichner für
einen oder mehrere Clients oder Benutzer und/oder Bezeichner für eine oder
mehrere Client- oder Benutzergruppen, die Zugriff auf die Unternehmenseinheitsdefinition
haben, oder aber Datenelemente der Unternehmensdienstdefinition
umfassen, denen sie zugehörig
sind. Außerdem
könnten
auch die Zugriffsebenen eines Bezeichners angegeben werden wie beispielsweise
Lesen, Aktualisieren und Löschen.
Weitere Berechtigungsdetails könnten
in einer Reihe verschiedener Formate gespeichert werden, beispielsweise
in Form einer Zugriffskontrollliste (Access Control List, ACL),
bei der es sich um eine Datei mit einer Liste von Benutzern und
Zugriffsrechten für
jeden Benutzer handelt.
-
Berechtigungsdetails
werden vorzugsweise aus einem Dateisystem erhalten, in dem anhand
ihrer Zugehörigkeit
zu einer Unternehmenseinheitsdefinition oder einem Datenelement
in der Unternehmenseinheitsdefinition ihre Position in dem Dateisystem ermittelt
wird. Wenn z.B. einer Unternehmenseinheitsdefinition und jedem darin
enthaltenen Datenelement ein eindeutiger Schlüssel zugehörig ist, befindet sich die
einem Datenelement zugehörige
ACL in einem Verzeichnis, das durch den Schlüssel einer Unternehmenseinheitsdefinition
und den Schlüssel des
Datenelements definiert wird. Somit können die Berechtigungsdetails
einfach ausfindig gemacht werden, und die Unternehmenseinheitsdefinition
muss für
den Erhalt von Berechtigungsdetails bzw. den Verweis darauf nicht
aktualisiert werden. Alternativ könnte die Unternehmenseinheitsdefinition
oder das Datenelement in der Unternehmensdefinitionseinheit, zu
der es gehört,
Berechtigungsdetails enthalten bzw. auf sie verweisen.
-
Optional
ist das Register ein UDDI-Register, und die Daten in der Unternehmenseinheitsdefinition sind
ein Unternehmenseinheitsdatenelement, wobei das Unternehmenseinheitsdatenelement
ein oder mehrere Unternehmensdienstdatenelemente enthält, wobei
jeder Unternehmensdienst ein oder mehrere Bindungsvorlagen-Datenelemente enthält und wobei
jede Bindungsvorlage einen oder mehrere Verweise enthält, von
denen jeder auf ein Datenelement einer technischen Beschreibung
verweist.
-
Optional
könnte
der Benutzer ein Webbenutzer sein, der über das Internet mit dem UDDI-Register
Daten austauscht, um Details zu Webdiensten zu erhalten, auf die über das
Internet zugegriffen werden kann.
-
Kurze Beschreibung der Zeichnungen
-
Im
Folgenden wird die Erfindung mit Blick auf eine bevorzugte Ausführungsform
und gemäß den beigefügten Zeichnungen
ausführlicher
beispielhaft beschrieben, wobei:
-
1 ein
Blockschaubild einer Datenverarbeitungsumgebung ist, in der die
bevorzugte Ausführungsform
der vorliegenden Erfindung vorteilhaft angewendet werden kann;
-
2 eine
schematische Darstellung der grundlegenden Datenelemente in einer
Unternehmenseinheitsdefinition gemäß der UDDI-Spezifikation nach
dem Stand der Technik ist;
-
3 eine
schematische Darstellung ist, die gemäß der UDDI-Spezifikation nach dem Stand der Technik
ein Beispiel eines Benutzers zeigt, der auf einen Unternehmensdienst
zugreifen möchte,
für den er
nicht die erforderliche Zugriffsberechtigung hat;
-
4 eine
schematische Darstellung einer Unternehmenseinheitsdefinition und
zugehöriger
Zugriffskontrolllisten gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung ist;
-
5 eine
schematische Darstellung ist, die gemäß der bevorzugten Ausführungsform
der vorliegenden Erfindung ein Beispiel eines Benutzers zeigt, der
auf einen Unternehmensdienst zugreifen möchte, für den er nicht die erforderliche
Zugriffsberechtigung hat; und
-
6 ein
Ablaufdiagramm eines Überblicks über das
Verfahren ist, das von einem UDDI-Register und einem Zugriffsmanager
gemäß der bevorzugten Ausführungsform
der vorliegenden Erfindung durchgeführt wird.
-
Beschreibung der bevorzugten
Ausführungsform
-
In 1 ist
ein Client-/Server-Datenverarbeitungshost 10 über ein
Netzwerk 11, bei dem es sich beispielsweise um das Internet
handeln kann, mit anderen Client-/Server-Datenverarbeitungshosts 12 und 13 verbunden.
Bei der bevorzugten Ausführungsform
kann auf jedem derartigen Client/Server ein UDDI-Register installiert
sein und von einem Benutzer, der den gleichen oder einen anderen
Client-/Server- Datenverarbeitungshost
nutzt, Anforderungen für
die Definition bzw. Aktualisierung von Details zu einem Webdienst
entgegennehmen oder Details zu einem Webdienst zu erhalten. Der
Client/Server 10 verfügt über einen
Prozessor 101 für
die Ausführung
von Programmen, welche die Funktion des Client/Servers 10 steuern,
ein flüchtiges
RAM-Speicherelement 102, einen nichtflüchtigen Speicher 103 und
einen Netzwerkanschluss 104, der als Schnittstelle zum
Netzwerk 11 für
den Datenaustausch mit anderen Client/Servern 12 und 13 dient.
-
Die
bevorzugte Ausführungsform
wird mit Bezug auf eine Unternehmenseinheitsdefinition und ein UDDI-Register
gemäß der UDDI-Spezifikation
erörtert.
Die UDDI-Spezifikation definiert einen Satz von XML-Schemata, bei
denen es sich um Vorlagen für
die Erstellung von Definitionen für Unternehmenseinheiten handelt.
Somit kann eine Unternehmenseinheitsdefinition eine Ausprägung eines
oder mehrerer dieser definierten XML-Schemata sein.
-
2 ist
eine schematische Darstellung der grundlegenden Komponenten einer
beispielhaften Unternehmenseinheitsdefinition gemäß der UDDI-Spezifikation
nach dem Stand der Technik. Die Unternehmenseinheitsdefinition stellt
Details zu den Diensten bereit, die dem UDDI-Register von einem Unternehmen
bereitgestellt werden. Dabei umfasst die Unternehmenseinheitsdefinition
eine Unternehmenseinheit 201, die beschreibende Informationen 202 zu
dem Unternehmen sowie Informationen zu einem oder mehreren Unternehmensdiensten
beinhaltet, welche die Unternehmenseinheit anbietet. Die beschreibenden
Informationen 202 enthalten einen Namen und eine Beschreibung
des Unternehmens, einen oder mehrere Bezeichner und eine oder mehrere
Kategorien. Die Bezeichner dienen zur eindeutigen Kennzeichnung
des Unternehmens, und die einen oder mehreren Kategorien dienen
z.B. dazu, die Branche, den Produkttyp und den geografischen Standort
des Unternehmens anzugeben. Die Informationen zu Diensten, die das
Unternehmen anbietet, sind in einer oder mehreren Unternehmensdiensteinheiten 203 gespeichert.
-
Jede
Unternehmensdiensteinheit 203 stellt ferner beschreibende
und technische Informationen zu dem Dienst bereit. Die beschreibenden
Informationen 204 beinhalten einen Namen und eine Beschreibung
des Dienstes sowie eine oder mehrere Kategorien, die für den Dienst
zutreffend sind. Die technischen Informationen umfassen eine oder
mehrere Bindungsvorlagen 205, von denen jede eine Bindungsbeschreibung,
eine oder mehrere für
die Bindung zutreffende Kategorien, einen oder mehrere Verweise,
von denen jeder auf eine technische Beschreibung (t-Modell) 207 verweist,
sowie einen Zugriffspunkt, der eine Endpunktadresse definiert, unter der
ein Kontakt zu dem Dienst hergestellt werden kann. Bei UDDI kann
ein t-Modell für
verschiedene Zwecke genutzt werden, obwohl der Hauptzweck in der
Bereitstellung von Informationen besteht, mit denen ein Benutzer
Anforderungen an den Dienst stellen kann, der durch die Unternehmensdiensteinheit, die
ihn enthält,
definiert wird. Dem gemäß kann ein t-Modell
Informationen wie beispielsweise die Schnittstellen und das Datenübertragungsprotokoll enthalten,
das ein Dienst unterstützt,
obwohl derartige Informationen auch unter Verwendung mehrerer t-Modelle
bereitgestellt werden können.
Wenn ein Dienst daher mehrere Bindungsvorlagen bereitstellt, unterstützt er auch
mehrere Verfahren für
den Datenaustausch mit sich.
-
Dabei
ist zu beachten, dass 2 lediglich einen Teilsatz der
Informationen zeigt, die in einer Unternehmenseinheitsdefinition
definiert sein können;
so können
z.B. die beschreibenden Unternehmenseinheitsinformationen 202 Kontaktdetails
enthalten. Außerdem
beschreibt 2 nicht die mit bestimmten Informationsteilen
verbundenen Komplexitäten
wie beispielsweise Kategorien. Allerdings sind derartige zusätzliche
Informationen für
die vorliegende Erfindung nicht von Belang.
-
Eine
Unternehmenseinheitsdefinition, die eine Gruppe von Webdiensten
beschreibt, kann beispielsweise eine Unternehmenseinheit umfassen, die
Folgendes angibt: einen Namen einer „Bank A"; eine Beschreibung „Die Bank A ist eine Online-Bank, die
Finanzdienstleistungen bereitstellt"; die Kategorien „Finanzen" und „Deutschland"; einen Bezeichner, der „AG" und die Registrierungsnummer
von Bank A enthält;
sowie drei Unternehmensdiensteinheiten, die Kontoführungs-,
Aktien-, und Altersvorsorgedienste beschreiben, welche die Unternehmenseinheit
bereitstellt. Dabei kann die Unternehmensdiensteinheit, die den
Aktiendienst beschreibt, z.B. Folgendes angeben: einen Namen „Aktien"; eine Beschreibung „Aktiendienst
der Bank A"; die
Kategorien „Aktien" und „Deutschland"; sowie zwei Bindungsvorlagen, die
zwei unterschiedliche Verfahren für den Zugriff auf den Aktiendienst
definieren, wobei einer dem Kauf und der andere dem Verkauf von
Aktien dient. Die Bindungsvorlage, die den Dienst für den Aktienkauf
beschreibt, kann beispielsweise Folgendes angeben: eine Beschreibung „Dienst
der Bank A für
den Kauf den Aktien";
die Kategorien „Kauf" und „Frankfurter
Börse"; einen Zugriffspunkt,
der eine URL angibt, unter der Aktiendienst zu finden ist; sowie
Verweise auf zwei t-Modelle, eines für Benutzer, die unter Verwendung
von SOAP/HTTP (Simple Object Access Protocoll over Hypertext Transfer
Protocol) auf den Dienst zugreifen wollen, und das andere für Benutzer,
die IIOP (Internet Inter-Orb Protocol) verwenden. Dabei enthält das t-Modell,
das den Zugriff auf den Aktienkaufdienst unter Verwendung von SOAP/HTTP
beschreibt, beispielsweise Folgendes: Daten, die SOAP/HTTP angeben,
sowie eine Spezifikation für
Kaufanfrage-, Kaufbestätigungs-
und Kaufablehnungsanforderungen. Dabei ist zu beachten, dass die
in diesem Beispiel genannten Kategoriewerte aus einer vordefinierten
und bekannten Taxonomie stammen würden, die dem Benutzer vertraut wäre.
-
3 ist
eine schematische Darstellung, die gemäß der UDDI-Spezifikation nach dem Stand der Technik
ein Beispiel eines Benutzers zeigt, der auf einen Dienst zugreifen
möchte,
für den
er keine Zugriffsberechtigung hat. Der Benutzer sendet unter Verwendung
der Einheit 301 Client X zunächst eine Anforderung (311)
an das UDDI-Register 302, die angibt, dass er Details zu
Aktienkaufdiensten erhalten möchte,
die in Deutschland zur Verfügung
stehen. Das UDDI-Register durchsucht dann seine Datenbank 303 mit
bei ihm registrierten Unternehmenseinheitsdefinitionen 304.
Es findet mehrere, darunter die obige Definition für die Bank
A 305, und gibt Details zu ihnen für den Benutzer an den Client
X 301 zurück (312).
Der Benutzer möchte
die Bank A verwenden und entscheidet sich für den Datenaustausch mittels SOAP/HTTP;
als Ergebnis hiervon sendet der Client X 301 eine Kaufanfrageanforderung
(313) unter Verwendung von SOAP/HTTP und gibt dabei gegenüber der
Bank A 305 die Benutzerkennung des Benutzers wie z.B. „Alex" an. Allerdings müssen Benutzer
bei der Bank A einen Offline-Anmeldevorgang durchlaufen, bevor sie
auf den Aktiendienst der Bank zugreifen können, und „Alex" hat diesen Vorgang noch nicht durchgeführt. Daher
verweigert (314) die Bank A 305 die Verarbeitung
der Kaufanfrageanforderung von „Alex", der daraufhin eine Fehlermeldung auf
die Anforderung erhält.
Der Benutzer muss nun einen anderen Aktiendienst einer anderen Unternehmenseinheit
aus den zuvor vom UDDI-Register 302 zurückgegebenen (312)
Daten auswählen.
Dabei ist zu beachten, dass die von dem Benutzer an das UDDI-Register 302 gesendete
Anforderung (311) auch dazu dienen könnte, Details speziell zur
Bank A zu erhalten.
-
Gemäß der vorliegenden
Erfindung hat der Benutzer des Client X 301 im Beispiel
aus 3 unnötig
Zeit und Ressourcen aufgewendet, um den Dienst der Bank A auszuwählen und
eine Kaufanfrageanforderung (313) an sie zu senden.
-
Außerdem hat
der Dienst der Bank A 305 unnötig Zeit und Ressourcen auf
die Verarbeitung und Zurückweisung
der Anforderung des nicht berechtigten Benutzers aufgewendet. Als
Resultat wäre
es daher besser, wenn dem Benutzer keine Details zu einem Webdienst
wie er beispielsweise von der Bank A bereitgestellt wird, zurückgegeben
würde,
für die
er keine Zugriffsberechtigung besitzt.
-
Gemäß der bevorzugten
Ausführungsform der
vorliegenden Erfindung ist ein UDDI-Register mit einem externen
Zugriffsmanager konfiguriert, so dass in einer Unternehmenseinheitsdefinition,
die in dem Register abgelegt ist, eine Zugriffskontrollliste (ACL)
für ein
oder mehrere Datenelemente (z.B. Unternehmenseinheit, Unternehmensdiensteinheit usw.)
definiert werden kann. Anhand der ACL kann dann gesteuert werden,
welche Benutzer zum Anzeigen/Lesen, Aktualisieren und/oder Löschen der
Einheit berechtigt sind. Dabei ist zu berücksichtigen, dass sich die
ACL beim Aktualisieren und Löschen über das
standardmäßige UDDI-Verhalten
hinwegsetzt, das darin besteht, dass lediglich der Benutzer, der
die Einheit erzeugt hat, sie aktualisieren oder löschen kann.
Darüber
hinaus ist zu beachten, dass die ACL z.B. Bezeichner beinhalten
kann, die eine Gruppe von Benutzern angeben, und dass sie ferner
für jeden
Benutzer oder jede Gruppe von Benutzern Details dazu enthalten kann,
welche Operation der Benutzer durchführen darf (z.B. Lesen, Aktualisieren und/oder
Löschen).
-
4 ist
eine schematische Darstellung einer beispielhaften Unternehmenseinheitsdefinition gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung. Die Darstellung enthält einige Teile, die mit 2 identisch
sind und für
die dieselben Ziffern verwendet werden. Des Weiteren enthält die Darstellung
jedoch die Zugriffskontrolllisten 401, 402, 403 und 404.
Eine ACL 401 ist der Unternehmenseinheit 201 zugehörig und
enthält
eine Liste mit Benutzern, die auf die Unternehmenseinheit und die
in ihr enthaltenen beschreibenden Informationen 202 zugreifen
können.
Die Unternehmenseinheit enthält mehrere
Unternehmensdiensteinheiten 203, von denen jede ebenfalls
einer ACL 402 zugehörig
ist. Eine Unternehmensdiensteinheit benötigt eine ACL 402, wenn
nur ein Teilsatz der Benutzer, die auf die Unternehmenseinheitsdefinition
zugreifen können,
auch auf die Unternehmensdiensteinheit zugreifen kann, weshalb eine
ACL 402 einen Teilsatz der in der ACL 401 aufgeführten Benutzer
enthält.
Innerhalb jeder Unternehmensdiensteinheit befinden sich mehrere Bindungsvorlagen,
von denen jede einer ACL 403 zugehörig ist. Eine Bindungsvorlage
benötigt
eine ACL 403, wenn lediglich ein Teilsatz der Benutzer,
die auf die Unternehmensdiensteinheit zugreifen können, auch
auf die Bindungsvorlage zugreifen kann. Innerhalb jeder Bindungsvorlage
befindet sich ein Verweis auf ein oder mehrere t-Modelle, von denen
jedes ebenfalls einer ACL 404 zugehörig ist. Dabei ist zu beachten,
dass auf t-Modelle durch eine Bindungsvorlage verwiesen wird und
diese nicht darin enthalten sind und dass somit mehrere Bindungsvorlagen und
verschiedene Unternehmenseinheitsdefinitionen auf ein und dasselbe
t-Modell verweisen können. Dies
bedeutet, dass die ACL 404 nicht notwendigerweise einen
Teilsatz der in der ACL 403 definierten Benutzer, sondern
vielmehr eine allgemeinere Liste enthält, die auf alle Standorte
von Unternehmenseinheitsdefinitionen zutreffen kann, die auf sie
verweisen.
-
So
kann beispielsweise eine Unternehmenseinheitsdefinition, die eine
Unternehmenseinheit Bank X beschreibt, welche Konto-, Aktien- und
Altersvorsorge-Webdienste bereitstellt, die in den Unternehmensdiensteinheiten
definiert sind, über
ihr zugehörige
ACLs verfügen,
wie im Folgenden beschrieben wird. Die Bank gestattet allen Benutzern
innerhalb Deutschlands den Zugriff auf ihre Dienste, so dass die
der Unternehmenseinheit zugehörige
ACL eine Gruppe angibt, die Benutzer innerhalb Deutschlands definiert.
Allerdings ist der Aktiendienst auf registrierte Benutzer beschränkt, von
denen es vier Kategorien gibt: vertrauenswürdiger Händler, Händler, vertrauenswürdiger Kursermittler
und Kursermittler. Somit enthält
die ACL, die der Unternehmensdiensteinheit zugehörig ist, welche den Aktiendienst
definiert, lediglich diese vier Benutzer. Die Unternehmensdiensteinheit,
die den Aktiendienst definiert, enthält zwei Bindungsvorlagen: eine
für den
Erhalt von Aktienkursen und eine sowohl für den Erhalt von Aktienkursen
als auch für
den Handel mit Aktien. Der vertrauenswürdige Händler und der Händler stellen Händler dar,
weshalb die ACL, die der Bindungsvorlage für den Erhalt von Kursen und
den Handel mit Aktien zugehörig
ist, lediglich diese beiden Benutzer nennt. Der vertrauenswürdige Kursermittler
und der Kursermittler stellen lediglich Kursanfragen, und somit
enthält
die ACL, die der Bindungsvorlage für den Erhalt von Aktienkursen
zugehörig
ist, lediglich diese beiden Benutzer. Die Bindungsvorlage für den Erhalt von
Kursen und den Handel mit Aktien enthält Verweise auf vier t-Modelle:
tMDealSecure (t-Modell für Vertrauenswürdige Händler),
tMDeal (t-Modell für Händler),
tMPriceSecure (t-Modell für
Vertrauenswürdige
Kursermittler) und tMPrice (t-Modell für Vertrauenswürdige Kursermittler).
Die t-Modelle für
vertrauenswürdige
Händler
und für
Händler
beschreiben, wie auf die Handelsfunktion zugegriffen wird, wobei
tMDealSecure eine gesicherte Verbindung und tMDeal eine nicht gesicherte
Verbindung nutzt. tMPriceSecure und tMPrice beschreiben, wie auf
die Funktion für
den Erhalt von Aktienkursen zugegriffen wird, wobei tMPriceSecure
eine gesicherte Verbindung und tMPrice eine nicht gesicherte Verbindung nutzt.
Die Bindungsvorlage für
den Erhalt von Aktienkursen enthält
Verweise auf zwei t-Modelle, bei denen es sich um tMPriceSecure
(t-Modell für
nichtvertrauenswürdige
Händler
und Kursermittler, die eine gesicherte Verbindung nutzen müssen) und
tMPrice (t-Modell für
vertrauenswürdige
Händler
und Kursermittler, die eine nicht gesicherte Verbindung nutzen) handelt.
Jedem t-Modell ist eine ACL zugehörig. Die ACL für tMDeal
nennt lediglich Händler,
die keine Vertrauenswürdigen
Händler
sind und daher eine sichere Verbindung nutzen müssen. Die ACL für tMDeal
nennt ausschließlich
vertrauenswürdige
Händler, die
als sichere Händler
eingestuft werden und bei denen davon ausgegangen wird, dass sie über eine nicht
gesicherte Verbindung auf den Dienst zugreifen. Die ACL für tMPriceSecure
nennt Händler
und Kursermittler, die nicht vertrauenswürdig sind und daher eine gesicherte
Verbindung nutzen müssen.
Die ACL für
tMPrice nennt schließlich
vertrauenswürdige Händler und
Kursermittler, die beide als sicher gelten und bei denen davon ausgegangen
wird, dass sie über
eine nicht gesicherte Verbindung auf den Dienst zugreifen.
-
Dabei
ist zu beachten, dass bei einer anderen Ausführungsform ein oder mehrere
der Datenelemente (Unternehmenseinheit, Unternehmensdienst, Bindungsvorlage,
t-Modell) in der Hierarchie möglicherweise
keine ihnen zugehörige
ACL aufweisen. In diesem Fall kann davon ausgegangen werden, dass alle
Benutzer, die auf ein Datenelement zugreifen können, auch auf ein beliebiges
anderes Datenelement zugreifen können,
das darin enthalten ist und nicht über eine ihm zugehörige ACL
verfügt.
Wenn eine Bindungsvorlage beispielsweise keine ihr zugehörige ACL
aufweist, ist davon auszugehen, dass alle Benutzer, die auf den
Unternehmensdienst zugreifen können,
der sie enthält,
auch auf die Bindungsvorlage zugreifen können.
-
Bei
der bevorzugten Ausführungsform
sind die ACLS den Unternehmenseinheitsdefinitionen zugehörig, wobei
ein virtuelles Dateisystem verwendet wird. So kann bei UDDI jedem
Datenelement ein eindeutiger Schlüssel zugehörig sein, so dass jede Unternehmenseinheit,
jeder Unternehmensdienst, jede Bindungsvorlage und jedes t-Modell über einen
eindeutigen Schlüssel
verfügt.
Diese Schlüssel
können dazu
verwendet werden, aus einer Verzeichnisstruktur heraus, welche dieselbe
Hierarchie aufweist wie die Unternehmenseinheitsdefinition, auf
eine ACL zuzugreifen. Wenn der Schlüssel für die Unternehmenseinheit Bank
X beispielsweise „Bank
X", der Schlüssel für eine Aktien-Unternehmensdiensteinheit der
Bank X „Aktien" und der Schlüssel für die Aktiendienst-Bindungsvorlagen „Händler" und „Kursermittler" lautet, werden die
ACLS in einer Verzeichnisstruktur gestellt, die folgendermaßen aussieht:
/uddi/Xbank/<ACL für Unternehmenseinheit
Bank X>
/uddi/Xbank/shares/<ACL für Aktien-Unternehmensdienst>
/uddi/Xbank/shares/dealers/<ACL für Händler-Bindungsvorlage>
/uddi/Xbank/shares/pricers/<ACL für Kursermittler-Bindungsvorlage>
-
Dabei
ist jedoch zu beachten, dass aus Gründen der Anschaulichkeit die
in diesem Beispiel verwendeten Schlüssel etwas vereinfacht sind
und mit Blick auf andere Unternehmenseinheiten kaum eindeutig sein
dürften.
Um eine Eindeutigkeit zu erhalten, müsste ein Schlüssel in
der Praxis vermutlich komplizierter sein und einen UUID-Bezeichner
(Universal Unique Identifier) enthalten.
-
Bei
einer anderen Ausführungsform
könnte die
Unternehmenseinheitsdefinition so aktualisiert werden, dass sie
eine geeignete ACL oder einen Verweis auf eine geeignete ACL enthält.
-
5 ist
eine schematische Darstellung, die gemäß der bevorzugten Ausführungsform
der vorliegenden Erfindung ein Beispiel eines Benutzers zeigt, der
auf einen Unternehmensdienst zugreifen möchte, für den er nicht über die
notwendige Zugriffsberechtigung verfügt. Die Darstellung enthält Teile,
die mit 3 identisch sind und für die dieselben
Ziffern verwendet werden. Unter Verwendung der Einheit 301 Client
X sendet der Benutzer zunächst
eine Anforderung (511) an das UDDI-Register 302,
die angibt, dass er Details zu den in Deutschland verfügbaren Aktienkaufdiensten
erhalten möchte.
Die Benutzeranforderung (511) enthält ferner einen Bezeichner für den Benutzer,
z.B. „Fred", der einem dem Ablauf zugehörigen Kontext
hinzugefügt
wird, wobei dies z.B. durch Middleware erfolgt, die auf dem Client
X 301 ausgeführt
wird. Danach durchsucht das UDDI-Register
seine Datenbank 303 mit Unternehmenseinheitsdefinitionen 304,
die bei ihm registriert wurden, nach solchen Definitionen, die den
angeforderten Dienst bereitstellen. Es findet und speichert eine Liste
mit mehreren geeigneten Unternehmenseinheiten, von denen eine die
Bank X 502 ist. Das UDDI-Register ist mit einem Zugriffsmanager 501 konfiguriert,
den das UDDI-Register dann auffordert, jede ACL 504, die
einem beliebigen der relevanten Datenelement in den von ihm gefundenen
Unternehmenseinheitsdefinitionen zugehörig ist, zu überprüfen. Die Überprüfung verwendet
den Benutzerbezeichner, der im Kontext der Benutzeranforderung (511)
enthalten ist. Mit Bezug auf das obige Beispiel gestattet die Unternehmenseinheit
Bank X beispielsweise allen Benutzern in Deutschland, zu denen auch „Fred" gehört, den
Zugriff. Allerdings kann „Fred" nicht auf den Aktiendienst
der Bank X zugreifen, da dieser den Zugriff nur vier Benutzern gestattet:
vertrauenswürdiger Händler, Händler, vertrauenswürdiger Preisermittler und
Preisermittler. Daher gibt der Zugriffsmanager (501) gegenüber dem
UDDI-Register an,
dass eine Berechtigungsprüfung
fehlgeschlagen ist, und als Ergebnis werden die Details der Bank
X aus der Liste der von dem Register zurückgegebenen Dienste entfernt.
Nachdem das UDDI-Register anhand des Zugriffsmanagers alle Unternehmenseinheiten
in der Liste überprüft hat,
gibt es an den Client X 301 nur diejenigen zurück (512),
für die
er zugriffsberechtigt ist.
-
Dabei
ist zu beachten, dass im Beispiel aus 5 die Benutzeranforderung
darin besteht, eine Liste von Unternehmenseinheiten zu erhalten,
die einem Suchkriterium entsprechen. Bei einer anderen Ausführungsform
könnte
die Anforderung lauten, Details zu einer bestimmten Unternehmenseinheit
zu erhalten oder das XML-Schema der Unternehmenseinheit zu aktualisieren
oder zu löschen.
-
Weiterhin
ist zu beachten, dass es in der Verantwortung des Unternehmensanbieters
liegt, dem UDDI-Register geeignete Berechtigungslisten wie beispielsweise
ACLs für
seine Unternehmenseinheitsdefinition(en) bereitzustellen. Da sich
das UDDI-Register und das Unternehmen vermutlich in unterschiedlichen
Sicherheitsdomänen
befinden und daher keinen Zugriff auf dieselbe Berechtigungsliste haben,
kann es vorkommen, dass die dem UDDI-Register verfügbaren Listen
veraltet sind. Daher ist es möglich,
dass einem Benutzer Details zu einem Dienst, auf den er zugreifen
kann, nicht bereitgestellt werden oder dass er Details zu einem
Dienst erhält, für den er
keinen Zugriff hat.
-
6 ist
ein Ablaufdiagramm der grundlegenden Schritte des Verfahrens, die
von einem UDDI-Register und einem Zugriffsmanager gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung durchgeführt werden. Dabei wird in Schritt 601 eine
Anforderung für
den Zugriff auf eine Unternehmenseinheitsdefinition von einem Benutzer
empfangen. Die Art des in der Anforderung angegebenen Zugriffs könnte Aktualisieren,
Löschen
oder Lesen der Unternehmenseinheitsdefinition lauten. In Schritt 602 wird
die Unternehmenseinheitsdefinition, für die der Zugriff angefordert
wurde, ausfindig gemacht, und in Schritt 603 wird aus Daten,
die in Schritt 601 mit der Anforderung gesendet wurden,
ein Bezeichner für
den Benutzer halten. Der Bezeichner könnte für einen bestimmten Benutzer
oder eine Gruppe von Benutzern gelten und wird zusammen mit Details
zu einer oder mehreren Unternehmenseinheitsdefinitionen und der
Art des gewünschten
Zugriffs im Anschluss daran dem Zugriffsmanager bereitgestellt.
In Schritt 604 macht der Zugriffsmanager Berechtigungsdetails
ausfindig, die der Unternehmenseinheitsdefinition zugehörig sind,
indem er sie z.B. in einem virtuellen Dateisystem sucht, das dem
Zugriffsmanager bekannt ist, während
er in Schritt 605 überprüft, ob der
kenntlich gemachte Benutzer über
die notwendige Berechtigung für
den Zugriff auf die Unternehmenseinheitsdefinition oder auf ein
oder mehrere darin enthaltene Datenelemente verfügt. Wenn der Benutzer nicht über die
notwendige Berechtigung verfügt,
wird die Benutzeranforderung zurückgewiesen
und in Schritt 606 eine Fehlermeldung zurückgegeben.
Wenn der Benutzer jedoch über
die notwendige Berechtigung verfügt,
wird der Anforderung in Schritt 607 der Zugriff auf die
Unternehmenseinheitsdefinition gestattet. Unter Umständen hat
der Benutzer auch einen eingeschränkten Zugriff auf die Unternehmenseinheitsdefinition,
wobei in diesem Fall Schritt 607 lediglich den Zugriff
auf den Teilsatz der Unternehmenseinheitsdefinition gestattet, auf
den der Benutzer Zugriff hat.
-
Dabei
ist zu beachten, dass das Ablaufdiagramm aus 6 vereinfacht
ist und die Schritte nicht notwendigerweise in der angegebenen Reihenfolge
ausgeführt
werden müssen.
So könnten
die Schritte 604 und 605 für eine gegebene Unternehmenseinheitsdefinition,
der eine Vielzahl von Berechtigungsdetails zugehörig sind, die sich jeweils
auf ein anderes Datenelement in der Unternehmenseinheitsdefinition
beziehen, auch in einer Schleife ausgeführt werden, so dass die Berechtigungsdetails
erhalten und dann nacheinander für
jedes Datenelement überprüft werden.
Wenn die Anforderung eine Leseanforderung ist, kann sie außerdem ein
Suchkriterium angeben, für
welches das UDDI-Register eine oder mehrere Unternehmenseinheitsdefinitionen sucht,
die dem Kriterium entsprechen. In diesem Fall können die Schritte 604, 605, 606 und 607 in
einer Schleife ausgeführt
werden, wobei die eine oder mehrere Unternehmenseinheitsdefinitionen
nacheinander überprüft werden
würden.
-
Für den Fachmann
dürfte
offensichtlich sein, dass das mit Blick auf 6 beschriebene
Verfahren in einer Vielzahl von Programmiersprachen wie beispielsweise
Java, C und C++ realisiert werden könnte (Java ist eine eingetragene
Handelsmarke von Sun Microsystems, Inc. in den Vereinigten Staaten und/oder
anderen Ländern).
Dem Fachmann ist weiterhin klar, dass die Verfahren nach ihrer Realisierung
in einem Computerprogrammprodukt, das ein oder mehrere Programme
in Quell- oder ausführbarer
Form umfasst, auf einem Medium wie Diskette, CD und DVD gespeichert
werden könnten,
das geeignet ist, um in einen Datenverarbeitungshost geladen zu
werden und den Datenverarbeitungshost zur Ausführung der Verfahren zu veranlassen.
-
Obwohl
die Erfindung mit Blick auf ein UDDI-Register beschrieben wurde,
dürfte
für einen Fachmann
ferner offensichtlich sein, dass auch ein Register realisiert werden
könnte,
das kein UDDI-Register ist, jedoch eine ähnliche Funktion bereitstellt.
-
Somit
beschränkt
gemäß der vorliegenden Erfindung
ein Register wie beispielsweise ein UDDI-Register den Zugriff auf
Unternehmenseinheitsdefinitionen, die in dem Register enthalten
sind, in Übereinstimmung
mit Berechtigungsdetails, die der Unternehmensdienstdefinition zugehörig sind.
Eine Unternehmenseinheitsdefinition kann eine Vielzahl von Datenelementen
umfassen. Im Anschluss daran werden Berechtigungsdetails, die Benutzer
oder Benutzergruppen mit Zugriffsberechtigung auf das Datenelement
definieren, einem oder mehreren dieser Datenelemente zugewiesen.
Wenn eine Benutzeranforderung für
den Zugriff auf eine Unternehmenseinheitsdefinition empfangen wird,
wird der Zugriff auf diejenigen Datenelemente beschränkt, für die der Benutzer über die
notwendige Berechtigung verfügt.