DE10110039A1 - Ein Verfahren zur generischen Beschreibung und Manipulation beliebiger Datenstrukturen - Google Patents

Ein Verfahren zur generischen Beschreibung und Manipulation beliebiger Datenstrukturen

Info

Publication number
DE10110039A1
DE10110039A1 DE10110039A DE10110039A DE10110039A1 DE 10110039 A1 DE10110039 A1 DE 10110039A1 DE 10110039 A DE10110039 A DE 10110039A DE 10110039 A DE10110039 A DE 10110039A DE 10110039 A1 DE10110039 A1 DE 10110039A1
Authority
DE
Germany
Prior art keywords
resource
data
access
resources
computer program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE10110039A
Other languages
English (en)
Inventor
Karl-Hans Holder
Viktor Mihajlovski
Ruediger Kirsch
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE10110039A1 publication Critical patent/DE10110039A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

Die vorliegende Erfindung bezieht sich auf ein Verfahren und ein System zur generischen Beschreibung und Manipulation von beliebigen Datenstrukturen. Sie umfasst das Lesen von ressourcenspezifischen Informationen von einer Quelle, die die Ressource spezifiziert, z. B. einer XML-Datei, die die Struktur spezifiziert, die die Ressourcen umfasst, die hierarchische Steuerinformation (10) erzeugt, zum Beispiel einen Baum, der die Struktur widerspiegelt, und einen Zugriff auf eine gewünschte Ressource (32, 33, 34) ermöglicht, indem eine den Zugriff ausführende Ressource (30) mit einem entsprechenden Verweis auf die Ressource aufgerufen wird.

Description

