{"id":367,"date":"2013-06-13T09:05:11","date_gmt":"2013-06-13T07:05:11","guid":{"rendered":"https:\/\/blog.mindsquare.de\/aiko-schmale\/?p=98"},"modified":"2024-02-05T11:30:44","modified_gmt":"2024-02-05T10:30:44","slug":"mein-fazit-warum-bopf-jeder-einsetzen-sollte","status":"publish","type":"post","link":"https:\/\/erlebe-software.de\/abap-und-co\/mein-fazit-warum-bopf-jeder-einsetzen-sollte\/","title":{"rendered":"Mein Fazit: Warum BOPF jeder einsetzen sollte"},"content":{"rendered":"\n
E-Book SAP Entwicklung<\/a>SAP Transaktionen<\/a>Übersicht SAP Tabellen<\/a><\/p>\n Ich habe bereits vor offiziellem Release in einem Ramp-Up-Projekt BOPF<\/strong><\/a> als Entwickler eingesetzt. In diesem Artikel möchte ich meine Erfahrungen mit dieser neuen Technologie mit Ihnen teilen. Ich zeige Vor- und Nachteile auf und gebe mein persönliches Fazit.<\/p>\n Sie wollen die ABAP-Entwicklung effizienter gestalten? In einem unverbindlichen Gespräch zeigen wir Ihnen gerne die Möglichkeiten auf, die das neue SAP BOPF Framework bietet.<\/p>\n Kontaktieren Sie uns! Telefon 0211.9462 8572-16 und per E-Mail info@erlebe-software.de<\/a><\/p>\n Unser passendes Angebot dazu: Die Lösung – BOPF Kickstarter Workshop<\/a><\/p><\/blockquote>\n <\/p>\n Bereits in einem früheren Artikel<\/a> habe ich das B<\/strong>usiness O<\/strong>bject P<\/strong>rocessing F<\/strong>ramework (BOPF) kurz vorgestellt. Schon vor dem offiziellen Release hatte ich die Gelegenheit, BOPF in einem Ramp-Up-Projekt für ein dreiviertel Jahr intensiv als Entwickler einzusetzen und konnte dadurch ein umfangreiches KnowHow aufbauen und Erfahrungen sammeln.<\/p>\n Meine ersten Berührungspunkte mit BOPF bekam ich in einem einwöchigen Training, an dem das gesamte Entwicklerteam teilnahm. Mit einem Mix aus Theorie- & Praxisblöcken wurden wir mit BOPF geschult. Und die ersten “Wow”-Momente ließen nicht lange auf sich warten.<\/p>\n In der BOPF-eigenen Modellierungsumgebung modellierten wir ein einfaches Geschäftsobjekt (eine Rechnung) mit Kopf- und Positionsdaten. Anschließend konnten wir unser Geschäftsobjekt bereits testen. In der BOPF-eigenen Test-U konnten wir Kopf- und Positionsdaten unseres Rechnung-Geschäftsobjekts anlegen, dazwischen navigieren, speichern und wieder aus der Datenbank lesen.<\/p>\n An dem Punkt wird sich der ein oder andere bestimmt Fragen: “Moment, und was ist mit der Implementierung des Datenbankzugriffs? Irgendwie muss auf die Daten ja schließlich zugegriffen werden.”<\/p>\n Die Antwort dazu: Den kompletten Datenbankzugriff (CRUD-Services<\/a>) inklusive Pufferung, Transaktionshandling und Sperrkonzept bringt BOPF von Haus aus mit und es muss dafür keine Zeile ABAP-Code geschrieben werden. Solche Features sind eigentlich kein Hexenwerk, sondern einfache Fleißarbeit. Eine zeitaufwändige Fleißarbeit, die entfällt, wenn BOPF eingesetzt wird.<\/p>\n <\/p>\n Als nächstes sollten wir dann unser Geschäftsobjekt mit ein wenig Logik erweitern. Die Logik wird in herkömmlichen ABAP-OO-Klassen implementiert und in der Modellierungsumgebung dem Geschäftsobjekt angehängt. So ist dort direkt erkennbar, welche Geschäftslogik an einem Geschäftsobjekt durchgeführt werden kann; welche Prüfungen wann laufen und welche Aktionen ein Benutzer auf dem Geschäftsobjekt durchführen kann.<\/p>\n Nach dem einwöchigen BOPF-Training begann dann unsere Designphase. Klassisch und wie sonst üblich in einem UML-Tool die Struktur der gesamten Anwendung modellieren? Fehlanzeige. Anstatt mit einem UML-Tool zu arbeiten, modellierten wir unsere zahlreichen Geschäftsobjekte direkt im SAP-System mit dem BO-Builder. Anschließend ließen wir uns die Diagramme und Dokumentation vom BOPF-Framework aus dem System heraus generieren. Für das Generieren der Dokumentation liest BOPF die Beschreibung aus den entsprechenden DDIC-Elementen und ABAP-Klassen aus und verpackt diese schön strukturiert in einem Word-Dokument. Wieder eine enorme Zeitersparnis, indem uns BOPF weitere Fleißarbeiten abnimmt.<\/p>\n BOPF bietet diverse Vorteile. Der Größte davon ist die enorme Zeit- und die damit verbundene Kostenersparnis. BOPF bringt zahlreiche Standardfunktionalitäten schon von Haus aus mit. Wird BOPF in Kombination mit dem Floorplanmanager (FPM) eingesetzt, kann auch bei UI-Entwicklung viel Zeit eingespart werden.<\/p>\n Auf diese Weise sind die Standardfunktionalitäten sehr schnell abgeschlossen und das Team kann sich bei der Entwicklung auf das Wesentliche konzentrieren: Die komplexe Geschäftslogik.<\/p>\n Ich habe es mal ausprobiert: Zuerst habe ich eine kleine Beispiel-Anwendung mit BOPF & FPM gebaut. Anschließend habe ich diese Anwendung mit Web Dynpro & ABAP OO<\/a> nachgebaut. Inklusive der ganzen Funktionalität die BOPF & FPM von Haus aus mitbringen.<\/p>\n Das Resultat: Mit BOPF & FPM hab ich nur 1\/10 der Zeit für dasselbe Ergebnis gebraucht.<\/p>\n Der größte Nachteil ist das hohe erforderliche Skilllevel bei den Entwicklern. BOPF ist ein hochmodernes Framework. Es kommen diverse Design-Muster und objektorientierte Methoden & Konzepte zum Einsatz. Um die Geschäftsobjekte ordentlich in der BOPF Modellierungsumgebung zu modellieren, sind ein gutes Verständnis für Normalisierung, Modellierung und Abstraktion notwendig. Diese Grundlagen werden in der Regel nur in einem Informatikstudium oder Studium mit Informatikschwerpunkt in der notwendigen Tiefe vermittelt.<\/p>\n Für Entwickler, die bisher hauptsächlich im Dynpro & ABAP Umfeld tätig waren, ist es eine Umstellung & Herausforderung, da andere Programmier-Paradigmen zum Einsatz kommen.<\/p>\nArbeiten mit BOPF<\/h2>\n
Die Datenstruktur anlegen<\/h2>\n
<\/a><\/h2>\n
Geschäftslogik entwickeln<\/h2>\n
Generierung von Diagrammen und Dokumentation<\/h2>\n
Der größte Vorteil<\/h2>\n
Der größte Nachteil von BOPF<\/h3>\n