Zielsystem aktualisieren

1                     Themenübersicht

Im Systemcockpit können Zielsysteme definiert werden, die dann über das Softwareaktualisierungscockpit versorgt werden können.

Diese Dokumentation beschreibt, wie Sie die Hintergrundanwendung „Zielsystem aktualisieren“ verwenden um die Aktualisierung solcher definierten Zielsysteme zu automatisieren.

2                     Begriffsbestimmung

Semiramis-Workflow

Der Semiramis-Workflow steuert die Bearbeitung von Aktivitäten durch das Semiramis-System und durch den Benutzer. Über Aktivitätsdefinitionen können Aktivitäten beim Eintreten von Ereignissen erzeugt werden. Der Semiramis-Workflow steuert über Serienaktivitäten regelmäßig wiederkehrende Aufgaben wie beispielsweise das Ausführen von Verarbeitungsaufträgen.

Der Semiramis-Workflow kann nur dann Prozesse abbilden, wenn geeignete Ereignisse genutzt werden können. Im Allgemeinen wird das Semiramis Business-Process-Management benötigt, um komplexe Prozesse abzubilden.

3                     Anwendungsbeschreibung

Die Anwendung „Zielsystem aktualisieren“ erlaubt es die regelmäßige Aktualisierung von Zielsystemen zu vereinfachen. Sie sollten die Hintergrundanwendung „Zielsystem aktualisieren“ als Serie einrichten.

3.1.1          Ablauf Entwicklungssystem

Der Ablauf sieht wie folgt aus

  1. Softwareaktualisierungen suchen, die im Zielsystem noch nicht eingespielt wurden.
  2. Ermitteln von zugehörigen Entwicklungsaufträgen in den Status
  • Ersttest erfolgt
  • Im Zweittest
  • Erledigt
  • Erledigt ohne Änderung
  • Abgeschlossen

 

  1. Für noch nicht freigegebene Softwareaktualisierungen wird die Freigabe geprüft.
  2. Noch nicht freigegebene aber freigebare Softwareaktualisierungen freigeben.
  3. Export der betroffenen und freigegeben Softwareaktualisierungen
  4. Kopieren der exportierten Softwareaktualisierungen in den entsprechenden import Ordner des Zielsystems.
  5. Installation auf dem Zielsystem starten.
  6. Aktivierung evtl. vorhandener Konfliktaufgaben auf dem Zielsystem starten.
  7. Nach Beendigung der Installation das programmierte Ereignis für erfolgreiche Installation feuern.

 

Hinweis:

In Test- und Qualitätssicherungssystemen (technisch: Level 7 Systeme), die Folgesystem mit Softwareaktualisierungen versorgen, müssen die Aufträge im Zustand „Erledigt“ sein. Außerdem wird geprüft, ob die entsprechend Supportauslieferung bereits bereit gestellt ist und nicht nur für einen speziellen Kunden gedacht ist.

 

Sollte eine Installation auf dem Zielsystem nicht möglich sein oder die Installation bricht ab, so werden entsprechende Ereignisse gefeuert.

 

Es kann vorkommen, dass einige Aufträge bzw. deren Softwareaktualisierungen nicht installiert werden konnten. Bspw. weil der Auftrag noch eine Abhängigkeit zu einem anderen Auftrag hat, der noch nicht fertig bearbeitet ist. Dies kann auch bei prinzipiell erfolgreichen Installationen geschehen. Eine Liste der Aufträge, die eigentlich installiert werden sollten, aber nicht installiert wurden, wird als Parameter des Ereignisses angehängt.

Trotz der Automatisierung sind u.U. manuelle Eingriffe in die Softwarelogistik nötig, z.B. um Kreuzabhängigkeiten aufzulösen.

Beispiel:

Softwareaktualisierung A benötigt Softwareaktualisierung B. Softwareaktualisierung B benötigt Softwareaktualisierung A.

