
Skript: Recycling-Heroes - Software Components [009]
In dieser Folge setzen wir die Software Komponenten für unser Projekt auf, definieren die Paketstruktur und verschiedenen Abschnitte und synchronisieren das Projekt mit Git. Damit kannst du dem aktuellen Stand folgen und gleichzeitig am Projekt arbeiten.
Inhaltsverzeichnis
Einführung
In dieser Folge schauen wir uns ein wenig zur ABAP Cloud Theorie der Software Komponenten an und legen die Software Komponenten plus die Struktur im System an, um langsam mit der Arbeit für ds Unternehmen Recycling-Heroes zu beginnen. Am Ende synchronisieren wir alle Pakete mit dem Github Repository.
Theorie
Wie Software Komponenten funktionieren und miteinander interagieren hatten wir bereits in der Vergangenheit in einem ABAP Cloud Artikel beschrieben. Hier findest du noch einmal die vollständige Theorie. Den Artikel findest du auch verlinkt in der Videobeschreibung. In der Software-Komponenten-Theorie gehen wir davon aus, dass wir nicht alle Entwicklungen in einem Paket durchführen, sondern Funktionen und Anwendungen strukturieren nach verschiedenen Komponenten. Zu diesen Komponenten gehören zum Beispiel die verschiedenen Apps, Schnittstellen, Fiori Deployments, Testkomponenten und freigebene Komponenten. Damit wird sofort klar, was ich wo in der Software Komponente finde, wenn ich in die Analyse einsteige oder mir einen Überblick über eine Software Komponente machen möchte. Im unteren Teil des Artikels ist noch einmal beschrieben, was genau die verschiedenen Pakete tun. Dort findest du noch weitere Informationen, wieso wir die verschiedenen Komponenten voneinander getrennt halten wollen.
Schauen wir uns zuerst einmal alle unsere Software Komponenten an, die wir anlegen wollen. Wir legen eine Software Komponente für den Core an und eine für den Prozess. Dort sind die meisten Prozesse enthalten. Eine weitere Komponente für das ganze Thema Finanzen, da wir den Finanzbereich vom Prozessbereich trennen möchten. Dazwischen findest du die verschiedenen Pakete für die Anwendungen, die wir planen. Eine Anwendung kann eine Fiori sein, eine Business Configuration oder ein Application Job. Weiterhin definieren wir die verschiedenen Pakete für die Tests, wiederverwendbaren Komponenten und so weiter.
Software Component
Als Nächstes kümmern wir uns um die Anlage der Pakete im System. Dafür brauchen wir im ersten Schritt drei Software Komponenten, die unsere Struktur wiederspiegeln sollen. Um die Software Komponenten anlegen zu können, können wir über das System und den entsprechenden Properties in das Launchpad abspringen. Unter dem Punkt ABAP Development findest du den Link zum Launchpad des Systems. Dort gehen wir in den Bereich Administration und in die "Manage Software Components" App. Dort filtern wir uns die Software Komponenten, die es aktuell noch nicht gibt. Über den "Create" Button können wir eine neue Software Komponente anlegen. Dieser geben wir einen Namen und eine Beschreibung, im Anschluss legen wir die Komponente an. Damit die Software Komponente anschließend im System zur Verfügung steht, müssen wir diese noch Klonen. Durch das Klonen wird der entsprechende Transportweg und das Strukturpaket im System angelegt. Das Ganze führen wir jetzt noch für den Prozess durch. Im Prozess sollten entsprechend der Großteil der Anwendungen und Prozesse liegen die wir später implementieren. Führen wir auch hier das Klonen durch. Je nach System kann das einige Sekunden in Anspruch nehmen, bis die Komponente geklont wurde. Zum Abschluss legen wir noch die letzte Software Komponente an, diese ist für die Finanzen gedacht. Bevor wir die App verlassen, erhalten wir noch einen Überblick über alle drei Komponenten.
Pakete
Sind alle drei Software Komponenten angelegt, können wir wieder zurück ins System gehen. Nun fügen wir die erzeugten Pakete zu unseren Favoriten hinzu. Dazu können wir auf den Ordner "Favorite Packages" gehen und per Rechtsklick über das Kontextmenü nach einem Paket suchen. Über das Kürzel ZRH finden wir die entsprechenden Strukturpakete, die im System generiert wurden.
Als Nächstes legen wir die Unterpakete im Bereich Core an. Die Struktur der Pakete ist immer relativ ähnlich aufgebaut. Auf der ersten Ebene findest du die grobe Unterteilung der Pakete zum Beispiel App für alle Anwendungen, Jobs und Business Configurations, die wir bauen. Dazu gibt es ein Fiori Paket. Im Fiori-Paket würden wir normalerweise später die Anwendung deployen, aber auch so etwas wie IAM Apps und Business Kataloge anlegen. Im Bereich Re-Use finden wir Komponenten, die zwischen den verschiedenen Anwendungen geteilt werden, aber grundsätzlich nicht Software-Komponenten-übergreifend freigegeben werden. Im Shared-Paket sollen später einmal Komponenten liegen, die wir mit einem C1-Contract versehen und für andere Software Komponenten freigeben. Im Test-Paket findest du dann entsprechende Unit Tests und Testkomponenten, die nicht direkt an ein Objekten entwickelt wurden, wie z.b Unit Tests für Core Data Services oder der Aufruf einzelner Funktionen. Zum Abschluss legen wir die verschiedenen Anwendungen im App-Paket an, die wir später einmal bauen wollen. Hier noch der Teaser dazu, dass sich die Anzahl der Anwendungen noch ändern kann.
Sind wir mit dem Core Modul fertig, kümmern wir uns um die Anlage des Prozesses. Hier legen wir ähnliche Pakete an, wie bereits für den Core. Grundsätzlich unterscheidet sich hier vor allem das Paket der Anwendungen und Apps. Da wir hier andere Anwendungen zur Verfügung stellen und diese noch einmal größer sind. Es ist noch einmal wichtig zu verstehen, das pro Software Komponente ein eigener Transport nötig ist, weil hinter der Software-Komponente eine eigene Transportschicht und Git-Repository liegt und die Objekte deshalb nicht in einem Transport transportiert werden können. Dies ist On-Prem anders und betrifft vor allem das ABAP Environment, auf dem wir hier arbeiten.
Im dritten und letzten Schritt legen wir noch den Bereich Finanzen an. Hier gibt es wieder die Standardpakete, aber zum Beispiel kein Shared-Paket, dafür aber ein Paket für Schnittstellen. Hier sind später noch Schnittstellen zu anderen Systemen oder Services und Diensten geplant, um eine Integration durchzuführen.
Git
Sind wir mit der Anlage der Pakete durch, können wir das ganze nun via GitHub sichern. Dazu legen wir uns zuerst in Github drei neue Repositorys an. Wie du ein Repository erstellst, erfährst du in einem anderen YouTube-Video von uns über die Integration von abapGit. Einen Link zum Video findest du unten in der Vieobeschreibung oder auf unserem Kanal.
In diesem Fall definieren wir das Repository als Privat, da wir es erst einmal nicht sichtbar machen wollten für die anderen Nutzer auf Github. Wichtig ist dabei wieder die Initialisierung über das README File und eine sprechende Beschreibung. Im Anschluss wechseln wir in die ABAP Development Tools und verknüpfen die Repositorys mit den entsprechenden Paketen, die wir angelegt haben. Nach dem Verknüpfen können wir die Objekte ins Repository synchronisieren. So kannst du jede Änderung, die wir jetzt mit den Tutorials durchführen nachvollziehen und in den verschiedenen Commits den Fortschritt verfolgen.
Zum Abschluss überprüfen wir Github, ob die entsprechenden Paketstrukturen auch im Repository angekommen sind und abgebildet werden.
Ausblick
Nächsten Video werden wir dann mit der Anlage des ersten Datenmodells und der ersten Anwendung beginnen, die wir uns Schritt für Schritt genauer anschauen werden.
Danke fürs zuschauen und bis zum nächsten Mal.
YouTube:
Video