-
Die Erfindung betrifft zuvorderst ein Verfahren zum Betrieb eines Computersystems, insbesondere ein Verfahren zum Betrieb eines Computersystems zur Steuerung und/oder Überwachung eines technischen Prozesses, wie zum Beispiel eines Kraftwerksprozesses, wobei es sich bei dem Computersystem auch um ein verteiltes Computersystem handeln kann. Im Weiteren betrifft die Erfindung ein Computerprogramm mit einer Implementation des Verfahrens sowie ein zur Ausführung des Verfahrens sowie des Computerprogramms bestimmtes Computersystem.
-
Bei heutigen Computersystemen ergibt sich oftmals die Situation, dass ein Benutzer eine Aufgabe erfüllen möchte und zu diesem Zweck mehrere Softwareapplikationen benötigt. Üblicherweise verfügt jede Softwareapplikation über eine eigene Benutzeroberfläche. Der Benutzer muss sich demgemäß an die Bedienphilosophien der jeweiligen Anwendung anpassen sowie Daten von einer Applikation zur nächsten zu übertragen. Für eine solche Übertragung stehen Mechanismen, wie sie unter dem Schlagwort „Copy & Paste“ zusammengefasst werden, zur Verfügung. Zusätzlich oder alternativ können Möglichkeiten wie ein Export von Daten einer Applikation in eine Datei und ein Import der Inhalte dieser Datei in eine andere Applikation genutzt werden.
-
Unabhängig davon, dass dies mitunter aufwändig und fehleranfällig ist, wird der Benutzer jeweils auch mit dem vollständigen Funktionsumfang der verwendeten Applikationen konfrontiert. Weil Softwareapplikationen üblicherweise sehr viel mehr Funktionen anbieten, als der Benutzer für die Erfüllung seiner jeweiligen Aufgabe tatsächlich benötigt, ist das Auffinden und/oder Auswählen der jeweils benötigten Funktionen oftmals aufwändig, zumindest zeitaufwändig, und zum Beispiel mit mehreren Bedienhandlungen zum Öffnen unterschiedlicher Menüs oder dergleichen verbunden. Dies führt zu einem zusätzlichen und für den Benutzer störenden Zeitaufwand. Insgesamt leidet die Übersicht über die einzelnen Applikationen.
-
Eine Aufgabe der vorliegenden Erfindung besteht darin, eine Lösung anzugeben, die einen einfachen, aufgabenzentrierten Zugriff auf zumindest eine Softwareapplikation oder eine Mehrzahl von Softwareapplikationen ermöglicht.
-
Diese Aufgabe wird mittels eines Verfahrens zum Betrieb eines Computersystems der eingangs genannten Art, insbesondere eines verteilten Computersystems, mit den Merkmalen des Anspruchs 1 gelöst. Dabei ist Folgendes vorgesehen: Auf dem Computersystem läuft zumindest eine als Ablaufumgebung fungierende und im Folgenden entsprechend mitunter kurz als Hostapplikation bezeichnete Softwareapplikation ab. Daneben läuft auf dem Computersystem zumindest eine in Relation zu der Hostapplikation als Gast fungierende und im Folgenden entsprechend mitunter kurz als Gastapplikation bezeichnete Softwareapplikation ab. Die oder jede Gastapplikation bietet zumindest eine adressierbare Softwarefunktion an, zum Beispiel ein Eingabefeld zur Darstellung und Eingabe von Daten, ein Textfeld zur Darstellung von Daten und so weiter. Dass die Gastapplikation eine Softwarefunktion anbietet und diese vor allem als adressierbare Softwarefunktion anbietet, bedeutet, dass die Softwarefunktion unter Verwendung einer Adresse oder Referenz von außerhalb der Gastapplikation aufrufbar ist. Die Hostapplikation verwendet auf diese Weise und auf Basis einer vorgegebenen oder vorgebbaren Konfiguration zumindest eine adressierbare Softwarefunktion der zumindest einen Gastapplikation. Die Konfiguration wird bevorzugt textuell mittels einer Beschreibungssprache mit einer speziellen Syntax, zum Beispiel XML oder dergleichen, spezifiziert. Als Verwendung der adressierbaren Softwarefunktion wird dabei ein Aufruf der Softwarefunktion durch die Hostapplikation oder ein durch die Hostapplikation initiierter Aufruf der Softwarefunktion verstanden. Bei einer Ausführung der Hostapplikation erfolgt demnach im Rahmen einer aufgrund eines solchen Aufrufs resultierenden Ausführung einer jeweiligen Softwarefunktion zum Beispiel eine Anzeige eines Textfeldes, wie dies ansonsten von der Gastapplikation ausgegeben würde. Indem die Anzeige des Textfeldes mittels der Hostapplikation erfolgt, nimmt der Benutzer die Ausführung der Gastapplikation gar nicht wahr und erhält die Anzeige innerhalb einer Benutzeroberfläche der Hostapplikation. Im Rahmen der von der Hostapplikation verarbeiteten Konfiguration ist eine Position des ausgegebenen Textfeldes, insbesondere eine Position und eine Dimension des Textfeldes, auf einem Anzeigegerät oder einer Anzeigeeinheit oder innerhalb einer von der Hostapplikation dargestellten Benutzeroberfläche vorgebbar. Allgemein ist mittels der Konfiguration eine Position und/oder Dimension einer Ausgabe einer jeweils verwendeten adressierbaren Softwarefunktion einer Gastapplikation vorgebbar. Diese Vorgabe wird entsprechend kurz als Vorgabe der Position der Verwendung der jeweiligen Softwarefunktion bezeichnet.
-
Der Vorteil der hier vorgeschlagenen Lösung besteht darin, dass der Benutzer die Ausgabe der Hostapplikation und dessen Benutzeroberfläche wahrnimmt und dass eine gewissermaßen darunter ablaufende Softwareapplikation, also eine Gastapplikation, für den Benutzer gar nicht in Erscheinung tritt. Die Hostapplikation ermöglicht also einen mittels der Konfiguration spezifizierbaren Zugriff auf die jeweils als Gast ablaufende Softwareapplikation und genauso einen gleichzeitigen Zugriff auf mehrere als Gast ablaufende Softwareapplikationen. Weil sich der jeweilige Zugriff auf eine Gastapplikation oder eine Mehrzahl von Gastapplikationen mittels der jeweiligen Konfiguration spezifizieren lässt, erscheint als Ausgabe der Hostapplikation entsprechend der Konfiguration schließlich genau das, was zur Erledigung der jeweiligen Aufgabe des Benutzers notwendig ist. Voraussetzung dafür ist selbstverständlich, dass im Rahmen einer vorangehenden Analyse ermittelt wurde, welche Softwarefunktionen tatsächlich benötigt werden und dass eine entsprechende Konfiguration erstellt wurde. Diese Konzentration der mittels der Hostapplikation erfolgenden Ausgabe auf das, was der Benutzer für seine jeweilige Aufgabe benötigt, wird als aufgabenzentrierte Ausgabe und als aufgabenzentrierter Zugriff auf zumindest eine Softwareapplikation (Gastapplikation) oder eine Mehrzahl von Softwareapplikationen verstanden.
-
Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche. Dabei verwendete Rückbeziehungen weisen auf die weitere Ausbildung des Gegenstandes des Hauptanspruches durch die Merkmale des jeweiligen Unteranspruches hin. Sie sind nicht als ein Verzicht auf die Erzielung eines selbständigen, gegenständlichen Schutzes für die Merkmalskombinationen der rückbezogenen Unteransprüche zu verstehen. Des Weiteren ist im Hinblick auf eine Auslegung der Ansprüche bei einer näheren Konkretisierung eines Merkmals in einem nachgeordneten Anspruch davon auszugehen, dass eine derartige Beschränkung in den jeweils vorangehenden Ansprüchen nicht vorhanden ist. Schließlich ist darauf hinzuweisen, dass das hier angegebene Verfahren auch entsprechend der abhängigen Vorrichtungsansprüche weitergebildet sein kann und umgekehrt.
-
Bei einer Ausführungsform des Verfahrens wird im Rahmen der Konfiguration, also bei der Erstellung der Konfiguration, zumindest ein Softwareobjekt definiert. Im Rahmen der Definition dieses zumindest einen Softwareobjekts wird dieses mit einer adressierbaren Softwarefunktion einer Gastapplikation verknüpft. Im Rahmen einer Verarbeitung der Konfiguration durch die Hostapplikation resultiert aufgrund dieser Definition des Softwareobjekts ein Aufruf der mit dem Softwareobjekt verknüpften Softwarefunktion. Aufgrund des Aufrufs der Softwarefunktion resultiert wiederum eine Ausgabe der Softwarefunktion auf der Anzeigeeinheit, nämlich der von der Hostapplikation angesteuerten Anzeigeeinheit. Die Definition von Softwareobjekten im Rahmen der Konfiguration erlaubt deren Verwendung in Form eines durch die Hostapplikation ausführbaren Computerprogramms und im Weiteren zum Beispiel einen Datenaustausch zwischen einzelnen Gastapplikationen.
-
Bei einer weiteren Ausführungsform des Verfahren ist vorgesehen, dass auf dem Computersystem zumindest eine erste und eine zweite Gastapplikation ablaufen, dass die zumindest zwei Gastapplikationen in der oben skizzierten Art und Weise jeweils zumindest eine adressierbare Softwarefunktion anbieten, dass die Hostapplikation auf Basis einer Konfiguration jeweils zumindest eine adressierbare Softwarefunktion verwendet, dass im Rahmen der Konfiguration eine Position der Verwendung der zumindest zwei Softwarefunktionen auf einem Anzeigegerät oder einer Anzeigeeinheit spezifiziert wird und dass mittels der Hostapplikation ein Datenaustausch zwischen den zumindest zwei Softwarefunktionen oder den jeweiligen Gastapplikationen erfolgt.
-
Der Vorteil dieser Ausgestaltung des Verfahrens besteht darin, dass der Benutzer nicht nur die jeweils zumindest eine Softwarefunktion zweier ansonsten unabhängiger Gastapplikationen gleichzeitig mittels der Hostapplikation nutzen kann und eventuelle Ausgaben mittels der Hostapplikation zusammen angezeigt werden, sondern dass ein Datenaustausch zwischen den Softwarefunktionen oder den jeweiligen Gastapplikationen, welche die Softwarefunktionen anbieten, erfolgt. Der Datenaustausch erfolgt dabei automatisch mittels der Hostapplikation, also ohne speziellen Eingriff des Benutzers. Der Benutzer muss demnach für einen Datenaustausch zwischen einzelnen Softwareapplikationen keine Zwischenablage (copy & paste) mehr verwenden oder keine Daten mehr aus einer ersten Softwareapplikation in eine Datei exportieren, um diese dann in eine zweite Softwareapplikation importieren zu können. Die Hostapplikation bewirkt den Datenaustausch gewissermaßen im Hintergrund und auf Basis einer Verwendung dafür von der jeweiligen Gastapplikation zur Verfügung gestellter adressierbarer Softwarefunktionen. Ein weiterer Vorteil besteht darin, dass mittels der Hostapplikation Gastapplikationen gemeinsam betrieben werden können, die originär nicht für ein Zusammenwirken vorgesehen sind und folglich auch keine „Kenntnis“ über eine jeweils andere Gastapplikation haben. Die Hostapplikation vereinigt Gastapplikationen gewissermaßen unter einem gemeinsamen Dach und erlaubt auch nachträglich jederzeit das Einbringen neuer Funktionen.
-
Bei einer nochmals weiteren Ausführungsform des Verfahrens lädt die Hostapplikation beim Start oder aufgrund einer entsprechenden Benutzeraktion eine Konfiguration und verwendet diese bis zum Laden einer anderen Konfiguration. Durch das Laden einer neuen Konfiguration ergibt sich eine Verwendung einer anderen Gastapplikation oder Softwarefunktion oder anderer Gastapplikationen oder Softwarefunktionen oder eine andere Verwendung einer oder mehrerer Gastapplikationen oder Softwarefunktionen. Jede Konfiguration führt demnach zu einer der Konfiguration entsprechenden eigenen Benutzeroberfläche und durch Verwendung einer jeweils geeigneten Konfiguration kann ein Benutzer die für seine jeweilige Aufgabe am besten passende Benutzeroberfläche auswählen. Durch eine Veränderung der Konfiguration oder durch Verwendung einer anderen Konfiguration ist das System aus Hostapplikation und zumindest einer Gastapplikation flexibler und zur Laufzeit des Computersystems sowie zur Laufzeit der Host- und der Gastapplikation oder der jeweiligen Gastapplikation anpassbar, ohne dass etwa die Host- oder die Gastapplikation neu kompiliert werden müssten. Dabei können vom Benutzer alle von der oder jeder Gastapplikation zur Verfügung gestellten Werkzeuge und Funktionen benutzt und im Hinblick auf einen optimalen Arbeitsfluss für die jeweilige Aufgabe neu zusammengestellt werden.
-
Das Verfahren oder das Verfahren mit einer oder mehreren der vorstehend skizzierten Ausgestaltungen ist in Software implementiert. Die Erfindung ist damit einerseits auch ein Computerprogramm mit durch einen Computer ausführbaren Programmcodeanweisungen und andererseits ein Speichermedium mit einem derartigen Computerprogramm, also ein Computerprogrammprodukt mit Programmcodemitteln, sowie schließlich auch ein Computersystem der eingangs genannten Art mit zumindest einem Computer, in dessen Speicher als Mittel zur Durchführung des Verfahrens und seiner Ausgestaltungen ein solches Computerprogramm geladen oder ladbar ist.
-
Nachfolgend wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung näher erläutert. Einander entsprechende Gegenstände oder Elemente sind in allen Figuren mit den gleichen Bezugszeichen versehen.
-
Es zeigen:
-
1 ein verteiltes Computersystem,
-
2 eine Darstellung zur Veranschaulichung eines Aufrufs einer Softwarefunktion einer Gastapplikation mittels einer hierarchisch übergeordneten Hostapplikation und eine Zuordnung einzelner Anzeigebereiche einer Ausgabeeinheit zu jeweils einer Softwarefunktion, so dass Ausgaben der Softwarefunktion dort erfolgen,
sowie
-
3 eine Darstellung zur Veranschaulichung einer von der Hostapplikation verwendeten Konfiguration und
-
4 eine weitere Darstellung zur Veranschaulichung einer von der Hostapplikation verwendeten Konfiguration.
-
Die Darstellung in 1 zeigt schematisch vereinfacht ein verteiltes Computersystem 10 einer Mehrzahl untereinander kommunikativ verbundener Computer 12. Die kommunikative Verbindung kann in Form eines lokalen Netzes, eines regionalen Netzes oder auch über das Internet bestehen. Die hier vorgestellte Neuerung erfordert allerdings kein verteiltes Computersystem 10. Vielmehr reicht grundsätzlich ein einzelner Computer 12 aus. Dann wird dieser einzelne Computer 12 als Computersystem 10 aufgefasst. Die nachfolgende Beschreibung wird auf Basis eines verteilten Computersystems 10 gemäß der Darstellung in 1 fortgesetzt. Dieses ist nicht einschränkend auszulegen. Vielmehr ist die Möglichkeit, dass ein einzelner Computer 12 als Computersystem 10 im Sinne der folgenden Beschreibung fungiert, stets mitzulesen.
-
Mittels des Computersystems 10 werden zum Beispiel zur Kraftwerkssteuerung mehrere Softwareapplikationen 14, 16, 18 mittels einer Verarbeitungseinheit in Form von oder nach Art eines Mikroprozessors ausgeführt, die zu diesem Zweck in üblicher Art und Weise in einen jeweiligen Speicher geladen sind. Das Computersystem 10 fungiert damit als Mittel zur Steuerung und/oder Überwachung eines in 1 nicht näher dargestellten technischen Prozesses, zum Beispiel eines Prozesses zur Energieerzeugung in einem Kraftwerk.
-
Als im Rahmen einer Kraftwerkssteuerung verwendete Softwareapplikationen sind beispielhaft eine Softwareapplikation 14 zur Diagnose eines Verbrennungsvorgangs in einem Kessel (Verbrennungsdiagnose), eine Softwareapplikation 16 zur Überwachung von Vibrationen einer Turbine (Vibrationsüberwachung), eine Softwareapplikation 18 zur Erfassung und Überwachung statistischer Daten (Statistikmodul) und so weiter zu nennen.
-
Ein Benutzer, der zur Erfüllung einer konkreten Aufgabe diese Softwareapplikationen 14, 16, 18 benötigt, sieht sich bisher in der Praxis vor das eingangs skizzierte Problem gestellt, dass die von den Softwareapplikationen 14–18 ausgegebenen Daten oftmals nicht gleichzeitig betrachtet werden können, dass ein Zugriff auf einzelne Informationen oder Funktionen einer Softwareapplikation 14–18 tief in einer Menüstruktur der jeweiligen Softwareapplikation 14–18 verborgen ist und/oder dass ein Austausch von Daten zwischen zwei verschiedenen Softwareapplikationen 14–18 nicht ohne Weiteres möglich ist.
-
Der hier vorgeschlagene Ansatz sieht eine zusätzliche Softwareapplikation vor, die hierarchisch über der oder jeder Softwareapplikation 14–18 liegt, welche der Benutzer für die Erfüllung seiner jeweiligen Aufgabe benötigt. Diese spezielle Softwareapplikation wird entsprechend im Folgenden mitunter als Hostapplikation 20 bezeichnet und die oder jede hierarchisch darunter liegende Softwareapplikation 14–18 entsprechend als Gastapplikation 14–18. Die Hostapplikation 20 ist ein Computerprogramm und stellt eine Implementation des hier vorgeschlagenen Ansatzes dar. Entsprechend handelt es sich bei der Hostapplikation 20 um ein eine Implementation des hier vorgeschlagenen Ansatzes darstellendes Computerprogramm.
-
Für die weitere Beschreibung wird zunächst vom einfachsten Fall ausgegangen, nämlich dass eine einzelne Softwareapplikation 14–18 als Gastapplikation 14–18 fungiert. Ein aufgabenzentrierter Zugriff auf diese Gastapplikation 14–18 mittels der Hostapplikation 20 basiert auf einer Konfiguration 22. Mittels der Konfiguration 22 wird festgelegt, auf welche Softwarefunktion 24, 26, 28 (2) oder auf welche Softwarefunktionen 24–28 mittels der Hostapplikation 20 zugegriffen wird, also welche Softwarefunktion 24–28 oder welche Softwarefunktionen 24–28 die Hostapplikation 20 verwendet. Durch die Hostapplikation 20 verwendbare Softwarefunktionen 24–28 einer Gastapplikation 14–18 sind von außerhalb der jeweiligen Gastapplikation 14–18 aufrufbar. Dafür wird in grundsätzlich an sich bekannter Art und Weise, zum Beispiel im Rahmen eines sogenannten Application Programming Interface (API), eine für einen solchen externen Aufruf verwendbare Adresse oder eine sonstige Referenz, zum Beispiel ein Bezeichner, verfügbar gemacht. Im Rahmen der Konfiguration wird zumindest ein Softwareobjekt definiert. Dieses wird im Rahmen der Definition des Softwareobjekts mit einer adressierbaren Softwarefunktion 24–28 einer Gastapplikation 14–18 verknüpft. Im Rahmen einer Verarbeitung der Konfiguration 22 durch die Hostapplikation 20 resultiert aufgrund dieser Definition und der Verknüpfung mit der Softwarefunktion 24–28 ein Aufruf der jeweiligen Softwarefunktion 24–28.
-
Aufgrund dieser Adressierbarkeit kann die Hostapplikation 20 einzelne Softwarefunktionen 24–28 einer von der Hostapplikation 20 grundsätzlich unabhängigen Gastapplikation 14–18 aufrufen und eine Darstellung von Bildschirmausgaben der Gastapplikation 14–18 erfolgt auf einer Anzeigeeinheit 30 der Hostapplikation 20 in Anzeigebereichen 34, 36, 38 (2), deren Position oder Position und Dimension oder Position, Dimension und/oder Erscheinungsbild (Rahmen, Farbe, usw.) mittels der Konfiguration 22 festgelegt ist. Die Bildschirmausgabe der jeweils aufgerufenen Softwarefunktion 24–28 erfolgt entsprechend deren jeweiliger Funktionalität. Wenn also die Softwarefunktion 24–28 bei einer separaten Ausführung der Gastapplikation 14–18 Statistikdaten in Form einer Tabelle ausgibt, erfolgt auch bei einem Aufruf dieser Softwarefunktion 24–28 mittels der Hostapplikation 20 eine derartige Ausgabe der Statistikdaten. Als Anzeigeeinheit 30 der Hostapplikation 20 wird dabei die Anzeigeeinheit desjenigen Computers 12 verstanden, auf dem die Hostapplikation 20 ausgeführt wird.
-
Die Darstellung in 2 zeigt insoweit von oben nach unten gesehen zunächst schematisch vereinfacht die Anzeigeeinheit 30 desjenigen Computers 12, auf dem die als Hostapplikation 20 fungierende Softwareapplikation 20 ausgeführt wird, sodann in der Mitte die Hostapplikation 20 und schließlich unten eine von dem Hostapplikation 20 verwendete Gastapplikation 14–18 und wiederum davon verwendete Softwarefunktionen 24–28. Mittels der Pfeile 31 soll der Aufruf einer Softwarefunktion 24–28 durch die Hostapplikation 20 aufgrund von deren Adressierbarkeit veranschaulicht werden. Mittels der Pfeile 32 soll veranschaulicht werden, in welchen Anzeigebereichen 34–38 die Bildschirmausgabe der einzelnen Softwarefunktionen 24–28 erfolgt.
-
Die schematisch vereinfachte Darstellung in 2 macht deutlich, dass mittels der von der Hostapplikation 20 verwendeten Konfiguration 22 festgelegt werden kann, wo die Bildschirmausgabe einer von der Hostapplikation 20 verwendeten Softwarefunktion 24–28 erfolgt. Die Hostapplikation 20 schafft damit gewissermaßen eine neue und vor allem konfigurierbare Benutzeroberfläche für eine verwendete Gastapplikation 14–18. Die Darstellung in 2 zeigt bereits, dass es dabei unerheblich ist, ob die Hostapplikation 20 genau eine Softwareapplikation 14–18 oder mehrere Softwareapplikationen 14–18 und deren Softwarefunktionen 24–28 verwendet.
-
Die zugrunde liegende Konfiguration 22 liegt zum Beispiel in Form einer Datei mit XML-Code vor, welche die Hostapplikation 20 auswertet. Durch eine Anpassung der Konfiguration 22 ergibt sich eine Möglichkeit, die jeweils resultierende Benutzeroberfläche anzupassen. Zum Beispiel kann die Position und/oder die Dimension einzelner Anzeigebereiche 34–38 geändert werden. Zusätzlich oder alternativ können im Rahmen einer Anpassung der Konfiguration 22 einzelne Anzeigebereiche 34–38 entfallen oder neue Anzeigebereiche 34–38 hinzukommen. Durch eine Verwendung jeweils unterschiedlicher Konfigurationen 22, also zum Beispiel entsprechender Dateien, ergeben sich unterschiedliche Benutzeroberflächen, so dass der Benutzer durch Verwendung einer für seine jeweilige Aufgabe geeigneten Konfiguration 22 mittels der Hostapplikation 20 eine Anzeige einer für die jeweilige Aufgabe passenden, aufgabenzentrierten Benutzeroberfläche erhält. Die jeweils resultierende Benutzeroberfläche ermöglicht, dass der Benutzer eine Anzeige genau derjenigen Daten erhält, die er für seine Aufgabe benötigt. Dabei kann durch eine entsprechend der Platzierung der Anzeigebereiche 34–38 resultierende Reihenfolge der Darstellung der Daten dafür Sorge getragen werden, dass die Darstellung in einer möglichst übersichtlichen und/oder möglichst schnell erfassbaren Art und Weise erfolgt.
-
Die gemäß dem vorgeschlagenen Ansatz resultierende aufgabenzentrierte Anzeige/aufgabenzentrierte Benutzeroberfläche ist nicht notwendig statisch. Dazu wird auf die schematisch vereinfachten Darstellungen in 3 und 4 verwiesen. Beide Darstellungen zeigen im oberen Bereich jeweils eine Benutzeroberfläche auf einer Anzeigeeinheit 30 der Hostapplikation 20 und im unteren Bereich eine Konfiguration 22 der als Hostapplikation 20 fungierenden Softwareapplikation 20. Die Konfiguration 22 ist in der Praxis zum Beispiel in einem XML-Code spezifiziert. Zur graphischen Darstellung der Konfiguration 22 sind anstelle eines solchen oder ähnlichen Codes Funktionsblöcke gezeigt, die jeweils einzelne Softwareobjekte repräsentieren. Die aufgrund der jeweiligen Konfiguration 22 resultierende Benutzeroberfläche wird auf einer obersten Hierarchieebene durch ein in den Darstellungen mit „Workplace“ bezeichnetes Softwareobjekt repräsentiert. Innerhalb der Benutzeroberfläche gibt es einen oder mehrere Anzeigebereiche („View A“, „View B“, usw.) und in jedem Anzeigebereich einen oder mehrere sogenannte Viewpartholder („VPH1“, „VPH2“, „VPH3“, „VPH4“, usw.). Im Rahmen eines für sich genommen bekannten, sogenannten Observer-Pattern besteht die Möglichkeit, dass sich einzelne im Rahmen der Konfiguration 22 definierte Softwareobjekte an einem sogenannten Event-Bus („EventBus“) registrieren. Diese Registrierung erfolgt mittels einer entsprechenden Codierung des jeweiligen Softwareobjekts im Rahmen der Konfiguration 22 und die Registrierung legt eine Aktion fest, die im Falle eines in Bezug auf das jeweilige Softwareobjekt stattfindenden Ereignisses (Event) erfolgen soll. Ein Ereignis ist dabei zum Beispiel ein Mausklick auf eine zu dem Softwareobjekt gehörige Bildschirmdarstellung, zum Beispiel ein Mausklick auf die Bildschirmdarstellung einer Taste.
-
Im in 3 gezeigten Beispiel sollen die Pfeile von und zu den dortigen Softwareobjekten die Registrierung einzelner Softwareobjekte (in diesem Falle „VPH1“ und „VPH2“) am Event-Bus und eine damit definierte Verknüpfung dieser Softwareobjekte mit anderen Softwareobjekten (in diesem Falle „VPH3“ und „VPH4“) veranschaulichen. Diese Registrierung und Verknüpfung führt bei einer Ausführung einer eine entsprechende Konfiguration 22 verwendenden Hostapplikation 20 dazu, dass bei einem Klick auf eine aufgrund des Softwareobjekts „VPH1“ innerhalb der Benutzeroberfläche der Hostapplikation 20 dargestellten Taste eine Darstellung in einem dem Softwareobjekt „VPH3“ zugeordneten Anzeigebereich 36 und bei einem Klick auf eine aufgrund des Softwareobjekts „VPH2“ dargestellten Taste eine Darstellung in einem dem Softwareobjekt „VPH4“ zugeordneten Anzeigebereich 38 erfolgt. Die in dem jeweiligen Anzeigebereich 36, 38 erfolgende Darstellung ist dabei selbst durch die Definition des jeweils zugrunde liegenden Softwareobjekts „VPH3“ bzw. „VPH4“ bestimmt und im Rahmen einer entsprechenden Codierung der Konfiguration 22 festlegbar. Durch eine entsprechende Codierung solcher Softwareobjekte erfolgt zum Beispiel in einzelnen Anzeigebereichen 36, 38 eine Ausgabe einer mittels der Hostapplikation 20 aufrufbaren Softwarefunktion 24–28, wie dies zuvor anhand der Darstellung in 2 erläutert wurde.
-
Das in 3 gezeigte Beispiel kann auf Basis des erläuterten Prinzips selbstverständlich beliebig fortgeführt werden, so dass eine jeweils resultierende Benutzeroberfläche der Hostapplikation 20 zum Beispiel eine größere Anzahl von Tastendarstellungen umfasst und mit einem Klick auf jede dieser Tastendarstellungen eine Darstellung unterschiedlicher Daten abrufbar ist, wobei die jeweils angezeigten Daten aus einer hierarchisch der Hostapplikation 20 untergeordneten Gastapplikation 14–18 stammen, insbesondere aus einer Gastapplikation 14–18 aus einer Gruppe mit einer Mehrzahl von Gastapplikationen 14–18.
-
Im in 4 gezeigten Beispiel sollen die dortigen Pfeile zum Event-Bus wie zuvor veranschaulichen, dass die jeweiligen Softwareobjekte (hier „VPH1“ und „VPH2“) und damit verknüpfte Aktionen am Event-Bus registriert sind. Im Falle eines Mausklicks auf eine entsprechende Darstellung oder einer Auswahl einer solchen Darstellung mittels der Maus oder ähnlicher sogenannter Events führt hier die Registrierung aber zu einem Signal an das die gesamte Benutzeroberfläche repräsentierende Softwareobjekt („Workplace“), welches zu Folgesignalen an zwei Softwareobjekte („View B“ und „View C“) führt, welche jeweils einzelne Anzeigebereiche repräsentieren. Diese Folgesignale bewirken wiederum, dass sich ein Status dieser Softwareobjekte ändert. Ein zuvor sichtbares Softwareobjekt („View B“) wird unsichtbar – das Softwareobjekt wird als Bestandteil der Benutzeroberfläche entladen – und ein zuvor unsichtbares Softwareobjekt („View C“) wird sichtbar, indem es als zusätzlicher Bestandteil oder als ein ein anderes Softwareobjekt ersetzender Bestandteil der Benutzeroberfläche geladen wird. Das Ergebnis ist im oberen Bereich der Darstellung in 4 gezeigt und führt im gezeigten Beispiel dazu, dass an die Stelle zweier Anzeigebereiche 36, 38 ein vergrößerter Anzeigebereich 36 tritt, in dem zum Beispiel die Darstellung einer zuvor nicht aufgerufenen Softwarefunktion 24–28 einer der als Gastapplikation 14–18 fungierenden Softwareapplikationen 14–18 ausgegeben wird.
-
Selbstverständlich lässt sich die Komplexität einer mittels des hier vorgeschlagenen Ansatzes resultierenden Benutzeroberfläche grundsätzlich beliebig erhöhen. Die jeweiligen Darstellungsarten und Darstellungsmöglichkeiten sind nur durch den Funktionsumfang der als Hostapplikation 20 fungierenden Softwareapplikation 20 begrenzt. Als Hostapplikation 20 kommt zum Beispiel eine Java-Anwendung in Betracht, die als Konfiguration 22 eine Datei mit XML-Code verarbeitet. Bei einer Java-Anwendung als Hostapplikation 20 handelt es sich bei der oder jeder Gastapplikation 14–18 ebenfalls um eine Java-Anwendung. Allgemeiner ausgedrückt basieren bei dem hier vorgeschlagenen Ansatz die Hostapplikation 20 und die oder jede Gastapplikation 14–18 auf derselben Technologie.
-
Der hier vorgeschlagene Ansatz ist jedoch nicht auf eine aufgabenzentrierte und gegebenenfalls dynamisch veränderliche Anzeige von Daten beschränkt. Mittels der Hostapplikation 20 und einer zugrunde liegenden Konfiguration 22 ist auch ein Austausch von Daten zwischen zwei oder mehr von der Hostapplikation 20 verwendeten Gastapplikationen 14–18 möglich.
-
Eine Weitergabe von Daten von einer Gastapplikation 14–18 an eine andere Gastapplikation 14–18 erfolgt zum Beispiel in Form eines Objekts eines üblichen Objekttyps oder in Form eines Objekts einer spezifischen Ausprägung eines Objekttyps. Zur Weitergabe von Daten in Form eines Objekts eines üblichen Objekt- oder Datentyps kommen ein Objekt des Typs „string“ oder mehrere derartige Objekte in Betracht. Auf diese Weise können einerseits Texte, aber andererseits auch in eine Zeichenfolge (string) umgewandelte natürliche oder reelle Zahlen übermittelt werden. Eine Übertragung von Daten in Form eines Objekts eines spezifischen Objekt- oder Datentyps ist dann möglich, wenn beide in dem Datenaustausch involvierte Softwareapplikationen 14–18 den jeweiligen Objekt- oder Datentyp unterstützen.
-
Zusätzlich oder alternativ ist eine Weitergabe von Daten von einer Gastapplikation 14–18 an eine andere Gastapplikation 14–18 oder an eine weitere und zur Unterscheidung von einer Gastapplikation 14–18 als Fremdapplikation bezeichnete Softwareapplikation zum Beispiel mittels üblicher Netzwerkschnittstellen möglich, zum Beispiel Netzwerkschnittstellen wie sie für CORBA, Web Services, OPC, DCOM etc. bekannt sind. Der Datenaustausch mit einer Fremdapplikation erlaubt die beliebig gestaltbare Weitergabe beliebiger Daten, nämlich von der Gastapplikation 14–18 im Rahmen einer dortigen entsprechenden Programmierung vorgegebener Daten, an einen Server oder eine Cloud.
-
Obwohl die Erfindung im Detail durch das Ausführungsbeispiel näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch das oder die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen.
-
Einzelne im Vordergrund stehende Aspekte der hier eingereichten Beschreibung lassen sich damit kurz wie folgt zusammenfassen: Angegeben werden ein Verfahren zum Betrieb eines Computersystems 10, ein Computerprogramm 20 mit einer Implementation des Verfahrens und ein zur Ausführung des Verfahrens bestimmtes Computersystem 10. Auf dem Computersystem 10 läuft zumindest eine als Hostapplikation 20 fungierende Softwareapplikation und zumindest eine als Gastapplikation 14–18 fungierende Softwareapplikation ab, wobei die oder jede Gastapplikation 14–18 zumindest eine adressierbare Softwarefunktion 24–28 anbietet. Die Hostapplikation 20 verwendet auf Basis einer Konfiguration 22 zumindest eine adressierbare Softwarefunktion 24–28 der zumindest einen Gastapplikation 14–18, wobei im Rahmen der Konfiguration 22 eine Position der Verwendung der mindestens einen Softwarefunktion 24–28 auf einer Anzeigeeinheit 30 spezifiziert wird.
-
Bezugszeichenliste
-
- 10
- Computersystem
- 12
- Computer
- 14
- Softwareapplikation / Gastapplikation
- 16
- Softwareapplikation / Gastapplikation
- 18
- Softwareapplikation / Gastapplikation
- 20
- Softwareapplikation / Hostapplikation / Computerprogramm
- 22
- Konfiguration
- 24
- Softwarefunktion
- 26
- Softwarefunktion
- 28
- Softwarefunktion
- 30
- Anzeigeeinheit
- 31, 32
- Pfeil
- 34
- Anzeigebereich
- 36
- Anzeigebereich
- 38
- Anzeigebereich