1. HINTERGRUND DER ERFINDUNG 1.1. BEREICH DER ERFINDUNG
Die vorliegende Erfindung bezieht sich auf Verbesserungen bei der Verarbeitung von Daten, die von einem Computersystem verwaltet werden, und insbesondere auf ein Verfahren und ein System zur generischen Beschreibung und Manipulation von beliebigen Datenstrukturen.
1.2. BESCHREIBUNG UND NACHTEILE DES GEGENWÄRTIGEN STANDES
Obwohl die vorliegende Erfindung einen breiten Bereich betrifft, wird sie in einer Ausführungsform beschrieben und dem Stand der Technik gegenübergestellt, in der sich die fraglichen Datenstrukturen auf Daten beziehen, die primär von einem Computer-Betriebssystem verwaltet und benutzt werden.
Für den Zweck der vorliegenden Erfindung sollte der Begriff "Ressourcen" so verstanden werden, dass er ein beliebiges Datenelement umfasst, beispielsweise den Familiennamen eines Nutzers eines Computersystems, eine Datenmenge, in der die Daten als ein Element der Menge gespeichert werden, sowie weitere strukturelle Elemente, die die Daten in einem allgemeinen, hierarchischen Kontext aufnehmen, beispielsweise ein Dateibaum oder ein Datenbaum.
Insbesondere muss eine sogenannte Systemverwaltungs-Software eine große Zahl von ähnlichen Ressourcen verwalten, d. h. lesen und aktualisieren oder löschen. In vielen Fällen ist eine derartige Systemverwaltungs-Software für eine solche Verwaltung innerhalb der OS/390-Systemverwaltung vorgesehen, die sich auf die Großrechner-Betriebssystemtechnologie OS/390 bezieht. Für jede zu unterstützende Ressource muss die Verwaltungssoftware modifiziert und neu übersetzt werden, da spezieller Code geschrieben werden muss, der die Eigenheiten der jeweiligen Ressource behandelt. Somit muss immer, wenn eine zusätzliche Ressource unterstützt werden soll, der Code der unterstützenden Software modifiziert werden.
In anderen Zusammenhängen könnte ebenso eine Forderung bestehen, zu jeder Datenmenge ein bestimmtes Attribut, in einer Situation hinzuzufügen, in der bereits eine große Anzahl von Datenmengen vorhanden ist und mit einem speziellen Werkzeug verwaltet werden muss. Das Werkzeug ist jedoch auf die Verwaltung bereits vorhandener Daten beschränkt. Demzufolge muss das Werkzeug erweitert sowie neu editiert und neu übersetzt werden. Ein Beispiel ist die Schnittstelle RACF ISPF im OS/390, die es (unter anderem) Systemadministratoren erlaubt, RACF-Nutzer-IDs und deren Attribute zu verwalten. RACF verwaltet Datenzugriffsrechte und andere sicherheitsrelevante Aspekte des Betriebssystems OS/390. ISPF ist eine Abkürzung für Interaktive System-Produktivitäts- Einrichtung (Interactive System Productivity Facility). Um auf neue Attribute in der RACF-Datenbank zuzugreifen, ist es notwendig, dass die ISPF-Dialoge diese Attribute enthalten, was bedeutet, dass eine entsprechende Version der ISPF-Schnittstelle benötigt wird.
Weiterhin werden in vielen Situationen die oben erwähnten Ressourcen von einer Vielzahl von Verwaltungssystemen gemeinsam benutzt; so könnte beispielsweise eine Vielzahl von Computernutzern auf eine UNIX-Umgebung und auch auf eine WINDOWS- NT-Umgebung zugreifen. Demzufolge muss jede beliebige, an Nutzerdaten vorgenommene Änderung sowohl in einem Verwaltungswerkzeug für UNIX-Systeme als auch in einem Verwaltungswerkzeug für WINDOWS-NT-Systeme konsistent ausgeführt werden, um Probleme zu vermeiden, die von Unterschieden zwischen ihnen herrühren.
Deshalb ist es wünschenswert, dass man zusätzliche Ressourcen ohne die Notwendigkeit unterstützen kann, den Code der jeweiligen Verwaltungssoftware zu modifizieren.
1.3. AUFGABEN DER ERFINDUNG
Es ist demzufolge eine Aufgabe der vorliegenden Erfindung, den Zugriff auf Daten zu erleichtern, die speziell durch ein oder mehrere zugehörige Datenverwaltungswerkzeuge verwaltet werden.
2. ZUSAMMENFASSUNG UND VORTEILE DER ERFINDUNG
Diese Aufgaben der Erfindung werden durch die Eigenschaften erreicht, die in den angefügten unabhängigen Ansprüchen formuliert werden. Weitere vorteilhafte Anordnungen und Ausführungsformen der Erfindung werden in den jeweiligen Unteransprüchen erklärt.
Die durch die Erfindung eingeführte Vorgehensweise erlaubt es, Daten, die in verschiedenen Arten von Speichern verfügbar sind, auf einheitliche Art und Weise zu modellieren, und sie erlaubt es auch, in generischer Weise auf diese Daten zuzugreifen, sie zu verarbeiten und zu aktualisieren, unabhängig von den Daten und der Art des Speichers. Die Daten in den Speichern werden hier im Weiteren als Ressource oder als Ressourcen bezeichnet.
Entsprechend einem grundlegenden Aspekt beschreibt die vorliegende Erfindung eine Datenverarbeitungsmaschine, die die grundlegende Funktionalität für den Zugriff auf Daten, deren Zusammenfügung und die Navigation in ihnen bereitstellt. Diese Maschine stellt weiterhin eine API bereit, um den Datenzugriff, die Datenverarbeitung und die Datenaktualisierung auszulösen, und ebenso eine strukturierte (architectured) Schnittstelle für den gewünschten Ressourcenzugriff.
Diese Schnittstelle, im Weiteren hier als "Ausführungselement" (performer) bezeichnet, muss eine wohldefinierte Menge von logischen Operationen bereithalten, die es erlauben, Zugang zur Ressource zu erhalten, in den Ressourcedaten zu navigieren und die Datenelemente in der Ressource abzurufen und zu aktualisieren. Die abstrakten Bezeichnungen dieser Operationen sind getNode, createNode, deleteNode und update. Diese Operationen, so wie sie von einer Ressourcenzugriffs- Schnittstelle bereitgehalten werden, d. h. von einem Parser oder einem Modifizierer, der die physische Ressource analysiert, umfassen den vom Gerät gewährten Zugriff auf Datenelemente innerhalb des Gerätes selbst (getNode) und modifizieren sie auf Verlangen (beispielsweise createNode, deleteNode, update). Die Aktualisierungsoperation bezieht sich auf die Ressource als Ganzes und kann vorteilhafterweise Übergabemöglichkeiten (commit­ facilities) umfassen.
Demzufolge umfasst die Zugriffsmethode der Erfindung grundlegend die folgenden Schritte:
Benutzung einer Definition oder Definition wenigstens der physischen und/oder logischen Parameter, die zur Lokalisierung des gewünschten Ressourcenzugriffs erforderlich sind,
Lesen der ressourcenspezifischen Informationen von einer Ressource, die die Quelle spezifiziert, vorteilhafterweise eine XML-Datei, die die Struktur spezifiziert, die die Ressource umfasst,
Erzeugung der hierarchischen Steuerinformation, die die Struktur widerspiegelt, und
Ermöglichung eines Zugriffs auf die gewünschte Ressource, indem ein Ressourcenzugriffs-Ausführungselement mit wenigstens einem der Parameter und durch Auswertung der Steuerinformation aufgerufen wird.
Die oben erwähnte Verarbeitungsmaschine wird durch eine Datenmodell-Definition gesteuert, die hier im Weiteren als "Schema" bezeichnet wird. Eine bevorzugte Schema-Sprache ist eine XML-Sprache, wie bereits oben kurz angezeigt wurde. XML wird gegenwärtig wegen ihrer aktuellen Popularität und der Verfügbarkeit von Werkzeugen wie Parser, Editoren usw. bevorzugt. Eine andere Option wäre eine spezielle Schema-Sprache gewesen, wobei die Sprache selbst für die Erfindung nicht relevant ist. Es sollte beachtet werden, dass zukünftige Sprachen auch bei Eignung angepasst werden können.
Die Parameter, die den logischen Operationen des Ausführungselementes für den Ressourcenzugriff zugeordnet sind, sind der Typ und die Knotennamen, so wie sie in dem Schema definiert sind.
Die Fähigkeiten der Maschine werden durch die in dem Schema verfügbaren Gebilde widergespiegelt, die aus einfachen Datentypen sowie Zusammensetzungsmethoden wie einer "Record"- oder "Listen"- Konstruktion bestehen. Neue Datentypen können durch Zusammensetzen aus Basis-Datentypen und anderen zusammengesetzten Datentypen konstruiert werden. Dies macht die Maschine besonders geeignet für die Verarbeitung sowohl flacher als auch baumstrukturierter hierarchischer Daten, da in diesen Fällen keine manuelle Programmierung erforderlich ist.
Wenn Ressourcen-Datenstrukturen, die nicht mit den eingebauten Möglichkeiten ausgedrückt werden können, wie zum Beispiel komplexe Beziehungen zwischen Datenelementen oder "exotische" Datentypen, vorkommen sollten, erlaubt es das Schema, die Fähigkeiten der Maschine durch bestimmten einfügbaren Code (plug­ in code) zu erweitern, der von der Maschine aufgerufen werden kann.
Es ist eine grundlegende Voraussetzung der vorliegenden Erfindung, dass der Ressourcenzugriff nicht von der Maschine selbst ausgeführt wird, sondern durch entsprechende zugeordnete Ressourcenzugriffs-Schnittstellen, die für die Maschine handeln, um auf die Daten so zuzugreifen, wie durch das Schema definiert wurde.
Die Ressourcenzugriffs-Schnittstellen müssen für alle Ressourcen bereitgestellt werden, auf die durch das Schema Bezug genommen wird. Der Ressourcenzugriff kann beispielsweise aus syntaxgesteuerten Parsern für PARMLIB-Elemente bestehen, wenn er auf die IBM OS/390 Computertechnologie angewendet wird. Anspruchsvollere Ressourcenzugriffs-Mechanismen können auf eine Datenbank oder auf Verzeichnis-Server (directory server) zugreifen.
Sobald Datenverarbeitungs- und Ressourcenzugriffs-Schnittstellen vorhanden sind, ist es möglich, sie in dem Schema zu kombinieren, und es ist leicht, eine neue Funktionalität oder neue Ressourcen hinzuzufügen. Wenn beispielsweise Daten, die einer Person zugeordnet sind, in verschiedenen Speichern wie Verzeichnissen (directory) oder Verzeichnis-Datenbanken (inventory database) gespeichert sind, ist es möglich, die Daten synchronisiert zu halten, indem ein Schema definiert wird, das die Datenbeziehungen beschreibt und Ressourcenzugriffs-Schnittstellen für die Speicher zur Verfügung stellt.
Solch eine Verarbeitung geschieht so, wie unten zusammengefasst dargestellt wird.
Die Maschine der Erfindung wird typischerweise über die API aufgerufen, um einen Vorgang auszuführen wie das Abrufen von einem oder mehreren Werten in den Ressourcen oder das Aktualisieren einiger Werte in einer oder mehreren Ressourcen. Zu diesem Zweck konstruiert die Maschine entsprechend der Schema- Spezifikation für diese Ressource eine Baumstruktur. Die Baumstruktur wird als ein Ressourcenbaum bezeichnet, seine Knoten als Ressourcenknoten.
Die Maschine lokalisiert dann die geeigneten Knoten in dem Baum über ihre eingebauten Navigationsfähigkeiten oder unter Benutzung von einsetzbarer Logik. Bei Bedarf werden zusätzliche Knoten konstruiert, um die Schema-Anforderungen zu erfüllen. Die verantwortliche Ressourcenzugriffs-Schnittstelle wird aufgerufen, um den Ressourcenbaum zu füllen, den Wert eines Ressourcenknotens abzurufen oder zu aktualisieren und Ressourcenknoten zu erzeugen und/oder zu entfernen. Wenn alle API-Anforderungen verarbeitet wurden, werden die ursprünglichen Ressourcen aktualisiert, um den Zustand des Ressourcenbaums zu widerzuspiegeln, so wie er von der Maschine verwaltet wird.
Eine Kernidee dieser Darstellung ist das Konzept der Datentypisierung in dem Datenmodellierungs-Schema, das benutzt wird, um die zu manipulierenden Ressourcen zu beschreiben:
Die Flexibilität und Erweiterbarkeit der allgemeinen Verarbeitungsmaschine der Erfindung zur Unterstützung neuer Ressourcen rührt von der Art und Weise her, in der die Typen der Ressourcen und ihre auftretenden Parameter definiert werden können:
Entsprechend einem grundlegenden Aspekt des Verfahrens der Erfindung wird eine vordefinierte Menge von Datentypen benutzt, die vom skalaren Typ sind, d. h. einfache Datentypen wie string, boolean, integer, sowie vordefinierte Methoden, wie zum Beispiel ein Listen-Generator oder ein Array-Generator zur Modellierung zusammengesetzter Datentypen mit Hilfe der Vielzahl von skalaren Datentypen.
Jeder skalare Datentyp kann vorteilhafterweise durch den Einsatz einer JAVA-Klasse realisiert werden. Jeder Einsatz ist im Wesentlichen verantwortlich für die Prüfung einer Nutzereingabe.
Um eine neue Ressource zu unterstützen, können zusätzliche skalare und nichtskalare Typen mit Hilfe des XML-Kennzeichens TYPEDEF class = . . . definiert werden. Dies bedeutet, dass das Konzept der Erfindung problemlos benutzt werden kann, wenn die gewünschten zusätzlichen Attribute durch ein Verwaltungswerkzeug verwaltet werden müssen, so wie es beschrieben wurde, als der Stand der Technik erörtert wurde.
Das Klassenattribut definiert den einfügbaren Code, der die Wertprüfung für den Typ behandelt. Diese Klasse kann von den zuvor erwähnten eingebauten Klassen abgeleitet werden.
Weiterhin kann das Konzept der Erfindung durch Hinzufügen spezieller Verhaltensaspekte eines Datentyps erweitert werden. Solch eine Erweiterung kann vorteilhafterweise mit einem XML- Kennzeichen FUNCTION class = . . . vorgenommen werden.
Weiterhin kann ein Datentyp Beziehungen zu anderen Datentypen aufweisen, d. h., Elemente dieses Datentyps können voneinander oder von Elementen anderer Typen in dem Ressourcenspeicher abhängig sein. Dies kann vorteilhafterweise mit einem XML- Kennzeichen ASSOCIATION beschrieben werden. Dies erlaubt es ebenfalls, einfügbaren Code zu spezifizieren, und zusätzlich erlaubt es, die betroffenen Datenelemente durch einen Namen zu spezifizieren.
Das oben erwähnte Schema kann vorteilhafterweise eine Bewertung von semantischen Beziehungen zwischen gespeicherten Daten umfassen, die in einer oder mehreren Ressourcen verteilt gespeichert sind. Dies ermöglicht es, im Fall von wechselseitigen Abhängigkeiten in verwandten Daten für Konsistenz zu sorgen. Dies ist von besonderer Wichtigkeit, wenn die gleiche Ressource von einer Vielzahl von Betriebssystemen gemeinsam benutzt wird, oder, im Allgemeinen, wenn die Daten über eine Vielzahl von Plätzen in einem Netzwerk verteilt sind.
Weiterhin kann das Verfahren der Erfindung anforderungsgesteuert ausgeführt werden, weil eine Anforderungs-API vorteilhaft mit dem Verfahren der Erfindung benutzt werden kann. Anforderungen können interaktiv vom Nutzer oder in einer beliebigen Art von Prozess- Verwaltung wie Stapel-Warteschlangen (batch queue) usw. gestellt werden.
Der oben beschriebene Mechanismus erlaubt es, Datentypen zu definieren, die als eine Menge von Bausteinen dienen können; sie können wieder benutzt und kombiniert werden, um die Struktur und das Verhalten einer beliebigen, zu manipulierenden Ressource zu beschreiben. Bei jeder neuen Kombination kann das Verhalten der neuen Datenstruktur über die Kennzeichen FUNCTION und ASSOCIATION angepasst werden.
XML kann vorteilhafterweise benutzt werden, um Ressourcen in der oben dargestellten Art und Weise zu beschreiben. Diese Beschreibung wird in eine abstrakte interne Darstellung der Struktur der Ressource, zusammen mit den in ihr auftretenden Parametern übersetzt. Diese Darstellung kann durch den generischen Prozessor der Erfindung interpretiert werden, um eine beliebige Anzahl von Datenelementen mit der definierten Struktur und dem definierten Verhalten zu erzeugen und einen Zugriffspfad zu den echten Ressourcendaten in dem ständigen Speicher abzuleiten, d. h. eine Abbildung von der Ressourcenbeschreibung auf höherem Niveau auf die konkrete Struktur vorzunehmen, in der die Ressource tatsächlich physisch beispielsweise auf einer Festplatte gespeichert ist.
Dies wiederum erlaubt es, beliebige Elementedaten zu erzeugen und zu manipulieren, die entsprechend diesen Beschreibungen gültig sind, mit Hilfe der standardisierten API, die von dem generischen Prozessor der Erfindung angeboten wird und es somit erlaubt, generische Lese-/Aktualisierungs-Operationen mit der realen Ressource durchzuführen.
3. KURZE BESCHREIBUNG DER ZEICHNUNGEN
Die vorliegende Erfindung wird beispielhaft veranschaulicht und ist nicht durch die Form der Abbildungen der beigefügten Zeichnungen beschränkt, wobei
Fig. 1 eine schematische Darstellung ist, die die grundlegende Art und Weise der Kombination von elementaren Bausteinen zeigt, um eine beliebige gewünschte Ressourcenstruktur aufzubauen, die die logische(n) Ressource(n) widerspiegelt, die verwaltet werden soll(en) (oberer Teil), sowie die Mittel, mit denen das geschieht (unterer Teil);
Fig. 2 eine schematische Darstellung ist, die einen Überblick über die Verarbeitung gibt, wenn das Verfahren der Erfindung angewendet wird,
Fig. 3 eine schematische Darstellung ist, die die grundlegenden Schritte des Verfahrens der Erfindung zeigt, und
Fig. 4 eine schematische Darstellung ist, die einen Überblick über die wesentlichsten benutzten logischen und physischen Elemente gibt.
4. BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
Wir beziehen uns allgemein auf die Abbildungen und jetzt insbesondere auf Fig. 1, wo ein Beispiel für eine einfache Datenmodell-Definition angegeben, die den Zugriff auf die physischen Daten steuert.
Am oberen Rand sind sechs beispielhaft gewählte Bausteine dargestellt, mit deren Hilfe eine Ressourcenstruktur 10 entsprechend der vorliegenden Erfindung zusammengefügt werden kann. Zuerst wird der Baustein 12 angewendet, wodurch eine Ressourcenstruktur konstruiert wird, die einen Hauptknoten mit zwei zugeordneten Nachfolgeknoten besitzt, siehe Pfeil 1. Dann wird, wie durch Pfeil 2 angezeigt wird, ein weiterer Baustein 14 mit seinem Vaterknoten zusammengefügt, der mit dem linken Folgeknoten des Bausteins 12 verbunden ist. Dann wird in einem weiteren Schritt, der durch Pfeil 3 angezeigt ist, der Baustein 16 mit dem verbleibenden Folgeknoten verbunden, und danach wird der Baustein 18 an den Folgeknoten des Bausteins 16 angehängt.
Dann wird wiederum im linken Zweig der Baustein 18 an den Folgeknoten des Bausteins 14 angehängt, der sich am weitesten links befindet, siehe Pfeil 5. Dann wird der Baustein 20 an den Folgeknoten des Bausteins 18 angehängt, siehe Pfeil 6.
Wie man leicht aus der Zeichnung erkennt, kann aus einer oder mehreren Grundbausteinen eine beliebige gewünschte Baumstruktur konstruiert werden. Es sollte beachtet werden, dass es nur eine Entwurfsentscheidung ist, wie viele Elemente und unterschiedliche Bausteine in dem jeweiligen "Werkzeugkasten" enthalten sein können, solange die einfachsten Bausteine, d. h. ein einzelner Knoten und ein Paar mit einem Vorgängerknoten und einem Folgeknoten, ein Element dieses Werkzeugkastens sind. Es sollte beachtet werden, dass auch mehr als ein neuer Baustein zu einem beliebigen gewünschten Vorgängerknoten hinzugefügt werden kann.
Die oben erwähnten XML-Kennzeichen ASSOCIATION, FUNCTION sind im unteren Teil von Fig. 1 dargestellt, und andere Kennzeichen wie VALUES, TYPEDEF und PLUG-IN werden dargestellt, um die oben erwähnte Flexibilität des Konzepts der Erfindung zur Beschreibung einer beliebigen Struktur oder eines beliebigen Verhaltens einer zu manipulierenden Ressource darzustellen.
Entsprechend dieser bevorzugten Ausführungsform der Ressourcen- Zugriffsmethode der Erfindung wird eine vorher definierte Menge von Datentypen so wie oben erwähnt benutzt. Jeder skalare Datentyp wird vorteilhafterweise in einer JAVA-Klasse ausgeführt.
Es wird vorgeschlagen, dass eine solche Ausführung grundlegend für die Prüfung einer Nutzereingabe verantwortlich ist.
Ein skalarer Typ wird mit dem XML-Kennzeichen TYPEDEF class = <attribute< definiert.
Das Klassenattribut definiert den einfügbaren Code (plugin code), der das Prüfen der Werte für den Typ verwaltet. Diese Klasse kann aus vorgefertigten Klassen abgeleitet werden.
Unter Bezugnahme auf Fig. 2, 3 und 4, wird jetzt nachstehend ein Überblick über die Verarbeitung gegeben, der eine Situation veranschaulicht, in der das Verfahren der Erfindung angewendet wird, beispielsweise durch einen Systemmanager, mit Hilfe eines der Erfindung entsprechenden Ressourcenzugriffs- Verwaltungswerkzeuges, das das Verfahren entsprechend der vorliegenden Erfindung in einem heterogenen Netzwerk ausführt, das einen UNIX-Teil und einen WINDOWS-NT-Teil sowie eine Vielzahl von Nutzern, die in ihm arbeiten, umfasst.
Es wird vorausgesetzt, dass der Familienname von einem der Nutzer Miller ist, und der Vorname wird als Bill angenommen. Wie in Fig. 4 schematisch dargestellt ist, wird ein Systemadministrator beauftragt, ihm Zugriff zu einem Farbdrucker zu gewähren, der seinerseits eine Ressource des Betriebssystems ist, sowohl der WINDOWS-NT-Umgebung als auch der UNIX-Umgebung.
Somit startet in einem ersten Schritt 310 der Systemadministrator ein Werkzeug auf einem ihm zugeordneten Computersystem, auf dem das Verfahren der Erfindung in Form eines Programmproduktes umgesetzt ist. Dies wird in Fig. 2 symbolisch durch die verallgemeinerte Anwendungsprogramm-Schnittstelle (API) 22 ausgedrückt.
Der Funktionsbereich der vorliegenden Erfindung wird symbolisch im mittleren Teil von Fig. 2 dargestellt, wo zwei konzentrische Kreise abgebildet sind. Im äußeren Kreis sind im Wesentlichen drei verschiedene Verarbeitungsbereiche dargestellt: Prüfung 24 der Nutzereingabe, ein generischer Verarbeitungsteil 26 und ein Ressourcenzugriffs-Ausführungselement 30, das mit einer Schnittstelle zusammenarbeiten soll, die aus der vorliegenden Erfindung besteht und die tatsächlich den physischen Zugriff auf Daten realisiert.
Der Prüfungsteil 24 soll alle die Tätigkeiten abdecken, die ausgeführt werden müssen, wenn eine Nutzereingabe auf Gültigkeit geprüft wird, die eine Suche nach Daten spezifizieren soll, auf die zuzugreifen ist. Somit kann eine Anzahl von Prüfroutinen vorhanden sein, die mit einer Menge Prüfcode ausgestattet sind, der an den jeweiligen Anwendungsbereich des erfindungsgemäßen Werkzeuges angepasst ist.
Unter Bezugnahme auf Fig. 3 gibt der Systemadministrator eine bestimmte Datenspezifikation für Daten ein, auf die er zugreifen möchte. Diese Eingabe wird dann verarbeitet, sie wird beispielsweise auf Gültigkeit geprüft, so wie oben erwähnt, Schritt 320. In dem bestimmten Fall, in dem jetzt dem Endnutzer Bill Miller Zugriff auf den bestimmten Farbdrucker gewährt werden soll, der durch die zugeordnete Zimmernummer des Gebäudes lokalisiert und gekennzeichnet werden kann, muss der Druckerserver spezifiziert werden, so dass er im ganzen Netzwerk identifiziert werden kann. Demzufolge muss der Netzwerkcode, der den Druckerserver spezifiziert, durch den Systemadministrator eingegeben werden.
In diesem einfachen Beispiel müssen zwei unterschiedliche Ressourcen 32, 33 - siehe jetzt Fig. 4 - aktualisiert werden: die erste ist die Nutzergruppen-Verwaltungsdatei 33 in dem UNIX- Verzeichnissystem, das unter /etc/groups zu finden ist, und es muss so aktualisiert werden, dass die UNIX-userid (Nutzer- Identifikation) für Mr. Miller zu einer Gruppe hinzugefügt wird, die Schreibzugriff auf den Drucker besitzt, und zweitens muss die WINDOWS-NT-Registratur 32 ebenso aktualisiert werden, um den Drucker für den Nutzer zu identifizieren, wobei beide Aktualisierungen notwendig sind, um die gewährten Zugriffsrechte für Mr. Bill Miller hinzuzufügen.
Um das zu tun, konstruiert die Zugriffsmethode der Erfindung jetzt eine Baumstruktur entsprechend der Schema-Spezifikation für beide Ressourcen 32, 33. Die Schema-Spezifikation für die UNIX- Ressource wird vorteilhafterweise entsprechend der vorliegenden Erfindung in einer XML-Datei gespeichert, die beispielsweise den Namen groups.xml besitzt, und die Schema-Spezifikation für die WINDOWS-Registratur wird in gleicher Weise in einer entsprechenden Datei registry.xml gespeichert. Eine entsprechende
Schrittfolge 330, 340 ist in Fig. 3 dargestellt. Zwei entsprechende beispielhafte XML-Dateien sind für ein vollständiges Verständnis als nächstes unten dargestellt.
Die Baumkonstruktion geschieht so wie oben beschrieben unter Bezugnahme auf Fig. 1.
Dann werden in einem weiteren Schritt 350 die geeigneten Knoten über eingebaute Navigationsfähigkeiten oder durch Nutzung einer einsetzbaren Logik in dem jeweiligen Baum in Abhängigkeit davon platziert, was in der Schema-Datei spezifiziert wird. Die Schnittstelle für den Ressourcenzugriff wird bei Bedarf aufgerufen, um Daten von den physischen Ressourcen, d. h. von der Registratur 32 oder der Datei /etc/groups 33, zu erhalten.
Durch Benutzung der strukturellen Informationen, die in dem Schema enthalten sind, und durch Aufruf des Ressourcenzugriffs- Ausführungselementes durch die Ressourcenzugriffs-Schnittstelle wird ein Elemente-Baum aufgebaut. Dieser Elemente-Baum stellt den tatsächlichen Ressourceninhalt dar, zusätzlich zu der in dem Schema definierten Ressourcenstruktur. Deshalb wird die Ressourcenzugriffs-Schnittstelle aufgerufen, um die Knoten in diesem Baum entsprechend dem Schema zu konstruieren und sie mit Daten von der aktuellen Ressource zu füllen.
Wenn es sich zeigt, dass ein zusätzlicher Knoten konstruiert werden muss, um die Anforderungen des Schemas zu erfüllen, kann dies vorteilhafterweise entsprechend den Grundkonzepten der vorliegenden Erfindung, durch Hinzufügen von einigen der erwähnten und unter Bezugnahme auf Fig. 1 beschriebenen Bausteine geschehen und ohne dass eine Änderung in dem Systemverwaltungswerkzeug erforderlich wird. Dies ist ein bemerkenswerter Vorteil im Vergleich zu herkömmlichen Systemverwaltungs-Systemwerkzeugen.
Die zusätzliche wahlweise Erzeugung neuer Knoten wird durch den NEIN-Zweig der Entscheidung 360 und der nachfolgenden Entscheidung 370 bzw. Schritt 380 dargestellt. Der NEIN-Zweig von Entscheidung 370 führt zu einem Abbruch der entsprechenden Knotenerzeugung. Somit kann in beiden Fällen, JA- und NEIN-Zweig von Entscheidung 360, in einem Schritt 390 zur Aktualisierung auf die Ressource zugegriffen werden, indem die jeweilige Ressourcenzugriffs-Schnittstelle aufgerufen wird. Die Ressourcenzugriffs-Schnittstelle ist an der entsprechenden Stelle in Fig. 2 bei den Ressourcen 32, 33, 34 dargestellt, die in ihrem unteren Teil veranschaulicht sind.
Es sollte beachtet werden, dass die vorliegende Erfindung nicht beabsichtigt, irgendein Ressourcenzugriffs-Modul zu beschreiben und zu offenbaren, das mit der Ressourcenzugriffs-Schnittstelle bezüglich irgendwelcher Daten zusammenarbeitet. Stattdessen wird betont, dass nahezu beliebige Daten mit der in der vorliegenden Erfindung dargestellten Methode erreichbar sind, solange die logische Datenstruktur dieser Ressource in der zugeordneten XML- Datei hinreichend spezifiziert ist.
Somit wird durch die vorliegende Erfindung eine bestimmte Schnittstelle zu einem speziellen Ressourcenzugriffs- Verwaltungswerkzeug, das vorteilhafterweise eine gut strukturierte Schnittstelle ist, vorgeschlagen und zur Benutzung bereitgestellt.
Die strukturierte Schnittstelle muss Operationen enthalten, um auf Datenelemente in der Ressource zuzugreifen, zum Beispiel die Operation getNode, um sie zu erzeugen und zu löschen, zum Beispiel die Operationen createNode, deleteNode, und um die Modifikationen mit der Ressource auszuführen, zum Beispiel die Operation update. Weitere ressourcenspezifische Teile der Schnittstelle könnten aus dem Knoten in einem Netzwerk, dem Namen, dem Typ und dem absoluten Pfad bestehen, um die Ressource zu aktualisieren.
Dies ist mit dem letzten Schritt 390 in Fig. 3 dargestellt. Diese Situation ist unter Bezug auf Fig. 4 schematisch dargestellt. Das Zugriffsverwaltungswerkzeug der Erfindung, das Informationen sowohl in eine WINDOWS-NT-Ressource spezifizierende Quelle 42 als auch eine entsprechende Quelle 44 für das UNIX- System liest, läuft auf dem Computer 40 mit dem System des Nutzers. Die Pfade, die für den Zugriff auf die WINDOWS- NT-Registratur 46 und die UNIX-Datei /etc/groups 48 dargestellt sind, sind jeweils am linken bzw. rechten Rand dargestellt. Diese Pfadnamen können leicht mit den oben erwähnten skalaren Typen "string" verbunden werden. Der absolute Pfadname kann, so wie oben erwähnt wurde, durch eine Methode RECORD erzeugt werden.
Irgendein Wert, z. B. Miller-Bill oder seine Benutzer-ID, kann mit den oben erwähnten skalaren Datentypen konstruiert werden. Um jedoch zu garantieren, dass er Zugriff auf den fraglichen Drucker in beiden Betriebssystemen konsistent aktualisiert wird, kann vorteilhafterweise das oben erwähnte, von XML bereitgestellte Kennzeichen ASSOCIATION benutzt werden.
Infolgedessen muss der Systemadministrator die entsprechenden beiden Ressourcen 32, 33 nicht selbst hinzufügen, und er muss auch nicht die Konsistenz kontrollieren.
In der vorangehenden Spezifikation wurde die Erfindung unter Bezugnahme auf eine spezielle beispielhafte Ausführungsform beschrieben. Es ist jedoch ersichtlich, dass verschiedene Modifikationen und Veränderungen vorgenommen werden können, ohne vom breiteren Geist und Bereich der Erfindung abzuweichen, so wie sie in den angefügten Ansprüchen dargelegt wurde. Die Spezifikation und die Zeichnungen sind dementsprechend eher als Veranschaulichung als in einem einschränkenden Sinn zu betrachten.
Die vorliegende Erfindung kann als Hardware, als Software oder als eine Kombination von Hard- und Software realisiert werden. Ein Zugriffsverwaltungs-Werkzeug entsprechend der vorliegenden Erfindung kann auf zentralisierte Art und Weise auf einem Computersystem oder auf verteilte Art und Weise realisiert werden, bei der verschiedene Elemente über verschiedene miteinander verbundene Computersysteme verteilt sind. Jede beliebige Art eines Computersystems oder einer anderen Vorrichtung, die für die Ausführung des hier beschriebenen Verfahrens geeignet ist, ist denkbar. Eine typische Kombination von Hardware und Software könnte ein allgemeines Computersystem mit einem Computerprogramm sein, das, wenn es geladen und ausgeführt wird, das Computersystem so steuert, dass es die hier beschriebenen Verfahren ausführt.
Die vorliegende Erfindung kann auch in ein Computerprogramm- Produkt eingebettet werden, das alle die Eigenschaften enthält, die die Umsetzung der hier beschriebenen Verfahren erlauben, und das, wenn es in ein Computersystem geladen wird, diese Verfahren ausführen kann.
Computerprogramm-Mittel oder Computerprogramm bedeutet in der vorliegenden Erfindung einen beliebigen Ausdruck in irgendeiner Sprache, irgendeinem Code oder irgendeiner Notation einer Menge von Befehlen, die ein System veranlassen soll, eine Informationsverarbeitungsfähigkeit zu besitzen, um eine spezielle Funktion entweder direkt auszuführen oder nach einer oder beiden der folgenden Möglichkeiten:
  • a) Umwandlung in eine andere Sprache, einen anderen Code oder eine andere Notation;
  • b) Reproduktion in einer anderen materiellen Form.

