-
GEBIET DER ERFINDUNG
-
Diese
Erfindung bezieht sich auf ein System und ein Verfahren zum Bereitstellen
von Software-Updates online. Die Updates können für einen oder mehrere einer
Reihe von einzelnen Computern oder für ein Computernetzwerk bereitgestellt
werden. Bei einer bevorzugten Ausfertigung werden die Software-Updates für einzelne
Clients in einem Client-Server-Netzwerk bereitgestellt, zum Beispiel
für ein
Client-Server-Netzwerk des Typs, der eine teilweise replizierte
relationale Datenbank oder ein Transaktionsverarbeitungssystem in
einem Unternehmen in einem WAN oder einem LAN ausführt.
-
HINTERGRUND DER ERFINDUNG
-
Wirtschaftsunternehmen
setzen zur Durchführung
ihrer Aktivitäten
eine große
Zahl von Endgeräten, d.
h. von Bürocomputern,
tragbaren Computern und Netzwerkendgeräten ein. Obwohl es wünschenswert
ist, dass alle diese Endgeräte über identische
Abbilder, Schnittstellen und Software verfügen, ist dies nicht immer möglich, wenn
in einem Unternehmen eine kontinuierliche Folge von Endgeräten aller
Generationen und Leistungsklassen vorhanden ist. Es ist jedoch völlig unverzichtbar,
dass die Gruppe der Endgeräte
in einem Unternehmen in der Lage ist, effektiv zu kommunizieren.
Dies erfordert sorgfältige
Planung und Koordinierung des Software-Migrationsaufwands.
-
Bei
einem System, das eine oder mehrere zentrale Datenbanken (einschließlich Korrespondenzdatenbanken
und solcher Datenbanken, die als Groupware-Anwendungen betrachtet
werden, wie zum Beispiel Lotus Note, Novell GroupWise und dergleichen)
und teilweise lokal replizierte Datenbanken umfasst, gibt es Software
in beträchtlichem
Umfang, die häufig
angepasst ist, um die Anforderungen eines bestimmten Unternehmens
und sogar von bestimmten Benutzern und Benutzergruppen innerhalb
von Teilen des Unternehmens zu erfüllen. Es entsteht erheblicher
Aufwand für
das Konfigurieren der Software und das Schreiben von benutzerdefinierten
Modulen und Objekten. Wenn die Software auf eine neue Version aktualisiert
wird, sind Programmierzeit und -aufwand in erheblichem Umfang erforderlich,
um bei dem Konfigurieren der neuen Version und dem erneuten Implementieren
der benutzerspezifischen Funktionalität der früheren Versionen einheitliche
Aktualisierungen bereitzustellen.
-
Wir
haben erkannt, dass es wünschenswert
wäre, eine
Fähigkeit
bereitzustellen, um eine Einrichtung bereitzustellen, die es Unternehmen
ermöglicht,
ihre Änderungen
wie zum Beispiel Konfigurationen und Objekte schnell von einer Version
der Software zu einer anderen Version der Software zu migrieren.
-
Wir
haben darüber
hinaus erkannt, dass es wünschenswert
wäre, eine
schnelle Migration von Software-Upgrades in einem benutzerfreundlichen
Online-Verfahren durch den Einsatz einer Online-Verteilung von Software-Upgrades
zu erreichen.
-
Die
europäische Patent-Anmeldung Nr.
811.942 beschreibt ein Dienstanbieter-Computersystem, das eine Liste von Software-Updates,
die bei Drittanbietern erhältlich
sind, speichert, so dass eine Client-Anwendung, die auf einem Client-Computer
ausgeführt
wird, an den geeigneten Drittanbieter gerichtet werden kann, um
ein gewünschtes
Software-Upgrade zu beziehen. Nach dieser Veröffentlichung führt eine
Client-Anwendung
vor dem eigentlichen Installieren des Software-Updates ein Installations-Überwachungsprogramm aus, und
das Installations-Überwachungsprogramm
zeichnet die infolge des Software-Updates an dem Client-Computer
vorgenommenen Änderungen
auf, um dem Benutzer zu ermöglichen,
die Software-Update-Installation in Reaktion auf einen ausdrücklichen
Befehl des Benutzers dazu rückgängig zu
machen oder zu entfernen, nachdem die Installation erfolgreich abgeschlossen
worden ist. Das Installations-Überwachungsprogramm verzeichnet
den Zustand des Client-Computers vor der Installation und die während der
Installation des Software-Updates vorgenommenen Änderungen, um einem Wiederherstellungsmodul
zu ermöglichen,
die Informationen zum Wiederherstellen der Konfiguration des Client-Computers
zu nutzen. Bei der Wiederherstellung handelt es sich um eine Aktion,
die durch den Benutzer ausgelöst
wird, wenn er oder sie mit einem Software-Update unzufrieden ist,
und das Wiederherstellungsmodul stellt das Rückgängigmachen oder Deinstallieren eines
zuvor installierten Software-Updates
zur Verfügung.
Folglich arbeiten das Installations-Überwachungsprogramm und das
Wiederherstellungsmodul, die von dem Anwendungsprogramm, das das
Update des Anwendungsprogramms ausführt, verschieden sind, zusammen,
um den Client-Computer
durch Deinstallieren eines zuvor installierten Updates des Anwendungsprogramms
wiederherzustellen.
-
Das
US-Patent 5.473.772 beschreibt
ein Dateiaktualisierungssystem. Wenn bei einer Dateiaktualisierung
ein Fehler auftritt, ermittelt die Anwendung, welche (nicht näher angegebene)
Aktion auszuführen
ist. Das
US-Patent 5.715.462 beschreibt
ein Dateiaktuali sierungssystem für
den Einsatz mit zwei Betriebssystemen.
-
ÜBERSICHT ÜBER DIE ERFINDUNG
-
Die
Erfindung wird in den unten stehenden unabhängigen Ansprüchen definiert,
auf die nun Bezug genommen werden kann. Vorteilhafte Funktionen
werden in den Unteransprüchen
dargelegt.
-
Eine
bevorzugte Ausführungsform
der Erfindung wird unten mit Bezug auf die Zeichnungen genau beschrieben.
Diese Ausführungsform
stellt Aktualisierungen von Softwareversionen und die Synchronisierung von
Datenbankschemata bereit. Der Softwareanbieter oder -aktualisierer,
z. B. der Datenbankadministrator, wendet Änderungen des Datenbankschemas
auf alle entfernten Datenbanken einschließlich mobiler Datenbanken und
regionaler Datenbanken an und verteilt sie an diese. Darüber hinaus
wendet der Softwareanbieter oder -aktualisierer Unterschemaänderungen
(z. B. Datenbankerweiterungen), Patches und Hauptschemaänderungen
ohne manuellen Eingriff an.
-
In
dieser bevorzugten Ausführungsform
können
Aktualisierungen von Softwareversionen für alle Arten von Installationen
bereitgestellt werden. Das heißt,
der Softwareanbieter oder der Aktualisierer, z. B. der Datenbankadministrator,
ist nun in der Lage, alle Arten von Installationen und Endgeräten einschließlich angeschlossener
Clients, entfernter Clients, regionaler Server und Anwendungsserver
zu aktualisieren.
-
Ein
Aspekt unseres Systems besteht in einem Verfahren zum Verteilen
und Einleiten von Softwareversions-Aktualisierungen in einer verteilten
Computerumgebung. Das bevorzugte Verfahren umfasst das Einstellen
der niedrigsten (und der höchsten)
Versionsstufe für
installierte Software und das Verwenden solcher Stufen zum Definieren
des Inhalts von Softwareversions-Aktualisierungssätzen. Der
Inhalt der Softwareversions-Aktualisierungssätze wird
daraufhin in eine Datenbank geschrieben, z. B. als Inhaltsverzeichnis
oder dergleichen, und zum Generieren von Tabellen von Softwareversions-Aktualisierungssätzen eingesetzt.
Diese Tabellen werden zum Erstellen von Softwareversions-Aktualisierungssätzen eingesetzt.
Kopien der Aktualisierungssätze
werden auf die zu aktualisierenden Clients heruntergeladen, und
die Software auf dem Client wird aktualisiert.
-
Nachdem
das Inhaltsverzeichnis des Software-Aktualisierungssatzes installiert
worden ist, wird es mit der lokal installierten Software auf einem
Client verglichen, wobei die Software, die auf dem Client installiert werden
muss, auf den Client heruntergeladen wird. Dieser Vergleich kann
beim Start des Servers, des Clients oder einer bestimmten Softwarekomponente
erfolgen.
-
Wenn
es sich bei dem Client um einen mobilen Client handelt, werden der
Vergleich und der Download während
einer Docking-Sitzung ausgeführt,
wobei das Upgrade entweder während
der aktuellen Docking-Sitzung oder während einer nachfolgenden Docking-Sitzung eingeleitet
wird.
-
Bei
einer Ausfertigung unserer Erfindung handelt es sich bei der verteilten
Computerumgebung um ein Datenbankmanagement-System, das replizierte
oder teilweise replizierte Datenbanken aufweist, und die Version
des Datenbankschemas auf dem Client wird mit der Version des Datenbankschemas
auf dem Servers verglichen, wobei die Datenbankversion auf dem Client
neu initialisiert wird, wenn die Versionen des Datenbankschemas
auf dem Client und auf dem Server nicht übereinstimmen, und die Datenbank
auf dem Client mit der Datenbank auf dem Server synchronisiert wird,
wenn die Versionen der Datenbank auf dem Client und auf dem Server übereinstimmen.
-
Bei
der beschriebenen Ausführungsform
wird Fremdsoftware unterstützt.
Der Softwareanbieter oder -aktualisierer, z. B. der Datenbankadministrator,
ist in der Lage, Fremdsoftware zu aktualisieren, auf die benutzerdefinierte
Installationen angewiesen sind. Der Softwareanbieter, der Datenverwalter
des Managementinformationsdienstes oder der Aktualisierer, z. B.
der Datenbankadministrator, ist zum Beispiel in der Lage, Microsoft
Word, Adobe Acrobat, Microsoft Access (eingetragene Warenzeichen)
und dergleichen, die sich auf den benutzerdefinierten Installationen
befinden, zu aktualisieren.
-
Es
sind vollständige
und teilweise Aktualisierungen möglich.
Der Aktualisierer, z. B. der Datenbankadministrator, kann die gesamte
Installation oder einen Teil davon aktualisieren. Der Aktualisierer
ist zum Beispiel in der Lage, sowohl eine völlig neue Installation als
auch ein Patch für
eine vorhandene Installation wie zum Beispiel eine CDF-Datei, eine
ausführbare
Datei, eine DLL, einen Bericht und dergleichen zu verteilen. In
der gleichen Weise ist der Aktualisierer in der Lage, Aktualisierungen
für verschiedene
Sprachen zu verteilen.
-
Diese
Funktionen werden unter Beibehaltung von Bedienungskomfort und Benutzer freundlichkeit
erzielt. In dieser Beziehung erfordert Bedienungskomfort die automatische
Erkennung von vorhandenen Programmen und das automatische Aufrufen
von Aktualisierungsprogrammen einschließlich Clients und Replikations-Agents.
Die Installationssoftware muss automatisch erkennen, wann eine Aktualisierung
verfügbar
ist und auf die lokale Installation angewendet werden kann, so dass
der Benutzer Aktualisierungen nicht ausdrücklich suchen und auswählen muss.
Benutzerfreundlichkeit erfordert, dass Softwareaktualisierungs-Programme
dem Benutzer ermöglichen
müssen,
Aktualisierungen zu beenden oder zurückzustellen. Die Softwareaktualisierungs-Programme
müssen
den Benutzer über
den Status der Aktualisierungen auf dem Laufenden halten und den
Benutzer über
anstehende Aktualisierungen, die während einer Aktualisierung
durchzuführenden
Benutzerschritte, Zeitschätzungen
für die
Aktualisierung und Verlaufsanzeigen informieren. Dies umfasst Selbstaktualisierung – Aktualisierungen
müssen
in der Lage sein, sich selbst zu aktualisieren, und der Aktualisierer,
z. B. der Datenbankadministrator, muss in der Lage sein, Aktualisierungen
für die
Aktualisierungsprogramme zu verteilen. Benutzerfreundlichkeit umfasst
darüber
hinaus eine Forderung nach Anpassbarkeit, das heißt, die
Fähigkeit
einzelner Benutzer, ein beliebiges Verfahren zum Installieren oder
Aktualisieren von Softwarekomponenten mit oder ohne Verwendung eines
Upgrade-Wizards (eines Aktualisierungs-Assistenten) einzusetzen.
Aktualisierungen sollten den aktuellen Zustand der Softwarekomponenten
zum Bestimmen, ob eine Aktualisierung erforderlich ist, nutzen.
-
Eine
verwandte Anforderung ist die Neustartfähigkeit. Das bedeutet, dass
die Aktualisierungssoftware den Fortschritt von Aktualisierungen
verfolgen muss und Änderungen
automatisch rückgängig machen
muss, wenn ein Fehler auftritt. Darüber hinaus muss die Aktualisierungssoftware
in der Lage sein, die Aktualisierung vom letzten Sicherungspunkt
aus neu zu starten.
-
Eine
wünschenswerte
Eigenschaft ist die Verfügbarkeit
früher
Downloads. Mit diesem Mittel können mobile
Benutzer Aktualisierungssätze
auf ihre lokalen Gerate herunterladen und anwenden, sogar bevor
die Aktualisierung erforderlich ist. So können mobile Benutzer die Aktualisierung
herunterladen, wenn sie genügend
Zeit oder Zugriff auf ein schnelles Netzwerk haben, z. B. wenn Sie
die Zentrale (HQ, headquarters) besuchen.
-
Eine
weitere wünschenswerte
Eigenschaft ist die zentralisierte Definition und Überwachung;
der Aktualisierer, z. B. der Datenbankadministrator, muss in der
Lage sein, Software- und Schema-Aktualisierungen von einem zentralen
Ort aus leicht zu definieren und zu verteilen. Darüber hinaus
muss der Aktualisierer in der Lage sein, den Fortschritt der Aktualisierung über alle
Installationen hinweg zu überwachen.
Der Aktualisierer muss zum Beispiel in der Lage sein, alle Installationen
zu suchen, die eine Aktualisierung angewandt haben. Dazu gehört eine
garantierte Lieferung. Alle Aktualisierungen werden an alle Installationen
verteilt und auf sie angewandt. Es darf nicht erforderlich sein,
dass der Aktualisierer den Status von Aktualisierungen auf jeder Installation
ausdrücklich überwachen
muss.
-
Die
bevorzugte Ausführungsform
stellt Unterstützung
für Test-
und Produktionsumgebungen bereit; der Aktualisierer, z. B. der Datenbankadministrator,
muss in der Lage sein, Aktualisierungen in einer Testumgebung zu
testen und anschließend
die Änderungen
zur Verteilung an alle Benutzer der Produktion leicht zu einer Produktionsumgebung
zu migrieren.
-
Die
Aktualisierungen sind eigenständig,
d. h. sie sind in sich geschlossen. Das bedeutet, dass Aktualisierungen
in der Lage sind, sich selbst auszuführen, und nicht von anderen
Programmen oder Daten abhängig
sind.
-
Die
Installation von Aktualisierungen erfordert minimalen Netzwerkverkehr.
Es ist wichtig, Dateiübertragungen
zu minimieren, indem Aktualisierungen nur an die Standorte gesendet
werden, an denen sie benötigt
werden. Aktualisierungen für
Anwendungsserver werden zum Beispiel nur an regionale Dateninstallationen gesendet,
und Aktualisierungen für
Microsoft Word werden nur an Client-Installationen gesendet.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die
Erfindung wird nun beispielhaft mit Bezug auf die Zeichnungen genauer
beschrieben, für
die gilt:
-
1 erläutert den
Prozess des Definierens von Softwareaktualisierungen.
-
2 erläutert die
Initiierung und die Verteilung von Aktualisierungen.
-
3 stellt
die Aktualisierungsschritte für
Kunden dar.
-
4 ist
ein Datenmodell für
eine Fernaktualisierung.
-
5 ist
eine Tabelle, die eine Aufzählung
der gültigen
Aktionen für
Elemente des Aktualisierungssatzes darstellt.
-
GENAUE BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORM
DER ERFINDUNG
-
Die
Definition von Aktualisierungen, die Initiierung und Verteilung
von Aktualisierungen und die Aktualisierung auf Endbenutzer-Ebene
werden in den Abbildungen erläutert.
-
Wie
in 1 dargestellt, definiert der Administrator die
Aktualisierungssätze
und generiert dabei Aktualisierungssatzdateien. Als Nächstes schreibt
der Client die Aktualisierungssatzdefinition in die Server-Datenbank,
die in dem Datenbank-Server vorhanden ist, wobei weitere Aktualisierungssatzdateien
generiert werden. Der Client kopiert darüber hinaus Aktualisierungssatzdateien
auf den Datei-Server. Wenn die Aktualisierungssatzdateien freigegeben
werden sollen, werden Aktualisierungssatz-Archivdateien erstellt.
-
In
dem in 2 dargestellten Prozess schreibt der Administrator
die erforderlichen Versionen eines Software-Elements fort. Dies
veranlasst den Client, die erforderlichen Versionen der Software
mit den lokal installierten Versionen jedes Software-Elements zu
vergleichen. Wenn eine Aktualisierung erforderlich ist, ruft der
Client die Aktualisierungssatz-Archivdatei von dem Dateiserver ab
und ruft den Upgrade-Wizard auf, um die Aktualisierung lokal anzuwenden.
Darüber
hinaus wird in 2 die Aktualisierung von mobilen
Benutzern dargestellt. Im Fall von mobilen Benutzern leitet ein
Anwendungsserver neue erforderliche Versionen an mobile und regionale
Benutzer weiter. Nach einer Docking-Sitzung vergleicht der Docking-Client
die erforderlichen Versionen mit den lokal installierten Versionen
der Software. Wenn eine Aktualisierung erforderlich ist, ruft der
Docking-Client die Aktualisierungssatz-Archivdatei von dem Datei-Server
ab und ruft den Upgrade-Wizard auf, um die Aktualisierung auf das
lokale Gerät
anzuwenden.
-
Wie
in 3 dargestellt, werden CDs oder Disketten zur Verteilung
der Aktualisierung erstellt und an die Kunden geliefert. Der Kunde
aktualisiert eine Testumgebung, verteilt eine neue Version der Software-Überprüfung und
testet die Software. Wenn der Test zufriedenstellend verläuft, aktualisiert
der Kunde die neue Version bei Produktionsbenutzern.
-
4 stellt
den Aktualisierungssatz, einen Bestandteil des Satzes einschließlich einer
Komponente und eine verwandte Komponente, ein Satzelement und ein
Argument des Satzelements sowie ein Typargument des Satzelements
dar.
-
5 stellt
eine Aufzählung
der gültigen
Aktionen für
die Aktualisierungssatzelemente wie zum Beispiel das Kopieren von
Dateien in Verzeichnisse, das Löschen
von Dateien aus Verzeichnissen, das Aufrufen von eigenständigen ausführbaren
Dateien, das Ausführen
von Anweisungen in SQL-Dateien, das Laden von Daten, das Ausgeben
von DDL und das Laden von Repositorydateien dar.
-
Übersicht über die Implementierung
-
Die
unten beschriebene bevorzugte Ausführungsform der Erfindung stellt
eine Online-Verteilung
von Software-Aktualisierungen bei gleichzeitiger Erfüllung der
folgenden Unternehmensanforderungen bereit:
Sie stellt eine
Synchronisierung von Datenbankschemata bereit.
-
Sie
stellt Unterstützung
für alle
Arten von Installationen und Endgeräten in einem Unternehmen bereit. Das
heißt,
der Softwareanbieter oder der Aktualisierer, z. B. der Datenbankadministrator,
muss in der Lage sein, alle Arten von Installationen in einem Unternehmen
einschließlich
angeschlossener Clients, entfernter Clients, regionaler Server und
Anwendungsserver zu aktualisieren.
-
Sie
stellt Unterstützung
für das
Aktualisieren von Fremdsoftware bereit.
-
Sie
unterstützt
sowohl vollständige
als auch Teil-Aktualisierungen von installierter Software in einem Unternehmen.
-
Eine
zusätzliche
Funktion ist die Neustartfähigkeit.
Das bedeutet, dass die Aktualisierungssoftware den Fortschritt von
Aktualisierungen verfolgen sollte und Änderungen automatisch rückgängig machen
sollte, wenn ein Fehler auftritt. Darüber hinaus sollte die Aktualisierungssoftware
in der Lage sein, die Aktualisierung vom letzten Sicherungspunkt
aus neu zu starten.
-
Ein
wichtiges Merkmal der bevorzugten Ausführungsform der Erfindung, insbesondere
in einem Unternehmen, das durch Heterogenität und/oder geografische Verteilung
gekenn zeichnet ist, ist die zentrale Definition und Überwachung.
Der Aktualisierer, z. B. der Datenbankadministrator, muss in der
Lage sein, Software- und Schema-Aktualisierungen von einem zentralen
Standort aus leicht zu definieren und den Fortschritt von Aktualisierungen über alle
Installationen hinweg zu überwachen.
-
Die
Aktualisierungen sollte eigenständig
sein können.
Das bedeutet, dass Aktualisierungen in der Lage sein sollten, sich
selbst auszuführen,
und nicht von anderen Programmen oder Daten abhängig sein sollten.
-
Schließlich sollten
diese vorteilhaften Merkmale erzielt und erhalten werden und gleichzeitig
der Bedienungskomfort und die Benutzerfreundlichkeit bewahrt bleiben.
-
Wie
in 1 dargestellt, definiert der Administrator, dargestellt
als der Client 101, die Aktualisierungssätze. Der
Client 101 schreibt diese Aktualisierungssatzdefinition
in eine Serverdatenbank 103, die auf dem Datenbankserver
vorhanden ist, wobei Aktualisierungssatztabellen 104 in
der Serverdatenbank 103 generiert werden. Der Schritt des
Definierens der Aktualisierung auf dem Client 101 generiert
darüber
hinaus Aktualisierungssatzdateien 102. Der Client kopiert
diese Aktualisierungssatzdateien 102 auf den Dateiserver 105 zum Beispiel
für anschließendes Herunterladen.
Wenn die Aktualisierungssatzdateien freigegeben werden sollen, werden
Aktualisierungssatz-Archivdateien 106 erstellt.
-
2 erläutert die
Initiierung und die Verteilung von Aktualisierungen. In dem in 2 dargestellten Vorgang
aktualisiert der Administrator 101 die erforderlichen Versionen
eines Software-Elements.
-
Dies
veranlasst den Datenbankserver 103 mit gespeicherten Softwarekomponententabellen 104A, nach
dem Start die erforderlichen Versionen der Software mit den lokal
installierten Versionen für
jeden angeschlossenen lokalen Benutzer 211 für jedes
Software-Element zu vergleichen. Wenn eine Aktualisierung erforderlich
ist, ruft der lokale Benutzer 211 die Aktualisierungssatz-Archivdatei 106 von
dem Datei-Server 105 ab und ruft einen Upgrade-Wizard auf,
um die Aktualisierung lokal anzuwenden.
-
Darüber hinaus
wird in 2 die Aktualisierung von mobilen
Benutzern 215 dargestellt. Im Fall von mobilen Benutzern 21 leitet
ein Anwendungsserver 213 neue erforderliche Versionen an
mobile 215 und regionale Benutzer weiter. Nach einer Docking-Sitzung vergleicht
der Docking-Client die erforderlichen Versionen mit den lokal installierten
Versionen der Software. Wenn eine Aktualisierung erforderlich ist,
ruft der Docking-Client die Aktualisierungssatz-Archivdatei 106 von
dem Dateiserver 105 ab und ruft den Upgrade-Wizard auf,
um die Aktualisierung auf das lokale Gerät 215 anzuwenden.
-
3 stellt
eine Reihe von Test- und Verteilungsvorgängen für Kunden dar. Wie in 3 dargestellt, werden
Aktualisierungs-CDs oder -Disketten 307 in einem Haupt-Repository 305 erstellt
und an einen Testdatenbankserver 303 zur Verteilung an
Testbenutzer einschließlich
Servertestbenutzern 313, angeschlossenen Testbenutzern 311 und
mobilen Testbenutzern 315 geliefert. Die Testbenutzer 311, 313 und 315 aktualisieren ihre
Testumgebungen und die aktualisierte Version der Software zum Testen.
Die Kunden 311, 313 und 315 testen die
Software. Wenn der Test zufriedenstellend verläuft, wird die aktualisierte
Version der Software an Produktionsbenutzer 411, 413 und 415 verteilt.
-
4 stellt
ein Datenmodell für
eine Fernaktualisierung dar. Sie stellt den Aktualisierungssatz 1001, einen
Bestandteil des Satzes 1003 einschließlich einer Komponente 1005 und
eine verwandte Komponente 1007, ein Satzelement 1009 und
ein Argument des Satzelements 1001 sowie einen Typ 1013 des
Satzelements dar.
-
Softwarekomponenten
-
Die
Grundeinheit von Aktualisierungen ist die Softwarekomponente. Eine
Softwarekomponente ist eine Softwarereihe, die eigenständig installiert
und verfolgt und durch Aktualisierungen deinstalliert werden kann.
Jede Softwarekomponente verfügt über einen
Bereich von erforderlichen Versionen. Der Softwarehersteller, der
MIS-Verwalter oder der Aktualisierer, z. B. der Datenbankverwalter,
bestimmt den erforderlichen Bereich für jede Softwarekomponente.
Beispiele für
Softwarekomponenten, beispielsweise und ohne dabei einschränkend zu
wirken, in der Anwendung Siebel Remote sind das Siebel Schema, der
Siebel Client, der Siebel Server und Microsoft Word.
-
Aktualisierungssätze
-
Der
Softwarehersteller, der MIS-Verwalter oder der Aktualisierer, z.
B. der Datenbankadministrator, erstellt Aktualisierungssätze zum
Installieren oder Aktualisieren einer oder mehrerer Softwarekomponenten.
Ein Aktualisierungssatz ist eine Zusammenstellung von Dateien und
Aktionen zum Aktualisieren einer oder mehrerer Softwarekomponenten
von einer Version auf eine andere (üblicherweise höhere) Version.
Um eine Aktualisierung einer Softwarekomponente zu veranlassen,
erstellt der Aktualisierer einen Aktualisierungssatz zum Installieren
der neuen Version der Softwarekomponente und gibt ihn frei. Anschließend aktualisiert
der Aktualisierer die erforderlichen Versionen der Softwarekomponente,
um sicherzustellen, dass Benutzer auf die neue erforderliche Version
der Softwarekomponente aktualisieren.
-
Automatische Aktualisierungserkennung
-
Zu
bestimmten vordefinierten Zeiten (z. B. beim Start des Clients,
vor und nach jeder Synchronisierungssitzung, vor dem Aufrufen einer
Softwarekomponente eines Fremdanbieters, wenn der Server gestartet wird)
verifizieren Systemprogramme, dass die Softwarekomponenten für die derzeit
ausgeführten
Programme auf dem neuesten Stand sind. Im Fall von Siebel Remote überprüft zum Beispiel
der Siebel Client die Versionen der Komponenten Siebel Schema und
Siebel Client, überprüft aber
nicht unbedingt die Komponente Siebel Server. Der Server bestimmt
die derzeit installierte Version einer Softwarekomponente durch
Abfragen der Softwarekomponente selbst und Vergleichen der installierten
Versionen mit den erforderlichen Versionen.
-
Wenn
eine Softwarekomponente sich nicht im Bereich der erforderlichen
Versionen befindet, prüft
der Server die Versionen aller auf dem Client installierten Softwarekomponenten
und sucht nach einem oder mehreren Aktualisierungssätzen, um
die veralteten Softwarekomponenten auf die erforderlichen Versionen
zu aktualisieren. Der Server informiert anschließend den Benutzer über die
erforderlichen Aktualisierungen und fordert den Benutzer auf, die
Aktualisierungen durchzuführen.
-
Upgrade-Wizard
-
Der
Server ruft einen Upgrade-Wizard auf, um einen Aktualisierungssatz
anzuwenden. Nach dem Aufrufen des Upgrade-Wizards wird das Programm
beendet, um alle Sperren an Datenbanktabellen oder Dateien, die
aktualisiert werden müssen,
freizugeben. Der Client ruft zum Beispiel den Upgrade-Wizard auf
und wird dann beendet. Der Server sendet eine Meldung zum Herunterfahren
an alle derzeit aktiven Serverkomponenten, wartet darauf, dass alle
Serverkomponenten beendet werden, ruft den Upgrade-Wizard auf und
wird beendet.
-
Bei
dem Upgrade-Wizard handelt es sich bevorzugt um eine eigenständige, einzelne
ausführbare
Datei (es sind keine DLLs erforderlich), die einen Aktualisierungssatz
lesen und ihn auf ein lokales Gerät anwenden kann. Der Upgrade-Wizard
verfolgt den Fortschritt der Aktualisierung und stellt das System
automatisch nach dem Auftreten von Fehlern wieder her. Er erstellt
zum Beispiel während
des Anwendens eines Aktualisierungssatzes eine Sicherung der lokalen
Datenbank und von lokalen Dateien. Wenn zu einem beliebigen Zeitpunkt
während
der Aktualisierung ein Fehler auftritt, versucht der Upgrade-Wizard,
alle Änderungen
rückgängig zu
machen, und versetzt das lokale Gerät wieder in seinen ursprünglichen
Zustand.
-
Wenn
der Client oder der Server startet, erkennt er, ob eine Aktualisierung
durchgeführt
wird oder fehlgeschlagen ist. In diesem Fall benachrichtigt er den
Benutzer und ruft den Upgrade-Wizard auf, um die Aktualisierung
erneut zu starten. Was den Client betrifft, so arbeitet er im schreibgeschützten Modus
weiter, falls der Benutzer es ablehnt, die Aktualisierung erneut
zu starten. Im schreibgeschützten
Modus ermöglicht
der Client dem Benutzer, Daten anzuzeigen, hindert den Benutzer
aber daran, Daten zu ändern.
Was den Server betrifft, so gibt er eine Fehlermeldung aus und wird
beendet, falls der Aktualisierer, z. B. der Datenbankadministrator,
es ablehnt, die Aktualisierung erneut zu starten.
-
Nach
dem erfolgreichen Abschließen
einer Aktualisierung sollten die Softwarekomponenten auf dem lokalen
Gerät auf
den neuesten Stand sein. Der Upgrade-Wizard startet das ursprüngliche
Programm, das die Aktualisierung ausgelöst hatte, erneut.
-
Verwendung von Aktualisierungen
-
Dieser
Abschnitt beschreibt den Prozess zum Definieren, Verteilen und Anwenden
einer Aktualisierung genauer.
-
Anpassen
-
Der
Aktualisierer, z. B. der Datenbankadministrator, verwendet Hilfsprogramme
und andere Programme zum Anpassen des Datenbankmanagement-Systems
an seine Umgebung. Der Aktualisierer ist in der Lage, das Datenbankschema
zu erweitern und Client-Bildschirme,
Berichtdateien und andere Dateien anzupassen.
-
Definieren von Aktualisierungen
-
Der
Aktualisierer, z. B. der Datenbankadministrator, definiert die Aktualisierung
in der Serverdatenbank. Dieser Prozess besteht im Definieren der
Softwarekomponenten und der Aktualisierungssätze, die benötigt werden,
um jede Softwarekomponente auf eine bestimmte Version zu aktualisieren.
-
Definieren von Softwarekomponenten
-
Der
Aktualisierer, z. B. der Datenbankadministrator, setzt einen Softwarekomponenten-Bildschirm oder ein
Softwarekomponenten-Hilfsprogramm ein, um neue Softwarekomponenten
zu definieren. Eine Softwarekomponente ist eine Softwarereihe, die
eigenständig
installiert und verfolgt und durch Aktualisierungen deinstalliert
werden kann. So, wie sie hier verwendet wird, weist eine Softwarekomponente
die folgenden Attribute auf:
Name. Ein Name zum Identifizieren
der Softwarekomponente
Erforderliche Versionen. Ein Versionsbereich,
das heißt,
die niedrigsten und die höchsten
Versionen, die auf allen Geräten
installiert sein müssen.
Lokalisierungsverfahren.
Eine Angabe darüber,
wie zu erkennen ist, ob die Softwarekomponente auf einem Gerät installiert
ist. Zum Beispiel das Lesen der Windows-Registrierung, um zu erkennen, wo Microsoft
Windows (RTM) auf dem lokalen Gerät installiert ist.
Versionsverfahren.
Eine Angabe darüber,
wie die aktuelle Version einer installierten Softwarekomponente
auf einem Gerät
zu ermitteln ist. Zum Beispiel das Lesen der Windows-Registrierung,
um die derzeit installierte Version von Microsoft Word auf einem
lokalen Gerät
zu beziehen.
„Kompilierte" Komponenteninformationen.
Informationen über
die zuvor freigegebene Version der Softwarekomponente. Siebel Remote
speichert zum Beispiel genau zwei Versionen von Softwarekomponenten.
Der Benutzer kann die aktuelle Version anzeigen und manipulieren.
Siebel Remote speichert die zuvor freigegebene Version in einer
LONG-Spalte in der Softwarekomponententabelle (d. h. S_UPG_COMP).
Der Aktualisierer, z. B. der Datenbankadministrator, setzt den Komponentenbildschirm
ein, um die aktuelle Version in die „kompilierte" LONG-Spalte zu kopieren.
Schema.
Das Schema ist das Datenbankschema, das auch als Meta-Datenbank
bezeichnet wird. Dies umfasst die Datenbanktabellen, -indizes, -ansichten,
Initialdaten und Repositorydaten, die zum Ausführen in der Datenbank installiert
sein müssen.
Client.
Die ausführbaren
Dateien, DLLs, Berichte und Hilfedateien, die zum Ausführen des
Clients erforderlich sind.
CDF. Die Definition der Konfiguration
eines Kunden für
den Client.
Server. Die ausführbaren Dateien, DLLs und andere
Dateien, die zum Ausführen
des Servers erforderlich sind.
Upgrade-Wizard. Die eigenständige ausführbare Datei,
die Aktualisierungssätze
auf ein Gerät
anwendet.
-
Für die meisten
Endbenutzer ist die oben beschriebene vordefinierte Softwarekomponentenreihe
vollständig.
Falls erforderlich, kann der Aktualisierer, z. B. der Datenbankadministrator,
auch einmalige Softwarekomponenten definieren, die er an die Benutzer
verteilen und auf sie anwenden möchte.
-
Definieren von Aktualisierungssätzen unter
Verwendung des Aktualisierungssatz-Bildschirms
-
Bei
einer bevorzugten Ausführungsform
unserer Erfindung setzt der Aktualisierer, z. B. der Datenbankadministrator,
einen Aktualisierungssatz-Bildschirm ein, um einen Aktualisierungssatz
zum Installieren von einer oder mehreren Softwarekomponenten zu
definieren.
-
Jeder
Aktualisierungssatz muss alle Dateien und Befehle enthalten, die
zum Installieren der Softwarekomponenten erforderlich sind. Es kann
zum Beispiel ein Aktualisierungssatz verwendet werden, um Microsoft Word
7.0.2 auf allen Clients zu installieren. Dieser Aktualisierungssatz
muss alle Dateien (z. B. ausführbare Dateien,
Beispieldateien, Vorlagen usw.) und Befehle (z. B. Registrierung
aktualisieren, Kurzbefehle erstellen usw.) zum Installieren von
Microsoft Word 7.0.2 enthalten. Der Aktualisierer, z. B. der Datenbankadministrator, stellt
beim Definieren eines Aktualisierungssatzes die folgenden Informationen
bereit:
Aktualisierungssatz-Informationen. Stellen einen Namen,
einen Titel und eine Beschreibung des Aktualisierungssatzes bereit.
Aktualisierungssatz-Elemente.
Der Aktualisierer, z. B. der Datenbankadministrator, definiert eine
Reihe von Aktionen (oder „Elementen"), die der Upgrade-Wizard
nacheinander ausführt,
um den Aktualisierungssatz anzuwenden. Der Aktualisierer bereitet
die Dateien für
den Aktualisierungssatz vor und registriert sie mit dem Aktualisierungssatz.
Erforderliche
Komponentenversionen. Der Aktualisierer, z. B. der Datenbankadministrator,
definiert darüber
hinaus die Liste der erforderlichen Softwarekomponenten, die installiert
sein müssen,
um den Aktualisierungssatz anzuwenden. Ein Aktualisierungssatz zum
Importieren von Daten in die Datenbank kann zum Beispiel erfordern,
dass SQL Anywhere vS.S installiert wird.
Zu installierende
Komponentenversionen. Der Aktualisierer, z. B. der Datenbankadministrator,
definiert darüber
hinaus die Liste von Softwarekomponenten, die der Aktualisierungssatz
anwendet. Zum Beispiel könnte ein
Aktualisierungssatz zum Ausführen
einer Datei Microsoft Word 7.0.2 installieren.
Der Aktualisierungssatz-Bildschirm
stellt einen Assistenten bereit, der das Erstellen von Aktualisierungssätzen an
Kundenstandorten unterstützt.
Mit dem Aktualisierungssatz-Wizard kann der Aktualisierer, z. B.
der Datenbankadministrator, Aktualisierungssätze für Softwarekomponenten erstellen,
die Benutzer anpassen können.
-
Nachdem
der Aktualisierer, z. B. der Datenbankadministrator, das Definieren
einer Aktualisierung abgeschlossen hat, speichert er oder sie das
Ergebnis zum Beispiel durch Ausgeben eines Befehls wie zum Beispiel
das Betätigen
der Schaltfläche „Freigeben" auf dem Siebel-Aktualisierungssatz-Bildschirm,
um den Aktualisierungssatz für
alle Installationen verfügbar
zu machen. Der Befehl, zum Beispiel die Schaltfläche, führt Folgendes aus:
Er
generiert eine Upgrade-Wizard-Treiberdatei für den Aktualisierungssatz.
Er
erstellt eine Aktualisierungssatz-Archivdatei und speichert sie
in dem Dateisystem. Die Archivdatei besteht aus der Upgrade-Wizard-Treiberdatei
und allen Datei en, die zum Anwenden des Aktualisierungssatzes auf
ein Gerät
erforderlich sind.
Er kompiliert die Aktualisierungssatz-Informationen
in eine „kompilierte" LONG-Spalte. Diese „kompilierte" Spalte speichert
alle Informationen, die von Programmen zum Suchen der Aktualisierungssätze benötigt werden.
Diese „kompilierte" Spalte wird bereitgestellt,
um den Zeitaufwand für
die Suche nach Aktualisierungssätzen
zu reduzieren.
-
Bereitstellen von Aktualisierungen
-
Nach
dem Definieren der Aktualisierung initiiert der Aktualisierer, z.
B. der Datenbankadministrator anschließend die Aktualisierung von
der Serverdatenbank aus. Clientprogramme an allen Standorten erkennen die
Aktualisierungen automatisch und wenden sie je nach Bedarf an.
-
Frühes Herunterladen von Aktualisierungssätzen
-
Nachdem
der Aktualisierungssatz definiert ist, können Aktualisierungssatz-Definitionen
und damit verknüpfte
Dateien an mobile und regionale Datenbanken verteilt werden. In
diesem Fall können
mobile Benutzer zu dem Aktualisierungssatz-Bildschirm navigieren
und anfordern, dass das Datenbankmanagement-System die Aktualisierungssatz-Archivdatei in der
nächsten
Synchronisierungssitzung herunterlädt. So können mobile Benutzer große Aktualisierungssatz-Archivdateien
herunterladen, lange bevor der Aktualisierungssatz auf das lokale
Gerät angewendet
werden muss. Der mobile Benutzer besucht zum Beispiel möglicherweise
die Zentrale und kann die Aktualisierungssatz-Archivdatei in viel kürzerer Zeit über das
LAN herunterladen als über ein
Modem.
-
Ein
frühes
Herunterladen von Aktualisierungssätzen ist nicht verbindlich
für mobile
Benutzer. Der mobile Benutzer muss die Aktualisierungssatz-Archivdatei
nicht ausdrücklich
anfordern. Die Datenbankmanagement-Software kann die Aktualisierungssatz-Archivdatei automatisch
herunterladen, wenn sie den Aktualisierungssatz anwenden muss und
die Aktualisierungssatz-Archivdatei auf dem lokalen Gerät nicht
zugänglich
ist.
-
Initiieren von Aktualisierungen
-
Nach
dem Definieren von Softwarekomponenten und Aktualisierungssätzen kann
der Aktualisierer, z. B. der Datenbankadministrator, eine Aktualisierung
der Softwarekompo nente initiieren. Der Aktualisierer muss zunächst die
erforderlichen Versionen der Softwarekomponente einstellen. Es gibt
zwei Möglichkeiten
zum Einstellen der erforderlichen Versionen: Bei der ersten Möglichkeit
erfolgt sie über
den Komponentenbildschirm. Der Aktualisierer verwendet den Komponentenbildschirm
zum manuellen Fortschreiben der erforderlichen Versionen für eine Softwarekomponente.
Er oder sie verwendet den Bildschirm, um die niedrigste oder die
höchste
Version einer oder mehrerer Softwarekomponenten zu modifizieren.
-
Alternativ
kann der Aktualisierer, z. B. der Datenbankadministrator, einen
Aktualisierungssatz-Bildschirm verwenden. Der Aktualisierer verwendet
den Aktualisierungssatz-Bildschirm
zum Fortschreiben der erforderlichen Versionen einer Softwarekomponente.
Der Aktualisierer wählt
einen Aktualisierungssatz aus und initiiert eine Funktion, um die
erforderlichen Versionen einzustellen. Im Fall von Siebel Remote
betätigt
der Aktualisierer zum Beispiel die Schaltfläche „Erforderliche Versionen einstellen". Die Schaltfläche sucht
alle Softwarekomponenten, die von der Aktualisierung betroffen sind,
und stellt ihre höchsten
Versionen ein. Die höchsten
Versionen werden auf die Versionen eingestellt, die der Aktualisierungssatz
installiert.
-
Der
Aktualisierer, z. B. der Datenbankadministrator, setzt einen Komponentenbildschirm
oder einen ähnlichen
Bildschirm ein, um die Informationen über neue Softwarekomponenten
für alle
Benutzer freizugeben. Der Aktualisierer wählt eine Softwarekomponente
aus und betätigt
die Schaltfläche „Freigeben". Die Schaltfläche liest
alle Informationen über
die ausgewählte
Softwarekomponente und verwandte Softwarekomponenten, verifiziert
die Informationen, schreibt die Informationen in die „kompilierte" LONG-Spalte und
protokolliert eine Transaktion, um die Informationen für alle Datenbanken
zu replizieren.
-
Erkennen und Anwenden von
Aktualisierungssätzen
-
Aktualisierungsprogramme,
die unsere Erfindung ausführen,
erkennen eine Aktualisierung automatisch durch Vergleichen der derzeit
installierten Version jeder Komponente mit den erforderlichen Versionen. Der
Client liest die erforderlichen Versionen beim Start aus der „kompilierten" LONG-Spalte der
Softwarekomponente aus. Server lesen ebenfalls die erforderlichen
Versionen beim Start aus der „kompilierten" LONG-Spalte der
Softwarekomponente aus.
-
Für mobile
Benutzer und regionale Datenbanken verteilt der Aktualisierer, z.
B. der Da tenbankadministrator, die aktualisierten erforderlichen
Versionen an alle entfernten Datenbanken. Der Docking-Client und der
Replikations-Agent fragen vor jeder Synchronisierungssitzung beim
Docking-Server die erforderlichen Schemaversionen ab. Wenn während einer
Synchronisierungssitzung eine Änderung
an der kompilierten Spalte der Softwarekomponente auftritt, lesen
der Docking-Client und der Replikations-Agent die erforderlichen
Versionen nach der Synchronisierungssitzung.
-
Falls
eine der Versionen nicht übereinstimmt,
ist eine Aktualisierung erforderlich, und das Programm sucht nach
einem oder mehreren anzuwendenden Aktualisierungssätzen und
wendet die Aktualisierungssätze in
zwei Schritten an:
Herunterladen der Aktualisierungssatz-Archivdatei
auf das lokale Gerät.
Aufrufen
des Upgrade-Wizards, um den Aktualisierungssatz auf das lokale Gerät anzuwenden.
-
Für mobile
und regionale Datenbankinstallationen lädt der Docking-Client die Aktualisierungssatz-Archivdatei
von dem Server, üblicherweise
dem Datenbankserver, in das lokale Eingangsverzeichnis herunter. Für verbundene
Benutzer lädt
der Client die Aktualisierungssatz-Archivdatei in dem Dateisystem
in das temporäre
Verzeichnis auf der lokalen Festplatte herunter.
-
Nachdem
auf dem lokalen Gerät
auf den Aktualisierungssatz zugegriffen werden kann, wendet der
Upgrade-Wizard die Aktualisierung an. Der Upgrade-Wizard extrahiert
Dateien aus der Aktualisierungssatz-Archivdatei und führt anschließend nacheinander
alle Aktualisierungssatz-Aktionen aus. Wenn ein Fehler auftritt, macht
der Upgrade-Wizard die Aktualisierungssatz-Aktionen rückgängig und
zeigt dem Benutzer eine Fehlermeldung an. Beim nächsten Mal erkennt das Programm
wieder Aktualisierungen und wendet sie an.
-
Nach
dem erfolgreichen Abschließen
aller Aktualisierungssatz-Aktionen löscht der Upgrade-Wizard die
Aktualisierungssatz-Dateien von dem lokalen Gerät und startet das Programm,
das die Aktualisierung ausgelöst
hatte, neu.
-
Integration
-
Das
Aktualisierungs-Installationssystem verwendet ein Paket, zum Beispiel,
Siebel Up grades, zum Initialisieren und Verwalten von entfernten
Datenbanken. Der Upgrade-Wizard
initialisiert neue entfernte Datenbanken, erstellt erneut Datenbankextrakte
und verarbeitet Datenbankschema-Aktualisierungen.
-
Extrahieren
von entfernten Datenbanken – Beim
Extrahieren einer entfernten Datenbank erstellt „Database Extract" eine Aktualisierungssatz-Archivdatei
in dem Ausgangsverzeichnis. Diese Datenbankextrakt-Archivdatei besteht
aus einer Upgrade-Wizard-Treiberdatei
und mehreren Elementen zum Initialisieren der lokalen Datenbank.
Erstellen
einer Datenbank. Kopieren der Datenbank-Vorlagendatei (für mobile
Benutzer)
Speicherauszugdaten. Importieren einer Datenbank-Speicherauszugdatei,
die sichtbare Daten für
den mobilen Benutzer enthält
SQL-Dateien.
Ausführen
einer Reihe von SQL-Dateien, die Benutzer erstellen und Daten in
der Datenbank initialisieren.
-
Datenbankinitialisierung
-
Der
Client, der Replikations-Agent, der Docking-Client und das eigenständige Dbinit-Programm (Dbinit – Datenbankinitialisierung)
rufen die Dbinit auf, um eine lokale Datenbank zu initialisieren.
Die Datenbankinitialisierung (Dbinit) gewährleistet, dass alle erforderlichen
Versionen auf dem lokalen Gerät
vorhanden sind, und erstellt eine lokale Datenbank für den mobilen
Client.
-
Die
Dbinit führt
diese Schritte aus:
Verbinden mit dem Server. Die Dbinit fragt
den Namen des lokalen mobilen Clients, das Kennwort für den mobilen
Client und die Adresse des entfernten Servers bei dem Benutzer ab
(der mobile Benutzer sollte diese Informationen von seinem oder
ihrem Aktualisierer, z. B. dem MIS-Personal, dem Hersteller oder
dem Datenbankadministrator erhalten). Die Datenbankinitialisierung
stellt eine Verbindung mit dem entfernten Server her und überprüft den Namen
des mobilen Clients, den Benutzer und das Kennwort.
Ausführen der
Versionsprüfung
und Herunterladen von Aktualisierungssätzen. Die Dbinit führt anschließend eine
Versionsprüfung
aus, um sicherzustellen, dass alle erforderlichen Softwarekomponenten
auf dem lokalen Gerät
vorhanden sind. Die Dbinit lädt
zunächst
die erforderlichen Versionen (d. h. die kompilierten Informationen)
von dem Docking-Server herunter. Die Dbinit vergleicht die erforderlichen
Versionen mit den Versionen auf dem lokalen Gerät. Wenn eine oder mehrere Versionen
nicht übereinstimmen,
lädt die
Dbinit anschließend Informationen über verfügbare Aktualisierungssätze herunter.
Die Dbinit sucht im Anschluss nach anzuwendenden Aktualisierungssätzen und
lädt die
Aktualisierungssätze
in das lokale Eingangsverzeichnis herunter.
Herunterladen der
Extrakt-Speicherauszugsdatei. Die Dbinit lädt die Datenbankextrakt-Speicherauszugsdatei in
das lokale Eingangsverzeichnis herunter.
Erstellen der Treiberdatei.
Die Dbinit erstellt eine Upgrade-Wizard-Treiberdatei, um die Aktualisierungssätze auf
das lokale Gerät
anzuwenden und die lokale Datenbank unter Verwendung der Datenbankextrakt-Speicherauszugsdatei
zu erstellen.
Ausführen
des Upgrade-Wizards. Die Dbinit ruft den Upgrade-Wizard auf, um
die Aktualisierungssätze
anzuwenden und die lokale Datenbank zu initialisieren.
-
Wenn
die Initialisierung erfolgreich verläuft, startet der Upgrade-Wizard
das aufrufende Programm anschließend neu.
-
Automatische Initialisierung
von dem Client aus
-
Wenn
ein mobiler Benutzer den Client für die lokale Datenbank ausführt, prüft der Client,
ob die lokale Datenbankdatei vorhanden ist. Wenn die lokale Datenbank
nicht vorhanden ist, fragt der Client beim Benutzer ab, ob er eine
lokale Datenbank initialisieren möchte. Falls er dies möchte, ruft
der Client die Dbinit auf, um die lokale Datenbank zu erstellen
und darüber
hinaus sicher zu stellen, dass alle Softwarekomponenten auf dem neuesten
Stand sind.
-
Versionsprüfung
-
Zu
Beginn jeder Synchronisierungssitzung prüft der Docking-Client, ob ein
Datenbankauszug oder eine Datenbankschema-Aktualisierung anstehen.
Der Grund dafür
ist, dass der Docking-Client zu Beginn der Docking-Sitzung eine
Schemaversionsprüfung
ausführen
muss, da der Docking-Client wissen muss, ob er Transaktionen auf
die Serverdaten bank hochladen kann oder die Transaktionen verwerfen
muss. Der Docking-Client muss darüber hinaus wissen, ob er eine
Dbinit ausführen
muss, um die lokale Datenbank erneut zu initialisieren.
-
Nachdem
der Docking-Client eine Verbindung mit dem Docking-Server hergestellt
hat, fragt der Docking-Client den Docking-Server nach den Serverdatenbankschema-Versionen. Es gibt
drei mögliche
Ergebnisse:
Hauptschemaänderung.
Wenn die Versionen des Haupt- und des Unterschemas der lokalen Datenbank
und der Serverdatenbank nicht übereinstimmen,
ist eine erneute Datenbankinitialisierung „erforderlich". Eine Änderung
in den Versionen des Haupt- oder des Unterschemas bedeutet, dass
in der Serverdatenbank eine Hauptschemaänderung stattgefunden hat.
Der Docking-Client verwirft alle zum Hochladen anstehenden Transaktionen.
Der Docking-Client benachrichtigt den mobilen Benutzer und ruft
den Upgrade-Wizard
auf, um die lokale Datenbank zu initialisieren und Softwarekomponenten
zu aktualisieren (falls zu aktualisierende Komponenten vorhanden
sind). Wenn kein Datenbankextrakt verfügbar ist, zeigt der Docking-Client
eine Fehlermeldung an, die den mobilen Benutzer auffordert, sich
mit dem Aktualisierer, z. B. dem Datenbankadministrator, in Verbindung
zu setzen, um den Docking-Client erneut zu extrahieren.
Anstehende
Dbinit: Falls keine Hauptschemaänderung
vorliegt und der Aktualisierer, z. B. der Datenbankadministrator,
den Docking-Client erneut extrahiert hat, muss der Docking-Client
anschließend
die lokale Datenbank erneut initialisieren. Der Docking-Client speichert
alle zum Hochladen anstehenden Transaktionen in einer Datei im Eingangsverzeichnis
mit der Bezeichnung dbinit.dx. Der Docking-Client ruft den Upgrade-Wizard auf, um die
neue lokale Datenbank zu erstellen und jegliche neue Softwarekomponenten
zu aktualisieren. Nach dem Initialisieren der lokalen Datenbank
ruft der Upgrade-Wizard ein Dienstprogramm für die Datenzusammenführung (dmutl.exe)
auf, um die gespeicherten anstehenden Transaktionen in dbinit.dx
auf die lokale Datenbank anzuwenden. Dmutl.exe wendet die Transaktionen
auf die lokale Datenbank an und protokolliert neue auf die Serverdatenbank
hochzuladende Transaktionen, als ob der mobile Benutzer alle Transaktionen erneut
eingegeben hätte.
Unterschemaänderung.
Falls keine Hauptschemaänderung
und keine anstehende dbinit vorliegt, sychronisiert anschließend der
Docking-Client den Docking-Client. Letztendlich wendet der Docking-Client
eine Transaktion zum Aktualisieren der erforderlichen Version der
Schema-Softwarekomponente an. Diese Aktualisierung veranlasst den
Docking-Client,
eine Versionsprüfung
auszuführen,
und veranlasst schließlich
den Upgrade-Wizard,
einen Aktualisierungssatz zum Aktualisieren der lokalen Datenbank
anzuwenden.
-
Initialisieren einer regionalen
Datenbank
-
Der
Aktualisierer, z. B. der Datenbankadministrator, an der regionalen
Datenbank führt
ein eigenständiges
Datenbank-Initialisierungsprogramm aus, um eine regionale Datenbank
zu initialisieren. Das Programm stellt eine Verbindung mit dem entfernten
Server her und lädt
die Datenbankextrakt-Archivdatei von dem Ausgangsverzeichnis herunter.
Das Programm ruft anschließend
den Upgrade-Wizard auf, um die regionale Datenbank zu initialisieren.
-
Ersetzen einer regionalen
Datenbank
-
Wenn
der Aktualisierer, z. B. der Datenbankadministrator, an dem HQ-Server
einen Datenbankextrakt für
eine vorhandene regionale Datenbank erstellt, muss der Aktualisierer
an der regionalen Datenbank die regionale Datenbank erneut initialisieren.
Zu Beginn jeder Synchronisierungssitzung prüft ein Replikations-Agent,
ob eine Datenbankextrakt-Archivdatei
für die
regionale Datenbank ansteht. Falls ja, benachrichtigt der Replikations-Agent den Aktualisierer
und wird beendet. Der Aktualisierer muss das eigenständige Datenbank-Initialisierungsprogramm
manuell aufrufen, um eine regionale Datenbank zu initialisieren.
-
Der
Schema-Aktualisierungssatz besteht aus einem oder mehreren der folgenden
Elemente:
Einer DDL-Datei zum Vornehmen von Schemaänderungen
DAT-Dateien
zum Installieren von Initialdaten
Repimexp-Dateien zum Installieren
des Repository
SQL-Skripten zum Ausführen von besonderen Aktualisierungsschritten,
zum Umwandeln von Daten und dergleichen
einem SQL-Skript zum
Aktualisieren von in einer S_APP_VER-Tabelle gespeicherten Versionsnummern
Dateien
zum Aktualisieren von Softwarekomponenten. Dies umfasst das Hinzufügen, Löschen und
Aktualisieren von Softwarekomponenten-Informationen. Die Datei muss
mindestens die erforderlichen Versionen der Komponenten fortschreiben
(Es muss z. B. die neue Version von Hilfsprogrammen für das neue
Schema verwendet wenden).
Dateien zum Installieren von Aktualisierungssätzen zum
Definieren. Zum Beispiel Aktualisierungssätze zum Installieren einer
neuen Version von Hilfsprogrammen, des Servers und dergleichen.
-
Installieren des Schemas an
Kundenstandorten
-
Der
Aktualisierer, z. B. der Datenbankadministrator, erhält die CD
oder andere Medien und wendet den Aktualisierungssatz auf die Test-/Konfigurationsdatenbank
an. Vor dem Anwenden des Aktualisierungssatzes beendet der Aktualisierer
zunächst
alle Programme, sowohl verbundene Benutzer als auch Serverinstanzen. Anschließend führt er oder
sie den Upgrade-Wizard aus, um den Aktualisierungssatz auf die Testdatenbank anzuwenden.
-
Der
Aktualisierungssatz führt
die folgenden Schritte aus:
Er nimmt Schemaänderungen vor.
Er importiert
Initialdaten.
Er führt
repimexp.exe zum Importieren des neuen Repository aus.
Er führt SQL-Skripte
zum Durchführen
von besonderen Aktualisierungsschritten, zum Umwandeln von Daten und
dergleichen aus.
Er aktualisiert die Versionsnummern.
Er
führt Dateien
zum Aktualisieren der Softwarekomponententabellen aus.
Er führt Dateien
zum Installieren von definierten Aktualisierungssätzen aus.
-
Zugreifen auf die Datenbank
nach einer Aktualisierung
-
An
dieser Stelle verfügt
die Test-/Konfigurationsdatenbank über das neue Schema, und die
erforderlichen Versionen der Softwarekomponenten sind auf die neuen
Versionen eingestellt. Jedes Programm, das eine Verbindung mit der
Serverdatenbank herstellt, muss einen oder mehrere Aktualisierungssätze anwenden, um
die neuen erforderlichen Versionen zu erhalten. Wenn sich zum Beispiel
der Aktualisierer, z. B. der Datenbankadministrator, bei der Serverdatenbank
anmeldet, sollte die für
die Anmeldung verwendete Software eine Nichtübereinstimmung der Versionen
erkennen und versuchen, zu aktualisieren oder die Aktualisierung
aufzurufen. Der Aktualisierer verfügt über zwei Möglichkeiten, auf die neue Hilfsprogrammversion
zu aktualisieren; wenn ein Aktualisierungssatz vorhanden ist, den
Aktualisierungssatz herunterzuladen und ihn auf das lokale Gerät anzuwenden.
-
Installieren
der neuen Version von der CD-ROM. Anschließend das Verwenden der Version
für die
Serverdatenbank. Der Aktualisierer, z. B. der Datenbankadministrator,
muss diese Option anwenden, wenn zum ersten Mal Software auf dem
lokalen Gerät
installiert wird.
-
Wenn
der Aktualisierer, z. B. der Datenbankadministrator, die Aktualisierungen
von Programmen ausführen
lassen möchte,
kann er oder sie Aktualisierungssätze zum Aktualisieren der verschiedenen
Softwarekomponenten registrieren. Anderenfalls kann er oder sie
jedes Gerät
durch Installieren von der CD-ROM manuell aktualisieren.
-
Anpassen und Testen
-
Der
Aktualisierer, z. B. der Datenbankadministrator, kann lokale Installationen
auf diese drei Arten anpassen:
Mit Datenbankerweiterungen wie
zum Beispiel neuen Erweiterungstabellen, Erweiterungsspalten oder
Indizes.
Mit Konfigurationsänderungen
wie zum Beispiel neuen CDF-Dateien, CFG-Dateien oder Berichtdateien.
Mit
Fremdsoftwareänderungen
wie zum Beispiel neuen Versionen von Microsoft Word, Adobe Acrobat
und dergleichen.
-
Kunden
führen
ein eindeutig definiertes Verfahren zum Erstellen und Verteilen
dieser Art von Anpassungen aus. Alle diese Anpassungen verursachen
keine Hauptschemaänderung;
folglich erfordern sie keine erneute Erstellung eines Datenbankextrakts.
-
Schritt
1: Durchführen
der Konfigurationsänderungen
in der Serverdatenbank. Der Aktualisierer, z. B. der Datenbankadministrator,
verwendet Programme zum Anpassen von Endbenutzerinstallationen für deren Standort
und zum Zusammenführen
des Repository des Kunden mit einem neuen Repository.
-
Um
Konfigurationsänderungen
während
der Aktualisierung der Version oder des Schemas durchzuführen, müssen neue
.CDF-Dateien generiert werden. Dies erfolgt unter Verwendung eines
Editors zum Anpassen von CFG-Dateien und eines DBMS-Programms wie zum
Beispiel Microsoft Access zum Anpassen von Berichten. Microsoft
Help Editor oder dergleichen kann zum Anpassen der Hilfedateien
verwendet werden.
-
Programme
in dem Aktualisierungssatz vergleichen Versionen und erkennen automatisch
die Notwendigkeit, beim nächsten
Start eine Aktualisierung anzuwenden. Das System, das unsere Erfindung
ausführt,
aktualisiert verbundene Benutzer. Auf ähnliche Weise aktualisiert
der Server Anwendungsserver oder, falls vorhanden, aktualisiert
ein Docking-Client lokale Datenbanken. Ein Replikations-Agent aktualisiert
regionale Datenbanken.
-
Das
System lädt
die erforderlichen Aktualisierungssätze herunter und wendet die
Aktualisierung auf das lokale Gerät an. Wenn eine Datenbankänderung
die Haupt- oder Unterschemaversionen geändert hat, initialisiert das
Aktualisierungssystem die mobile oder regionale Datenbank automatisch.
-
Ein
weiterer Aspekt unseres Systems ist die automatische Einstellung
der erforderlichen Versionen von Softwarekomponenten. Alternativ
kann der Aktualisierer, z. B. der Datenbankadministrator, die erforderlichen
Versionen fortschreiben und Aktualisierungen einer oder mehrerer
Softwarekomponenten initiieren. In einer vernetzten Umgebung sollte
der Akualisierer sehr sorgfältig
vorgehen, wenn er Änderungen
an der Auflistung von erforderlichen Versionen vornimmt, da Fortschreibungen
an dieser Datei Programme an allen Standorten veranlassen können, Aktualisierungen
aufzurufen.
-
In
den meisten Fällen
ist der Anwendungsserver selbstaktualisierend. Das heißt, der
Aktualisierer, z. B. der Datenbankadministrator, braucht nicht einzugreifen,
um eine Aktualisierung zu erkennen und anzuwenden. Es gibt jedoch
Ausnahmen. Falls der Aktualisierungssatz einen Benutzereingriff
erfordert, sollte die Aktualisierungssoftware warten, bis der Aktualisierer
eine Eingabe vornimmt.
-
In ähnlicher
Weise gilt, wenn ein Datenbankauszug zum Beispiel für eine regionale
Datenbank ansteht, muss der Server jeden Zugriff auf die regionale
Datenbank beenden, sicherstellen, dass die Einrichtung zum Zusammenführen von
Transaktionen alle anstehendenden .dx-Dateien von mobilen Clients
erfolgreich zusammengeführt
hat, und einen Datenbank-Initialisierungsprozess initiieren, um
die regionale Datenbank erneut zu initialisieren.
-
Die
Software-Aktualisierungsprogramme der bevorzugten Ausführungsform
der Erfindung erkennen Aktualisierungen automatisch und wenden sie
nach Bedarf an, um auf allen Geräten
die korrekten Versionen der Softwarekomponenten aufrechtzuerhalten.
Benutzer brauchen nicht manuell nach Aktualisierungen zu suchen
und sie anzuwenden. Dies gilt insbesondere für Benutzer, die über ein
LAN oder WAN verbunden sind und für die Aktualisierungen unproblematisch
verlaufen. Der Client erkennt Aktualisierungen automatisch und wendet
sie nach Bedarf an. Wenn eine Aktualisierung erkannt wird, benachrichtigt
der Client den Benutzer der Softwarekomponenten über die Aktualisierung, regt
den Benutzer an, die Aktualisierung anzuwenden und fordert den Benutzer
auf, die Aktualisierung zu starten. Das System lädt automatisch die entsprechenden
Aktualisierungssätze
auf die lokale Festplatte herunter, falls der Aktualisierungssatz
noch nicht auf der lokalen Festplatte vorhanden ist.
-
Nachdem
der Aktualisierungssatz auf dem lokalen Gerät verfügbar ist, ruft der Client den
Upgrade-Wizard auf, um die Aktualisierung anzuwenden. Der Upgrade-Wizard
zeigt die Elemente des Aktualisierungssatzes an und fordert den
Benutzer auf, die Aktualisierung zu starten. Der Upgrade-Wizard
startet die Verarbeitung der Elemente des Aktualisierungssatzes
und informiert den Benutzer regelmäßig über den Fortschritt. Wenn der
Upgrade-Wizard beendet ist, startet er das ursprüngliche Programm neu.
-
Auch
für mobile
Benutzer verlaufen Aktualisierungen unproblematisch. Mobile Benutzer brauchen
die Datenbankinitialisierung nicht ausdrücklich aufzurufen. Der Versuch,
den Client für
die lokale Datenbank zu starten, ohne dass eine lokale Datenbank
verfügbar
ist, ruft automatisch eine Datenbankinitialisierung auf, um die
lokale Datenbank zu erstellen. Dbinit stellt darüber hinaus sicher, dass alle
Softwarekomponenten auf dem lokalen Gerät auf dem neuesten Stand sind.
-
Mobile
Benutzer können
Aktualisierungssätze
früher
als notwendig herunterladen, indem sie zu dem Aktualisierungssatz-Bildschirm
navigieren und den Download der Aktualisierungssatz-Archivdatei
in der nächsten
Synchronisierungssitzung anfordern.
-
Die
Aktualisierungssoftware führt
zu Beginn jeder Synchronisierungssitzung eine Versionsprüfung aus.
Wenn eine Aktualisierung erkannt wird, benachrichtigt der Client
den Benutzer der Softwarekomponenten über die Aktualisierung, regt
den Benutzer an, die Aktualisierung anzuwenden und fordert den Benutzer
auf, die Aktualisierung zu starten, und lädt automatisch die entsprechenden
Aktualisierungssätze
auf die lokale Festplatte herunter, falls der Aktualisierungssatz
noch nicht auf der lokalen Festplatte vorhanden ist.
-
Nachdem
der Aktualisierungssatz auf dem lokalen Gerät verfügbar ist, ruft der Client den
Upgrade-Wizard auf, um die Aktualisierung anzuwenden. Der Upgrade-Wizard
zeigt die Elemente des Aktualisierungssatzes an und fordert den
Benutzer auf, die Aktualisierung zu starten. Der Upgrade-Wizard
startet die Verarbeitung der Elemente des Aktualisierungssatzes
und informiert den Benutzer regelmäßig über den Fortschritt. Wenn der
Upgrade-Wizard beendet ist, startet er das ursprüngliche Programm neu.
-
Wenn
eine erneute Initialisierung erforderlich ist, ruft der Docking-Client
die Dbinit auf, um die lokale Datenbank erneut zu initialisieren.
-
Bei
einer Ausführungsform
unserer Erfindung ermöglicht
ein Komponentenbildschirm dem Aktualisierer, z. B. dem Datenbankadministrator,
Softwarekomponenten zu definieren und die erforderlichen Versionen für Softwarekomponenten
zu bestimmen. Dieser Bildschirm ermöglicht darüber hinaus dem Aktualisierer,
Abhängigkeiten
zwischen Softwarekomponenten zu bestimmen. Die Client-Softwarekomponente
erfordert zum Beispiel, dass die Schemakomponente bereits installiert
ist, bevor der Clients starten kann.
-
Der
Komponentenbildschirm verfügt über zwei
Applets: ein Softwarekomponenten- Applet,
das den Namen und die erforderlichen Versionen für eine Softwarekomponente definiert,
und eine Applet für
erforderliche Softwarekomponenten, das die Liste anderer Softwarekomponenten
definiert, die erforderlich sind, um die aktuelle Softwarekomponente
zu verwenden. Dieses Applet ist ein Nachfolger des Softwarekomponenten-Applets.
-
Das
Softwarekomponenten-Applet ermöglicht
dem Aktualisierer, z. B. dem Datenbankadministrator, die Attribute
einer Softwarekomponente einzugeben. Es kann über eines oder mehrere der
folgenden Felder verfügen:
Name
(erforderlich). Der Name der Softwarekomponente.
Kommentare
(optional). Die Beschreibung der Softwarekomponente.
Niedrigste
Version (optional). Die niedrigste Version, die auf einem Gerät installiert
sein muss, um diese Softwarekomponente verwenden zu können. Wenn
dieser Wert NULL ist, verfügt
die Softwarekomponente nicht über
eine Mindestversion.
Höchste
Version (optional). Die höchste
Version, die auf einem Gerät
installiert sein muss, um diese Softwarekomponente verwenden zu
können.
Wenn dieser Wert NULL ist, verfügt
die Softwarekomponente nicht über eine
höchste
Version. Das Applet verifiziert, dass die niedrigste Version niedriger
als die höchste
Version ist oder ihr gleichkommt.
Lokalisierungsverfahren (optional).
Das anzuwendende Verfahren, um den Installationsort der Softwarekomponente
zu erhalten. Es handelt sich hierbei um eine Auswahlliste.
Lokalisierungsinformationen
(optional). Zusätzliche
Informationen für
das Lokalisierungsverfahren.
Versionsverfahren (optional).
Verfahren zum Erhalten der derzeit installierten Version der Softwarekomponente.
Es handelt sich hierbei um eine Auswahlliste.
Versionsinformationen
(optional). Zusätzliche
Informationen für
das Versionsverfahren.
-
Das
Softwarekomponenten-Applet ermöglicht
dem Aktualisierer, z. B. dem Datenbankadministrator, die erforderlichen
Softwarekomponenten für
eine Softwarekomponente zu definieren. Dieses Applet verfügt über die
folgenden Felder:
Erforderliche Softwarekomponente (erforderlich).
Der Name der erforderlichen Softwarekomponente.
Kommentare
(optional).
Startflag (erforderlich). Gibt an, ob die erforderliche
Softwarekomponente für
das Starten der Softwarekomponente erforderlich ist. Einige erforderliche
Softwarekomponenten werden von einer Softwarekomponente verwendet,
sind jedoch nicht für
den Start erforderlich. Der Client erfordert zum Beispiel Microsoft
Word, wenn der Benutzer „Correspondence" einsetzt, Microsoft
Word ist jedoch nicht erforderlich, wenn der Client gestartet wird.
-
Bildschirm „Aktualisierungssatz-Elementargumente".
-
Dieser
Bildschirm kann verwendet werden, um die Liste der gültigen Argumente
für jeden
Aktualisierungssatz-Elementtyp zu definieren. Dieser Bildschirm
verfügt über ein
Applet:
-
Applet für Aktualisierungssatz-Elementtypargumente.
-
Dieses
Applet ermöglicht
dem Aktualisierer, z. B. dem Datenbankadministrator, die gültigen Argumente
für einen
Aktualisierungssatz-Elementtyp einzugeben. Dieses Applet verfügt über die
folgenden Felder:
Elementtyp (erforderlich). Der Typ des anzuwendenden
Aktualisierungssatz-Elements.
Die gültigen
Typen von Aktualisierungssatz-Elementen und ihre jeweiligen Argumente
bilden eine Auswahlliste.
Sequenz (erforderlich). Ein ganze
Zahl, die die Sequenz kennzeichnet, an die der Upgrade-Wizard das
Argument weitergibt, um das Aktualisierungssatz-Element anzuwenden.
Flag „Erforderlich" (erforderlich).
Gibt an, ob das Argument erforderlich ist.
Kommentare (optional).
Die Beschreibung des Aktualisierungssatz-Elementtyparguments.
Standardwert
(optional). Standardwert des Arguments.
-
Aktualisierungssatz-Applet
-
Dieses
Applet ermöglicht
dem Aktualisierer, z. B. dem Datenbankadministrator, die Attribute
eines Aktualisierungssatzes einzugeben. Dieses Applet verfügt über die
folgenden Felder:
Name (erforderlich). Der Name des Aktualisierungssatzes.
Titel
(erforderlich). Der benutzerfreundliche Name des Aktualisierungssatzes.
Der Upgrade-Wizard zeigt diese Zeichenfolge auf der Titelleiste
des Dialogfeldes des Upgrade-Wizard an. Dieser Wert ist standardmäßig der Name
des Aktualisierungssatzes.
Kommentare (optional). Die Beschreibung
des Aktualisierungssatzes. Der Upgrade-Wizard zeigt diese Beschreibung
an, wenn der Upgrade-Wizard gestartet wird.
Status (erforderlich).
Der aktuelle Status des Aktualisierungssatzes. Der Status wird beim
Definieren des Aktualisierungssatzes auf „Anstehend" eingestellt. Nachdem der Aktualisierer,
z. B. der Datenbankadministrator, die Schaltfläche „Freigeben" betätigt
hat, ändert
sich der Status in „Aktiv". Der Status ändert sich
in "Inaktiv", wenn der Aktualisierer
den Status ändert,
z. B. die Aktion „Datensatz
löschen" in dem Aktualisierungssatz
auswählt.
Aktualisierungssatz-Archivdatei
(optional). Die Attribute für
die angefügte
Aktualisierungssatz-Archivdatei. Dies sind die Attribute, die von
der Dateianlage-Unternehmenskomponente
und den -rahmen verwendet werden. Mobile Benutzer können zu
diesem Applet navigieren und anfordern, dass „Remote" das Aktualisierungssatz-Archiv in der
nächsten
Synchronisierungssitzung herunterlädt.
-
Nachdem
der Aktualisierer, z. B. der Datenbankadministrator, den Aktualisierungssatz „freigibt", kann jeder mobile
oder verbundene Benutzer den Aktualisierungssatz herunterladen und
auf das lokale Gerät
anwenden. Der Benutzer navigiert zu diesem Applet und führt einen
Doppelklick auf einen Aktualisierungssatz aus. Wenn die Aktualisierungssatz-Archivdatei auf dem
lokalen Gerät
(d. h. für
den mobilen Benutzer) nicht zugänglich
ist, fragt das Applet den Benutzer, ob er eine Anforderung zum Herunterladen
der Aktualisierungssatz-Archivdatei in der nächsten Synchronisierungssitzung
absenden möchte.
Wenn der Aktualisierungssatz auf dem lokalen Gerät bereits zugänglich ist,
ruft das Applet den Upgrade-Wizard auf, um den Aktualisierungssatz
auf das lokale Gerät
anzuwenden. Der Upgrade-Wizard wartet, bis der Client beendet worden
ist, bevor er die Aktualisierung startet.
-
Aktualisierungssatz-Elementapplet.
Dieses Applet ermöglicht
dem Aktualisierer, z. B. dem Datenbankadministrator, die Elemente
für den
Aktualisierungssatz einzugeben. Dieses Applet verfügt über die
folgenden Felder:
Sequenz (erforderlich). Eine ganze Zahl,
die die Sequenz angibt, in der die Aktualisierungssatz-Elemente
ausgeführt
werden sollen.
Titel (erforderlich). Der benutzerfreundliche
Titel des Aktualisierungssatz-Elements. Der Upgrade-Wizard zeigt diese
Zeichenfolge in der Liste der bei der Aktualisierung auszuführenden
Element an.
Kommentare (optional). Die Beschreibung des Aktualisierungssatz-Elements.
Der Upgrade-Wizard zeigt diese Beschreibung an, wenn der Benutzer
das Aktualisierungssatz-Element markiert.
Schätzung des
Speicherplatzes (optional). Der Speicherplatz, der für das Anwenden
eines Aktualisierungssatz-Elements auf ein Gerät erforderlich ist. Der Aktualisierer,
z. B. der Datenbankadministrator, stellt diese Schätzung bereit.
Wenn die Schätzung
NULL ist, führt
der Upgrade-Wizard eine Schätzung
des Speicherplatzes auf Basis einiger vordefinierter Regeln durch.
Elementtyp
(erforderlich). Der Typ des anzuwendenden Aktualisierungssatz-Elements.
-
Das
Applet für
Aktualisierungssatz-Elementargumente ermöglicht dem Aktualisierer, z.
B. dem Datenbankadministrator, Argumente für ein Aktualisierungssatz-Element
einzugeben. Die Liste der gültigen
Argumente für
jeden Aktualisierungssatz-Elementtyp wird in einer S_UPG_ITARG-Tabelle
gespeichert. Dieses Applet erstellt Aufzeichnungen der Schnittmengen
zwischen Aktualisierungssatz-Elementen und Aktualisierungssatz-Typargumenten. Dieses
Applet verfügt über die
folgenden Felder:
Name (erforderlich). Der Name des Arguments.
Kommentare
(optional). Die Beschreibung des Aktualisierungssatz-Elements. Der
Upgrade-Wizard zeigt diese Beschreibung an, wenn der Benutzer das
Aktualisierungssatz-Element markiert.
Argumentwert (erforderlich).
Dateiattribut
(optional). Die Attribute für
an das Aktualisierungssatz-Argument angehängte Dateien. Der Aktualisierer,
z. B. der Datenbankadministrator, hängt Dateien an das Aktualisierungssatz-Element
an.
-
Das
Aktualisierungssatz-Komponentenapplet ermöglicht dem Aktualisierer, z.
B. dem Datenbankadministrator, zu definieren, welche Softwarekomponenten
für diese
Aktualisierung erforderlich sind. Die Version 3.1.2 kann z. B. nicht
auf einem Gerät
installiert werden, wenn nicht die Version 3.1.0 oder eine höhere Version bereits
auf diesem bestimmten lokalen Gerät installiert ist. Dieses Applet
ermöglicht
darüber
hinaus dem Aktualisierer, die Softwarekomponenten anzugeben, auf
die sich der Aktualisierungssatz auswirkt.
-
Dieses
Applet verfügt über die
folgenden Felder:
Softwarekomponente (erforderlich). Die Softwarekomponente,
auf die sich dieser Aktualisierungssatz auswirkt.
Niedrigste
installierte Version (optional). Dieses Feld speichert die niedrigste
Version der Softwarekomponente, die erforderlich ist, um diesen
Aktualisierungssatz zu installieren. Dieses Feld kann auf NULL belassen
werden, wenn der Aktualisierungssatz diese Softwarekomponente nicht
benötigt.
Höchste installierte
Version (optional). Dieses Feld speichert die höchste Version der Softwarekomponente,
die erforderlich ist, um diesen Aktualisierungssatz zu installieren.
Dieses Feld kann auf NULL belassen werden, wenn der Aktualisierungs satz
diese Softwarekomponente nicht benötigt.
Neue installierte
Version (optional). Dieses Feld speichert die neue Version der Softwarekomponente,
wenn dieser Aktualisierungssatz auf ein Gerät angewendet wird. Dieses Feld
kann auf NULL belassen werden, wenn der Aktualisierungssatz keine
neue Version der Softwarekomponente installiert.
-
Der
Dialog dieses Applets verifiziert, dass die niedrigste Version niedriger
als die höchste
Version ist oder ihr gleichkommt. Er verifiziert darüber hinaus,
dass die neue Version höher
als die höchste
Version ist oder ihr gleichkommt.
-
Der
Aktualisierungssatz-Wizard umfasst eine Reihe vordefinierter Dialoge,
um den Aktualisierer, z. B. den Datenbankadministrator, beim Erstellen
von Aktualisierungssätzen
zu unterstützen,
die Kunden am häufigsten
benötigen.
Er kann eines oder mehrere der folgenden Elemente enthalten:
-
Bildschirm 1: Auswählen des Aktualisierungssatz-Typs
-
- Datenbankerweiterung. Erstellen eines Aktualisierungssatzes
zum Anwenden der Datenbankerweiterungen. Der Aktualisierungssatz
besteht aus zwei Aktualisierungssatz-Elementen: einer DLL-Datei
zum Anwenden der Datenbankschema-Änderungen
und einer DAT-Datei zum Verteilen der Repository-Datendatei an entfernte Datenbanken.
Die Repository-Datendatei enthält
eine Teilmenge der Repository-Tabellen, die zum Initialisieren der
Lexikon-Common-Api erforderlich ist.
- CDF-Dateien. Erstellen eines Aktualisierungssatzes zum Verteilen
der neuen CDF-Dateien
an alle Benutzer.
- Berichtdateien. Erstellen eines Aktualisierungssatzes zum Verteilen
der neuen Berichtdateien an alle Benutzer.
- Hilfedateien. Erstellen eines Aktualisierungssatzes zum Verteilen
der neuen Hilfedateien an alle Benutzer.
- Beispieldatenbank. Erstellen eines Aktualisierungssatzes zum
Verteilen der neuen Beispieldatenbank an alle Benutzer.
- Fremdsoftware. Erstellen eines Aktualisierungssatzes zum Verteilen
der Fremdsoftware an alle Benutzer.
-
Bildschirm 2: Vollständige oder Patchinstallation
-
- Vollständige
Installation.
- Patchinstallation.
-
Bildschirm 3: Versionsinformationen
-
- Eingeben der niedrigsten erforderlichen Version: Für vollständige Installationen
Einstellen des Standardwerts auf NULL.
- Eingeben der höchsten
erforderlichen Version: Für
vollständige
Installationen Einstellen des Standardwerts auf NULL.
- Eingeben der neuen Version: Einstellen auf die derzeit höchste Version
der Softwarekomponente + 1.
- Der Dialog verifiziert, dass die niedrigste Version niedriger
als die höchste
Version ist oder ihr gleichkommt. Er verifiziert darüber hinaus,
dass die neue Version höher
als die höchste
Version ist oder ihr gleichkommt.
-
Bildschirm 4: Dateien
-
- Eingeben der Quelldateien: Für vollständige Installationen Auswählen eines
Verzeichnisses, das die Dateien für den Aktualisierungssatz enthält. Der
Aktualisierungssatz-Wizard fügt
alle Dateien in dem Verzeichnis und in Unterverzeichnissen zu dem
Aktualisierungssatz hinzu.
- Für
Patchinstallationen Auswählen
einer oder mehrerer Dateien, um sie zu dem Aktualisierungssatz hinzuzufügen.
- Eingeben des Zielverzeichnisses für die Dateien.
-
Bildschirm 5: Bestätigen
-
- Überprüfen der
Informationen für
den neuen Aktualisierungssatz und Klicken auf „OK", um den neuen Aktualisierungssatz zu
erstellen. Anderenfalls Klicken auf „Abbrechen", um den Vorgang abzubrechen.
-
Eine
wesentliche Komponente des Systems, das unsere Erfindung ausführt, ist
der Upgrade-Wizard. Die Hauptfunktion des Upgrade-Wizards ist das
Anwenden von Aktualisierungssätzen.
Bei einer bevorzugten Ausführungsform
unserer Erfindung verfügt
der Upgrade-Wizard über
eine sehr einfache Benutzeroberfläche. Wenn der Upgrade-Wizard
gestartet wird, zeigt er anfangs dem Benutzer den Titel und die
Beschreibung des Aktualisierungssatzes an. Nachdem der Benutzer
auf „OK" oder auf eine ähnliche
Schaltfläche
geklickt hat, zeigt der Upgrade-Wizard dem Benutzer anschließend eine
Liste von Aktualisierungssatz-Elementen an. Der Upgrade-Wizard zeigt
den Titel des Aktualisierungssatz-Elements an. Wenn der Benutzer
ein bestimmtes Aktualisierungssatz-Element markiert, zeigt der Upgrade-Wizard
darüber
hinaus die Beschreibung des ausgewählten Elements in dem unteren
Rahmen an.
-
Nachdem
der Benutzer die Aktualisierungssatz-Elemente überprüft hat und auf „START" oder auf eine ähnliche
Schaltfläche
geklickt hat, führt
der Upgrade-Wizard der Reihe nach alle Aktualisierungssatz-Elemente aus.
Unter Umständen
zeigt eine Leistenanzeige den Fortschritt der Aktualisierung an.
Der Upgrade-Wizard markiert darüber
hinaus möglicherweise
das Aktualisierungssatz-Element, nachdem das Element abgeschlossen
ist.
-
Algorithmen und Prozeduren
-
Versionssprüfungsfunktion.
Um die Version einer Softwarekomponente zu prüfen, bezieht der Upgrade-Wizard
die erforderlichen Versionen von der Datenbank und die tatsächlichen
Versionen von der Softwarekomponente selbst. Um zu bestimmen, welche
Komponenten geprüft
werden müssen,
beginnt der Upgrade-Wizard bei der Grundkomponente und arbeitet
sich durch das Netzwerk der erforderlichen Komponenten, um eine
Liste der erforderlichen Komponenten zu erhalten.
-
Die
Programme des Upgrade-Wizards rufen eine Funktion zum Ausführen der
Versionsprüfung
auf. Der Aufrufer gibt die „kompilierten" Komponenteninformationen
weiter. Die Funktion gibt eine Liste von Softwarekomponenten, die
nicht auf dem neuesten Stand sind, und die erforderlichen Versionen
für jede
nicht auf dem neuesten Stand befindliche Softwarekomponente zurück.
-
Die
Funktion muss die Version für
jede in den „kompilierten" Komponenteninformationen
enthaltene Softwarekomponente prüfen.
Zunächst
muss die Funktion die Komponente lokalisieren. Nachdem diese lokalisiert
worden ist, kann die Funktion die Version der Komponente prüfen, und
die Funktion kann feststellen, ob die Komponente aktualisiert werden
kann. Die CDF-Datei speichert eine Versionsnummer in der CDF-Datei. Der
Aktualisierungssatz-Wizard schreibt den Wert in die CDF-Datei.
-
Die
CFG-Dateien fügen
ein neues Versionsattribut hinzu. Der Aktualisierungssatz-Wizard schreibt den Wert
in die CFG-Datei.
-
Ermitteln,
welche Aktualisierung ausgeführt
werden soll. Die Aktualisierungssatz-Komponententabelle speichert Komponenten-
und Versionsinformationen für
einen Aktualisierungssatz. Diese Tabelle beschreibt, welche Komponenten
ein Aktualisierungssatz installiert und welche Komponenten von der
Aktualisierung benötigt
werden. Zu erkennen, welche Aktualisierungssätze angewendet werden sollen,
ist möglicherweise
nicht trivial.
-
Das
bevorzugte System, das unsere Erfindung ausführt, verwendet einen rekursiven
Algorithmus, um nach den erforderlichen Aktualisierungssätzen zu
suchen. Der Algorithmus lautet wie folgt:
-
Dieser
Algorithmus erzeugt eine Liste von Aktualisierungssätzen, um
von der derzeit installierten Version zu der erforderlichen Version
zu gelangen. Falls es mehr als einen Pfad gibt, wählt die
Funktion den Pfad mit der geringsten Zahl an Aktualisierungssätzen aus.
-
Upgrade-Wizard.
Der Upgrade-Wizard ist ein einfaches, eigenständiges Programm, dessen alleinige Funktion
darin besteht, Aktualisierungssätze
auf ein lokales Gerät
anzuwenden. Der Upgrade-Wizard baut keine Verbindung mit der Datenbank
auf, und es ist nicht erforderlich, dass die Datenbank läuft. Der
Upgrade-Wizard liest alle Parameter aus und speichert Zustandsinformationen
in einfachen Dateien. Der Upgrade-Wizard muss nicht in der Lage
sein, Transaktionen zusammenzuführen.
Der Upgrade-Wizard kann den Implementierungsanteil von Dbinit (jedoch
nicht den Übertragungsanteil)
ausführen.
-
Ausführen des
Upgrade-Wizards. Der Upgrade-Wizard liest zwei Typen von Dateien
aus: eine Statusdatei und eine Aktualisierungs-Treiberdatei. Beide
Dateitypen sind vom Menschen lesbar, so dass Unterstützungspersonal
die Dateien bei Bedarf „reparieren" kann.
Statusdatei.
Die Statusdatei enthält
eine Liste von Aktualisierungen, die ausgeführt werden müssen, und
den Status der Aktualisierung. Die Statusdatei ist leer, wenn keine
Aktualisierungen anstehen oder aktuell verarbeitet werden. Die Client-
und Serverprogramme prüfen
die Statusdatei während
des Starts. Wenn die Statusdatei nicht leer ist, rufen sie den Upgrade-Wizard
auf, um die Aktualisierung fortzusetzen.
Treiberdatei. Der
Aktualisierungstreiber enthält
eine Liste von Aktualisierungssatz- Elementen, die für die Aktualisierung ausgeführt werden
müssen.
-
Beim
Start liest der Upgrade-Wizard die Treiberdatei und verifiziert,
dass genügend
Speicherplatz zur Verfügung
steht, um die Aktualisierung anzuwenden. Der Upgrade-Wizard verwendet
die Schätzung
des Speicherplatzes, die für
jedes Aktualisierungssatz-Element
bereitgestellt wird. Wenn der Aktualisierer, z. B. der Datenbankadministrator,
keine Schätzung
bereitstellt, schätzt
der Upgrade-Wizard den Speicherplatz unter Verwendung eines DUN-Algorithmus.
Der Upgrade-Wizard benachrichtigt den Benutzer, wenn nicht genügend Speicherplatz
auf dem lokalen Gerät
vorhanden ist, um die Aktualisierungssätze anzuwenden.
-
Der
Upgrade-Wizard liest anschließend
die Statusdatei aus. Wenn die Statusdatei nicht leer ist, macht der
Upgrade-Wizard zunächst
alle Änderungen
rückgängig, indem
er die abgeschlossenen Aktualisierungssatz-Elemente in umgekehrter
Reihenfolge ausführt.
-
Der
Upgrade-Wizard schätzt
den Zeitaufwand für
das Anwenden der Aktualisierungssätze auf das lokale Gerät und wartet,
bis der Benutzer die Aktualisierung startet. Der Upgrade-Wizard
schreibt die Statusdatei fort, während
er Aktionen verarbeitet. Er löscht
die Änderungen
an der Festplatte. Der Upgrade-Wizard speichert vor dem Ausführen jeder
Aktion Daten in einem Sicherungsverzeichnis. Der Upgrade-Wizard
sichert zum Beispiel vor dem Ausführen von datenbankbezogenen
Aktionen die lokale Datenbank. Wenn die Aktualisierung erfolgreich
abgeschlossen wird, löscht
der Upgrade-Wizard alle Sicherungsdateien. Er löscht darüber hinaus die Aktualisierungsstatusdatei.
-
Aktualisieren
des Upgrade-Wizards. Der Upgrade-Wizard weist keine Abhängigkeiten
von anderen Programmen auf. Er lädt
keine CFG-Dateien oder DLLs. Um das Aktualisieren des Upgrade-Wizards
selbst zu unterstützen,
gehen Programme, die den Upgrade-Wizard
aufrufen, in diesen Schritten vor.
-
Prüfen, ob
eine „bereite" Version der ausführbaren
Datei des Upgrade-Wizards vorhanden ist.
Wenn eine „bereite" Version vorhanden
ist, Löschen
der vorhandenen ausführbaren
Datei des Upgrade-Wizards und Umbenennen der „bereiten" Version in die aktuelle ausführbare Datei
des Upgrade-Wizards.
Wenn keine ausführbare Datei des Upgrade-Wizards
vorhanden ist, Umbenennen des Quell-Upgrade-Wizards in die ausführbare Datei
des Upgrade-Wizards.
Der Upgrade-Wizard benennt den Quell-Upgrade-Wizard
in den bereiten Upgrade-Wizard
um, wenn er eine Aktualisierung abschließt. Dies erfolgt bevorzugt,
wenn die Aktualisierungsstatusdatei leer ist, wodurch dem Benutzer
ermöglicht
wird, das Format der Statusdatei zu ändern. Alternativ kann dies
unmittelbar nach einer Aktualisierung erfolgen, die eine aktualisierte
ausführbare
Datei des Upgrade-Wizards erzeugt hat, so dass die nächste Aktualisierung
die neuen Funktionen des Upgrade-Wizards und die vermutlich neue
Wizard-Treiberdateisyntax nutzen kann.
-
Dieser
Algorithmus gewährleistet,
dass derselbe Upgrade-Wizard über
die gesamte Aktualisierung hinweg eingesetzt wird, selbst wenn er
nach der Installation einer neuen Version des Upgrade-Wizards neu gestartet
wird.
-
Aufrufen
der Versionsprüfungsfunktion.
Jedes Programm ruft die Versionsprüfungsfunktion zu vordefinierten
Zeiten auf.
-
Client
-
- Ausführen
einer Versionsprüfung
für den
Client beim Start. Der Client liest die erforderlichen Versionen
aus der LONG-Spalte der S_UPG_COMP-Tabelle aus und gibt die Informationen
an die Versionsprüfungsfunktion
weiter.
-
Server
-
- Beim Start startet der Server eine neue Serverkomponente – den Serverversionsprüfer – um die
Versionsprüfung
auszuführen.
Der Serverversionsprüfer
liest die erforderlichen Versionen für den Server aus der „kompilierten" LONG-Spalte der
S_UPG_COMP-Tabelle aus und gibt die Informationen an die Versionsprüfungsfunktion
weiter.
-
Docking-Client und Replikations-Agent
-
- Zu Beginn jeder Synchronisierungssitzung erhält der Docking-Client
(oder der Replikations-Agent) die Schemaversion der Serverdatenbank über eine
DRL-Nachricht. Der
Docking-Server liest die S_APP_VER-Tabelle der Serverdatenbank aus
und sendet die Schemaversion der Serverdatenbank an den Docking-Client.
Wenn die Hauptschemaversionen in der Serverdatenbank und der lokalen
Datenbank sich unterscheiden oder eine Dbinit ansteht, ruft der
Docking-Client die Dbinit auf, um die Datenbank erneut zu initialisieren.
- „Data
Merge" halt Ausschau
nach Transaktionen, die die „kompilierte" LONG-Spalte in S_UPG_COMP
aktualisieren. Für
den Docking Client halt „Data
Merge" Ausschau
nach Änderungen
an der „Client"-Komponente. Für den Replikations-Agent halt „Date Merge" Ausschau nach Änderungen
an der „Server"-Komponente.
-
Sobald „Data Merge" eine Transaktion
auf diese Spalte für
die "beobachtete" Komponente anwendet, führt "Date Merge" die Zusammenführung von
Transaktionen durch und beendet sie. Der Docking-Client führt anschließend eine
Versionsprüfung
durch. Der Replikations-Agent startet den Serverversionsprüfer, um
die Versionsprüfungen
auszuführen.
Wenn eine oder mehrere erforderliche Versionen nicht übereinstimmen, sucht
der Docking-Client (oder der Serverversionsprüfer) nach einem oder mehreren
anzuwendenden Aktualisierungssätzen,
lädt die
Aktualisierungssatz-Archivdateien herunter (falls sie noch nicht
auf dem lokalen Gerät
zugänglich
sind) und ruft den Upgrade-Wizard auf, um die Aktualisierung anzuwenden.
-
Lexikoncachedatei.
Die Lexikoncachedatei (d. h. die Teilmenge des Repository, die von
Serverprogrammen und dem Docking-Client benötigt wird) stellt eine „Cache"-Datei bereit, die
so programmiert ist, dass sie das Lexikon in den Speicher lädt. Die
Verwendung einer „Cache"-Datei beseitigt
die Notwendigkeit, Lexikondaten in alle entfernten Datenbanken zu
laden, verringert die Größe der entfernten
Datenbanken und verringert darüber
hinaus den Zeitaufwand zum Initialisieren oder Aktualisieren von
entfernten Datenbanken. Es kann ein vorhandener diccache.dat-Mechanismus
für die „Cache"-Datei verwendet
werden. Die diccache.dat-Datei enthält ein Dateidarstellungslexikon.
Im Betrieb wird eine Versionsnummer in der diccache.dat-Datei gespeichert,
um die Version zu identifizieren und neue Verfahren zum Auslesen
der Versionsnummer aus der diccache.dat-Datei hinzuzufügen. Die
Datei befindet sich üblicherweise
im Verzeichnis <_ROOT>\bin.
-
Während unsere
Erfindung mit Bezug auf bestimmte bevorzugte Ausführungsformen
und Ausfertigungen beschrieben worden ist, ist nicht beabsichtigt,
den Umfang der Erfindung dadurch zu beschränken.