-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft die Abfrage und die Darstellung von
Informationen aus einer Datenbank. Die vorliegende Beschreibung
betrifft insbesondere ein Verfahren und eine Vorrichtung für die individuell
angepasste Abfrage und Darstellung von Informationen aus einer relationalen
Datenbank, die mit einem TCP/IP-Netzwerk verbunden ist.
-
HINTERGRUND
DER ERFINDUNG
-
Durch
ein explosives Wachstum und eine steigende Beliebtheit von digitalen
Kommunikationsnetzen hat sich die Art und Weise verändert, in
der auf Informationen zugegriffen wird, sie ausgetauscht und verbreitet
werden. Unter verschiedenen, sowohl privaten als auch öffentlichen
digitalen Kommunikationsnetzen ist das Internet bei weitem das beliebteste geworden.
Aufgrund seiner offenen (nicht proprietären) Kommunikationsprotokolle
und Architektur hat dieses Netz eine große Anzahl von Benutzern angezogen.
Aufgrund der Vielfalt von physikalischen Verbindungen, von Satellitenverbindungen
bis hin zu privaten Telefonanschlussleitungen, ist das Internet
zu einem wahrhaft globalen Phänomen
geworden.
-
Das
Internet hat von Anfang an eine Anzahl von Protokollen für die Kommunikation
und den Austausch von Informationen unterstützt, wie zum Beispiel die elektronische
Post (E-Mail), die
Dateiübertragung
(ftp) und die direkte Verbindung zu einem entfernten Rechner, um
auf dessen Ressourcen zuzugreifen (Telnet), mit einigen anderen
Protokollen, insbesondere HTTP, das später hinzukam. In den letzten
Jahren ist das HTTP-Protokoll zu dem beliebtesten Kommunikationsprotokoll
geworden, das im Internet verwendet wird. Das weltweite Netz von Rechnern,
die mit dem Internet verbunden sind und die HTTP als Kommunikationsprotokoll
verwenden, ist bekannt als World Wide Web (WWW) oder einfach als
Web.
-
Der
Zuspruch des Internets und seiner Protokolle führte zu der Entwicklung privater
Netzwerke, die das Übertragungskontrollprotokoll/Internetprotokoll
(TCP/IP) und das Hypertextübertragungsprotokoll
(HTTP) als deren Kommunikationsstandards verwenden. Diese Netzwerke,
die als Intranets bekannt sind, werden üblicherweise von Firmen, Gesellschaften
oder ähnlichen
Organisationen eingesetzt, um den Austausch von Informationen und
Kommunikation zwischen den Mitgliedern der Organisation zu erleichtern.
Sie umfassen ein großes
Spektrum, von kleinen hausinternen (Büro-)Netzwerken bis zu weltumspannenden
Netzwerken. Die Verwendung von Internet-Kommunikationsprotokollen
in Intranets erleichtert deren Kommunikation mit anderen IP-Netzwerken,
insbesondere mit dem Internet.
-
Die
Entwicklung des World Wide Web führte zu
großen
Datenmengen, die auf verschiedenen Webseiten zur Verfügung gestellt
wurden, häufig
in Form von durchsuchbaren Datenbanken, ein Phänomen, das als Datenbankveröffentlichung
(Database Publishing) bekannt ist. Viele dieser Datenbanken sind
der Öffentlichkeit
zugänglich
und enthalten frei zugänglich
Informationen, wie zum Beispiel Bücherkataloge oder Patentspezifikationen.
Kommerzielle (gebührenpflichtige)
Datenbanken, die proprietäre
Informationen oder frei zugängliche
Informationen mit einigen Mehrwertmerkmale enthalten können, oder Datenbanken,
die proprietäre
Informationen enthalten, die Gesellschaften oder sonstigen privaten
Einrichtungen gehören,
können
ebenfalls über
das Web zugänglich
sein, aber der Zugang zu diesen Datenbanken ist üblicherweise auf autorisierte
Benutzer beschränkt
und ist passwortgeschützt. Ähnliche
Zugangsbeschränkungen können auch
für interne
Datenbanken gelten, die nur den Beschäftigten einer Einrichtung über ein
privates Netzwerk, insbesondere ein Intranet, zugänglich sind,
und werden üblicherweise
verwendet, um verschiedene Ebenen des Zugriffs auf Informationen,
die aus der Datenbank abrufbar sind, einzurichten (Zugriffsrechte).
Sowohl bei öffentlichen
als auch bei privaten (internen) Datenbanken, die mit TCP/IP-Netzwerken
verbunden sind, gibt es eine steigende Tendenz, eine Web-kompatible
Benutzerschnittstelle zum Abrufen von Informationen aus der Datenbank
zu schaffen, üblicherweise
mit einem Web-Browser als einzig erforderliches Werkzeug, um auf
die Datenbank zuzugreifen.
-
Der
Abruf von Informationen aus einer Datenbank erfordert üblicherweise,
dass die abgerufenen Informationen in einer für den Benutzer aussagekräftigen Form
dargestellt sind. Ein Beispiel für
eine derartige aussagekräftige
Form ist ein Bericht, eine organisierte Darstellung von bestimmten
Informationen, die in einer oder mehreren Datenbanken verfügbar sind.
Ein Bericht kann Listen von Figuren, Tabellen, Graphen, Schaubilder
und dergleichen enthalten. In einer verwalteten Berichtsumgebung,
die üblicherweise
von einem Datenbankverwaltungssystem (DBMS) gesteuert wird, erhält der Benutzer
Zugriff auf eine Gruppe von vorgegebenen Berichten, die in einer
anderen Datenbank gespeichert sind. Jede vorgegebene Berichtsspezifikation,
die in einer derartigen Datenbank gespeichert ist, stellt einen
Befehlssatz (Software-Code) dar, der in der Lage ist, Daten aus
einer oder mehreren Datenbanken abzurufen und sie in Form eines
Berichts darzustellen. Fordert der Benutzer einen Bericht an, indem
er ihn üblicherweise
aus einer Liste von verfügbaren
Berichten auswählt,
wird der Code der entsprechenden Berichtsspezifikation ausgeführt, und
der Bericht wird dem Benutzer als Ergebnis dargestellt.
-
Das
Herzstück
jeder verwalteten Berichtsumgebung ist ein Berichtsserver, ein Rechner,
der ein Programm (Software- Code)
ausführt,
der eine Benutzer-Schnittstelle bereitstellt, der eine Eingabe von dem
Benutzer erhält,
der einen spezifischen vorgegebenen Bericht anfordert, der die vorgegebene
Berichtsspezifikation in einer Datenbank mit derartigen Spezifikationen
findet, der die vorgegebene Berichtsspezifikation ausführt (einschließlich des
Abrufens geeigneter Informationen aus einer oder mehreren Datenbanken),
der einen Bericht erstellt und den Bericht zu der Benutzerschnittstelle
sendet. Eine verwaltete Berichtsumgebung kann zusätzliche
Funktionen erfüllen,
wie zum Beispiel das Überprüfen des Zugriffs
auf bestimmte Berichtsspezifikationen, d.h. Bereitstellung einer
vorgegebenen Gruppe von Benutzern mit Zugriff auf nur eine Teilmenge
der verfügbaren
Berichtsspezifikationen.
-
Bekannte
verwaltete Berichtsumgebungen erfordern daher, dass der Benutzer
eine vorgegebene Berichtsspezifikation auswählt. Eine annehmbare vorgegebene
Berichtsspezifikation, die den spezifischen Anforderungen des Benutzers
an Informationen genügt,
kann jedoch in dem System nicht verfügbar sein. Es ist häufig schwierig,
insbesondere bei einer großen
Anzahl von Benutzern einer Datenbank, wie zum Beispiel bei einer
großen
Einrichtung, eine ausreichende Anzahl von Berichtsspezifikationen
zu führen,
um alle oder die meisten Bedürfnisse
der Benutzer zu befriedigen. Eine Datenbank kann zum Beispiel Absatzzahlen
für 100
verschiedene Produkte in 100 verschiedenen Ländern enthalten, während der Benutzer
eventuell einen Bericht anfordert, der Absatzzahlen für nur 10
spezifische Produkte in 10 spezifischen Ländern enthält. Der Benutzer wird wahrscheinlich
nicht in der Lage sein, eine Berichtsspezifikation aufzufinden,
die die gewünschte
Kombination von Produkten und Ländern
bietet, da ein derartiger Bericht nur einer aus einer äußerst großen Anzahl von
möglichen
Berichten wäre,
die Benutzer anfordern könnten.
-
Eine
Vorgehensweise, um dieses Problem zu lösen, besteht darin, eine auffordernde
vorgegebene Berichtsspezifikation zu verwenden, die gelegentlich
als „angeforderter
Bericht" bezeichnet
wird. Nachdem eine auffordernde vorgegebene Berichtsspezifikation
von dem Benutzer ausgewählt
und ausgeführt
ist, wird der Benutzer aufgefordert, bestimmte zusätzliche
Informationen zu liefern. Falls zum Beispiel eine auffordernde vorgegebene
Berichtsspezifikation entwickelt wurde, um einen Bericht zu erstellen,
einschließlich
Absatzzahlen für
eine Gruppe spezifischer Produkte in einer Gruppe spezifischer Länder, würde der
Benutzer aufgefordert werden, ein oder mehrere Länder aus einer Länderliste
auszuwählen
und ein oder mehrere Produkte aus einer Produktliste auszuwählen. Hat
der Benutzer die geforderten Informationen als Antwort auf die Aufforderungen
geliefert, führt
der Berichtsserver die auffordernde vorgegebene Berichtsspezifikation
aus und liefert einen Bericht, der Informationen in Abhängigkeit
von der Benutzereingabe enthält.
Auffordernde vorgegebene Berichtsspezifikationen verwenden daher
eine begrenzte Form der Informationsfilterung, damit die verwaltete
Berichtsumgebung eine größere Vielfalt
an Berichten liefern kann. Da auffordernde vorgegebene Berichtsspezifikationen
jedoch nur eine begrenzte individuelle Anpassung bieten, ist es
möglich,
dass der Benutzer immer noch nicht die gewünschte Berichtsspezifikation,
die seinen spezifischen Bedürfnissen
entspricht, erhält.
Da die Aufforderungen eines auffordernden Berichts festkodiert sind,
d.h. einen Teil des Codes der vorgegebenen Berichtsspezifikation
bilden, können
sie nicht verändert
werden, ohne dass die Spezifikation oder zumindest Teile davon umkodiert
werden, was eine weitere bedeutende Einschränkung bei auffordernden vorgegebenen
Berichtsspezifikationen darstellt.
-
Das
US-Patent Nr. 5,721,903 (Anand et al.) offenbart ein System und
ein Verfahren zum Erstellen von Berichten. Das System von Anand
et al. enthält eine
grafische Benutzer oberfläche
(GUI) 40 und bietet vier Systemvorlagen. Die Systemvorlage
kann als Entsprechung für
eine auffordernde vorgegebene Berichtsspezifikation angesehen werden.
Die Vorlage kann nach ihrer Öffnung
von dem Benutzer verändert
werden, indem er über
die GUI 40 eine Auswahl trifft, und zwar im Wesentlichen
in derselben Art und Weise, wie sie in einem angeforderten Bericht
erfolgt.
-
Eine
andere mögliche
Vorgehensweise, um eine gewünschte
Berichtsspezifikation zu erhalten, die als vorgegebene Berichtsspezifikation
oder auffordernde vorgegebene Berichtsspezifikation nicht verfügbar ist,
wäre die,
eine der verfügbaren
Berichtsspezifikationen, die einen Bericht liefern können, der
dem von dem Benutzer gewünschten
Bericht ähnelt,
zu verändern.
Bekannte Verfahren zur Abänderung
einer Berichtsspezifikation erfordern jedoch die Abänderung
des Codes der Spezifikation. Die meisten Benutzer von verwalteten
Berichtsumgebungen haben keine ausreichenden Fähigkeiten, Kenntnisse oder
Zeit, um den betreffenden Teil des Spezifikationscodes aufzufinden
und die erforderlichen Abänderungen
vorzunehmen oder eine vollkommen neue Berichtsspezifikation zu codieren.
Die unmittelbare Abänderung
des Codes einer vorgegebenen Berichtsspezifikation kann für häufige und
erfahrene Benutzer annehmbar sein, wäre jedoch für die meisten Benutzer der
verwalteten Berichtsumgebung unpraktisch oder sogar unmöglich.
-
Das
Problem des Erstellens individuell angepasster Berichtsspezifikationen,
d.h. Spezifikationen, die den spezifischen Bedürfnissen und Erfordernissen
des Datenbankbenutzers entsprechen, veranschaulicht ein allgemeineres
Problem der individuell angepassten Abfrage und Darstellung von
Informationen, die in einer Datenbank zur Verfügung stehen. Es besteht eindeutig
ein Bedarf danach, ein einfaches und flexibles Verfahren zum Erzielen
einer individuell angepassten Abfrage und Darstellung von Informationen aus
Datenbanken, insbesondere aus relationalen Datenbanken, bereitzustellen.
Die vorliegende Erfindung bietet ein derartiges Verfahren, das frei
ist von vielen Beschränkungen
nach dem Stand der Technik.
-
KURZDARSTELLUNG
DER ERFINDUNG
-
In
den beigefügten
Ansprüchen
sind Gesichtspunkte der vorliegenden Erfindung dargelegt.
-
In
einer Ausführungsform
der vorliegenden Erfindung ist ein Verfahren der individuell angepassten
Abfrage und Darstellung von Informationen aus einer relationalen
Datenbank vorgesehen. Dies wird dadurch erzielt, dass gemäß der von
dem Benutzer erfolgten Eingaben eine erste Anwendung zur Abfrage
und Darstellung von Informationen aus einer Datenbank zu dem Zeitpunkt
abgeändert
wird, wenn die Ausführung
der ersten Anwendung von dem Benutzer angefordert wird. Die Benutzereingabe
wird von einer zweiten Anwendung, die mit der ersten Anwendung verknüpft ist,
abgerufen und gesammelt. Ist die Benutzereingabe erfolgt, erstellt
die zweite Anwendung ein Skript, das den Code der ersten Anwendung abändert. Der
geänderte
Code der ersten Anwendung wird dann ausgeführt, und die angeforderten
Informationen werden abgerufen und dem Benutzer in der durch die
Benutzereingabe individuell angepassten Form dargestellt.
-
Ein
wichtiges Merkmal des Verfahrens gemäß der vorliegenden Erfindung
besteht darin, dass die erste Anwendung dynamisch (während der
Laufzeit) und vorübergehend
geändert
wird, ohne dass irgendwelche dauernden Änderungen am Ursprungscode
der ersten Anwendung erfolgen. Dieselbe erste Anwendung kann auf
verschiedene Arten von unterschiedlichen Benutzern durch Verknüpfung mit
verschiedenen zweiten Anwendungen individuell angepasst werden.
Auf ähnliche
Weise kann die zweite Anwendung mit verschiedenen ersten Anwendungen zum
Zwecke des Filterns und des Formatierens von individuell angepassten
Informationen verknüpft
werden.
-
Im
Vergleich mit Verfahren, die eine vollständige und teilweise Umkodierung
der ersten Anwendung, um die gewünschte
individuelle Anpassung zu erzielen, erfordern, vereinfacht diese
Vorgehensweise den Prozess der individuell angepassten Abfrage und
Darstellung von Informationen aus einer Datenbank beträchtlich
und macht ihn wesentlich flexibler. Diese Vorgehensweise verringert
ebenfalls beträchtlich
die Anzahl der ersten Anwendungen, die in dem System gespeichert
werden müssen,
um die Abfrage und Darstellung von Informationen, die spezifischen Bedürfnissen
einer großen
Anzahl von Benutzern entsprechen, zu erzielen. Durch die Verwendung
geeigneter Werkzeuge der schnellen Anwendungsentwicklung wird durch
diese Vorgehensweise die Neuanlegung von Anwendungen, die die Abfrage
und Darstellung von Informationen individuell anpassen, auch für eine größere Anzahl
von Datenbankbenutzern erreichbar.
-
Gemäß einem
Gesichtspunkt der Erfindung ist daher eine Vorrichtung zur Erstellung
eines Berichts vorgesehen, wobei die Vorrichtung Folgendes umfasst:
eine Benutzerschnittstelle zum Empfangen von Benutzereingaben; einen
Skript erstellenden Server für:
die Aufforderung zu einer weiteren Benutzereingabe; die Erstellung
eines Skripts, das der weiteren Benutzereingabe entspricht; eine
erste Datenbank, umfassend vorgegebene Berichtsspezifikationen;
eine zweite Datenbank, umfassend Informationen zur Einfügung in
Berichte; einen Berichtsserver zum Auffinden einer vorgegebenen
Berichtsspezifikation, die der Benutzereingabe entspricht, in der ersten
Datenbank; zum Laden der vorgegebenen Berichtsspezifikation; zum
Anwenden des Skripts auf die vorgegebene Berichtsspezifikation,
um eine individuell angepasste Berichtsspezifikation anzulegen; zum
Ausführen
der individuell angepassten Berichtsspezifikation, einschließlich des
Abrufens geeigneter Informationen aus der zweiten Datenbank, um
einen Bericht zu erstellen, und Mittel zur Ausgabe des Berichts
an die Benutzerschnittstelle.
-
Gemäß einem
weiteren Gesichtspunkt der Erfindung ist eine Vorrichtung zur Erzeugung
eines Berichts vorgesehen, wobei die Vorrichtung Folgendes umfasst:
Mittel zum Empfangen einer Benutzereingabe, Mittel zur Aufforderung
zu einer weiteren Benutzereingabe; zum Erstellen eines Skripts,
das der weiteren Benutzereingabe entspricht; eine erste Datenbank,
umfassend vorgegebene Berichtsspezifikationen; eine zweite Datenbank,
umfassend Informationen zur Einfügung
in Berichte; Mittel zum Auffinden einer vorgegebenen Berichtsspezifikation,
die der Benutzereingabe entspricht, in der ersten Datenbank; zum
Laden der vorgegebenen Berichtsspezifikation; zum Anwenden des Skripts
auf die vorgegebene Berichtsspezifikation, um eine individuell angepasste
Berichtsspezifikation anzulegen; zum Ausführen der individuell angepassten
Berichtsspezifikation, einschließlich zum Abrufen geeigneter
Informationen aus der zweiten Datenbank, um einen Bericht zu erstellen,
und Mittel zur Ausgabe des Berichts.
-
Weitere
Vorteile, Aufgaben und Merkmale der vorliegenden Erfindung werden
für die
Fachleute anhand der folgenden ausführlichen Beschreibung von bevorzugten
Ausführungsformen
in Verbindung mit den beigefügten
Zeichnungen und Ansprüchen leicht
ersichtlich sein.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
Die
Ausführungsformen
der Erfindung werden jetzt mit Bezug auf die beigefügten Zeichnungen beschrieben,
bei denen:
-
1 ein
Ablaufdiagramm ist, das das Verfahren nach dem Stand der Technik
zum Erstellen eines Berichts anhand einer vorgegebenen Berichtsspezifikation
veranschaulicht;
-
2 ein
Ablaufdiagramm ist, das das Verfahren zum Erstellen eines Berichts
anhand einer vorgegebenen Berichtsspezifikation gemäß der vorliegenden
Erfindung veranschaulicht;
-
3 ein
Diagramm ist, das ein System zum Erstellen eines Berichts anhand
einer vorgegebenen Berichtsspezifikation gemäß der vorliegenden Erfindung
veranschaulicht;
-
4 ein
Bildschirmfoto ist, das den Hauptbildschirm eines Werkzeugs der
schnellen Anwendungsentwicklung zum Anlegen von Anwendungen zur
Berichtsanpassung gemäß der vorliegenden
Erfindung zeigt; und
-
5 ein
architektonischer Überblick
ist, der die Wechselwirkung einer Anwendung zur Berichtsanpassung
gemäß der vorliegenden
Erfindung mit einer verwalteten Berichtsumgebung zeigt.
-
AUSFÜHRLICHE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Mangels
einer ausdrücklichen
gegenteiligen Darstellung betrifft der Begriff „Datenbank", wie er hier verwendet wird, eine oder
mehrere Datenbanken, aus denen Informationen abgerufen und dem Benutzer
dargestellt werden können.
Der Begriff „Berichtsspezifikation", wie er hier verwendet
wird, betrifft eine Anwendung zum Abfragen von Informationen aus
einer Datenbank und zu ihrer Darstellung für den Benutzer in Form eines
Berichts. Der Begriff „Anwendung" betrifft ein Programm
oder eine Programmgruppe, die für
Endbenutzer eines Datenbankverwaltungssystems entwickelt wurden.
-
Zum
Zwecke der Klarheit und eines besseren Verständnisses wird die vorliegende
Erfindung im Rahmen einer verwalteten Berichtsumgebung beschrieben,
die individuell angepasste Berichte für Benutzer einer Datenbank
erstellt. Die Fachleute werden sich bewusst sein, dass die vorliegende
Erfindung nicht auf verwaltete Berichtsumgebungen beschränkt ist,
sondern für
andere Umgebungen und Formen der Abfrage und der Darstellung von
Informationen aus einer Datenbank gelten kann.
-
Wenn
wird jetzt die Figuren betrachten, so zeigt 1 ein Ablaufdiagramm,
das veranschaulicht, wie Berichte in einer nach dem Stand der Technik üblichen
verwalteten Berichtsumgebung erstellt werden. Im ersten Schritt 10 werden
Eingaben des Benutzers vom System gesammelt. Einige der Eingaben
können
direkt von dem Rechner des Benutzers gesammelt werden, ohne dass
der Benutzer eine Maßnahme
ergreift. Beispiele für
derartige Eingaben sind die Zeitzone, in der der Rechner des Benutzers
betrieben wird, die Benutzersprache, das Land und die Art des verwendeten
Browsers. Weitere Eingaben erfolgen vom Benutzer über eine
Benutzerschnittstelle. Beispiele für derartige Eingaben sind das
Benutzerpasswort und der spezifische Bericht, der vom Benutzer ausgewählt wird,
zum Beispiel aus einer Liste verfügbarer Berichte. Der auf diese
Weise ausgewählte
Bericht entspricht üblicherweise
einer verfügbaren
vorgegebenen Berichtsspezifikation.
-
In
Schritt 20 empfängt
ein Berichtsserver 510 die Benutzereingaben. Der Berichtsserver 510 findet die
spezifische vorgegebene Berichtsspezifikation, die dem von dem Benutzer
angeforderten Bericht entspricht, und lädt ihn aus einer Datenbank 520 aus vorgegebenen
Berichtsspezifikationen. In Schritt 30 führt der
Berichtsserver 510 die vorgegebene Berichtsspezifikation
aus, einschließlich
des Abfragens geeigneter Informationen aus einer Datenbank 530, wie
zum Beispiel einer Datenbank über
Firmenumsätze,
um einen Bericht zu erstellen. In Schritt 40 wird der Bericht
dem Benutzer an der Benutzerschnittstelle dargestellt. Der Bericht
kann ein beliebiges Format aufweisen, wie zum Beispiel html, pdf,
xml, gedruckt und Ähnliches.
-
Die
oben dargestellte verwaltete Berichtsumgebung nach dem Stand der
Technik bietet dem Benutzer nur wenig oder gar keine Gelegenheit,
den Bericht individuell anzupassen, und die Benutzereingabe beschränkt sich üblicherweise
darauf, einen vorgegebenen Bericht oder einen anfordernden vorgegebenen
Bericht aus den in dem System verfügbaren Berichten auszuwählen. Bei
einem anfordernden Bericht hat der Benutzer begrenzte Möglichkeiten,
die abgefragten Informationen zu filtern und den Bericht individuell
anzupassen. Durch die vorliegende Erfindung wird der Anpassungsprozess
einfacher und flexibler.
-
Die
Erstellung eines individuell angepassten Berichts gemäß der vorliegenden
Erfindung ist schematisch in 2 gezeigt,
die ein Ablaufdiagramm ist, die veranschaulicht, wie Berichte in
einer verwalteten Berichtsumgebung gemäß der vorliegenden Erfindung
erstellt werden. In Schritt 110 werden die ersten Eingaben
vom Benutzer gesammelt. Ähnlich
wie bei der Berichtsumgebung nach dem Stand der Technik können einige
Eingaben direkt von dem Rechner des Benutzers gesammelt werden,
ohne dass der Benutzer eine Maßnahme
ergreift. Andere Eingaben, wie zum Beispiel das Benutzerpasswort
und der angeforderte Bericht, erfolgen durch den Benutzer über eine Benutzerschnittstelle.
Nachdem der vom Benutzer angeforderte Bericht in Schritt 120 identifiziert
wurde, werden in Schritt 130 weitere Benutzereingaben von einem
Skript erstellenden Server 620 gesammelt, der den Benutzer
zu Informationen über Änderungen auffordert,
die der Benutzer an dem ausgewählten Bericht
vornehmen möchte.
Anhand der in Schritt 130 gesammelten Benutzereingaben
wird in Schritt 140 von dem Skript erstellenden Server 620 ein Skript
erstellt. Dieses Skript wird an den Berichtsserver 610 weitergeleitet
und wird in Schritt 160 auf die vorgegebene Berichtsspezifikation,
die vom Benutzer ausgewählt wurde,
angewandt, um sie individuell anzupassen. Die anzupassende Berichtsspezifikation
wurde in Schritt 150 von dem Berichtsserver 610 aus
einer Datenbank 520 mit vorgegebenen Berichtsspezifikationen
geladen. In Schritt 170 führt der Berichtsserver 610 die
individuell angepasste Berichtsspezifikation aus, einschließlich des
Abfragens von geeigneten Informationen aus einer oder mehreren Datenbanken 510,
die Informationen enthalten, die für den Benutzer von Interesse
sind, um einen Bericht zu erstellen. In Schritt 180 wird
der Bericht vom Berichtsserver 610 an die Benutzerschnittstelle ausgegeben.
Der Bericht kann für
den Benutzer in einem beliebigen geeigneten Format dargestellt sein, wie
zum Beispiel html, pdf, xls, gedruckt und Ähnliches.
-
In
einer bevorzugten Ausführungsform
wird die vorgegebene Berichtsspezifikation, die vom Benutzer ausgewählt wurde,
individuell angepasst, indem eine Anwendung, die mit dem Bericht
verknüpft ist,
verwendet wird, wobei die Anwendung in Verbindung mit dem Bericht
ausgewählt
wird. Während
der Laufzeit darf nur eine Anwendung mit der Berichtsspezifikation
verknüpft
sein, auch wenn mehr als eine Anwendung verwendet werden kann, um
denselben Bericht individuell anzupassen. Um also die Informationen
zu filtern, die aus der Datenbank abgerufen werden sollen, und einen
Bericht individuell anzupassen, wählt der Benutzer sowohl einen
vorgegebenen Bericht als auch eine mit einem Bericht verknüpfte Anwendung.
Wird eine Anwendung im Hinblick auf einen damit verknüpften Bericht
ausgeführt,
erhält der
Benutzer zunächst
eine Reihe von Aufforderungen, zusätzliche Eingaben vorzunehmen,
zum Beispiel, indem er eine Auswahl aus mehreren verfügbaren Optionen
trifft. Anhand der Benutzereingabe erstellt die Anwendung ein Skript
in einer geeigneten Skriptsprache, wie zum Beispiel der CognosScript-Sprache,
deren Skript angewendet wird auf die vorgegebene Berichtsspezifikation,
die vom Benutzer ausgewählt
wurde, um ihren Code zu verändern
und den Bericht gemäß der Benutzereingaben individuell
anzupassen. In einigen Fällen
werden die Änderungen
tatsächlich
gleichbedeutend sein mit der Anlegung einer vollständig neuen
Berichtsspezifikation aufgrund der Benutzereingaben. Eine derartig veränderte oder
neu angelegte Berichtsspezifikation wird dann im Hinblick auf die
mit dem Bericht verknüpfte
Datenbank ausgeführt,
was dazu führt,
dass ein individuell angepasster Bericht an den Benutzer übermittelt
wird. Dieser Vorgang, wie er in der webbasierten Umgebung ausgeführt wird,
ist schematisch in 3 gezeigt, mit einem Web-Browser 5 als
einzige Benutzerschnittstelle und dem Internet 15, das
als Kommunikationsmittel verwendet wird.
-
In
einer bevorzugten Ausführungsform
ist die Anwendung so angepasst, dass sie in einer webbasierten Umgebung
ausgeführt
wird, wobei ein Web-Browser als einzige Benutzerschnittstelle verwendet
wird. Während
ihrer Laufzeit erscheint die Anwendung dem Benutzer als eine Reihe
von HTML-Seiten,
die den Benutzer durch den Änderungsprozess
führen
und den Benutzer auffordern, den Inhalt und die Form des Berichts
festzulegen, üblicherweise
durch Auswahl aus Listen von gegebenen Werten und Optionen. Falls
erforderlich, enthalten die Seiten auch Anleitungen für das Navigieren durch
die HTML-Seiten.
-
In
einer bevorzugten Ausführungsform
umfasst eine Anwendung, die für
die Anpassung von Berichten verwendet wird, eine Eingabe-, eine
Beenden- und eine Fehlerseite. Die Eingabeseite startet den Prozess
des Sammelns von Eingaben und ist die erste Seite, die dem Benutzer
dargestellt wird. Die Beenden-Seite aktiviert das Skript, das die
von dem Benutzer ausgewählte
vorgegebene Berichtsspezifikation abändert und ist die letzte Seite,
die dem Benutzer dargestellt wird. Die Fehlerseite wird nur angezeigt,
falls ein Fehler auftritt, wenn die Anwendung ausgeführt wird,
um eine entsprechende Warnung auszugeben. Es können keine Verknüpfungen
zu oder von der Fehlerseite erfolgen. Der Pfad zwischen der Eingabe-
und der Beenden-Seite
kann so viele zusätzliche
Seiten enthalten, wie erforderlich sind, um die Informationen zu
filtern, die in einer Datenbank verfügbar sind, und um den Bericht
individuell anzupassen. Die Seiten können direkte, lineare Verknüpfungen
zwischen der Eingabe- und der Beenden-Seite aufweisen, Verknüpfungsschleifen,
mit denen der Benutzer mehrere Optionen angeben kann, und bedingte
Verknüpfungen,
die einer Verzweigung des Navigationspfades folgen. Insbesondere
die letzten beiden Arten von Verknüpfungen bieten eine wesentliche
Flexibilität
bei dem Filtern der verfügbaren Informationen
und dem Anpassen des Berichts an die Bedürfnisse und Erfordernisse des
Benutzers.
-
Da
die HTML-Seiten der anpassenden Anwendung einfache Textdateien sind,
können
sie angelegt und formatiert werden, indem ein HTML-Bearbeitungsprogramm
oder sogar ein Textverarbeitungsprogramm verwendet wird. Der Prozess
des Anlegens einer Anwendung zur individuellen Anpassung eines Berichts
kann jedoch wesentlich vereinfacht werden durch die Verwendung eines
geeigneten Werkzeugs der schnellen Anwendungsentwicklung (RAD),
wie zum Beispiel das PowerPrompts Developer Studio für Impromptu
Webberichte (von Cognos Incorporated), das unter dem Windows-Betriebssystem läuft. 4 zeigt
den Hauptbildschirm von PowerPrompts Developer Studio, der einen
Arbeitsbereich vorsieht, in dem eine Anwendung in einer grafischen
Umgebung angelegt oder bearbeitet werden kann. Jedes bezeichnete
Symbol, das in dem Arbeitsbereich erscheint, stellt eine HTML-Seite
der individuell anpassenden Anwendung, die angelegt oder bearbeitet
wird, dar, wobei Pfeile den Navigationspfad zwischen ihren Seiten
zeigen. Wird eine neue Anwendung in Developer Studio geöffnet, erscheinen
Symbole der Eingabe-, der Beenden- und der Fehlerseite, die in den
Arbeitsbereich eingefügt werden,
mit einem direkten Navigationspfad zwischen der Eingabe- und der Beenden-Seite.
Zusätzliche
Seiten und Navigationspfade dazwischen können zu dem Arbeitsbereich
hinzugefügt
werden, indem geeignete Werkzeuge, die in der Werkzeugleiste vorgesehen
sind, verwendet werden.
-
Wird
ein Seitensymbol in dem Arbeitsbereich eingefügt, führt dies zu einer automatischen
Anlegung einer entsprechenden HTML-Seite, die entweder auf einer
vorab angelegten Vorlage (bei der Eingabeseite und allen zusätzlichen
Seiten) oder einem Standard-HTML-Code (bei der Beenden- und der Fehlerseite)
beruht. Sämtliche
Seiten der Anwendung können
mit üblichen
HTML-Codes bearbeitet und formatiert werden und können jegliche
Formatierung enthalten, die durch die Verwendung von HTML angelegt
werden kann. Die Bearbeitung von HTML-Seiten erfolgt mit einem HTML-Bearbeitungsprogramm,
wie zum Beispiel Microsoft FrontPage oder Netscape Composer, oder
einem Textbearbeitungsprogramm, wie zum Beispiel Notepad. Das Bearbeitungsprogramm
muss bei PowerPrompts Developer Studio angegeben werden, bevor es
von innerhalb dieser Anwendung benutzt werden kann.
-
Außer dem
formatierenden HTML-Code enthalten die HTML-Seiten der individuell anpassenden Anwendung
einen HTML-Code,
der erforderlich ist, um dem Benutzer geeignete Aufforderungen darzustellen
und die richtigen Daten zu sammeln. Dies erfordert üblicherweise,
den Seiten einen Code für
verschiedene HTML-Steuerungen hinzufügen, die dem Benutzer angeboten
werden, sowie einen Code, der Navigationspfade zwischen den Seiten
festlegt. Der Navigationspfad durch die Seiten wird erstellt, indem Bedingungen
für Verknüpfungen
zwischen den Seiten der Anwendung festgelegt werden, insbesondere für Seiten,
die mit mehr als einer anderen Seite verknüpft sind, deren Bedingungen
während
der Laufzeit der Anwendung ausgewertet werden und zu einer Auswahl
von Verknüpfungen
führen,
die Bedingungen aufweisen, die als „wahr" bewertet werden. Bei einigen HTML-Steuerungen, wie
zum Beispiel Dropdown-Listen, können dynamische
Skripte erstellt werden, um die tatsächlichen Wertelisten aus der
Datenbank während
der Laufzeit der Anwendung abzurufen, wobei der entsprechende HMTL-Code zum
Ausführen
der dynamischen Skripte den HTML-Seiten, die diese Steuerungen enthalten,
hinzugefügt
wird.
-
Um
die Anwendung abzuschließen,
müssen schließlich Skripte,
die die von dem Benutzer getroffenen Auswahl ablauffähig machen,
erstellt und hinzugefügt
werden. Jedes Skript ist mit einer Bedingung verknüpft, wobei
die Bedingungen wiederum mit der jeweiligen Auswahl verknüpft sind,
die der Benutzer bei seiner Antwort auf die Aufforderungen getroffen
hat. Der Wert der Bedingung während
der Laufzeit legt fest, ob das Skript im Hinblick auf den Bericht
ausgeführt
wird oder welcher Wert im Bericht gefiltert wird. Bei einigen Skripten
wird der Wert in das Skript aus der Benutzerauswahl eingefügt, wie zum
Beispiel bei der Auswahl eines Landes oder eines Produkts. Bei anderen
wird das Skript nur ausgeführt,
wenn die Bedingung erfüllt
ist, wenn zum Beispiel eine Spalte hinzugefügt wird oder nach Jahr oder
Vierteljahr gefiltert wird. Jedes Skript verwendet ein oder mehrere
Verfahren.
-
Sämtliche
oben erwähnten
Aufgaben können
erfüllt
werden, indem Leistungsmerkmale verwendet werden, die PowerPrompts
Developer Studio bietet. Diese Leistungsmerkmale, die bei Anwendungen,
die unter dem Windows-Betriebssystem laufen, üblich sind, sind den Fachleuten
wohl bekannt und beinhalten Werkzeugleisten, Dialogfelder, Assistenten
(Wizards), Verwaltungsprogramme, usw., die entweder auf dem Hauptbildschirm
vorhanden sind oder von verschiedenen Dropdown- oder Aufklappmenüs aktiviert
werden. Eine vollständige
individuell angepasste Anwendung, die aus einer Anwendungsdatei (die
Anweisungen für
die Navigation durch die HTML-Seiten, die Bedingungen und alle damit
verknüpften
Skripte enthält),
den verknüpften
HTML-Dateien und Grafikdateien, die für die Formatierung der HTML-Seiten benutzt
werden, besteht, wird dann mit einem Bericht verknüpft und
in eine verwaltete Berichtsumgebung eingegeben. Greifen Benutzer
auf einen Bericht mit einer damit verknüpften Anwendung zu, wird die
Anwendung in dem Web-Browser des Benutzers ausgeführt, und
sie werden dann aufgefordert, Informationen einzugeben, was sie
in dem Bericht sehen wollen.
-
Das
Verfahren der individuell angepassten Abfrage und Darstellung von
Informationen gemäß der vorliegenden
Erfindung kann zu vorhandenen verwalteten Berichtsumgebungen hinzugefügt werden.
Ein Beispiel für
eine derartige verwaltete Berichtsumgebung ist Inpromptu Web Reports
(IWR) von Cognos Incorporated, ein webbasiertes System für den Zugriff
auf Berichte über
einen Web-Browser. 5 bietet einen architektonischen Überblick über das
System. Eine Anwendung, die die vorliegende Erfindung darstellt,
wirkt mit den Berichtselementen von IWR auf folgende Art und Weise
zusammen. Durch die Benutzung eines Web-Browsers greift der Endbenutzer 10 über das
Internet 15 auf den InfoGuide Server 1 zu, um
einen spezifischen Bericht, der ausgeführt werden soll, zu finden.
Falls eine Anwendung gemäß der vorliegenden
Erfindung mit dem gefundenen Bericht verknüpft ist, wird die Steuerung
an den PowerPrompt Server 2 übergeben, statt den gefundenen
Bericht an einen geeigneten Berichtsserver zwecks sofortiger Ausführung weiterzureichen,
wie es bei einem System nach dem Stand der Technik der Fall wäre. Der
Skript erstellende Server wirkt dann mit dem Endbenutzer 10 über eine
Reihe von Bildschirmen zusammen, um Änderungen festzulegen, die
der Endbenutzer 10 an dem Bericht vornehmen möchte, bevor
er ausgeführt
wird. Die Änderungen
werden in Form eines Skripts beschrieben, das von dem PowerPrompt
Server 2 erstellt wird, nachdem die Benutzereingabe erfolgt
ist, wobei das Skript gebündelt
wird und an den Unternehmensintelligenz (BI)-Berichtsserver 3 als
Teil der Anforderung, den Bericht auszuführen, weitergereicht wird.
Der Berichts server 3 ist dafür verantwortlich, auf das vom PowerPrompt
Server 2 erstellte Skript einzuwirken, indem er den Code
der Berichtsspezifikation gemäß dem Skript
abändert,
den geänderten
Code auszuführen,
den Bericht zu erstellen und ihn an den Endbenutzer 10 zu
senden.
-
Wird
die vorliegende Erfindung in einer verwalteten Berichtsumgebung
verwendet, kann die Anzahl der vorgegebenen Berichtsspezifikationen,
die im System gepflegt werden, wesentlich gesenkt werden. Eine individuell
anpassende Anwendung, die mit einer vorgegebenen Berichtsspezifikation
verknüpft
ist, ist tatsächlich
gleichbedeutend mit einer großen
Anzahl von vorgegebenen Berichtsspezifikationen, die ansonsten vorab
hätten
kodiert und in dem System gespeichert werden müssen, um die gleiche Flexibilität bei der
Abfrage und Darstellung von Informationen zu bieten. Bedeutenderweise muss
der Benutzer nicht wissen, wie der Code der ausgewählten vorgegebenen
Berichtsspezifikation zu ändern
ist. Der Benutzer muss nur auf bestimmte Aufforderungen antworten,
indem er üblicherweise eine
Zeigen- und-Klicken-Schnittstelle
verwendet, und die Anwendung fügt
weitere Kriterien hinzu, die die Datenabfrage auf die bereits vorhandenen
Daten beschränkt.
Auf diese Art und Weise können
komplexe Berichte aus verhältnismäßig einfachen
vorgegebenen Berichtsspezifikationen erstellt werden, indem die
angeforderte Benutzereingabe integriert wird. Dies ist in einer
verwalteten Berichtsumgebung, in der vorab kodierte vorgegebene
Berichtsspezifikationen verwendet werden, deren Code nur manuell
verändert
werden kann, nicht möglich.
-
Die
Ausführung
einer individuell anpassenden Anwendung gemäß der vorliegenden Erfindung führt zu einer
Reihe von Anweisungen, die eine vorhandene Berichtsspezifikation
abändern.
Eine derartige vorhandene Berichtsspezifikation kann nur teilweise
erzeugt worden sein oder sogar leer sein. Falls die vorhandene Berichtsspezifikation
ziemlich vollständig
ist und eine große
Menge an Informationen in einer sehr spezifischen Art darstellt,
zum Beispiel, um ein Verständnis
für den
Gegenstand des Berichts zu vermitteln, können dem Benutzer nur wenige Änderungen
zur Verfügung
stehen. Im anderen Extremfall kann es sein, dass der Benutzer fast
die gesamte Berichtsspezifikation anlegen möchte. In diesem Fall kann eine
leere Berichtsspezifikation abgeändert werden,
und eine Anwendung, die die vorliegende Erfindung darstellt, erstellt
das gesamte Skript mit einer sehr beträchtlichen Eingabe seitens des
Benutzers. Diese Vorgehensweise wäre eher unüblich, da sie viel Arbeit von
dem Anwendungsentwickler und dem Benutzer erfordert, wobei der Benutzer
in einer besseren Stellung ist, da von ihm nur verlangt wird, auf
eine möglicherweise
große
Anzahl von einfach zu verstehenden Aufforderungen zu antworten.
In üblichen
Fällen
wird jedoch das meiste der Berichtspezifikation bereits geschrieben
sein und nur eine verhältnismäßig kleine
Menge an Eingaben für
den Benutzer übrig
bleiben.
-
Bekannte
verwaltete Berichtsumgebungen beruhen auf einer festkodierten Logik,
nicht auf einem auswählbaren
Mechanismus, um einen Code anzulegen. Bei einer angeforderten Berichtsspezifikation,
die eine gewisse oberflächliche Ähnlichkeit mit
der vorliegenden Erfindung zeigt, ist der Code der ausgewählten vorgegebenen
Berichtsspezifikation unvollständig,
bis bestimmte Werte vom Benutzer geliefert und ohne einen direkten
Eingriff des Benutzers in den Code eingefügt sind. Gemäß der vorliegenden Erfindung
wird eine vorgegebene Berichtsspezifikation auch ausgewählt. Außerhalb
der Berichtsspezifikation erstellt eine Anwendung jedoch ein Skript,
das tatsächlich
den Code der Berichtsspezifikation abändert. Die Änderung ist vorübergehend
und dynamisch, d.h., sie erfolgt während der Laufzeit der Berichtsspezifikation.
Dieselbe Berichtsspezifikation kann von verschiedenen Benutzern,
die verschiedene individuell anpassende Anwendungen benutzen, abgeändert werden.
-
In
bekannten verwalteten Berichtsumgebungen ruft der Berichtsserver
eine Berichtsspezifikation ab und verwendet sie dann, um einen Bericht
zu erstellen. In einer verwalteten Berichtsumgebung, die die vorliegende
Erfindung darstellt, wird die Berichtsspezifikation abgerufen und
anhand der empfangenen Benutzereingaben von einem anderen Server abgeändert und
dann an den Berichtsserver weitergereicht, um ausgeführt zu werden
und den Bericht zu erstellen. Dieser Prozess ist für den Benutzer,
der den Web-Browser,
das einzige Werkzeug, das erforderlich ist, um mit dem System zu
kommunizieren und den Bericht zu erhalten, niemals verlässt, erkennbar.
-
Vorstehend
wurde die Erfindung im Rahmen von verwalteten Berichtsumgebungen
und der Erstellung individuell angepasster Berichte beschrieben. Die
vorliegende Erfindung bietet jedoch ein wesentlich leistungsfähigeres
und allgemeines Verfahren der individuell angepassten Abfrage und
Darstellung von Informationen aus einer relationalen Datenbank, das
bei anderen Aufgaben als dem Erstellen eines individuell angepassten
Berichts angewendet werden kann. Ein Beispiel für eine derartige Aufgabe wäre die Erstellung
einer multidimensionalen Datenbank (MDDB), auch als Würfel bekannt,
ein immer beliebteres Modell für
Daten, die aus einem Datenlager abgerufen werden.
-
Zwar
wurde die vorliegende Erfindung in Zusammenhang mit den Ausführungsformen
beschrieben, die gegenwärtig
als am zweckmäßigsten
und bevorzugt angesehene werden, es versteht sich jedoch, dass die
Erfindung nicht auf die offenbarten Ausführungsformen beschränkt ist.
Die vorliegende Erfindung soll im Gegenteil verschiedene Abwandlungen
und gleichwertige Anordnungen umfassen, die in den Schutzbereich
der beigefügten
Ansprüche fallen.
Dem Schutzbereich der beigefügten
Ansprüche
soll die weiteste Auslegung gewährt werden,
um sämtliche
derartigen Abwandlungen und gleichwertigen Strukturen und Funktionen
zu umfassen.