Beratung Software Lösungen
Kapselung die Voraussetzung für
Software Modernisierung ?
                                  Ulrich
                                  Gerkmann-Bartels
                                  Senior Consultant Oracle Technologies
                                  ugb@team-pb.de
TEAM - Ihr Partner für IT



Zahlen und Fakten

 Gründung 1982
 Unternehmensgruppe Materna
  1.300 Mitarbeiter –
  153 Mio. Euro Umsatz in 2009
 Geschäftsführung
  Michael Baranowski - Heike Käferle
 über 50 Mitarbeiter
Zu meiner Person

Beratung, Workshops, Projekte auf Basis der Oracle Technologien

ICIS-User-Group, Software Engineering 2010, DOAG SIG, DOAG
Konferenz

Co-Moderator Oracle ADF Community

Mitglied ADF Enterprise Methodology Group



                                                  Ulrich
                                                  Gerkmann-Bartels
                                                  Senior Consulting Oracle Technologies
                                                  ugb@team-pb.de



17.05.2 © TEAM - Ihr Partner für                       3
Agenda

 Architecture Blueprint

 Ausgangslage

 Datenkapselung

 Generierung

 Bedeutung 2011




17.05.2011   © TEAM - Ihr Partner für IT   4
Architecture Blueprint


                                           Präsentations-Schicht

                                           Applikations-Schicht

                                             Prozess-Schicht

                                      Service-/Geschäftslogik-Schicht

                                           Datenzugriffs-Schicht

                                            Persistenz-Schicht




17.05.2011   © TEAM - Ihr Partner für IT                                5
Architecture Blueprint




                                           Foto: Gael Mace http://en.wikipedia.org/wiki/File:StudioWiring.jpg
17.05.2011   © TEAM - Ihr Partner für IT                                                                6
Agenda

 Architecture Blueprint

 Ausgangslage

 Datenkapselung

 Generierung

 Bedeutung 2011




17.05.2011   © TEAM - Ihr Partner für IT   7
Ausgangslage

       Historisch gewachsene inhomogene Applikationslandschaft
                 (Client / Server, Web Shop)


       Verschiedenste Technologie
                (PHP, Perl, .NET, VBA, C++, Java, SOA)

       Unterschiedlichste Application Lifecycle


                                                                 Zeiterfassung
                                                   BDE               (VBA)
             WebShop
                                            (Perl – Batchjob)
              (PHP)

                                                                           Oracle
                                                                           Forms
Business
Process                      BPM
 Portal                                                          Web
                                                                                    CRM
                                                                Services
                                                Database
17.05.2011    © TEAM - Ihr Partner für IT                                                 8
Ausgangslage

                            Sollte das nicht SOA bringen ?

                                                               Zeiterfassung
                                                  BDE              (VBA)
             WebShop
                                           (Perl – Batchjob)
              (PHP)

                                                                         Oracle
                                                                         Forms
 Business                                      Service
 Process                    BPML                Layer
  Portal                                                                          CRM




                                              Database
17.05.2011   © TEAM - Ihr Partner für IT                                            9
Fragestellung

 Was ist meine langfristige und mittelfristige Strategie ?

 Strebe ich eine standardisierte Middleware an ?

 Kann ich das mit den bestehenden Ressourcen erreichen ?

 Kann ich ein Produkt / Applikation auf der grünen Wiese modernisieren ?




17.05.2011   © TEAM - Ihr Partner für IT                                   10
Agenda

 Architecture Blueprint

 Ausgangslage

 Datenkapselung

 Generierung

 Bedeutung 2011




17.05.2011   © TEAM - Ihr Partner für IT   11
Vorgehensmodell - ReMip




         Quelle: Ackermann, E.: ReMip – Ein Referenz-Prozess der Software-Migration,
               Diplomarbeit, Universität Koblenz-Landau, Koblenz, 2005

17.05.2011   © TEAM - Ihr Partner für IT                                               12
ReMip: Legacy-Aufbereitung (Database)




                                            Herauslösen des   Modularisierung
             Entkopplung                        Identity      und Kapselung
                                           Managements (IM)