In so einer Konstellation ist ein automatisches Freigeben der Softwareaktualisierungen nicht möglich und ein manueller Eingriff in der Anwendung „Softwareaktualisierungen“ ist nötig.

3.2               Identifikationsbereich

Feld Erläuterung
Ziel-System Auswahl des Ziel-Systems, das aktualisiert werden

soll. Die Systeme, die zur Auswahl stehen, werden im Systemcockpit erfasst

(Typ System, Karteireiter Editor, Karteireiter

Softwareaktualisierungs-Ziel-Systeme).

 

Konfliktaufgaben aktivieren Falls der Haken gesetzt ist, wird nach der Installation noch versucht auf dem Zielsystem potentiell vorhandene Konfliktaufgaben zu aktivieren.
Auftragsart Ein Entwicklungsauftrag der angegebenen Art wird automatisch angelegt, wenn dies zur Weiterverarbeitung von evtl. vorhandenen Konfliktaufgaben notwendig ist.
Entwicklungsaufträge erledigen Es wird versucht, betroffene Entwicklungsaufträge automatisch in den Status „Erledigt“ zu versetzen.
Quell-Ordner Ordner, in den das Quellsystem Softwareaktualisierungen exportiert.
Ziel-Ordner Ordner, aus dem das Quellsystem Softwareaktualisierungen zum Import einliest.

Hinweis:

Die folgenden Einstellungen sind nur auf Level 1 oder 2  Standardentwicklungssystemen möglich und nötig.

Feld Erläuterung
Quell-Ordner Ordner, in dem die Transportdateien liegen, die zur Aktualisierung des Zielsystems notwendig sind.
Ziel-Ordner Ordner des Zielsystems in den die Transporte zur

Aktualisierung des Zielsystems kopiert werden.

Import-Ordner des Quellsystems Ordner, in dem Transporte liegen, mit denen das Quellsystem aktualisiert wird.

Hinweis:

Unverarbeitet Transporte hier verhindern den Weitertransport ins angegebene Zielsystem

 

3.3               Aktivitätsdefinitionen

Die Anwendung feuert programmierte Ereignisse. Diese sind.

  • cisag.sys.sis.log.RefreshTargetSystemAbort (Abbruch)
  • cisag.sys.sis.log.RefreshTargetSystemNotPossible (Nicht möglich)
  • cisag.sys.sis.log.RefreshTargetSystemSuccess (Erfolgreich)

 

Wenn Sie entsprechende Aktivitätsdefinitionen erzeugen, können Sie z.B. einem Verantwortlichen für das System per Workflow eine email schicken.

 

Es folgen beispielhafte Aktivitätsdefinitionen.

 

3.3.1          Aktivität: Abbruch

Im Folgenden die Beschreibung einer Aktivitätsdefinition, die an den Benutzer „ADMIN“  eine email mit einer Benachrichtigung über den Abbruch der Systemaktualisierung schickt. Die Platzhalter, z.B. {system}, werden für den „Betreff“ durch formatSubject  bzw. für den Inhalt durch formatDescription ersetzt.

3.3.1.1      Tabellenreiter „Aktivität“

Betreff : Aktualisierung des Zielsystems {targetSystem} durch System {system} wurde abgebrochen.

Kategorie: email

Bearbeiter: Ausdruck

Bearbeitung: einzeln

Aktivitätstyp:email Nachricht

Email-versenden: immer

3.3.1.2      Tabellenreiter “Befehle”

setMailRecipientsTo(“ADMIN”);  /* change to desired user */

setMailRecipientsCC(“DEPUTY”); /* maybe another user */

setMailTemplate(“”);

var targetSystem := parameters.targetSystem;

formatSubject(“system”, system);

formatSubject(“targetSystem”, targetSystem);

 

formatDescription(“system”, system);

formatDescription(“targetSystem”, targetSystem);

formatDescription(“description “, description);

 

3.3.1.3      Tabellenreiter Ereignisse