Claims (12)

1. Verfahren zur Bereitstellung von Zugriff auf Ressourcen (32, 33, 34), gekennzeichnet durch die Schritte
der Definition von wenigstens physischen und/oder logischen Parametern, die für die Lokalisierung des gewünschten Ressourcenzugriffs erforderlich sind,
des Lesens von ressourcenspezifischer Information von einer eine Ressource definierenden Quelle (42, 44), die die Struktur spezifiziert, die diese Ressource umfasst,
der Erzeugung von hierarchischen Steuerinformationen (10), die diese Struktur widerspiegeln, und
der Ermöglichung eines Zugriffs auf eine gewünschte Ressource (32, 33, 34) durch Aufruf eines Ressourcenzugriffs-Ausführungselementes (30) mit wenigstens einem der Parameter und durch Auswertung der Steuerinformation (10).
2. Verfahren nach Anspruch 1, das weiterhin den Schritt umfasst, automatisch eine semantische Auswertung des Inhaltes einer Ressource (32, 33, 34) auszulösen, die aktualisiert werden soll, wenn auf diese Ressource in dem Ruf Bezug genommen wird.
3. verfahren nach Anspruch 1, in dem die die Ressource spezifizierende Quelle (42, 44) eine XML-Datei ist.
4. Verfahren nach dem vorhergehenden Anspruch, in dem die hierarchischen Steuerinformationen in einem Datenmodellierungsschema (10) definiert werden, das einfache Datentypen sowie wenigstens ein Zusammensetzungsverfahren für die rekursive Konstruktion von komplexen Datentypen umfasst.
5. verfahren nach dem vorhergehenden Anspruch, in dem das Schema (10) Beziehungen zwischen Daten umfasst, die verteilt auf einer oder mehreren Ressourcen (32, 33, 34) gespeichert sind.
6. Verfahren nach dem vorhergehenden Anspruch, in dem die Ressourcen (32, 33, 34) von wenigstens zwei verschiedenen Betriebssystemen gemeinsam benutzt werden.
7. Verfahren nach dem vorhergehenden Anspruch, das weiterhin den Schritt umfasst:
Ausführung einer erweiterten Verarbeitung für die Ressourcen (32, 33, 34), die in einer JAVA-Klasse definiert ist.
8. Computersystem, das Mittel zur Ausführung der Schritte eines Verfahrens nach einem der vorhergehenden Ansprüche 1 bis 7 besitzt.
9. Computerprogramm zur Ausführung in einem Datenverarbeitungssystem, das Computerprogrammcodeteile zur Ausführung der entsprechenden Schritte des Verfahrens nach einem der Ansprüche 1 bis 7 umfasst.
10. Computerprogramm nach dem vorhergehenden Anspruch, das eine Anwendungsschnittstelle (22) zur Auslösung von Anforderungen der Verarbeitung von Ressourcen- (32, 33, 34) Daten von einer Anwendung und eine strukturierte Schnittstelle (30) für den Ressourcenzugriff umfasst.
11. Computerprogramm nach dem vorhergehenden Anspruch, in dem die Schnittstelle einen oder mehrere Rufe an wenigstens ein Ressourcenzugriffs-Ausführungselement umfasst.
12. Computerprogrammprodukt, das auf einem computernutzbaren Medium gespeichert ist und das computerlesbare Programmmittel enthält, um einen Computer zu veranlassen, das Verfahren nach einem der Ansprüche 1 bis 7 auszuführen.
DE10110039A 2000-04-12 2001-03-02 Ein Verfahren zur generischen Beschreibung und Manipulation beliebiger Datenstrukturen Ceased DE10110039A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP00107848 2000-04-12

