Entwicklungsobjekte ausliefern

1                     Themenübersicht

Mit der Anwendung „Entwicklungsobjekte ausliefern“ können Sie Entwicklungsobjekte entlang der normalen Transportwege in ein anderes Entwicklungssystem übernehmen, dabei können Systeme im Transportweg übersprungen werden. Für diese Auslieferung werden spezielle Softwareaktualisierungen erzeugt, die neben den normalen Softwareaktualisierungen existieren.

2                     Zielgruppe

  • Entwickler
  • Technische Berater
  • Administratoren

3                     Voraussetzungen

Kenntnisse über die Systemlandschaften, Softwareaktualisierungen und Entwicklungsobjekte.

4                     Begriffsbestimmung

Vorabauslieferung

Softwareaktualisierung, die durch die Anwendung „Entwicklungsobjekte ausliefern“ erzeugt wird.

5                     Beschreibung

Änderungen an Entwicklungsobjekten können mithilfe von Softwareaktualisierungen gemäß den durch die Comarch Software und Beratung AG festgelegten Transportwegen transportiert werden. Ausgewählte Entwicklungsobjekte (Korrekturen) schnell in bestimmte Systeme zu bringen, ist damit nur beschränkt möglich.

Anwendungsbeispiele

Mit der Anwendung „Entwicklungsobjekte ausliefern“ können Sie ausgewählte Entwicklungsobjekte entlang der normalen Transportwege transportieren. Dabei können bestimmte Systeme übersprungen werden. Sie können zum Beispiel Entwicklungsobjekte aus einem Partnerentwicklungssystem in ein Kundenadaptierungssystem transportieren, ohne sie vorher in das zugehörige Entwicklungstestsystem eingespielt zu haben. Das kann notwendig sein, wenn mehrere Kundenadaptierungen aus der Partnerentwicklung versorgt werden und bestimmte Korrekturen für ein Kundenadaptierungssystem sehr wichtig sind, aber noch nicht im Entwicklungstestsystem sind (siehe Abbildung).

Beim Ausliefern von Entwicklungsobjekten werden Softwareaktualisierungen erzeugt, die die zu übertragenen Entwicklungsobjekte enthalten. Die Anwendung berücksichtigt grundsätzlich nur Entwicklungsobjekte aus dem Anwendungs-Code.

Folgende Varianten stehen zur Verfügung, mit denen Sie Entwicklungsobjekte auswählen können, die in der Vorabauslieferung enthalten sein sollen:

  • „Aktive Version“

Aktive Version eines Entwicklungsobjekts

  • „Einwicklungsaufgabe“

Alle Entwicklungsobjekte, die in einer Entwicklungsaufgabe bearbeitet und aktiviert wurden.

  • „Softwareaktualisierung“

Alle Entwicklungsobjekte, die einer Softwareaktualisierung zugeordnet sind.

  • „Entwicklungsauftrag“

Alle Entwicklungsobjekte, die mit einem Entwicklungsauftrag bearbeitet wurden.

Außerdem werden durch das System Entwicklungsobjekte, die von den ausgewählten Entwicklungsobjekten benötigt werden, der Softwareaktualisierung hinzugefügt. Dabei werden nur Entwicklungs­objekte aus dem Anwendungs-Code berücksichtigt, die mindestens einer weiteren Export-Software­aktualisierung zugeordnet sind. Abhängige Java-Klassen werden nicht automatisch aufgenommen. Dadurch wird einerseits versucht eine Softwareaktualisierung zu erstellen, die einen technisch konsistenten Stand transportiert, und andererseits nicht zu viele Entwicklungsobjekte enthält. Abhängigkeiten zwischen Softwareaktualisierungen werden beim automatischen Hinzufügen der notwendigen Entwicklungsobjekte nicht berücksichtigt. Durch diese Einschränkung kann eine inhaltliche Konsistenz der Vorabauslieferung nicht gewährleistet werden.

Nach der Installation der Softwareaktualisierung auf dem Zielsystem, muss diese dort getestet werden. Dass das System nach dem Installieren vollständig funktionstüchtig ist, wird nicht garantiert. Da beispielsweise abhängige Java-Klassen nicht automatisch aufgenommen werden, kann der Klassenstand inkompatibel sein und zu Laufzeitfehlern führen. Diese Fehler müssen entweder durch weitere Softwareaktualisierungen oder Adaptierungen beseitigt werden. Dieses Szenario tritt vor allem bei Systemen auf, in denen sich die Systemstände zwischen Quell –und Zielsystem stark unterscheiden.

Warnung:
Die erzeugten Softwareaktualisierungen sind immer permanent und können nicht mehr aus dem Zielsystem entfernt werden.

Die erzeugte Softwareaktualisierung verhält sich beim Einspielen im Zielsystem wie eine normal erzeugte Softwareaktualisierung. Sind enthaltene Versionen von Entwicklungsobjekten schon im Zielsystem vorhanden sind, werden diese beim Einspielen ignoriert. Dadurch werden unnötige Konflikte vermieden. Zu einem späteren Zeitpunkt werden diese Versionen auf dem normalen Transportweg noch einmal in das System kommen, sie werden dann ebenfalls ignoriert.

Die Softwareaktualisierungen hinterlassen im Quellsystem keine Spuren. Die Auswahl der zu exportierenden Entwicklungsobjekte wird nicht dauerhaft gespeichert. Die Softwareaktualisierungen werden nicht im Quellsystem gespeichert und es gibt keine Abhängigkeiten von oder zu diesen Softwareaktualisierungen. Allerdings werden die enthaltenen Versionen beim Einspielen in das Zielsystem zu einer normalen Export-Softwareaktualisierung hinzugefügt, die auch an Folgesysteme weitergegeben werden muss, da die Versionen sonst nie die Folgesysteme erreichen würden.

Hinweis:
Wenn möglich, sollte der normale Transportweg benutzt werden.

5.1               Verwendung in einem Qualitätssicherungssystem

Die Zielsetzung in einem Qualitätssicherungssystem ist ebenfalls, eine Entwicklung in ein nachgelagertes System einzuspielen, ohne den definierten Standardtransportweg zu berücksichtigen. In einem Qualitätssicherungssystem können nur Softwareaktualisierungen als gesamte Einheit einer Vorabauslieferung hinzugefügt werden. Einzelne Entwicklungsobjekte können der Auswahl nicht hinzugefügt werden. Durch diese Vorgehensweise wird in der Regel die inhaltliche Konsistenz der Vorabauslieferung gesichert (z. B. inhaltliche Abhängigkeiten zwischen Java-Klassen).

Auch die Auswahl der Entwicklungsobjekte nach Entwicklungsaufgabe oder Entwicklungsauftrag ist nicht möglich. Diese Zuordnung existiert nicht mehr in einem Qualitätssicherungssystem.

Anwendungsbeispiele: Entwicklungsobjekte ausliefern in einem Qualitätssicherungssystem

Warnung:
Wird das Partnerentwicklungssystem durch eine Vorabauslieferung umgangen, dann kann das im Kundenadaptierungssystem dazu führen, dass eine Adaptierung, die im Partnerentwicklungssystem erfolgte, im Kundensystem durch die Vorabauslieferung übersteuert wird.

5.2               Vorabauslieferungen von Apps

Auf App-Entwicklungstestsystemen können Sie Vorabauslieferungen für eine App erzeugen. Technische Restriktionen beschränken den Umfang von Vorabauslieferungen für Apps.

Um eine optimierte Zusammenstellung der notwendigen Objekte zu erhalten starten Sie auf dem zugehörigen Entwicklungssystem die Hintergrundanwendung „Repositoryinformationsdienst starten“. Dadurch können Entwicklungsauftragsinformationen ausgewertet werden, die auf dem Testsystem nicht vorhanden sind.

5.2.1          Aufnahmevoraussetzungen

Eine Vorabauslieferung kann nur Objekte einer App enthalten. Ein Objekt kann nur dann vorab ausgeliefert werden, wenn dessen aktive Version noch nicht regulär ausgeliefert wurde. Bereits ausgelieferte Versionen haben ein Auslieferungslabel und werden beim Zusammenstellen einer Vorabauslieferung automatisch ignoriert.

5.2.2          Benötigte Objekte

Haben Sie ein Objekt zur Vorabauslieferung ausgewählt, dann benötigt dieses u. U. andere Objekte, um im Zielsystem korrekt installiert werden zu können. Sind diese benötigten Objekte Teil derselben App, dann werden sie automatisch mit in die Vorabauslieferung aufgenommen.

Werden Objekte benötigt, die nicht Teil derselben App sind, dann wird für diese geprüft, ob sie beim Installieren der Vorabauslieferung problematisch sind oder nicht.

In der Anwendung „Systemcockpit“ kann für eine App festgelegt werden, welche anderen Apps vorausgesetzt werden. Bei der Auslieferung einer App wird diese Information der Softwareaktualisierung hinzugefügt. Da Apps unabhängig voneinander weiterentwickelt werden können, wird zusätzlich die benötigte Version der vorausgesetzten Apps vermerkt.

Die letzte exportierte Softwareaktualisierung der App wird herangezogen, um die vorausgesetzten Apps und deren Versionen zu bestimmen.

5.2.2.1      Benötigtes Objekt mit anderem Entwicklungspräfix

Hat ein benötigtes Entwicklungsobjekt ein anderes Entwicklungspräfix, dann wird diese Abhängigkeit ignoriert. Entwicklungsobjekte mit abweichendem Entwicklungspräfix gehören zu einer App, die nicht auf dem System entstanden ist, wie die App, für die eine Vorabauslieferung erzeugt werden soll.

Hinweis:

Auch für Standardobjekte wird die Abhängigkeit ignoriert. Zudem kann der Fix-Stand des Zielsystems von dem des App-Entwicklungstestsystems abweichen. Deshalb ist keine sinnvolle Prüfung möglich.

5.2.2.2      Benötigtes Objekt aus nicht benötigter App

In der Anwendung „Systemcockpt“ wird festgelegt, welche anderen Apps (Module) für die Entwicklung einer App benötigt werden. Wird nun für die Vorabauslieferung einer App ein Objekt benötigt, welches aus einer anderen App stammt, die nicht in der Liste der benötigten Apps aufgeführt wird, dann ist eine Vorabauslieferung nicht möglich. Dabei wird der Zeitpunkt der letzten Auslieferung herangezogen.

Beispiel:

Zur App A soll eine Vorabauslieferung erstellt werden. Bei der letzten Auslieferung zur App A, Version 3, wurde ausschließlich die App B, Version 5, als Installationsvoraussetzung angegeben.

Deshalb ist in einer darauf folgenden Vorabauslieferung eine Referenz auf ein Objekt aus der App C verboten.

5.2.2.3      Benötigtes Objekt aus benötigter App

In der Anwendung „Systemcockpt“ wird festgelegt, welche anderen Apps (Module) für die Entwicklung einer App benötigt werden. Wird nun für die Vorabauslieferung einer App ein Objekt benötigt, welches aus einer anderen App stammt, die in der Liste der benötigten Apps aufgeführt wird, dann wird die Softwareaktualisierung der letzten Auslieferung vorausgesetzt.

Beispiel:

Zur App A soll eine Vorabauslieferung erstellt werden. Bei der Auslieferung zur App A, Version 3, wurde die App B, Version 5, als Installationsvoraussetzung angegeben. Beim Erzeugen der Vorabauslieferung wird die Softwareaktualisierung bestimmt, in der die App B in der Version 5 enthalten ist. Die aktiven Versionen der benötigten Objekte aus der App B müssen in genau dieser Softwareaktualisierung enthalten sein.

5.2.2.4      Benötigtes Objekt ist ein neues Objekt

Die Existenz eines neuen, noch niemals ausgelieferten Objekts aus einer anderen App kann im Zielsystem nicht vorausgesetzt werden. In diesem Fall wird eine Fehlermeldung ausgegeben. Das trifft auch dann zu, wenn die andere App als benötigte App festgelegt wurde.

5.2.2.5      Benötigtes Objekt hat die korrekte Version

Hat ein benötigtes Objekt die richtige Version, dann wird die Abhängigkeit ignoriert.

Voraussetzung

Die App, aus der das benötigte Objekt stammt, gehört zu den benötigten Apps.

Beispiel:

Zur App A soll eine Vorabauslieferung erstellt werden. Bei der letzten Auslieferung zur App A, Version 3, wurde die App B, Version 5, als Installationsvoraussetzung angegeben.

Objekt X aus der App A benötigt das Objekt Y aus der App B.

Die App B, Version 5, wurde mit der Softwareaktualisierung S ausgeliefert.

Ist die aktive Version von Objekt Y ebenfalls in der Softwareaktualisierung S enthalten, dann wird die Abhängigkeit ignoriert. In allen anderen Fällen nicht.

5.2.2.6      Benötigtes Objekt hat die falsche Version

Ist die aktive Version eines benötigten Objekts nicht in der vorausgesetzten Softwareaktualisierung enthalten, dann wird geprüft, um welchen Entwicklungsobjekttypen es sich handelt. Einige Entwicklungsobjekttypen führen potenziell zu Datenbankproblemen.

Wird einer der folgenden Entwicklungsobjekttypen benötigt, dann kann keine Vorabauslieferung erstellt werden:

  • Business Object
  • Extension
  • Part
  • Logischer Datentyp

Für alle anderen Entwicklungsobjekttypen kann eine Vorabauslieferung erstellt werden.

Voraussetzung

Die App, aus der das benötigte Objekt stammt, gehört zu den benötigten Apps.

6                     Anwendungsbeschreibung

Die Anwendung „Entwicklungsobjekte ausliefern“ dient zum Ausliefern von Entwicklungsobjekten in ein Entwicklungssystem unter Umgehung der Testsysteme. Sie besteht aus einem Arbeitsbereich.

6.1               Arbeitsbereich

Der Arbeitsbereich besteht aus der Liste mit den Suchergebnissen. Es stehen über die Buttons in der Titelzeile der Liste mehrere Suchen zur Verfügung, mit denen Sie die Entwicklungsobjekte für die Auslieferung auswählen und der Liste hinzufügen können.

Button Erläuterung
Aktive Version Durch die Angabe von Namensraum, Name und Entwicklungsobjekttyp können Sie gerade im System aktive Versionen von Entwicklungsobjekten auswählen.

Automatisch hinzugefügte, benötigte Entwicklungsobjekte werden aus der Liste entfernt und müssen neu ermittelt werden.

Entwicklungsaufgabe Durch die Angabe einer Entwicklungsaufgabe können Sie alle Versionen von Entwicklungsobjekten auswählen, die in der Entwicklungsaufgabe bearbeitet wurden. Automatisch hinzugefügte, benötigte Entwicklungsobjekte werden aus der Liste entfernt und müssen neu ermittelt werden.
Softwareaktualisierung Durch die Angabe einer Softwareaktualisierung können Sie alle Versionen von Entwicklungsobjekten auswählen, die der Softwareaktualisierung zugeordnet sind.

Automatisch hinzugefügte, benötigte Entwicklungsobjekte werden aus der Liste entfernt und müssen neu ermittelt werden.

Entwicklungsauftrag Durch die Angabe eines Entwicklungsauftrages können Sie alle Versionen von Entwicklungsobjekten auswählen, die mit diesem Entwicklungsauftrag bearbeitet wurden.

Automatisch hinzugefügte, benötigte Entwicklungsobjekte werden aus der Liste entfernt und müssen neu ermittelt werden.

Änderungen In einem App-Entwicklungstestsystem müssen Sie eine App auswählen.

Durch die Angabe von Namensraum, Name und Entwicklungsobjekttyp können Sie gerade im System aktive, aber noch nicht ausgelieferte Versionen von Entwicklungsobjekten auswählen.

Automatisch hinzugefügte, benötigte Entwicklungsobjekte werden aus der Liste entfernt und müssen neu ermittelt werden.

Löschen Löscht die aktuell ausgewählten Entwicklungsobjekte aus der Liste. Automatisch hinzugefügte, benötigte Entwicklungsobjekte werden aus der Liste entfernt und müssen neu ermittelt werden.

In einem Qualitätssicherungssystem werden alle Entwicklungsobjekte aus der Liste entfernt, die der gleichen Softwareaktualisierung zugeordnet sind, wie das zu löschende Entwicklungsobjekt.

 

Hinweis:
Entwicklungsobjekte aus dem System-Code werden nicht der Liste hinzugefügt.

Die Liste besitzt folgende Spalten:

Spalte Erläuterung
Typ Anzeige des Entwicklungsobjekttyps.
Namensraum Anzeige des Namensraums des Entwicklungsobjekts.
Name Anzeige des Namens des Entwicklungsobjekts.
Version Anzeige der Version des Entwicklungsobjekts.
Auswahl durch Anzeige, durch welche Aktion diese Version eines Entwicklungsobjekts zur Liste hinzugefügt wurde:

·       Aktive Version:
Aktive Version des Entwicklungsobjekts hinzugefügt.

·       Nicht ausgelieferte, aktive Version:
Aktive, aber noch nicht ausgelieferte Version des Entwicklungsobjekts hinzugefügt.

·       Entwicklungsaufgabe:
Entwicklungsobjekt durch Auswahl einer Entwicklungsaufgabe hinzugefügt.

·       Softwareaktualisierung:
Entwicklungsobjekt durch Auswahl einer Softwareaktualisierung hinzugefügt.

·       Entwicklungsauftrag:
Entwicklungsobjekt durch Auswahl eines Entwicklungsauftrags hinzugefügt.

·       System:
Automatisch hinzugefügte, benötigte Version.

6.2               Anwendungsbezogene Aktionen

Folgende Aktionen stehen Ihnen unter dem Aktionen-Button der Standard-Symbolleiste zur Verfügung, wenn Sie im Arbeitsbereich eine Liste mit Entwicklungsobjekten erstellt haben.

  • Notwendige Entwicklungsobjekte hinzufügen
  • Notwendige Entwicklungsobjekte gemäß Verwendungsnachweis hinzufügen
  • Softwareaktualisierung erzeugen und exportieren

6.2.1          Notwendige Entwicklungsobjekte hinzufügen

Ermittelt alle notwendigen Entwicklungsobjekte gemäß Entwicklungsauftrag, um für die in der Liste angezeigten Entwicklungsobjekte eine Softwareaktualisierung erzeugen zu können, und fügt diese der Liste hinzu. Erst danach kann die Vorabauslieferung erzeugt werden. Wird die Liste der Entwicklungsobjekte geändert, dann muss die Aktion erneut ausgeführt werden, sodass wiederum die notwendigen Entwicklungsobjekte erneut ermittelt und hinzugefügt werden können.

Wird diese Aktion auf einem Test-System ausgeführt, dann muss zuvor auf dem zugehörigen Entwicklungssystem die Hintergrundanwendung „Repositoryinformationsdienst starten“ gestartet werden. Anderenfalls können keine Entwicklungsobjekte hinzugefügt werden, weil die Entwicklungsauftragsinformationen fehlen.

6.2.2          Notwendige Entwicklungsobjekte gemäß Verwendungsnachweis hinzufügen

Ermittelt alle notwendigen Entwicklungsobjekte auf Basis ihrer Abhängigkeit gemäß Verwendungsnachweis, um für die in der Liste angezeigten Entwicklungsobjekte eine Softwareaktualisierung erzeugen zu können, und fügt diese der Liste hinzu. Erst danach kann die Vorabauslieferung erzeugt werden. Wird die Liste der Entwicklungsobjekte geändert, dann muss die Aktion erneut ausgeführt werden, sodass wiederum die notwendigen Entwicklungsobjekte erneut ermittelt und hinzugefügt werden können.

6.2.3          Softwareaktualisierung erzeugen und exportieren

Erzeugt die Softwareaktualisierung, in der alle Entwicklungsobjekte der angezeigten Liste enthalten sind. Vor der Erzeugung der Softwareaktualisierung müssen erst alle notwendigen Entwicklungsobjekte ermittelt und der Liste hinzugefügt werden. Die erzeugte Softwareaktualisierung wird im Verzeichnis unter refreshes/export/delivery abgelegt.

Czy ten artykuł był pomocny?