Programmiertes Ereignis : com.cisag.sys.sis.log.RefreshTargetSystemAbort

3.3.1.4      Tabellenreiter Texte

Hallo ,

Die Aktualisierung des Systems {targetSystem} durch das System {system} wurde abgebrochen.

{description}

Hinweis:

Das ist natürlich nur ein Vorschlag für den email Inhalt.

3.3.2          Aktivität: Aktualisierung nicht möglich

Falls zu dem Ausführungszeitpunkt die Aktualisierung nicht möglich ist, bspw. weil einen andere Aktualisierung bereits läuft, kann mit Hilfe der folgenden Aktivitätsdefinition darauf reagiert werden.

3.3.2.1      Tabreiter „Aktivität“

Betreff : Aktualisierung des Zielsystem {targetSystem} durch System {system} war nicht möglich.

Kategorie: email

Bearbeiter: Ausdruck

Bearbeitung: einzeln

Aktivitätstyp:email Nachricht

Email-versenden: immer

3.3.2.2      Tabellenreiter “Befehle”

setMailRecipientsTo(“ADMIN”);  /* change to desired user */

setMailRecipientsCC(“DEPUTY”); /* maybe another user */

setMailTemplate(“”);

var targetSystem := parameters.targetSystem;

var description := parameters.description;

var failedAttemptCount := parameters.failedAttemptCount;

 

formatSubject(“system”, system);

formatSubject(“targetSystem”, targetSystem);

 

formatDescription(“system”, system);

formatDescription(“targetSystem”, targetSystem);

formatDescription(“failedAttemptCount”, failedAttemptCount);

formatDescription(“description”, description);

3.3.2.3      Tabellenreiter Ereignisse

Programmiertes Ereignis : com.cisag.sys.sis.log.RefreshTargetSystemNotPossible

Vorbedingung:

parameters.failedAttemptCount>1

 

Hinweis:

Die Vorbedingung kann man auch weglassen. Dann kommt bei jedem fehlgeschlagenen Versuch eine email.

3.3.2.4      Tabellenreiter Texte

Hallo,

Die Aktualisierung des Systems {targetSystem} durch das System {system} konnte nicht durchgeführt werden. Bislang gab es {failedAttemptCount} fehlgeschlagene Versuche.

{description}

Hinweis:

Das ist natürlich nur ein Vorschlag für den email Inhalt.

 

3.3.3          Aktivität: Aktualisierung erfolgreich

3.3.3.1      Tabellenreiter „Aktivität“

Betreff: Zielsystem {targetSystem} wurde erfolgreich durch System {system} aktualisiert.

Kategorie: email

Bearbeiter: Ausdruck

Bearbeitung: einzeln

Aktivitätstyp:email Nachricht

Email-versenden: immer

3.3.3.2      Tabellenreiter “Befehle”

setMailRecipientsTo(“ADMIN”);  /* change to desired user */

setMailRecipientsCC(“DEPUTY”); /* maybe another user */

setMailTemplate(“”);

var targetSystem := parameters.targetSystem;

 

/* Format activity subject */

formatSubject(“system”, system);

formatSubject(“targetSystem”, targetSystem);

formatDescription(“system”, system);

formatDescription(“targetSystem”, targetSystem);

var notProcessed :=cast(HashMap, parameters.notProcessedOrders);

 

var HTML := “<HTML><HEAD> <TITLE>Resultate</TITLE></HEAD><BODY>”;

 

var tableHTML := “<TABLE BORDER=3>”;

 

var orders :=cast(HashMap[], notProcessed.orders);

var i:=0;

 

var added :=false;

