Robotron Datenbank-Software GmbH Migration einer komplexen ADF-Anwendung auf ADF Essentials Matthias Neubert Nürnberg, 19.11.2014
Zahlen und Fakten Robotron Datenbank-Software GmbH Gründungsjahr 1990 Mitarbeiterzahl 347 (Stand 10/2014) Stammkapital Umsatz 2013 Geschäftssitz 2,4 Mio. EUR 31,2 Mio. EUR Stuttgarter Str. 29 01189 Dresden Oracle-Partner ISO 9001 zertifiziert
Das Leistungsangebot von Robotron
Agenda ADF vs. ADF Essentials Projektrahmen Robotron Aufgabenmanagement-Tool Einrichtung Systemumgebung für ADF Essentials Migrationsschritte & Deployment Fazit & Ausblick
ADF vs. ADF Essentials Feature ADF ADF Essentials ADF Faces Rich Client Components ADF Controller ADF Model ADF Business Components ADF Mobile ADF Desktop Integration ADF Security ADF Webservice Data Control ADF Remote Taskflows ADF Business Component s Service Interfaces ADF Data Controls for BI, Essbase and BAM Integration with Oracle Fusion Middleware features such as MDS,
ADF vs. ADF Essentials Oracle commercial support nur für WebLogic GlassFish Server Open Source Edition weiterhin Referenzimplementierung für Java EE platform 2.x/3.x-Support-Verträge werden fortgeführt Ähnliches Vorgehen: Redhat Wildfly / JBoss EAP Weitere Möglichkeiten: TomEE
Projektrahmen Robotron Aufgabenmanagement-Tool (AMT)
Projektrahmen Robotron Aufgabenmanagement-Tool (AMT)
Funktionsumfang AMT Verwaltung und Verteilung von Aufgaben Erfassung über Anwendung oder E-Mail-Schnittstelle Bearbeitung der Aufgaben kann über Bearbeiter bzw. Gruppen erfolgen Rückfragen können via E-Mail direkt über die Anwendung gestellt werden
Funktionsumfang AMT Stand des gesamten Aufgabenbestandes ist über integrierte DWH/BI-Komponente auswertbar Zuordnung verschiedener Objekttypen (Zählpunkte, Verbrauchsstellen, Kunden und Lieferanten) aus bestehenden Energiedatenmanagement-System zu Aufgaben Integration mit verschiedenen Umsystemen wie GPKE/WiM- Wechseltools, dem EDM-System robotron*e count, Fehlermanagementsystemen, SAP BW, Archivsystemen usw. Korrespondenzunterstützung inkl. automatische Befüllung von MS Office-Vorlagen
Systemumgebung AMT ADF 11.1.2.0.0 Oracle 11g DB WebLogic-Cluster
Einrichtung Systemumgebung für ADF Essentials Installation GlassFish-Server (Version 3.1.2.2 (build 5)) ADF Essentials-Library einbinden -XX:MaxPermSize=<Wert> auf -XX:MaxPermSize=512m ändern Eintrag -Doracle.mds.cache=simple hinzufügen GlassFish-Extension ab JDeveloper 11.1.2.3
Einrichtung Systemumgebung für ADF Essentials Oracle JDBC Treiber (ojdbc6.jar) einbinden Datasource einrichten Ressourcen / JDBC / JDBC-Connection Pools weitere Eigenschaften username, password und url ergänzen neue JDBC Ressource hinzufügen (Ressourcen / JDBC / JDBC- Ressourcen)
Einrichtung Systemumgebung für ADF Essentials Security-Realm erstellen
Einrichtung Systemumgebung für ADF Essentials
Migrationsschritte Anpassung der Implementierung Ersatz-Implementierung für ADF Security notwendig Security-Framework, z.b. Apache Shiro JAAS Serverspezifische Variante Verzicht auf MDS
Migrationsschritte Anpassung der Implementierung Kapselung in Wrapper-Klasse Einfacher Wechsel der Security-Implementierung WLS verwendet weiterhin ADF Security Alternative Implementierung für GF Beliebig für weitere Applikationsserver erweiterbar Kapselung des Loggings: Log4J statt ADF Logger für GF
Migrationsschritte Anpassung der Implementierung Ersetzen der Aufrufe durch SecurityWrapper, z.b. readonly="#{securitycontextwrapper.userinrole['app_ro_user']}" oracle.adf.share.security.securitycontext durch SecurityContextWrapper Ersetzen der Logger-Aufrufe oracle.adf.share.logging.adflogger durch LoggingWrapper Groovy-Expression adf.context.securitycontext.username durch adf.context.sessionscope.username
Migrationsschritte Anpassung der Implementierung Einbinden der GlassFish-JSTL-Library in ViewProject Anpassung der Deployment Deskriptoren web.xml glassfish-web.xml wrapper-config.xml
Migrationsschritte Anpassung der Implementierung glassfish-web.xml enthält SecurityRoles-Mapping <security-role-mapping> <role-name>app_administrator_rds</role-name> <group-name>ram_rds_admin</group-name> </security-role-mapping> Konfiguration der Zielplattform in wrapper-config.xml AutoConfig aus ServletContext Explizite Angabe (WLS / GF)
Deployment GlassFish ADF Security und ADF MDS deaktivieren Die Tag-Sektion <adf-mds-config></adf-mds-config> in adfconfig.xml wird auskommentiert oder alternativ die adf-config.xml durch die GlassFish-Variante ersetzt Security-Constraints in web.xml einfügen
Deployment GlassFish Auszug web.xml [ ] <security-constraint> <web-resource-collection> <web-resource-name>sqlqueries-task-flow(/web-inf/taskflows/administration)</web-resource-name> <url-pattern>/faces/sqlqueries-task-flow/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>app_administrator_technisch</role-name> <role-name>app_ro_admin</role-name> </auth-constraint> </security-constraint> [ ]
Deployment WebLogic ADF Security und MDS aktivieren MDS-Konfiguration in adf-config.xml hinzufügen Tag-Sektionen <security-role>, <securityconstraint> in web.xml entfernen
Fazit & Ausblick Migration mit Zusatzaufwand möglich ggf. Verzicht auf Features Applikationsserver unabhängig einsetzbar, Support berücksichtigen Performancegewinn auf GlassFish Ausgereiftes Framework lizenzkostenfrei einsetzbar
Besuchen Sie unseren Stand auf der DOAG Konferenz 2014! Wir freuen uns, Sie persönlich kennenzulernen! am Stand 226 auf Ebene 2
Unsere Vorträge bei der DOAG Konferenz 2014 Session Tag Zeit Raum Janine Lehmann: BI Publisher die Alternative zu Oracle Reports - ein Migrationsbericht Bianca Böckelmann: Thematische Karten in Oracle BI EE 11g Matthias Neubert: Migration einer komplexen ADF- Anwendung auf ADF Essentials Di 10:00 10:45 Helsinki Di 15:00 15:45 Helsinki Mi 11:00 11:45 Kopenhagen
Treffen der Deutschen ADF Community Wann Mittwoch, 19. Nov., 17.00 17.45 Uhr Wo Raum Kopenhagen Warum Neuigkeiten zu Oracle ADF erfahren Mit Product Managern und Experten sprechen Networking, Austausch und Mitgestalten
Referent Matthias Neubert Software-Architekt T: +49 351 25859-2450 F: +49 351 25859-3699 matthias.neubert@robotron.de