17.05.2011   © TEAM - Ihr Partner für IT                                        13
Legacy-Aufbereitung (Database)

  Modularisierung und
                                           Es existiert eine Database Service Layer, die alle
     Kapselung                             Clients in welcher Technologie auch immer
                                           verwenden müssen.

                                           Dies bedeutet:

                                           Table API
                                           Module / Business Service Packages



                                              Datenzugriffs-Schicht

                                                Persitenz-Schicht




17.05.2011   © TEAM - Ihr Partner für IT                                                        14
Teile und Herrsche


                                               TBL_A   PKG_B
                    App A
                                               PKG_C   TBL_D

                 Service B
                                               PKG_C




                                           MDL_PKG
                     App Z                             View A
                                              A

                                           MDL_PKG
                  Service X                            View B
                                              B



17.05.2011   © TEAM - Ihr Partner für IT                        15
Datenkapselung

  Modularisierung und
                                           Dies bedeutet zu dem:
     Kapselung
                                           - Es gibt keinen direkten Zugriff mehr auf
                                           Datenbanktabellen. Zugriffe werden durch einen
                                           View gekapselt

                                           - DML Operation werden durch eine API
                                           in der Datenbank gekapselt

                                           Ziele:

                                           - Lösung der Applikation vom Datenbankmodel
                                           - Security



                                                                   Datenzugriffs-Schicht

                                                                     Persitenz-Schicht

17.05.2011   © TEAM - Ihr Partner für IT                                                    16
Datenkapselung




                                           Steven Feuerstein , Best Practices for Writing SQL in PL/SQL, 2010
17.05.2011   © TEAM - Ihr Partner für IT                                                                        17
17.05.2011   © TEAM - Ihr Partner für IT   18
Gephi




    Google: Gephi
17.05.2011   © TEAM - Ihr Partner für IT   19
Herausforderung: Schnittstelle zur Service Layer



                                                 Wie kann ich den
                                           Anwendungsentwickler beim der
                                            Verwendung dieser Architektur
                                                   unterstützen ?




         Mache ich mir nicht mehr Arbeit
                als notwendig ?




17.05.2011   © TEAM - Ihr Partner für IT                                    20
Table API generieren

    Apache Ant (Buildskript)

    Apache Velocity / Texen (Template-/Generator-Engine)

    Custom Database Ant-Task (Bereitstellung der notwendigen
    Objekte im Template-Context)




                                               Kontext    Templates
                   Database
                                                                                Source
                   Dictionary




Quelle: Gerkmann-Bartels U., Koop A.: Migration von Forms über APEX zu Oracle ADF, DOAG News 1 / 2010
    17.05.2011   © TEAM - Ihr Partner für IT                                                        21
Integration in IDEs




17.05.2011   © TEAM - Ihr Partner für IT   22
Best practices….

                                           Steven Feuerstein
                                           PL/SQL Evangelist,
                                           Quest Software




Doing SQL from PL/SQL: Best and Worst Practices An Oracle White Paper, September 2008

17.05.2011   © TEAM - Ihr Partner für IT                                            23
Agenda

 Architecture Blueprint

 Ausgangslage

 Datenkapselung

 Generierung

 Bedeutung 2011




17.05.2011   © TEAM - Ihr Partner für IT   24
Bedeutung 2011




                                           Bezugsquelle: Internet 12.05.2011 © 2011 Capgemini All rights reserved !
17.05.2011   © TEAM - Ihr Partner für IT                                                                 25
Bedeutung 2011




                                           Bezugsquelle: Internet 12.05.2011 © 2011 Capgemini All rights reserved !
17.05.2011   © TEAM - Ihr Partner für IT                                                                 26
Bedeutung 2011




                                           Bezugsquelle: Internet 12.05.2011 © 2011 Capgemini All rights reserved !
17.05.2011   © TEAM - Ihr Partner für IT                                                                 27
Beratung Software Lösungen
                       TEAM Partner für Technologie