while (i<size(orders)) {

var currentOrder := orders[i];

i:=i+1;

var currentType := cast(String, currentOrder.type);

var currentNumber := cast(String, currentOrder.number);

var since := dateString( cast(Timestamp, currentOrder.since));

 

if(added = false){

added := true;

tableHTML :=tableHTML +”<tr>+ <th> Type </th> <th> Nummer </th> <th> Versucht seit </th>  <th> Failed </th>  <th> Kommentar </th> </tr>”;

}

tableHTML :=tableHTML +”<tr> <td>”+currentType +”</td> <td>”+currentNumber + “</td> <td>”+since+”</td> “;

var reasons:=cast(HashMap[], currentOrder.reason);

var j:=0;

 

while(j<size(reasons)){

var currentReason := reasons[j];

var failed := cast(String, currentReason.failed);

var failedComment := cast(String, currentReason.comment);

j:=j+1;

if (j=1){

tableHTML :=tableHTML +”<td>”+ failed +” </td><td> “+ failedComment + “</td> </tr>”;

}else{

tableHTML :=tableHTML +”<tr> <td></td> <td></td> <td></td> <td>”+ failed +” </td><td> “+ failedComment + “</td> </tr>”;

}

}

}

 

tableHTML := tableHTML + “</TABLE>”;

if (added){

HTML :=HTML+tableHTML;

}

 

HTML := HTML + “</BODY></HTML>”;

 

formatDescriptionHTML(“table”,HTML);

 

3.3.3.3      Tabellenreiter Ereignisse

Programmiertes Ereignis : com.cisag.sys.sis.log.RefreshTargetSystemSuccess

Vorbedingung:

size(cast(HashMap[], cast(HashMap, parameters.notProcessedOrders).orders))>0

Hinweis:

Die Vorbedingung kann man auch weglassen. Dann kommt bei jedem erfolgreichen Aktualisieren eine email. Mit Vorbedingung nur wenn es Aufträge gibt, die aus welchem Grund auch immer nicht eingespielt werden konnten. Diese Aufträge müssten untersucht werden, wenn sie zu lange schon nicht eingespielt werden konnten. Die Gründe dafür sind sehr individuell und damit zu speziell als das man es in einer Anwendung abbilden könnte.

 

3.3.3.4      Tabellenreiter Texte

Hallo ,

 

das System {system} hat erfolgreich das Zielsystem {targetSystem} aktualisiert.

 

Folgende Aufträge wurden nicht verarbeitet:

 

{table}

Hinweis:

Das ist natürlich nur ein Vorschlag für den email Inhalt.

 

 

4                     Customizing

Für die Anwendung Zielsystem aktualisieren“ sind in der Anwendung „Custo­mizing“ keine Einstellungen fest­zulegen.

5                     Business Entitys

Für die Anwendung „Zielsystem aktualisieren“ ist das nachfolgende Business Entity relevant, das Sie beispielsweise verwenden, um

  • Berechtigungen zu vergeben,
  • Aktivitätsdefinitionen einzurichten oder
  • Daten zu importieren oder zu exportieren.

 

Einheit

com.cisag.sys.sis.obj.CodeRefreshDefinition

Das Business Entity gehört zu folgender Business-Entity-Gruppe:

SIS Objekte

6                     Berechtigungen

Berechtigungen können sowohl mithilfe der Berechtigungsrollen als auch durch die Zuordnung einer Organisation vergeben werden. Das Berechtigungskonzept können Sie in der Technischen Dokumen­tation Berechtigungen nachlesen.

6.1               Spezielle Fähigkeiten

Für die Anwendung „Zielsystem aktualisieren“ bestehen keine speziellen Fähigkeiten.

6.2               Organisations-Zuordnungen

Für die Anwendung „Zielsystem aktualisieren“ ist eine Organisations-Zuordnung nicht erforderlich.

6.3               Besonderheiten

Für die Anwendung „Zielsystem aktualisieren“ bestehen keine Besonderheiten.

6.4               Berechtigungen für Geschäftspartner

Die Anwendung „Zielsystem aktualisieren“ ist für Geschäftspartner nicht freigegeben.

Czy ten artykuł był pomocny?