Publications (1)

Publication Number Publication Date
DE10110039A1 true DE10110039A1 (de) 2001-10-18

Family

ID=8168438

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10110039A Ceased DE10110039A1 (de) 2000-04-12 2001-03-02 Ein Verfahren zur generischen Beschreibung und Manipulation beliebiger Datenstrukturen

Country Status (2)

Country Link
US (1) US20020019824A1 (de)
DE (1) DE10110039A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1416401A2 (de) * 2002-10-30 2004-05-06 Siemens Aktiengesellschaft Erweiterung von Datensätzen

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7895173B1 (en) 2001-06-27 2011-02-22 Microsoft Corporation System and method facilitating unified framework for structured/unstructured data
US7457810B2 (en) * 2002-05-10 2008-11-25 International Business Machines Corporation Querying markup language data sources using a relational query processor
US7493603B2 (en) * 2002-10-15 2009-02-17 International Business Machines Corporation Annotated automaton encoding of XML schema for high performance schema validation
JP2005050286A (ja) * 2003-07-31 2005-02-24 Fujitsu Ltd ネットワークノードマシンおよび情報ネットワークシステム
US7823157B2 (en) * 2003-11-18 2010-10-26 Microsoft Corporation Dynamic queue for use in threaded computing environment
US7437374B2 (en) * 2004-02-10 2008-10-14 International Business Machines Corporation Efficient XML schema validation of XML fragments using annotated automaton encoding
US20050177578A1 (en) * 2004-02-10 2005-08-11 Chen Yao-Ching S. Efficient type annontation of XML schema-validated XML documents without schema validation
KR20140070740A (ko) * 2012-11-26 2014-06-11 한국전자통신연구원 사물간 연계 및 협업을 제공하기 위한 통합 프레임워크 시스템, 통합 프레임워크 제공 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173289B1 (en) * 1995-07-07 2001-01-09 Novell, Inc. Apparatus and method for performing actions on object-oriented software objects in a directory services system
US5987471A (en) * 1997-11-13 1999-11-16 Novell, Inc. Sub-foldering system in a directory-service-based launcher
US6501491B1 (en) * 1998-09-21 2002-12-31 Microsoft Corporation Extensible user interface for viewing objects over a network
JP2000276493A (ja) * 1999-01-29 2000-10-06 Canon Inc 電子的にアクセスできるリソースのブラウジング方法
US7472349B1 (en) * 1999-06-01 2008-12-30 Oracle International Corporation Dynamic services infrastructure for allowing programmatic access to internet and other resources

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1416401A2 (de) * 2002-10-30 2004-05-06 Siemens Aktiengesellschaft Erweiterung von Datensätzen