Vielen Dank für Ihre   und angewandte Methoden der
                       Informationsverarbeitung
                       GmbH


Aufmerksamkeit!        Hermann-Löns-Str. 88
                       33104 Paderborn

                       Fon +49 5254 8008-0
                       Fax +49 5254 8008-19

                       Mail team@team-pb.de
                       Web www.team-pb.de

Encapsulation, the requirement for software modernization?

  • 1.
    Beratung Software Lösungen Kapselungdie Voraussetzung für Software Modernisierung ? Ulrich Gerkmann-Bartels Senior Consultant Oracle Technologies ugb@team-pb.de
  • 2.
    TEAM - IhrPartner für IT Zahlen und Fakten  Gründung 1982  Unternehmensgruppe Materna 1.300 Mitarbeiter – 153 Mio. Euro Umsatz in 2009  Geschäftsführung Michael Baranowski - Heike Käferle  über 50 Mitarbeiter
  • 3.
    Zu meiner Person Beratung,Workshops, Projekte auf Basis der Oracle Technologien ICIS-User-Group, Software Engineering 2010, DOAG SIG, DOAG Konferenz Co-Moderator Oracle ADF Community Mitglied ADF Enterprise Methodology Group Ulrich Gerkmann-Bartels Senior Consulting Oracle Technologies ugb@team-pb.de 17.05.2 © TEAM - Ihr Partner für 3
  • 4.
    Agenda Architecture Blueprint Ausgangslage Datenkapselung Generierung Bedeutung 2011 17.05.2011 © TEAM - Ihr Partner für IT 4
  • 5.
    Architecture Blueprint Präsentations-Schicht Applikations-Schicht Prozess-Schicht Service-/Geschäftslogik-Schicht Datenzugriffs-Schicht Persistenz-Schicht 17.05.2011 © TEAM - Ihr Partner für IT 5
  • 6.
    Architecture Blueprint Foto: Gael Mace http://en.wikipedia.org/wiki/File:StudioWiring.jpg 17.05.2011 © TEAM - Ihr Partner für IT 6
  • 7.
    Agenda Architecture Blueprint Ausgangslage Datenkapselung Generierung Bedeutung 2011 17.05.2011 © TEAM - Ihr Partner für IT 7
  • 8.
    Ausgangslage Historisch gewachsene inhomogene Applikationslandschaft (Client / Server, Web Shop) Verschiedenste Technologie (PHP, Perl, .NET, VBA, C++, Java, SOA) Unterschiedlichste Application Lifecycle Zeiterfassung BDE (VBA) WebShop (Perl – Batchjob) (PHP) Oracle Forms Business Process BPM Portal Web CRM Services Database 17.05.2011 © TEAM - Ihr Partner für IT 8
  • 9.
    Ausgangslage Sollte das nicht SOA bringen ? Zeiterfassung BDE (VBA) WebShop (Perl – Batchjob) (PHP) Oracle Forms Business Service Process BPML Layer Portal CRM Database 17.05.2011 © TEAM - Ihr Partner für IT 9
  • 10.
    Fragestellung Was istmeine langfristige und mittelfristige Strategie ? Strebe ich eine standardisierte Middleware an ? Kann ich das mit den bestehenden Ressourcen erreichen ? Kann ich ein Produkt / Applikation auf der grünen Wiese modernisieren ? 17.05.2011 © TEAM - Ihr Partner für IT 10
  • 11.
    Agenda Architecture Blueprint Ausgangslage Datenkapselung Generierung Bedeutung 2011 17.05.2011 © TEAM - Ihr Partner für IT 11
  • 12.
    Vorgehensmodell - ReMip Quelle: Ackermann, E.: ReMip – Ein Referenz-Prozess der Software-Migration, Diplomarbeit, Universität Koblenz-Landau, Koblenz, 2005 17.05.2011 © TEAM - Ihr Partner für IT 12
  • 13.
    ReMip: Legacy-Aufbereitung (Database) Herauslösen des Modularisierung Entkopplung Identity und Kapselung Managements (IM) 17.05.2011 © TEAM - Ihr Partner für IT 13
  • 14.
    Legacy-Aufbereitung (Database) Modularisierung und Es existiert eine Database Service Layer, die alle Kapselung Clients in welcher Technologie auch immer verwenden müssen. Dies bedeutet: Table API Module / Business Service Packages Datenzugriffs-Schicht Persitenz-Schicht 17.05.2011 © TEAM - Ihr Partner für IT 14
  • 15.
    Teile und Herrsche TBL_A PKG_B App A PKG_C TBL_D Service B PKG_C MDL_PKG App Z View A A MDL_PKG Service X View B B 17.05.2011 © TEAM - Ihr Partner für IT 15
  • 16.
    Datenkapselung Modularisierungund Dies bedeutet zu dem: Kapselung - Es gibt keinen direkten Zugriff mehr auf Datenbanktabellen. Zugriffe werden durch einen View gekapselt - DML Operation werden durch eine API in der Datenbank gekapselt Ziele: - Lösung der Applikation vom Datenbankmodel - Security Datenzugriffs-Schicht Persitenz-Schicht 17.05.2011 © TEAM - Ihr Partner für IT 16
  • 17.
    Datenkapselung Steven Feuerstein , Best Practices for Writing SQL in PL/SQL, 2010 17.05.2011 © TEAM - Ihr Partner für IT 17
  • 18.
    17.05.2011 © TEAM - Ihr Partner für IT 18
  • 19.
    Gephi Google: Gephi 17.05.2011 © TEAM - Ihr Partner für IT 19
  • 20.
    Herausforderung: Schnittstelle zurService Layer Wie kann ich den Anwendungsentwickler beim der Verwendung dieser Architektur unterstützen ? Mache ich mir nicht mehr Arbeit als notwendig ? 17.05.2011 © TEAM - Ihr Partner für IT 20
  • 21.
    Table API generieren Apache Ant (Buildskript) Apache Velocity / Texen (Template-/Generator-Engine) Custom Database Ant-Task (Bereitstellung der notwendigen Objekte im Template-Context) Kontext Templates Database Source Dictionary Quelle: Gerkmann-Bartels U., Koop A.: Migration von Forms über APEX zu Oracle ADF, DOAG News 1 / 2010 17.05.2011 © TEAM - Ihr Partner für IT 21
  • 22.
    Integration in IDEs 17.05.2011 © TEAM - Ihr Partner für IT 22
  • 23.
    Best practices…. Steven Feuerstein PL/SQL Evangelist, Quest Software Doing SQL from PL/SQL: Best and Worst Practices An Oracle White Paper, September 2008 17.05.2011 © TEAM - Ihr Partner für IT 23
  • 24.
    Agenda Architecture Blueprint Ausgangslage Datenkapselung Generierung Bedeutung 2011 17.05.2011 © TEAM - Ihr Partner für IT 24
  • 25.
    Bedeutung 2011 Bezugsquelle: Internet 12.05.2011 © 2011 Capgemini All rights reserved ! 17.05.2011 © TEAM - Ihr Partner für IT 25
  • 26.
    Bedeutung 2011 Bezugsquelle: Internet 12.05.2011 © 2011 Capgemini All rights reserved ! 17.05.2011 © TEAM - Ihr Partner für IT 26
  • 27.
    Bedeutung 2011 Bezugsquelle: Internet 12.05.2011 © 2011 Capgemini All rights reserved ! 17.05.2011 © TEAM - Ihr Partner für IT 27
  • 28.
    Beratung Software Lösungen TEAM Partner für Technologie Vielen Dank für Ihre und angewandte Methoden der Informationsverarbeitung GmbH Aufmerksamkeit! Hermann-Löns-Str. 88 33104 Paderborn Fon +49 5254 8008-0 Fax +49 5254 8008-19 Mail team@team-pb.de Web www.team-pb.de