Markus von der HeidenMarkus von der Heiden HP PPM – Transport Management für sich selbst

18.11.08 by Markus von der Heiden

HP PPMC Object Migration Guide

Ein in HP PPM entwickelter Prozess, beispielsweise ein Prozess, der ein SAP ABAP Deployment automatisiert, besteht PPMC-entwicklungstechnisch aus vielen einzelnen PPMC-Objekten. Diese müssen einzeln und als Prozess zusammenwirkend getestet werden. Diese Tests erfolgen typischerweise auf einer Test-PPMC-Instanz. Nach erfolgreichen Tests werden die entwickelten und getesteten Prozesse auf einer PPMC-Instanz produktiv in der eigentlichen IT-Systemlandschaft zum Einsatz kommen und dort Prozesse steuern, respektive soweit möglich automatisiert ablaufen lassen.

beteo SAP Demo Szenario: PPMC Migration

beteo SAP Demo Szenario: PPMC Migration

Für das Transportieren über die Instanzen hinweg – im Kontext von PPMC-Objekten „Migrieren“ genannt – liefert PPMC einen ‚Migrationsmechanismus‘ [Migration], der dafür sorgt, dass für PPMC gesteuerte Prozesse alle betroffenen technischen PPMC-Objekte mit all Ihren abhängigen Objekten von PPMC-Instanz zu Instanz migriert werden können.

In PPMC werden hierfür sogenannte Packages gebildet, in denen jede einzelne Package-Zeile jeweils ein technisches PPMC-Objekt des Prozesses darstellt. Zur Bildung von Packages sollten vor Beginn der PPMC-Prozess-Entwicklung pro Prozess für alle möglichen Objekte bereits die entsprechenden Objekttypen im voraus definiert werden.

Für unser obiges Beispiel bilden wir für den ‚SAP ABAP Deployment‘-Prozess Packages mit folgenden Objekttypen:

Name des Komponent-Typ

PPMC Typ

Bemerkung

SAP ABAP Deployment Prozess

Workflow Type

Der Workflow mit seinen technischen Komponenten: Workflow Step, Workflow Step Source, Workflow Step Source Validierungen und allen zugehörigen Kommandos (’special command‘)

SAP ABAP Deployment Form

Request Type

Das Formular (Request) mit seinen technischen Komponenten: Header, Felder, Feld Validierungen, Regeln und allen zugehörigen Kommandos (’special command und request type command‘)

SAP ABAP GUI

Module Type

Die Module, die in den jeweiligen Dashboards angezeigt werden sollen

SAP ABAP GUI Definition

Portlet Type

Die Portlets, die für obige Module Voraussetzung sind

SAP ABAP GUI Sources

Datasource Type

Die Datenquelle, die für obige Portlets Voraussetzung sind

SAP ABAP SCHEMA

User Data Type

Die Erweiterungen des Schemas für die obigen Softwarekomponente

SAP ABAP INSTANZ *

Environment Type

Die notwendigen Environments für den Deployment Prozess (SAP Instanzen)

SAP ABAP REPORT *

Report Type

Die definierten Reports und Schedules für den obigen Prozess

SAP ABAP Notify *

Notification Type

Die eigenentwickelten Templates für Benachrichtigungen

SAP ABAP Role *

Security Group Type

Alle Rollen (Security Groups), die im BPMN des Prozesses als ’swimlane‘ abgebildet sind

SAP ABAP PROJECT *

Project Type

Den – falls geplanten – Projekt Type und alle abhängigen Workflow Types sowie Request Types

File(s) *

External

Skripte und Java Komponenten, die als externe Kommandos definiert wurden (z.B. SAP JCo)

PLSQL *

External

PL/SQL-Prozeduren und/oder Packages die als Datenbank Kommandos entwickelt werden sollen

Tabellen/Views

External

Tabellen und Views, die abweichend vom Standard entwickelt werden sollen

Jede entwicklungstechnische Komponente eines Prozesses bildet im Package eine Package-Zeile. Dabei ist darauf zu achten, dass die Zugehörigkeit von Objekten zum Package durch das Entwicklungsteam manuell definiert werden müssen. Automatischen Mechanismen von PPMC hierfür fehlen. PPMC unterstützt ebenso keine Versionierung der Objekte. Somit können die Objekte nur durch entsprechende Namenkonventionen versioniert werden. Die Namenkonventionen und die Versionierungrichtlinien sollten in den gültigen PPMC-Entwicklungsrichtlinien festgelegt werden.

Eine Migration beginnt also schon mit vorbereitenden Massnahmen wie

  • Definition der PPMC-Objekttypen (wie oben beispielhaft beschrieben) im High-Level-Design.
  • Detailbeschreibung der PPMC-Objekttypen und Definition der Abhängigkeiten (Zugehörigkeit) im Low-Level-Design.
  • Anlegen von Packages für die jeweiligen Prozesse

Während der Entwicklung sind folgende Massnahmen für eine sichere Migration notwendig:

  • Versionierung aller Objekte (Ausnahme Workflow, Request Type: diese beiden Objekttypen sollten ihren Namen nicht verändern. Hier wird nur die ältere Version mit einem Kennzeichen im Namen gespeichert.)
  • Anlegen eines neuen Objekts und parallel Anlegen des Objekts als Package-Zeile
  • Entwicklung des Objekts und ‚Entwicklertest‘ sowie Dokumentation
  • Abschluss der Entwicklung durch Anlegen der getesteten Komponente im Paket
  • Vorbereitung der Migration (Aufstellen des Migrationsplans)

Zur Vereinfachung und besseren Kontrolle sollten zusätzlich folgende Definitionen erfolgen:

  • Anlegen eines Software-Komponenten Requests mit Workflow. Dieser Workflow ist Teil des Entwicklungsprozesses und ermöglicht die Pflege der Paketzeilen ausserhalb der Workbench.
  • Anlegen eines ‚Migrations-Benutzers‘ auf allen Systemen.
  • Nach Abschluss der Entwicklung werden die Paketzeilen mit dem mitgelieferten Skript automatisch gespeichert und mit den Login-Daten des Migrations Benutzers versehen.
  • Abnahme der Entwicklertests und dann Freigabe der Migration durch den Entwicklungsleiter.
  • Start der Migration zur Test Instanz
  • Abnahme der Test durch den Testleiter
  • Kontrolle der einzelnen Softwarekomponenten innerhalb eines Releases bezüglich Abhängigkeiten
  • Einfrieren der Entwicklung und der Tests für den Zeitraum der Abhängigkeitsanalyse
  • Abnahme der Abhängigkeitsanalyse und Freigabe Migration durch den Release Manager
  • Start der Migration zur Produktion Instanz

Nach der ersten erfolgreichen Migration werden die Package-Zeilen im Package belassen. So ist lückenlos nachvollziehbar, welche Objekte wann auf welchem System installiert wurden. Dazu wird eine Data Source entworfen, die die Objekte aus den Tabellen der Packages extrahiert. Mit dem PPMC-Dashboard können bei Bedarf Abhängigkeiten zwischen Objekten analysiert werden.

Zusammenfassung: PPMC Object Migration Guide

Die Migration von Objekten über Instanzen von PPMC hinweg, beginnt bereits mit der Analyse des Prozesses, seiner Bausteine und damit der Definition der einzelnen Komponenten. Nur mit „wasserdichten“ Kontrollmechanismen und einer genauen Analyse der Abhängigkeiten zwischen den Objekten,  kann die Konsistenz der Prozesse über die Instanzen hinweg sichergestellt werden. Dazu sind fundierte Kenntnisse der Zusammenhänge der Objekttypen in PPMC und im PPMC-Datenbankschema notwendig.

Sphere: Related Content

Kommentar schreiben

XHTML: Sie können diese Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>