Also Published As

Publication number Publication date
US20020019824A1 (en) 2002-02-14

Similar Documents

Publication Publication Date Title
DE69637436T2 (de) Objektorientiertes Kommunikationssystem mit Unterstützung für mehrere entfernte Maschinentypen
DE69531513T2 (de) Vervielfältigungssystem
EP1088280B1 (de) Verfahren und system zur schnellen speicherresidenten verarbeitung von transaktionsdaten
DE69924178T2 (de) Zugriffsteuerung mit Just-in-time Entdeckung von Mitteln
DE69730657T2 (de) Verfahren und System für gleichmässigen Zugriff auf mehrere Verzeichnisdienste
DE69533786T2 (de) Vorrichtung zum Erzeugen von objektorientierten Schnittstellen für relationale Datenbanken und von dieser Vorrichtung durchgeführtes Verfahren
EP0682318B1 (de) Datenverwaltungssystem
DE60035432T2 (de) System zur verwaltung der rdbm fragmentierungen
DE19705955A1 (de) Verfahren zum Generieren einer Implementierung eines Workflow-Prozessmodells in einer Objektumgebung
DE19926116A1 (de) Mehr-Teilprozeß-Protokollierung in einer Konfigurationsdatenbank
DE10255128A1 (de) Computer-implementierte PDF-Dokumentenverwaltung
DE19954534A1 (de) Rückwärtsindexieren von Zeichenketten in einer relationalen Datenbank zum Suchen mit Joker
DE10128883A1 (de) Verfahren und System für die Verteilung von Anwendungsdaten auf verteilte Datenbanken mit verschiedenen Formaten
DE202014010938U1 (de) Omega-Namen: Namenserzeugung und -ableitung
DE19963673A1 (de) Verfahren, Systeme und Computerprogrammprodukte zur Dokumentenverwaltung für Software-Entwicklungssysteme
DE10150387A1 (de) CAD-Datenmodell mit Entwurfsnotizen
DE112017006106T5 (de) Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten
EP0959588A2 (de) Netzelement mit einer Steuerungseinrichtung und Steuerungsverfahren
DE102005028675A1 (de) Aktualisierungs- und Transformationssystem für strukturierte Daten
DE10110039A1 (de) Ein Verfahren zur generischen Beschreibung und Manipulation beliebiger Datenstrukturen
DE69907714T2 (de) Komponentbasiertes quellcodegeneratorverfahren
EP1674954A1 (de) System und Verfahren zur Wiederverwendung von Projektierungsdaten
DE60032403T2 (de) Speziell adaptierte Wiedergabe und Darstellung von Datenbankinformationen
EP1166228A2 (de) Verfahren zur nutzung von fraktalen semantischen netzen für alle arten von datenbank-anwendungen
DE112018005620T5 (de) Auftragsverwaltung in einem datenverarbeitungssystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection