1 <Insert Picture Here> Moderne Anwendungs-Entwicklung mit Oracle Jürgen Menge Oracle Deutschland GmbH <Insert Picture Here> Perspektiven der Anwendungs-Entwicklung Anwendungsentwicklung - gestern Oberflächen User Interface UIX /JSP Geschäftslogik Daten Business Services ADF BC / EJB DB Schema Web Services Forms / Reports Application Express Moderne Anwendungs-Entwicklung Oberflächen Geschäftslogik WebCenter User Interface Daten Business Services ADF Faces Components Data Binding DB Schema Web Services Events Business Activity Monitoring Human Workflow Service BPEL Prozess Aufgaben zuweisen Menschl. Interaktion Rules Engine Schlussfolgerung Aufgaben erledigt Monitoring Fakten Orchestrierung Regel-Evaluierung Trends und Standards Java EE 5 SOA Web 2.0 Kontext-bezogenes User Interface Favorites Search Recent Preferences Notifications Presence Email Contextual Wiring Discussions Documents Personal / Group Spaces <Insert Picture Here> Entwicklung von BenutzerSchnittstellen und Services Oracle Entwicklungs-Plattformen • Klassische Entwicklung • Langfristige Unterstützung für Oracle Forms, Reports und Designer (bis mindestens 20171)) • Weiterentwicklung der Produkte (Forms/Reports 11g) • Integration bestehender Applikationen in SOA • Nutzen vorhandener Entwickler-Kenntnisse • Offene, standard-basierte Entwicklung • Entwicklung mit Oracle JDeveloper, ADF und BI Publisher • Entwicklung auf Basis offener Standards (J2EE) • Produktivität durch Anknüpfen an vertraute Konzepte (deklarative, visuelle und code-orientierte Arbeitsweise) • Einsatz im Projekt Fusion • Einarbeitung der Entwickler-Teams 1) http://www.oracle.com/technology/products/forms/pdf/10g/ToolsSOD.pdf <Insert Picture Here> Entwicklung von BenutzerSchnittstellen und Services Entwicklung mit Oracle Forms Forms-Applikationen – Heute • ca. 3000 Forms-Kunden in Deutschland • zahlreiche Standard-Lösungen auf Basis von Forms • geschäftskritische Anwendungen in Unternehmen • kleinere und mittlere Abteilungs-Anwendungen • Forms-Applikationen über viele Jahre gewachsen • • • • viele Entwicklungsstufen von Character Mode bis Web in den Anwendungen steckt großer Entwicklungsaufwand keine einheitliche Struktur der Anwendung unterschiedliche Qualität der Dokumentation • Monolithische Architektur der Forms-Applikationen • Prozess-Logik ist in die Applikation eingebettet • häufig mit Oracle Reports für Berichte & Dokumente integriert • häufig mit dem Desktop (MS Office, lokale Geräte) integriert Neue Anforderungen an Applikationen • Zugriff auf die Applikation vom Internet und Extranet • mobiler Zugriff auf die Applikation • saubere Trennung der Schichten • Separierung der Geschäftslogik von der Präsentation • Wiederverwendbarkeit von Geschäftslogik • attraktive Oberfläche (Look & Feel) • neue GUI-Controls (Table Grid) • Anpassung der Fenstergröße an die Auflösung • … • Session-Replikation, transparentes Failover Alternativen für Forms-Applikationen Standard-Software J2EE Komplette Migration FormsApplikation J2EE Modernisierung Was empfiehlt Oracle Forms-Kunden ? • Upgrade der Forms-Applikationen auf die aktuelle Version • vollständiger Support der Anwendungen • Vorteile der Mehrschicht-Architektur in Entwicklung und Betrieb • Funktionalität des Oracle Application Server nutzen • Integration, Infrastruktur-Services, Hochverfügbarkeit • Zusätzlich benötigte Funktionen mittels Java in die Forms-Anwendung einbetten • WebUtil, Pluggable Java Components, Java Beans, Web Services • Entwicklung neuer Anwendungen und Module auf Basis von J2EE • Einsatz von Oracle JDeveloper und ADF Was empfiehlt Gartner Forms-Kunden ? How to Maneuver Oracle Forms Into an Ideal Position for NextGeneration Challenges (Studie: Juli 2007) • Modernisieren der Forms-Applikationen (Forms Upgrade) • um Vorteile aus dem zentralen Deployment und der Administration zu ziehen • um Service und Support zu erhalten • Integration in die SOA-Welt • auf der Basis der Oracle Middleware und Java-Tools • Langfristige Migration zu standard-basierten Technologien • Migration nach Oracle ADF (J2EE) ist mit den geringsten Kosten und Risiken verbunden Komplett-Migration von Forms-Anwendungen • Komplette Ablösung einer Forms-Applikation in einem relativ kurzen Zeitraum • Technologische Alternativen für eine Komplett-Migration • J2EE, .NET, Oracle APEX, proprietäre Technologien • teilweise Migrations-Werkzeuge verfügbar • Vorgehensweise Migration auf Ebene des Programmcodes (Konvertierungs-Werkzeuge) Migration der Fachlichkeit (Dokumentation der Anwendungsfälle) Redesign und Erweiterung der Anwendung • Wirtschaftlichkeit und Machbarkeit • Kosten & Risiken Nutzen • Kenntnisse und Erfahrungen des Entwicklungs-Teams Modernisierung von Forms-Anwendungen Service-orientierte Applikation Monolithische Applikation Modernisierung Fachliche Business Process Integrations- Modularisierung Management (BPM) Plattform • Struktur bereinigen • ProzessModellierung • ProzessIntegration • Daten bereinigen • Prozess-Design • DatenIntegration • Refactoring • Implementierung • Monitoring • Schnittstellen User Interface • Interaktion Forms Web • Enterprise 2.0 Umfassende Entwicklungs- Sicherheit Plattform • Mandantenfähigkeit • Auditing • Single Sign-On • Zugriffsverwaltung Betrieb • Methodik für Entwicklung, Deployment, Test u. Betrieb • Verfügbarkeit • Frameworks • Monitoring • ReleaseManagement • Governance • Governance • SLA • Administration <Insert Picture Here> Entwicklung von BenutzerSchnittstellen und Services Entwicklung mit Oracle JDeveloper und ADF Hindernisse bei der Entwicklung mit J2EE • Komplexe Technologien • Verteilte Applikationen • Mehrschichtige Architekturen • Kenntnisse in vielen Bereichen erforderlich (Java, XML, XSLT, CSS, JavaScript, Script-Sprachen, …) • Rasche Änderungen in den Technologien und Standards • J2EE bietet keine End-to-End Anwendungsarchitektur • J2EE ist eine Ansammlung von Technologien (JMS, JDBC, JSP, EJB, Servlets, JAAS, JavaMail, JNDI, JTA, JCA, …) • Java ist keine 4GL-Sprache Wege zur Steigerung der Produktivität • Leistungsfähige Werkzeuge • deklarative, visuelle und code-orientierte Entwicklung • Generierung von Code • Einsatz von • Design Patterns • Frameworks • Service-orientierte Architekturen (SOA) • prozess-orientiertes Vorgehen • Entwicklung von Services und Oberflächen • Orchestrierung von Services Oracle JDeveloper • Integrierte Entwicklungsumgebung • • • • Unterstützung des vollständigen Entwicklungszyklus Entwicklungsumgebung für Java, XML, Web Services, SQL, PL/SQL Integrierter Application Server – Oracle WebLogic Server IDE für Fusion- und Fusion Middleware-Projekte • J2EE-Anwendungsentwicklung • UML-Modellierung • Entwicklung von Java-Clients, Applets, JSP, JSF, Servlets, Java Beans, EJBs, ... • Unterstützung für Open Source Software (Struts, Ant, JUnit, ...) • kostenfrei Oracle Application Development Framework (ADF) • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und nicht auf technische Details der Implementierung • Umsetzung von JEE Best Practices • Service-orientierte Entwicklung • Entwicklung wiederverwendbarer Services • Entwicklung von Composite Applications • Standard-basierte Entwicklung • Wahl der Technologie • Wahl der Deployment-Plattform • Konsolidierung und Weiterentwicklung bestehender Frameworks Entwicklung mit Oracle ADF Develop Expose Access Business Service Model View Architektur – Oracle ADF Web and Mobile Rich Clients Controller View Controller Model Model (JSR-227) Business Services Business Services Oracle ADF 11g Architektur Desktop Browser-Based View ADF Swing JSP Office JSF ADF Faces / DVT Controller Struts JSF/ADF Task Flow Model ADF Bindings (JSR 227) Java EJB BAM BPEL Web Services ADFbc BI Essbase Portlets Business Services TopLink Data Services Relational Data XML Data Legacy Data Packaged Apps Business und Data Services Web and Mobile Rich Clients View Controller Controller Model (JSR-227) Model Java EJB BAM BPEL Web Services ADFbc BI Essbase Portlets Business Services TopLink Data Services Relational Data XML Data Legacy Data Packaged Apps Oracle ADF - Business Services • Verantwortlich für Persistenz • O/R Mapping • Abfragen/DML • Durchführen der Validierung • Daten-Validierung • Geschäftslogik • Wahl der Implementierung EJB 3.0 TopLink /Java Beans EJB Session Beans ADF Business Components Web Services … Oracle ADF - Model Web and Mobile Rich Clients View Controller Controller Model (JSR-227) ADF Bindings (JSR 227) Java EJB BAM BPEL Web Services ADFbc BI Essbase Portlets Business Services TopLink Data Services Relational Data XML Data Legacy Data Packaged Apps Oracle ADF - Model • ADF Databinding (JSR-227) • Abstraktionsschicht des Modells • generisches Data Binding im User Interface • unabhängig, von welchem Business Service die Daten kommen • Business Services können einfach augetauscht werden Business Components Web Services Model Toplink EJB Java Classes Oracle ADF - Controller Web and Mobile Rich Clients View Controller Struts JSF/ADF Task Flow Model ADF Bindings (JSR 227) Java EJB BAM BPEL Web Services ADFbc BI Essbase Portlets Business Services TopLink Data Services Relational Data XML Data Legacy Data Packaged Apps Oracle ADF - Controller • Controller • Verwendung für Web- und mobile Anwendungen • Controller interpretiert Maus- und Tastatureingaben • Controller steuert die Navigation • Apache Struts • Populäres Open Source Controller Framework • Wird für JSP und UIX Seiten eingesetzt • Verliert an Bedeutung als Open Source-Produkt • • JSF Controller • Page Flow Control • Teil des Standards JEE 5 • ADF Faces Controller • Erweiterung des JSF Controllers Oracle ADF – View (User Interface) Desktop Browser-Based View ADF Swing JSP Office JSF ADF Faces / DVT Controller Struts JSF/ADF Task Flow Model ADF Bindings (JSR 227) Java EJB BAM BPEL Web Services ADFbc BI Essbase Portlets Business Services TopLink Data Services Relational Data XML Data Legacy Data Packaged Apps Oracle ADF – View (User Interface) • Entwicklung der Präsentationsschicht • visuell (WYSIWYG) • deklarativ • Wahl der Implementierung ADF Swing JSP JSP / Struts Java Server Faces (JSF) Oracle ADF – Fusion Applications Desktop Browser-Based View ADF Swing JSP Office JSF ADF Faces / DVT Controller Struts JSF/ADF Task Flow Model ADF Bindings (JSR 227) Java EJB BAM BPEL Web Services ADFbc BI Essbase Portlets Business Services TopLink Data Services Relational Data XML Data Legacy Data Packaged Apps Rich Enterprise Applications Browser Client AJAX View Active Client Flash Mobile Client XHTML, WML, ASK (SMS) ADF Faces ADF Faces: Rich Client-Komponenten ADF Faces: DVT-Komponenten • verfügbare Data Visualization-Komponenten Gauge Graph Gantt chart Pivot table Geographic map Demonstration ADF Rich Internet Application <Insert Picture Here> Entwicklung von BenutzerSchnittstellen und Services Interoperabilität zwischen Forms und ADF Wichtige Fragen • Soll die bestehende Datenbasis weiter genutzt werden ? • Soll die bestehende Geschäftslogik in der Datenbank weiter genutzt werden ? • Ist ein funktionales Nebeneinander von Forms-Anwendung (alt) und ADF-Anwendung (neu) geplant ? • • • • • Rechtekonzept gemeinsame Transaktionen Caching von Änderungen Kommunikation zwischen den Anwendungsteilen … Geplante Features Forms 11g • Unterstützung von externen Events • • Advanced Queuing (AQ) JMS • JavaScript API • Interaktion mit dem Browser • Security • • Vollst. Unterstützung für Enterprise User Security (EUS) Unterstützung für DB Proxy • Zertifizierung des Standard Java Plug-In von SUN • Support für verschiedene Clients • Tuning Utility • Oracle Diagnostic Logging (ODL) • Forms-Monitoring im Oracle Enterprise Manager Forms 11g - Interoperabilität File System BPEL Forms Client Web Services Mail, Wireless JMS Forms Client Datenbanken Forms Server Forms Server .NET Datenbank mit AQ Interoperabilität Forms ADF Prototyp von Oracle Consulting • • • • Kommunikation zwischen Forms- und ADF-Modulen Nachrichtenaustausch (XML) über Adv. Queuing (Oracle DB) nutzt den Stacking-Mechanismus von Forms und ADF 11g (Task Flows) native AQ-Integration von Forms 11 wird die Implementierung vereinfachen Oracle Forms JMS JAXb2.0 ADF 11g Oracle DB XML-Message Advanced Queuing XML-Message Native PL/SQL Interoperabilität Forms ADF Multiuser-Szenario: XML-Nachrichten-Header: FORMS Forms1 startet ADF1 - <SessionToken>.<FlowToken> 1.1 Forms1 1.2 Forms2 startet ADF2 - Navigationsdirektive - Security Token 2.1 Forms2 2.2 enque -Start-Parameter: Benutzername deque - SecurityToken XML-Body Forms2ADF-Queue 2.1 - SessionToken Benutzername - Messages 1.1 - KeyValuePairs ADF2Forms-Queue Die Reihenfolge der Nachrichten spielt2.2 keine Rolle! 1.2 enque deque ADF 1.2 ADF1 1.1 - SessionToken bleibt gleich - Neuer UID für FlowToken 2.2 ADF2 2.1 FlowStack wird weiter aufgebaut Befähigung des Entwickler-Teams • Entwicklung mit J2EE/ADF erfordert neue Kenntnisse und Fähigkeiten • Java-Grundlagen • J2EE-Grundlagen • Entwicklung mit ADF aber mit ADF 11g können viele Aufgaben rein deklarativ gelöst werden • Architekten und Projektleiter haben in J2EE/ADF-Projekten einen großen Stellenwert • größere Varianten-Vielfalt in der Implementierung gegenüber Forms • Architekturvorgaben zwingend notwendig • empfohlener Technologie-Stack aus ADF für Forms-Entwickler • ADF Business Components => Model => ADF Faces • Kombination von Trainingskursen, Selbstudium und Coaching <Insert Picture Here> Entwicklung von Berichten und Dokumenten Berichte & Dokumente in Oracle Forms • fast alle Forms-Applikationen rufen Oracle Reports auf • Oracle Reports wird wie Oracle Forms weiterentwickelt (Reports 11g) und bis mindestens 2017 als Produkt supported • mit dem Oracle BI Publisher steht eine zukunftsfähige Alternative zu Oracle Reports zur Verfügung • BI Publisher-Berichte können in Forms-Applikationen integriert werden • BI Publisher wird das Reporting-Framework in Oracle ADF • Migrations-Werkzeug für Oracle Reports als Teil des Produktes verfügbar Oracle BI Publisher • Eigenentwicklung von Oracle seit 2003 (E*Business Suite) • Moderne Lösung zur Entwicklung, Erzeugung und Verteilung von Berichten und Dokumenten • Funktionale Bereiche • • • • Dokumente, Drucksachen (Output Management) Geschäftsberichte (Business Intelligence) elektronische Formularbearbeitung elektronischer Datenaustausch • Verschiedene Arten von Dokumenten • Formulare, Berichte, Serienbriefe, Rechnungen, Etiketten, ... • Verschiedene Formate • pdf, html, Excel, Word, PPT, ... • Verschiedene Kanäle • Druck, Online, Email, ftp, webDAV, Portal, mobiler Zugriff Oracle BI Publisher in … BIP Enterprise Oracle BI Suite EE / SE1 BIP in E-Business Suite BIP Embedded BIP in Peoplesoft BIP in J.D. Edwards BIP in Siebel Oracle BI Publisher – Architektur PDF Word Excel More… Template Manager PDF HTML RTF CSV Powerpoint Excel Flash XML Text Template SQL XML Apps Module XSL Data Engine Daten XML Printer Ausgabeformate Dokument FAX Delivery Server Email WebDAV Web Services XLIFF Übersetzung Data Template Translation Handler Übersetztungskataloge etc… Integration in Oracle ADF • Integration des BI Publisher über die Komponenten-Palette des Oracle JDeveloper • BIP-Regionen können in eine ADF Page eingebettet werden • Unterstützung für “Push-” und “Pull-”Modell Migration von Oracle Reports nach BIP Data Template LOV .xdo file RDF XML Conversion Utility RTF Template Reports 9i rwconverter Oracle Report RDF files 52 .PLS files Log file <Insert Picture Here> Datenmodellierung und Datenbank-Design SQL Developer – Data Modeling • mit SQL Developer 2.0 angekündigt • Kunden können ihren Datenbestand modellieren & verwalten • Migration der Datenmodelle aus dem Oracle Designer • Statement of Direction* • Installation • Plug-In als Option zum SQL Developer • Standalone-Version • Speicherung der Metadaten • Dateien • Repository * http://www.oracle.com/technology/products/database/sql_developer/files/sqldeveloperstatementofdirection.htm Data Modeling - Funktionalität • Funktionalität • • • • • • • • logische Modellierung (ER-Modellierung) Warehouse-Modellierung (Dimensionen) Prozess-Modellierung Relationale Modellierung (logisches DB-Design) Physische Modellierung (physisches DB-Design) Import von Metadaten aus dem Oracle Designer Generierung, Reverse Engineering und Reconcile Support für Oracle DB, DB2 (Mainframe/UDB) und SQL Server Data Modeling - Technologie • Technologie und Architektur • Installation Standalone oder als eine Erweiterung zum SQL Developer • Java-basiert • Datenbanken • Oracle 9i, 10g und Oracle 11g • Weitere Datenbanken • Microsoft SQL Server • DB2 • Betriebssysteme • Windows • Linux • Mac OSX Gegenüberstellung der Produkte Klassische Werkzeuge J2EE-Werkzeuge Forms Builder Oracle JDeveloper Forms Server Oracle Application Development Framework Designer/ Headstart Oracle JHeadstart Reports Builder Reports Server Word Desktop Builder Online Builder … Oracle BI Publisher <Insert Picture Here> Weiterführende Informationen und Veranstaltungen Weiterführende Informationen (1) • Oracle Fusion Middleware http://www.oracle.com/technology/products/middleware • Oracle Forms http://www.oracle.com/technology/products/forms • Oracle Forms Upgrade Center http://otn.oracle.com/formsupgrade • Deutsche Forms-Community http://www.oracle.com/global/de/community/forms • J2EE für Forms-Entwickler http://www.oracle.com/technology/formsdesignerj2ee Weiterführende Informationen (2) • Oracle Application Development Framework (ADF) http://www.oracle.com/technology/products/adf • Oracle JDeveloper http://www.oracle.com/technology/products/jdev • Deutsche ADF Community http://www.oracle.com/de/community/adf => ADF für Forms-Entwickler • Oracle BI Publisher http://groups.google.com/group/adf-methodology • SQL Developer Data Modeling http://www.oracle.com/technology/products/database/sql_developer/files/Modeling.html Veranstaltungen • DOAG - SIG Development „Wie geht es weiter mit Forms ?“ • • • 26.3.2009 27.3.2009 Berlin Stuttgart DOAG - SIG Development Active Workshop „Oracle ADF für Forms-Entwickler“ • • 31.3.2009 Düsseldorf DOAG - SIG Development „Reports-Migration: Strategien, Erfahrungsberichte zu Reporting, Data Warehouse und Business Intelligence aus Entwicklersicht “ • • 18.6.2009 Hamburg Oracle Developer Day „Bessere Anwendungen in kürzerer Zeit“ • • • • 21.4.2009 23.4.2009 29.4.2009 7.5.2009 Stuttgart Frankfurt Hamburg Dresden Q&A 62