-
Die
Erfindung betrifft ein Verteilen (Vertreiben) von ausführbaren
Anwendungen auf Benutzerseiten, und insbesondere ein System zum
automatischen Packen (Packaging) einer ausführbaren Anwendung in eine Form,
die für
einen Vertrieb (Distribution) auf einer Benutzerseite geeignet ist,
und zum Installieren der Anwendung auf der Benutzerseite in Antwort
auf einen Befehl von der Benutzerseite.
-
Der
letzte Schritt bei der Entwicklung von ausführbaren Anwendungen liegt in
der Verteilung (Vertrieb) dieser ausführbaren Anwendungen auf einer
Benutzerseite. Für
relativ einfache ausführbare Anwendungen,
die nicht mit anderen ausführbaren Anwendungen
zusammenwirken, oder deren Interaktionen relativ einfach sind, kann
ein allgemein anwendbares Distributionspaket erzeugt und vertrieben werden,
das die Daten enthält,
die für
eine korrekte Installation der ausführbaren Anwendung auf einer Benutzerseite
erforderlich sind. Ein derartiges Distributionspaket kann auf einem
physikalischen tragbaren Medium vertrieben werden, durch Dateitransfer, oder
direkt an die Benutzerseite über
ein elektronisches Netz, beispielsweise das Internet vertrieben werden.
-
Relativ
komplexe ausführbare
Anwendungen können
jedoch einen hohen Integrationsgrad mit anderen ausführbaren
Anwendungen auf der Benutzerseite erfordern. Eine derartige Integration
kann sehr schwierig sein, in Bezug auf: (a) eine Koordination von
gemeinsam verwendeten Daten; und (b) einen koordinierten zeitlichen
Ablauf der Ausführung von
mehreren ausführbaren
Anwendungen. Aus diesen Gründen
werden derartige komplexe ausführbare
Anwendungen in Paketen vertrieben, die auf eine bestimmte Benutzerseite
zugeschnitten sind, auf der die ausführbare Anwendung zu installieren
ist.
-
Hersteller
derartiger relativ komplexer ausführbarer Anwendungen erhalten
gegenwärtig
Aufträge
für ausführbare Anwendungen
von Benutzerseiten. Diese Aufträge
werden nachverfolgt, um sicher zu sein, dass die Benutzerseite die
Verkaufskriterien für
die Abgabe eines Auftrags erfüllt,
beispielsweise für
die bestellten ausführbaren
Anwendungen bezahlt hat, und dass die bestellte ausführbare Anwendung
zeitnah an die Benutzerseite geliefert wird. Eine Vertriebs gruppe
erhält
und pflegt im Allgemeinen Information, die eine Benutzerseite betrifft,
und Information, die Aufträge
betrifft, die von einer Benutzerseite empfangen worden sind. Diese
Information wird an eine Distributionsgruppe gesendet, wenn die Bestellvorgänge (Zahlung
erhalten, etc.) erfüllt
sind. Im Allgemeinen wird diese Information in einer Nachricht von
der Vertriebsgruppe an die Distributionsgruppe gesendet, beispielsweise
als eine E-Mailnachricht oder als Papiermitteilung. Diese Nachricht enthält Information
bezüglich
der Benutzerseite und Information bezüglich des Auftrags.
-
Die
Distributionsgruppe übernimmt
die Information bezüglich
Benutzerseite und Auftrag in ihre eigene Datenbank. Die Distributionsgruppendatenbank
kann ferner Information enthalten, die die Konfiguration des Prozessors
auf der Benutzerseite betrifft, beispielsweise den Typ und die Kapazität des Prozessors,
und bereits installierte ausführbare
Anwendungen. Dies ist besonders wichtig, wenn das Distributionspaket
maßgeschneidert
werden muss, um korrekt auf dieser Benutzerseite installiert und
betrieben zu werden. Die Distributionsgruppe erzeugt ein Distributionspaket,
welches die bestellte ausführbare
Anwendung in einer Form enthält,
die für
die Benutzerseite geeignet ist. Wenn das Distributionspaket erzeugt
ist, wird es auf ein Distributionsmedium übertragen. In gegenwärtigen Systemen
ist dies ein tragbares physikalisches Distributionsmedium, wie etwa eine
CD. Dieses Distributionsmedium, beispielsweise eine CD, wird an
die Benutzerseite gesendet, wo die ausführbare Anwendung auf der Benutzerseite installiert
werden kann.
-
Wenn
das Distributionsmedium an die Benutzerseite gesendet worden ist,
sendet die Distributionsgruppe eine Nachricht an die Vertriebsgruppe. Diese
Nachricht enthält
benutzerseitenbezogene Information, auftragsbezogene Information,
und Information bezüglich
des Distributionspakets und der Lieferung des Pakets an die Benutzerseite.
Die Vertriebsgruppe aktualisiert ihre Datenbank mit dieser Information.
-
Das
augenblickliche System erfordert eine manuelle Übernahme (Eingabe) von Daten
betreffend die Benutzerseite, den Auftrag und die Distribution zwischen
der Vertriebsgruppe und der Distributionsgruppe. Eine manuelle Übernahme
hat jedoch eine relativ hohe Wahrscheinlichkeit für das Einbringen
von Fehlern. Beispielsweise können
Ziffern vertauscht und Text falsch geschrieben werden. Das manuelle Übernehmen
(Umschreiben) dauert auch relativ lang, wo durch die Zeit zunimmt,
die notwendig ist, um einen Auftrag zu empfangen, zu verarbeiten, die
Bearbeitung zu beginnen und den Auftrag zu erfüllen. Die manuelle Übernahme
erfordert ferner ein menschliches Eingreifen, wodurch die Kosten
für die Auftragsbearbeitung
auf der Vertriebsgruppenseite und der Distributionsgruppenseite
erhöht
werden. Das gegenwärtige
System verwendet auch tragbare physikalische Distributionsmedien,
und kein elektronisches Distributionsnetz für die Distributionspakete. Dies
erhöht
die Distributionskosten und nutzt nicht die Geschwindigkeitsvorteile
eines elektronischen Distributionsnetzes. Da die Benutzerdatenbank
in der Vertriebsgruppe ferner getrennt von der Datenbank in der
Distributionsgruppe ist, ist eine Rechnungsprüfung und Auftragsnachverfolgung
langsam, fehleranfällig
und kostenintensiv.
-
Ein
System ist wünschenswert,
das die oben beschriebenen Nachteile bezüglich einer Kundennachverfolgung
und Rechnungsprüfung,
Berichterstattung, arbeitsintensiven Dateneingabe und ein Fehlen
der Möglichkeit
zur Verwendung einer elektronischen Distributionsfunktion beseitigt.
Darüber
hinaus ist ein System wünschenswert,
das sich nahtlos mit einer Kundenauftragsverwaltung integrieren lässt, um
manuelle Prozesse zu minimieren, die Fehler mit sich bringen können, und
um die Software schneller ausliefern zu können.
-
Eine
Aufgabe der Erfindung ist die Schaffung eines Systems und eines
Verfahrens, um die oben genannten Nachteile zu überwinden.
-
Diese
Aufgabe wird durch die unabhängigen Ansprüche gelöst. Weiterentwicklungen
der Erfindung sind in den Unteransprüchen angegeben.
-
Gemäß der Erfindung
enthält
ein System zum Verarbeiten ausführbarer
Anwendungen, die für eine
Distribution geeignet sind, einen Speicher mit Datendateien, die
eine Mehrzahl von unterschiedlichen ausführbaren Anwendungen darstellen,
die für eine
Distribution verfügbar
sind, und einen Speicher mit Zusatzinformation, die mit einem Vorgang
in Zusammenhang steht, bei dem ausführbare Anwendungen für eine Distribution
ausgewählt
worden sind. Die Zusatzinformation gibt die Eigenschaften an, die
Installationsgesichtspunkte der ausgewählten ausführbaren Anwendungen auf einer
Benutzerseite bestimmen. Ein Packaging Prozessor vergleicht ausgewählte ausführbare Anwendungen
und die in Zusammenhang stehende Zusatzinformati on, um Distributionsdaten
zu liefern. Ein Speicherprozessor erzeugt ein Distributionspaket,
das die Distributionsdaten enthält,
und speichert eine Kopie der Distributionsdaten in einer Datenbank.
Der Distributionsprozessor verarbeitet das Distributionspaket, um
für die
Distribution geeignet zu sein.
-
1 zeigt
ein Blockdiagramm eines Systems zum Verarbeiten von ausführbaren
Anwendungen, um für
einen Vertrieb geeignet zu sein; und
-
2 zeigt
ein detaillierteres Blockdiagramm des Systems gemäß 1.
-
Gemäß der Erfindung
arbeitet ein Prozessor unter der Steuerung einer ausführbaren
Anwendung, um (a) Information von einer Eingabeinformationsvorrichtung
zu empfangen, (b) Information durch Manipulieren, Analysieren, Modifizieren,
Konvertieren und/oder Übertragen
der Information zu verarbeiten, und/oder (c) die Information an
eine Ausgabeinformationsvorrichtung zu liefern. Ein Prozessor kann verwendet
werden, um beispielsweise die Fähigkeiten
einer Steuerung oder eines Mikroprozessors zu enthalten. Der Prozessor
kann mit einem Anzeigenprozessor oder einem Generator arbeiten.
Ein Anzeigenprozessor oder Generator ist ein bekanntes Element,
um Signale zu erzeugen, die Anzeigenbilder oder Bereiche davon darstellen.
Ein Prozessor und ein Anzeigenprozessor enthalten beispielsweise Hardware,
Firmware und/oder Software. Eine Benutzerschnittstelle enthält ein oder
mehrere Anzeigenbilder, die von dem Anzeigenprozessor unter der
Steuerung des Prozessors erzeugt worden sind, wodurch dem Benutzer
eine Interaktion mit einem Prozessor oder einer anderen Vorrichtung
ermöglicht
wird.
-
Eine
ausführbare
Anwendung gemäß der Erfindung
enthält
Code oder maschinenlesbare Anweisungen zur Konditionierung des Prozessors,
um vorbestimmte Funktionen zu implementieren, beispielsweise die
eines Betriebssystems, eines Gesundheitsweseninformationssystems
oder eines anderen Informationsverarbeitungssystems, in Antwort
auf eine Benutzereingabe oder einen Benutzerbefehl. Eine ausführbare Prozedur
ist ein Codesegment oder ein Segment mit maschinenlesbarer Anweisung,
eine Subroutine, oder ein anderer eindeutiger Abschnitt aus Code
oder ein Bereich eines ausführbaren
Programms (Anwendung) zur Durchführung
eines oder mehrerer bestimmter Prozesse. Diese Prozesse können ein
Empfangen von Eingabedaten und/oder Parametern enthalten, ein Ausführen von
Operationen für
die empfangenen Eingabe daten und/oder ein Durchführen von Funktionen in Antwort
auf empfangene Eingabeparameter, und ein Bereitstellen von resultierenden
Ausgabedaten und/oder Parametern.
-
1 zeigt
ein Blockdiagramm eines Systems 100 zum Verarbeiten von
ausführbaren
Anwendungen, um für
eine Distribution geeignet zu sein. In 1 speichert
eine Speichervorrichtung 102 Datendateien, die eine oder
mehrere ausführbare
Anwendungen darstellen. Die Anwendungsdateispeichervorrichtung 102 ist
an einen Packaging Prozessor 106 gekoppelt. Eine Speichervorrichtung 104 speichert
Zusatzinformation, die mit der Verarbeitung der ausführbaren
Anwendungen für
die Distribution in Zusammenhang steht. Die Zusatzinformationsspeichervorrichtung 104 ist
auch an den Packaging Prozessor 106 gekoppelt. Der Packaging
Prozessor 106 ist an einen Speicherprozessor 108 gekoppelt.
Der Speicherprozessor 108 ist an eine Speichervorrichtung 110 gekoppelt,
um eine Datenbank zu enthalten, die eine Kopie von Distributionsdaten
speichert. Die Distributionsdatenspeichervorrichtung 110 ist
an einen Distributionsprozessor 112 gekoppelt. Der Distributionsprozessor 112 ist
an eine Benutzerseite 114 gekoppelt.
-
In
der Praxis erzeugt ein Programmierer oder ein Programmierteam (nicht
dargestellt) eine Datendatei oder einen Satz von Datendateien, die
eine ausführbare
Anwendung darstellen, indem Softwareentwicklungstools verwendet
werden. Der Programmierer speichert diese Dateien in der Anwendungsdateispeichervorrichtung 102.
Diese Datendateien können
enthalten: (a) ausführbare
Dateien, die Datendateien sind, die ausführbare Anwendungen oder Prozeduren
enthalten; (b) Parameterdateien, die Datendateien sind, die Parameter
oder Sätze
von Parametern enthalten, die von der ausführbaren Anwendung oder von
den Prozeduren benötigt
werden; und/oder (c) Bibliotheksdateien, die Datendateien sind,
die einen oder mehrere Sätze
von Parametern und/oder ausführbaren
Prozeduren enthalten, um allgemein erforderliche Parameter und/oder
Funktionen bereitzustellen, die von der ausführbaren Anwendung oder von
anderen ausführbaren
Prozeduren benötigt
werden. Ein Fachmann auf diesem Gebiet versteht, dass andere Typen
von Datendateien, die andere Typen von Daten, beispielsweise Quellcodedateien,
Objektcodedateien, Linkdatendateien, und so weiter enthalten, die
die Entwicklung und die Ausführung
der ausführbaren
Anwendung unterstützen, von
dem Programmierer oder dem Programmierteam erzeugt und auch in der
Anwendungsdateispeichervorrichtung 102 gespeichert werden
können.
Darüber
hinaus wird im Allgemeinen mehr als eine ausführbare Anwen dung erzeugt oder
gepflegt. Die Anwendungsdateispeichervorrichtung 102 arbeitet folglich
als Speicher für
Datendateien, die eine Mehrzahl von unterschiedlichen ausführbaren
Anwendungen darstellen, die zur Distribution zur Verfügung stehen.
-
Der
Programmierer oder das Programmierteam erzeugt auch Ergänzungsdaten,
die oft als Metadaten bezeichnet werden, die mit den ausführbaren Anwendungen
in Zusammenhang stehen. Diese Zusatzinformation wird in der Zusatzinformationsspeichervorrichtung 104 gespeichert.
Diese Zusatzinformation wird von der ausführbaren Anwendung während ihres
Betriebs nicht benötigt.
Stattdessen enthält
sie Daten, die die ausführbare
Anwendung beschreiben. Beispielsweise kann ein Teil der Zusatzinformation
Daten enthalten, die mit einer Verarbeitung ausgewählter ausführbarer
Anwendungen für
eine Distribution in Zusammenhang stehen, also Information, die
Eigenschaften angibt, die Installationsgesichtspunkte von einer
oder von mehreren ausführbaren
ausgewählten
Anwendungen auf einer Benutzerseite bestimmen. Ähnlich wie die Anwendungsdateispeichervorrichtung 102 arbeitet
die Zusatzspeichervorrichtung im Allgemeinen als Speicher für Zusatzinformation,
die mit einer oder mit mehreren ausführbaren Anwendungen in Zusammenhang
steht.
-
In
dem gezeigten Ausführungsbeispiel
kann die Zusatzinformation beispielsweise Daten enthalten, die notwendig
sind, um die ausgewählten
ausführbaren
Anwendungen auf der Benutzerseite korrekt zu installieren. Diese
Information kann beispielsweise enthalten: (a) die Namen der ausgewählten ausführbaren
Anwendungen, (b) die Beziehung der ausgewählten ausführbaren Anwendungen zu anderen
ausführbaren
Anwendungen, die mit den verarbeiteten Distributionsdaten auszuliefern
sind, und/oder (c) Information bezüglich der Systemeigenschaften,
die erforderlich sind, um eine erfolgreiche Installation zu ermöglichen.
Die Information bezüglich
der Systemeigenschaften, die erforderlich ist, um eine erfolgreiche
Installation zu ermöglichen,
kann beispielsweise enthalten (a) eine installierte Verzeichnisstruktur
zum Aufnehmen der ausgewählten ausführbaren
Anwendungen, (b) Eigenschaften von Dateien, die die ausgewählten ausführbaren
Anwendungen enthalten, und/oder (c) Registrierungsinformation, die
erforderlich ist für
die Installation.
-
Die
Zusatzinformation kann auch den Entwicklungsstatus der in Zusammenhang
stehenden ausführbaren
Anwendung offenbaren. Beispielsweise kann der Programmierer oder
das Pro grammierteam angeben, dass eine ausführbare Anwendung, die Dateien
aufweist, die in der Anwendungsdateispeichervorrichtung 102 gespeichert
sind, (a) für
eine Distribution verfügbar
ist; (b) gegenwärtig
entwickelt wird und folglich für
eine Distribution nicht verfügbar ist;
(c) Updates aufweist, die für
die Distribution an Benutzerseiten, auf denen diese ausführbare Anwendung
installiert ist, verfügbar
sind, und/oder (d) zurückgezogen
worden ist. Der Grund für
ein Zurückziehen
kann beispielsweise auch angegeben werden, beispielsweise (a) aus
Geschäftsgründen oder aufgrund
von Geschäftsanforderungen;
und/oder (b) aufgrund von behördlichen
Anforderungen. Die Zusatzinformation, die dies angibt, kann in der
Zusatzinformationsspeichervorrichtung 104 gespeichert werden.
-
Die
Zusatzinformation kann in der Zusatzinformationsspeichervorrichtung 104 in
Form einer relationalen Datenbank gespeichert sein, die unter der Steuerung
des Packaging Prozessors 106 gepflegt wird. In einem derartigen
Fall kann der Packaging Prozessor 106 als ein DBMS (Database
Management System) implementiert sein. Die Verwendung einer relationalen
Datenbank zur Speicherung dieser Daten, erlaubt eine dichte Integration
mit Programmierteamwerkzeugen (Tools) und eine einfachere Berichterzeugung,
wie im Folgenden diskutiert. Die Verwendung einer relationalen Datenbank
erlaubt darüber
hinaus eine einfachere Integration mit anderen Unternehmenssystemen,
beispielsweise mit einem Kundenauftragsverwaltungssystem.
-
Der
Packaging Prozessor 106 wirkt mit dem Programmierer oder
dem Programmierteam über eine
Benutzerschnittstelle zusammen (interagiert), um die Erfassung und
den Empfang von Zusatzinformation bezüglich der Anwendungsdatendateien
zu steuern. In dem gezeigten Ausführungsbeispiel enthält der Packaging
Prozessor 106 speziell eine Benutzerschnittstelle, die
eine Versionssteuerung implementieren kann, um derartige Pakete „einzufrieren" und „aufzutauen", Pakete als in der
Entwicklung zu markieren, für
eine Distribution verfügbar
oder überflüssig zu
machen, und so weiter. Der Packaging Prozessor 106 kann
auch vom Programmierer oder Programmierteam die Zusatzinformation
anfordern, wie oben beschrieben, die notwendig ist für eine korrekte Installation
der ausgewählten
Anwendungsdateien auf der Benutzerseite; also Namen der ausgewählten Anwendungen,
die Beziehung der ausgewählten ausführbaren
Anwendungen zu anderen ausführbaren
Anwendungen, die mit den verarbeiteten Distributionsdaten auszuliefern
sind, und Information bezüglich
Systemeigenschaften, die erforderlich ist, um eine erfolgreiche
Installation zu ermöglichen,
beispielsweise eine Installati onsverzeichnisstruktur zur Aufnahme
der ausgewählten
ausführbaren
Anwendungen, Eigenschaften von Dateien, die die ausgewählten ausführbaren
Anwendungen enthalten, und Registrierungsinformation, die für die Installation
notwendig ist, und so weiter. Der Packaging Prozessor 106 steuert
das Speichern dieser Zusatzinformation in geeigneten Tabellen, Datensätzen und
Feldern in der relationalen Datenbank in der Zusatzinformationsspeichervorrichtung 104.
-
Ein
Auftrag (Bestellung), der Information enthält, die eine oder mehrere gewünschte ausführbare Anwendungen
auswählt,
kann von einer Benutzerseite 114 erhalten werden. In Antwort
vergleicht der Packaging Prozessor 106 die ausgewählten ausführbaren
Anwendungen und in Zusammenhang stehende Zusatzinformation, um Distributionsdaten
bereitzustellen. Die Bestellung von dem Benutzer kann von irgendeinem
Mittel empfangen werden, beispielsweise per Post, per Telefon oder
per elektronischem Mittel, beispielsweise E-Mail oder einem World-Wide-Web. In Antwort
auf den Empfang einer Bestellung von einer Benutzerseite 114,
beispielsweise eine elektronische Bestellung, wählt der Packaging Prozessor 106 automatisch
die gewünschten
ausführbaren
Anwendungen in der Anwendungsdateispeichervorrichtung 102 aus
und vergleicht die ausgewählten
ausführbaren
Anwendungen und die in Zusammenhang stehende Zusatzinformation,
um die Distributionsdaten zu liefern.
-
Die
Distributionsdaten bestimmen die ausgewählten Anwendungsdatendateien
in der Anwendungsdatenspeichervorrichtung 102 und in Zusammenhang
stehende Zusatzinformation in der Zusatzinformationsspeichervorrichtung 104,
die notwendig ist, um diese Datendateien auf der Benutzerseite 114 korrekt
zu installieren. Der Speicherprozessor 108 verarbeitet
die Distributionsdaten, um ein Distributionspaket zu erzeugen, das
die Distributionsdaten enthält,
in einer Art und Weise, die später
genauer beschrieben wird, und speichert eine Kopie des resultierenden
Distributionspakets in der Distributionsdatenspeichervorrichtung 110.
In ähnlicher
Weise, wie die Zusatzinformation in der Zusatzinformationsspeichervorrichtung 104 gespeichert
wird, kann das Distributionspaket in einer relationalen Datenbank auf
der Distributionsdatenspeichervorrichtung 110 gespeichert
werden.
-
Die
Zusatzinformation kann auch Information enthalten, die die Identität der Benutzerseite 114 darstellt,
die das Distributionspaket bestellt hat, oder eine andere Bestellungsinformation.
Die Benutzeridentifikationsinformation und die andere Bestellungsinformation
können
auch mit dem Distributionspaket in der Datenbank auf der Distributionsdatenspeichervorrichtung 110 gespeichert
werden. Das Speichern dieser Information erleichtert eine Bestellungsnachverfolgung.
Der Speicherprozessor 108 kann auch ein Protokoll (Log)
führen
und pflegen, in Bezug auf Zugriffe auf (a) die gespeicherte Benutzeridentifikationsinformation;
(b) die gespeicherte Bestellungsinformation; und/oder (c) das gespeicherte
Distributionspaket. Das Zugriffsprotokoll erlaubt eine Rechnungsprüfung, indem
ein Zugriff auf die gespeicherte Information angegeben wird.
-
Der
Speicherprozessor 108 verarbeitet die empfangenen Distributionsdaten,
um ein Mediumabbild (Image) des Distributionspakets zu erzeugen, das
an die Benutzerseite 114 gesendet werden kann. Der Speicherprozessor 108 verbindet
automatisch die in Zusammenhang stehende Zusatzinformation mit entsprechend
ausgewählten
ausführbaren
Anwendungen, basierend auf einer vorbestimmten Abbildungsinformation,
um das Medium-Image zu liefern. Dieses Medium-Image kann ein oder
mehrere Installationsdateien enthalten, die die Anwendungsdatendateien
und Installationsanweisungen enthalten. Viele Verfahren existieren
zur Vorbereitung der ausführbaren
Anwendungen für
die Installation auf den Benutzerseiten. Beispielsweise unterstützt Microsoft
Corporation ein Installationsprotokoll, und ein Werkzeug zur Erzeugung
von Installationspaketen für
derartige Installationen. Der InstallShield von Macrovision Corporation
unterstützt
ein anderes Installationsprotokoll, und ein Werkzeug zur Erzeugung von
Installationspaketen für
derartige Installationen. Andere derartige Protokolle und Werkzeuge
(Tools) existieren.
-
In
dem gezeigten Ausführungsbeispiel
ist der InstallShield als der Standardinstallationsprozess ausgewählt, um
beispielsweise Distributionspakete zu erzeugen. Der Speicherprozessor 108 ruft
das InstallShield Distributionspaketerzeugungstool auf, und versorgt
es mit Anweisungen basierend auf der Zusatzinformation, die die
Installation der ausgewählten
Anwendungen auf der Benutzerseite 114 betrifft. In dem
Fall des InstallShields wird eine einzelne Datei, die die erforderlichen
Dateien enthält,
erzeugt. Diese Datei ist eine selbstausführbare Datei, enthaltend eine
ausführbare
Anwendung, die die Installation der ausgewählten ausführbaren Anwendungen steuert.
Die ausführbare
InstallShield Anwendung kann automatisch die erforderliche Verzeichnisstruktur
erzeugen, automatisch die ausführbaren
Anwendungsdateien entpacken und diese an entsprechenden Stellen
auf dem Prozessor auf der Benutzerseite 114 speichern.
Die ausführbare
InstallShield Anwendung kann auch automatisch irgendwelche erforderlichen
Registrierungsfunktionen durchführen.
Die ausführbare
InstallShield Anwendung enthält
auch eine Benutzerschnittstelle, die Information von einem Benutzer
anfordern kann, die notwendig ist, um die Installation der ausgewählten ausführbaren
Anwendungen korrekt durchzuführen.
-
Die
InstallShield Installationsdatei kann begleitet werden von anderen
Dateien, beispielsweise von „Readme" Dateien, die aktuellste
Information bezüglich
der ausgewählten
ausführbaren
Anwendung enthalten, Lizenzdateien, die Einzelheiten der Lizenz,
unter der die ausgewählten
ausführbaren
Anwendungen vertrieben werden, enthalten, Hilfedateien zum Durchführen des
Installationsprozesses, und so weiter. Diese Dateien sind in einem
Medium-Image gebildet. Dieses Medium-Image wird in der Distributionsdatenspeichervorrichtung 110 gespeichert.
-
Der
Distributionsprozessor 112 gewinnt Distributionspakete
aus der Distributionsdatenspeichervorrichtung 110 und verarbeitet
diese Pakete, damit sie für
die Distribution geeignet sind. Beispielsweise kann das Medium-Image
des Distributionspakets auf einem physikalischen Distributionsmedium
gespeichert werden. Der Distributionsprozessor 112 automatisiert
auch Aufgaben, die notwendig sind, um Labels für das physikalische Distributionsmedium
zu erzeugen. Das Distributionsmedium liefert das Distributionspaket
auf die Benutzerseite 114. Auf der Benutzerseite kann die
ausführbare
InstallShield Anwendung ausgeführt
werden, um die ausgewählten
ausführbaren
Anwendungen zu installieren.
-
2 zeigt
ein detaillierteres Blockdiagramm des Systems 100 gemäß 1.
In 2 sind gleiche Elemente wie in 1 mit
gleichen Bezugszeichen versehen, und werden nicht wiederholt beschrieben.
In 2 ist ein Programmierteam durch eine Mehrzahl
von Programmierprozessoren 242 dargestellt, die bidirektional
an ein LAN 240 gekoppelt sind. Das LAN 240 ist
bidirektional an einen Anwendungsdateiserver 202 gekoppelt
und an den Packaging Prozessor 106. Ein Ausgabeterminal
des Packaging Prozessors 106 ist an eine Zusatzinformationsdatenbank 204 gekoppelt.
Der Anwendungsdateiserver 202 und die Zusatzinformationsdatenbank 204 sind
an jeweilige Eingabeterminals des Speicherprozessors 108 gekoppelt.
Ein Standardinstallationsprozess 218 ist auch an den Speicherprozessor 108 gekoppelt.
Der Standardinstallationsprozess 218 liefert die Anweisungen
zum Erzeugen eines Distributionspakets.
-
Beispielsweise
kann der Standardinstallationsprozess 218 das Tool enthalten,
das durch InstallShield bereitgestellt wird.
-
Ein
Ausgabeterminal des Speicherprozessors 108 ist an einen
Eingabeterminal des Zugriffsprozessors 210 gekoppelt. Ein
Ausgabeterminal des Zugriffsprozessors 210 ist auch an
einen Eingabeterminal eines Distributionsprozessors 112 gekoppelt. Der
Zugriffsprozessor 210 ist auch bidirektional an das LAN 240 gekoppelt.
(In 2 ist das LAN 240 durch zwei getrennte
Wolken verdeutlicht, um die Figur einfacher zu halten. Ein Fachmann
auf diesem Gebiet versteht, dass das LAN 240 die Prozessoren verbindet,
die an das LAN gekoppelt sind, und dass dies keine zwei getrennten
Netze sein sollen). Ein Testteam ist durch eine Mehrzahl von Testprozessoren 244 dargestellt,
die bidirektional an das LAN 240 gekoppelt sind. Die Zusatzinformationsdatenbank 204,
der Anwendungsdateiserver 202 und der Zugriffsprozessor 210 bilden
in Kombination eine Distributionssystemdatenbank 230. Diese
Datenbank ist in Form einer relationalen Datenbank gespeichert,
wie oben beschrieben, und wird zwischen unterschiedlichen Dateiservern
verteilt, wie in 2 dargestellt.
-
Der
Distributionsprozessor 112 ist an die Benutzerseite 114 über Distributionsmedien 250 gekoppelt.
In 2 sind diese Medien 250 als physikalische
Medien 252 verdeutlicht (Magnetband, Floppy Disk, CD und/oder
DVD), als ein Dateiserver 254 und als WAN (Wide Area Network) 256.
Die Benutzerseite 114 hat auch einen Ausgangsterminal,
der an den Eingangsterminal des Distributionsprozessors gekoppelt
ist. Das System 100 enthält ferner eine Benutzerdatenbank 260.
Die Benutzerseite 114 ist an die Benutzerdatendatenbank 260 gekoppelt.
Die jeweiligen Ausgangsanschlüsse
(Ausgangsterminals) der Benutzerdatendatenbank 260 sind
an den Speicherprozessor 108 und einen Report Generator 216 gekoppelt.
Ein Ausgabeterminal des Packaging Prozessors 106 ist an
einen zweiten Eingabeterminal des Report Generators 216 gekoppelt.
Der Report Generator 216 ist an ein Mittel 270 zum
Erzeugen von Reports (Berichten) gekoppelt. Der Packaging Prozessor 106,
der Speicherprozessor 108, der Distributionsprozessor 112,
der Standardinstallationsprozess 218 und der Report Generator 216 bilden
in Kombination ein Distributionssystem 220.
-
Der
Betrieb des Distributionssystems 100, wie in 2 gezeigt,
ist ähnlich
dem gemäß 1. Das
Programmierteam, das die Programmierprozessoren 242 verwendet,
erzeugt, bearbeitet und speichert über das LAN 240 Anwendungsdatendateien, die
ausführbare
Anwendungen darstellen, auf dem Anwendungsdateiserver 202.
Der Anwendungsdateiserver 202 enthält (obwohl nicht gezeigt) eine Anwendungsdateispeichervorrichtung 102 (1), in
der die Anwendungsdatendateien gespeichert sind. Die Benutzerschnittstelle
des Packaging Prozessors 106 interagiert über das
LAN 240 mit dem Programmierteam über die Programmierprozessoren 242,
um Zusatzinformation anzufordern. Die Zusatzinformation wird in
der Zusatzinformationsdatenbank 204 gespeichert. Die Zusatzinformationsdatenbank 204 enthält eine
Zusatzinformationsspeichervorrichtung 104 (nicht gezeigt)
(1), in der die Zusatzinformation gespeichert wird.
Der Speicherprozessor 108 vergleicht Anwendungsdateien
von dem Anwendungsdateiserver 202 mit in Zusammenhang stehender
Zusatzinformation von der Zusatzinformationsdatenbank 204, um Distributionspakete
zu erzeugen. Die Distributionspakete werden in dem Zugriffsprozessor 210 in
Form von Medien-Images (Medienabbildungen) gespeichert. Der Zugriffsprozessor 210 enthält eine
Distributionsdatenspeichervorrichtung 110 (nicht gezeigt)
(1), in der die Distributionspakete gespeichert
sind. Die Distributionspakete werden von dem Distributionsprozessor 112 verarbeitet, um
Distributionsmedien 250 zu erzeugen, die an die Benutzerseite 114 geliefert
werden können,
wie oben im Einzelnen beschrieben.
-
Die
Benutzerseite 114 kann ein bestimmtes Distributionsmedium
wünschen.
Die Benutzerseite 114 kann einen Befehl an den Distributionsprozessor 112 schicken,
der Daten enthält,
die das ausgewählte Medium
darstellen. Alternativ kann die Benutzerseite 114 einen
Befehl an die Benutzerdatenbank 260 schicken, die das gewünschte Distributionsmedium
für diese
Benutzerseite enthält.
Diese Auswahl wird in der Benutzerdatenbank 260 zusammen
mit anderer Benutzerinformation gespeichert. Der Speicherprozessor 108 gewinnt
das gewünschte
Medium aus der Benutzerdatenbank 260, wenn das Distributionspaket
vorbereitet wird, und enthält
Daten, die diese Auswahl für
das Distributionspaket in dem Zugriffsprozessor 210 darstellen.
Der Distributionsprozessor 112 gewinnt in diesem Fall die
Auswahldaten, wenn er das Distributionspaket von dem Zugriffsprozessor 210 holt
(gewinnt). In jedem Fall verwendet der Distributionsprozessor 112 das
ausgewählte
Distributionsmedium, wenn das Distributionspaket verarbeitet wird,
um für
die Distribution geeignet zu sein.
-
Eine
Benutzerseite 114 kann beispielsweise bestimmen, dass das
Distributionspaket auf einem tragbaren Speichermedium 252 zu
speichern ist, beispielsweise auf einem Magnetband, einer Floppy Disk,
einer Compact Disk (CD), einer DVD (Digital Versatile Disk), etc.
In diesem Fall kann der Distributionsprozessor 112 das
Distributionspaket in das ausgewählte
tragbare Speichermedium 252 einarbeiten (integrieren),
was auch als Brennen des Medien-Images bezeichnet wird. Das tragbare
Speichermedium 252, beispielsweise ein Magnetband, eine Floppy
Disk, CD oder DVD, kann an die Benutzerseite 114 gesendet
werden. Auf der Benutzerseite 114 kann das Distributionsmedium 252 durch
einen entsprechenden Medienleser auf dem Benutzerverarbeitungssystem
gelesen werden, und durch Ausführen
der ausführbaren
InstallShield Anwendung auf dem Distributionsmedium kann die ausgewählten ausführbaren
Anwendungen installiert werden.
-
Die
Benutzerseite 114 kann auch beantragen, dass das Distributionspaket
für eine
Dateiübertragung
verfügbar
gemacht wird. In diesem Fall überträgt der Distributionsprozessor 112 das
Distributionspaket an einen Dateiserver 254, der von der
Benutzerseite 114 aus zugreifbar ist. Der Dateiserver 254 kann
auf der Systemseite 100 angeordnet sein; an einem anderen
Ort sein; oder bei einer anderen Firma outgesourct sein. Die Benutzerseite 114 greift auf
den Dateiserver 254 zu und beantragt das gewünschte Distributionspaket.
Der Dateiserver 254 überträgt durch
Verwendung eines bekannten Verfahrens, beispielsweise durch Verwendung
von FTP (File Transfer Protokoll) das angeforderte Distributionspaket
an die Benutzerseite 114. Auf der Benutzerseite 114 können die
ausgewählten
ausführbaren
Anwendungen installiert werden, indem die ausführbare InstallShield Anwendung
in dem empfangenen Distributionspaket ausgeführt wird.
-
Alternativ
kann die Benutzerseite 114 beantragen, dass das Distributionspaket
für eine
elektronische Netzdistribution verfügbar ist. Der Distributionsprozessor 112 kann
an die Benutzerseite 114 über ein WAN (Wide Area Network) 256,
beispielsweise das Internet, gekoppelt sein. In dieser Anordnung
arbeitet der Distributionsprozessor 112 als Distributionsserver,
der Anfragen über
das WAN 256 von der Benutzerseite 114 für ein Distributionspaket
empfängt,
in Antwort auf das entsprechende Distributionspaket von dem Zugriffsprozessor 210 holt,
und das Distributionspaket über
das WAN 256 an die anfragende Benutzerseite 114 sendet.
Auf der Benutzerseite 114 können die ausgewählten ausführbaren Anwendungen
installiert werden, indem die ausführbare InstallShield Anwendung
in dem empfangenen Distributionspaket ausgeführt wird.
-
Die
Verwendung eines Zugriffsprozessors 210, um Distributionspakete
vorteilhafterweise zu speichern, macht eine erneute Erzeugung des
Distributionspakets, jedes Mal, wenn es beantragt wird, überflüssig. Dies
reduziert die Zeit, die notwendig ist, um das Distributionsmedium
in Antwort auf eine Anfrage von der Benutzerseite 114 zu
erzeugen. Wenn die elektronische Netzdistribution über ein
WAN 256 das ausgewählte
Distributionsmedium ist, dann ist überhaupt keine Verarbeitung
erforderlich, da die Datei bereits in dem Zugriffsprozessor 210 ist,
und an die Benutzerseite 114 über das WAN 256 gesendet wurde.
-
Ein
Koppeln des Zugriffsprozessors 210 an das LAN 240 liefert
darüber
hinaus einen zentralen Zugriff auf gespeicherte Kopien der Distributionspakete.
Dies erlaubt anderen Einheiten innerhalb des Systems 100 auf
die Distributionspakete zuzugreifen. Beispielsweise kann für Qualitätskontrollzwecke
ein Distributionspaket getestet werden, bevor es für die Distribution
an Benutzerseiten 114 freigegeben wird. Tester, die durch
die Testprozessoren 244 dargestellt sind, können für ein Testen
auf die Distributionspakete in dem Zugriffsprozessor 210 zugreifen.
Durch das Bereitstellen eines Zugriffs auf den Zugriffsprozessor 210 müssen keine
Distributionsmedien, beispielsweise tragbare Speichermedien, wie
etwa Magnetband, Floppy Disks, CDs, DVDs, etc. gebrannt werden. Dies
reduziert die Zeit und die Kosten, die für das Testen der Distributionspakete
erforderlich ist.
-
Die
Benutzerdatenbank 260 ist außerhalb des Distributionssystems 220 und
kann ein Bestellmanagementsystem sein (OMS Order Management System)
oder ein CRM-System (Customer Relationship Managementsystem). Die
Benutzerdatenbank 260 kann ein extern entwickeltes Datenbankprogramm
oder eine Datenbank, die innerhalb des Systems 100 entwickelt
worden ist, sein. In jedem Fall speichert sie Daten, die Benutzerseiten
darstellen, und ist verfügbar
für das
Distributionssystem 220. Die Integration der Benutzerdatenbank 260 mit
dem Distributionssystem 220 erlaubt ein automatisches Nachverfolgen
aufgezeichneter Aufträge
von den Benutzerseiten 114 und eine Übertragung der bestellten Distributionspakete
an die Benutzerseiten 114. Diese Integration erlaubt auch
eine automatische Übertragung
von Benutzerseiteninformation an den Speicherprozessor 108,
der das gewünschte
Distributionspaket erzeugt. Dies wiederum minimiert Schreibfehler,
die auftreten können,
wenn Daten manuell von einem OMS an ein bekanntes Distributionssystem übertragen
werden.
-
Der
Report Generator 216 hat über den Packaging Prozessor 106 Zugriff
auf Information in der Benutzerdatenbank 260 und der Distributionssystemdatenbank 230 über den
Packaging Prozessor 106. Da die Benutzerdatenbank 260 und
die Distributionssystemdatenbank 230 in der Form von relationalen
Datenbanken vorliegen, kann die Information leicht extrahiert und
zur Erzeugung gewünschter
Berichte 270 formatiert werden. Irgendwelche bekannten
ausführbaren
Reporterzeugungsanwendungen, beispielsweise Crystal Reports (von
Crystal Decision), XL ReportBuilder (von Desktop Software), etc. können verwendet
werden, um gewünschte
Reports zu formatieren und diese auf Anfrage auf dem Reporterzeugungsmittel 270 erzeugen.
Die Reports können
erzeugt werden, die aus Softwareherstellersicht oder aus Benutzerseitensicht
Information bereitstellen.
-
Aus
Sicht des Herstellers können
die Reports beispielsweise enthalten: Listen von ausführbaren
Anwendungen, die unter Entwicklung sind (der Bericht enthält (a) anstehende
ausführbare
Anwendungsfreigaben und/oder (b) ein erwartetes Datum der Verfügbarkeit
einer ausführbaren
Anwendung); Listen von ausführbaren
Anwendungen, die bereit sind, um für eine Distribution gepackt
zu werden; Listen von Distributionspaketen, die (in dem Zugriffsprozessor 210)
für eine
Distribution verfügbar
sind; Rechnungsprüfungsberichte,
die Zugriffe auf die Distributionspakete in dem Zugriffsprozessor 210 (wie oben
beschrieben) auflisten; Listen von Benutzerseiten 114,
die ein Distributionspaket empfangen haben; Listen von Distributionspaketen,
die an eine bestimmte Benutzerseite 114 gesendet worden
sind, etc.
-
Aus
Sicht der Benutzerseite 114 enthalten die Reports (Berichte)
beispielsweise Information, die die Benutzerseite 114 identifiziert,
und Information bezüglich
einer oder mehrerer Bestellungen, die von dieser Benutzerseite 114 gemacht
worden sind. Derartige Reports können
enthalten: Listen von Distributionspaketen, die an die Benutzerseite 114 gesendet
worden sind; Listen von Distributionspaketen, die bestellt, jedoch
noch nicht geliefert worden sind; eine Liste von ausführbaren
Anwendungen, die auf der Benutzerseite 114 installiert
sind, zusammen mit einer Liste von ausführbaren Anwendungen, die für eine Distribution
verfügbar,
jedoch noch nicht installiert sind (also Information, die es einem
Benutzer erlaubt zu vergleichen, was auf der Benutzerseite installiert
ist mit dem was in der Distributionssystemdatenbank 230 verfügbar ist,
um einem Benutzer zu ermöglichen
nicht installierte Anwendungen zu identifizieren), etc.
-
Ein
Distributionssystem gemäß den 1 und 2,
wie oben beschrieben, ermöglicht
ein automatisches Nachverfolgen und Kontrollieren von Distributionspaketen,
die von einer Benutzerseite bestellt worden sind. Eine automatische
Verwendung der Bestellungsinformation, die von den Benutzerseiten
empfangen und in der Benutzerdatenbank gespeichert wird, macht ein
manuelles Umschreiben dieser Daten überflüssig. Dies reduziert die Wahrscheinlichkeit
für das
Einbringen von Fehlern in die Bestellungsinformation, verglichen
mit einer manuellen Umschreibung. Es ist auch möglich, die Verarbeitungszeit
der Bestellungen zu reduzieren und folglich Kosten zu reduzieren.
Dies minimiert auch die Zeit zwischen einer Bestellung, die von
einer Benutzerseite empfangen wird, und der Lieferung eines Distributionsmediums,
das die bestellte ausführbare
Anwendung enthält.
Ein derartiges System erlaubt auch eine elektronische Verteilung
der Distributionspakete über
ein elektronisches Netzwerk, was Kosten und Zeitaufwand für das Erzeugen
der Distributionspakete auf physikalisch tragbaren Distributionsmedien
reduziert.