Anmelden

View Full Version : Objektverifizierung nach Erzeugung / Installation



Seiten : [1] 2 3

Matthias182
06-05-08, 09:34
Hallo,

ich bin auf der Suche nach einer einfachen (CL) Lösung, um Objekte, die mit einem Software-Release auf der iseries erstellt / kopiert / kompiliert
wurden nach der Installation zu verifizieren.

Soll heißen, die Objekte kommen aus einer Bibliothek, liegen dort aber unter einem anderen Objektnamen vor. Dieser besteht aus einer
fortlaufenden Zeichenfolge.

Als Verknüpfung gibt es lediglich eine physische Datei, die u.a. die Spalten 'Objektname' und 'installiertes Objekt' enthält.

Gibt es eine Möglichkeit anhand dieser Daten nach der Installation zu prüfen, ob jedes Objekt auch dem gelieferten Objekt entspricht?


Gruß

Matthias

Pikachu
06-05-08, 11:53
Du kannst die Datei in einem CL-Programm mittels DCLF festlegen und dann die einzelnen Datensätze mit RCVF lesen. Informationen zu den einzelnen Objekten kannst du dann mit RTVOBJD auffinden. Eine Möglichkeit für einen direkten Objektvergleich ist mir jedoch leider nicht bekannt.

Matthias182
06-05-08, 12:13
Hallo,

ja an eine ähnliche Lösung hatte ich auch schon gedacht, aber welcher Wert definiert ein Objekt unabhängig von der Objektart als eindeutig?

Fuerchau
06-05-08, 12:23
Ein Objekt kann nur incl. der Objektart eindeutig sein.
Du kannst eben ein Programm, eine Datei oder Datenbereich gleich benennen.
Einzig die Objektart macht sie dann eindeutig.

Pikachu
06-05-08, 12:44
Ein Objekt ist durch seinen Namen und seine Objektart innerhalb einer Bibliothek eindeutig erreichbar. Dies gilt auch für Objekte in der Bibliothek QTEMP, von der es für jeden Job eine eigene gibt, und die intern unterschiedlich heißen.

Matthias182
06-05-08, 12:57
Das mit der Eindeutigkeit des Objekts ist mir klar, aber wenn ich zwei Objekte habe, gleicher Name und gleiche Objektart.

Wie kann dann verlässlich herausfinden, ob diese Objekte identisch sind oder nicht? Und genau das dann unabhängig davon, ob es ein Program, eine Datei oder eine Datenbereich ist?

Fuerchau
06-05-08, 13:05
Da gibts leider keine Standardmöglichkeit.
Da man z.B. an die Daten eines PGM-Objektes mit keinem API herankommt, hilft hier nur ggf. die Sourceinformation auszulesen (bei ILE je Modul) und das Quelldatum zu prüfen. Eine Garantie ist das sicherlich nicht.

BenderD
06-05-08, 13:17
als erstes bräuchtest du eine Definition, was denn identisch in diesem Kontext sein soll!!!
- dasselbe Objekt?
- einer ist Clon des anderen?
- aus derselben Quelle mit demselben Command erstellt?
- aus derselben Quelle erstellt?
D*B


Das mit der Eindeutigkeit des Objekts ist mir klar, aber wenn ich zwei Objekte habe, gleicher Name und gleiche Objektart.

Wie kann dann verlässlich herausfinden, ob diese Objekte identisch sind oder nicht? Und genau das dann unabhängig davon, ob es ein Program, eine Datei oder eine Datenbereich ist?

Matthias182
06-05-08, 13:18
nein, das ist wirklich nicht zu 100% verlässlich.

Bei Dateien könnte man aber doch sicher den Format Level Indentifier nutzen, oder? Bei Programmen gibt keine solche ID, oder?

Es gibt doch aber heute schon Programme, welche die Releaseverteilung steuern. Weiß jemand von euch, wie diese Programme sicherstellen, dass sie das richtige Objekt installiert haben?

BenderD
06-05-08, 14:03
Vorsicht mit den FormatLevel IDs, die sind mit DDS fast verlässlich und bei SQL erstellten Dateien kompletter Schlunz!

Bei Servicprogrammen gibt es noch sogenannte Signatures, die aber keine sind und auch zur Kategorie Schlunz gehören.

Entsprechende Tools setzen an den Erstellungsquellen an und stellen sicher, dass Anwendungen und Installationen in Bezug auf ein Regelwerk mit den Quellen konsistent sind. Das lässt sich im wesentlichen auch mit Homegrown Tools sicher stellen und prüfen. (Compiles müssen reproduzierbar sein, Abhängigkeiten müssen mit compiliert werden und die Timestamps der Erstellung müssen größer als die Änderungstimestamps der Quellen sein).

D*B


D*B



nein, das ist wirklich nicht zu 100% verlässlich.

Bei Dateien könnte man aber doch sicher den Format Level Indentifier nutzen, oder? Bei Programmen gibt keine solche ID, oder?

Es gibt doch aber heute schon Programme, welche die Releaseverteilung steuern. Weiß jemand von euch, wie diese Programme sicherstellen, dass sie das richtige Objekt installiert haben?