- oracle...• auf der basis der oracle middleware und java-tools • langfristige migration zu...
TRANSCRIPT
1
<Insert Picture Here>
Moderne Anwendungs-Entwicklung mit Oracle
Jürgen MengeOracle Deutschland GmbH
<Insert Picture Here>
Perspektiven der Anwendungs-Entwicklung
Anwendungsentwicklung - gestern
User InterfaceUIX /JSP
Business ServicesADF BC / EJB
DBSchema
Web Services
Forms / Reports
Application Express
GeschäftslogikOberflächen Daten
GeschäftslogikOberflächen Daten
Human WorkflowService
BPELProzessBusiness
ActivityMonitoring
OrchestrierungMenschl. Interaktion Regel-EvaluierungMonitoring
User InterfaceADF Faces Components
Business Services
DataBinding
Web Services
DBSchema
Web
Cen
ter
Events
RulesEngine
Schluss-folgerung
Fakten
Moderne Anwendungs-Entwicklung
Aufgaben zuweisen
Aufgabenerledigt
Trends und Standards
Java EE 5 SOA Web 2.0
Kontext-bezogenes User Interface
Notifications
Contextual Wiring
Documents
Discussions
Personal / Group Spaces
Presence
Preferences
Search
Recent
Favorites
<Insert Picture Here>
Entwicklung von Benutzer-Schnittstellen 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 Benutzer-Schnittstellen und Services
Entwicklung mit Oracle Forms
• 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
Forms-Applikationen – Heute
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
Forms-Applikation
Standard-Software
Modernisierung
Komplette Migration
J2EE
J2EE
• Upgrade der Forms-Applikationen auf die aktuelle Ve rsion• 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 Oracle Forms-Kunden ?
Was empfiehlt Gartner Forms-Kunden ?
How to Maneuver Oracle Forms Into an Ideal Position for Next-Generation Challenges (Studie: Juli 2007)
• Modernisieren der Forms-Applikationen (Forms Upgrad e)• 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 Techno logien• 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
• VorgehensweiseMigration 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
Fachliche
Modularisierung
BetriebBusiness Process
Management (BPM)
• Struktur bereinigen
• Daten bereinigen
• Refactoring
Umfassende
Sicherheit
• Mandanten-fähigkeit
• Auditing
• Single Sign-On
• Zugriffs-verwaltung
Entwicklungs-
Plattform
• Methodik für Entwicklung, Deployment, Test u. Betrieb
• Frameworks
• Release-Management
• Governance
Integrations-
Plattform
• Prozess-Modellierung
• Prozess-Design
• Implementierung
• Monitoring
• Prozess-Integration
• Daten-Integration
• Schnittstellen
• Verfügbarkeit
• SLA
• Administration
• Monitoring
• Governance
User Interface
• Interaktion Forms ���� Web
• Enterprise 2.0
Modernisierung
Monolithische Applikation Service-orientierte Applikation
Modernisierung von Forms-Anwendungen
<Insert Picture Here>
Entwicklung von Benutzer-Schnittstellen 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
• 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
Oracle Application Development Framework (ADF)
Entwicklung mit Oracle ADF
DevelopDevelop
BusinessBusinessServiceService
ExposeExpose
ModelModel
AccessAccess
ViewView
Architektur – Oracle ADF
Business Services
Rich Clients Web and Mobile
Model
Controller
Business Services
Model(JSR-227)
Controller
View
ADF Bindings (JSR 227)ADF Bindings (JSR 227)
Business Services
Data Services
Model
Controller
ViewJSFJSF
Desktop Browser-Based
StrutsStruts JSF/ADF Task FlowJSF/ADF Task Flow
OfficeOfficeADFADF SwingSwing JSPJSP ADF Faces / DVTADF Faces / DVT
XML DataXML Data Legacy DataLegacy DataRelational DataRelational Data Packaged AppsPackaged Apps
TopLinkTopLink
EJBEJB BAMBAM ADFbcADFbc PortletsPortletsBIBI EssbaseEssbaseBPELBPEL Web Web ServicesServices
JavaJava
Oracle ADF 11 g Architektur
Business und Data Services
Business Services
Data Services
Rich Clients Web and Mobile
Model
Controller
Model(JSR-227)
Controller
View
XML DataXML Data Legacy DataLegacy DataRelational DataRelational Data Packaged AppsPackaged Apps
TopLinkTopLink
EJBEJB BAMBAM ADFbcADFbc PortletsPortletsBIBI EssbaseEssbaseBPELBPEL Web Web ServicesServices
JavaJava
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 EJB 3.0 TopLink TopLink
/Java/JavaBeansBeans
EJB EJB Session Session BeansBeans
Web Web ServicesServices
ADF ADF Business Business
ComponentsComponents …
Business Services
Data Services
Model
Rich Clients Web and Mobile
Controller
Model(JSR-227)
Controller
View
XML DataXML Data Legacy DataLegacy DataRelational DataRelational Data Packaged AppsPackaged Apps
ADF Bindings (JSR 227)ADF Bindings (JSR 227)
TopLinkTopLink
EJBEJB BAMBAM ADFbcADFbc PortletsPortletsBIBI EssbaseEssbaseBPELBPEL Web Web ServicesServices
JavaJava
Oracle ADF - Model
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
Model
Web Services
Toplink
EJB
JavaClasses
BusinessComponents
StrutsStruts JSF/ADF Task FlowJSF/ADF Task Flow
ADF Bindings (JSR 227)ADF Bindings (JSR 227)
Business Services
Data Services
Model
Controller
ViewRich Clients Web and Mobile
XML DataXML Data Legacy DataLegacy DataRelational DataRelational Data Packaged AppsPackaged Apps
TopLinkTopLink
EJBEJB BAMBAM ADFbcADFbc PortletsPortletsBIBI EssbaseEssbaseBPELBPEL Web Web ServicesServices
JavaJava
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 - Controller
ADF Bindings (JSR 227)ADF Bindings (JSR 227)
Business Services
Data Services
Model
Controller
ViewJSFJSF
Desktop Browser-Based
StrutsStruts JSF/ADF Task FlowJSF/ADF Task Flow
OfficeOfficeADFADF SwingSwing JSPJSP ADF Faces / DVTADF Faces / DVT
XML DataXML Data Legacy DataLegacy DataRelational DataRelational Data Packaged AppsPackaged Apps
TopLinkTopLink
EJBEJB BAMBAM ADFbcADFbc PortletsPortletsBIBI EssbaseEssbaseBPELBPEL Web Web ServicesServices
JavaJava
Oracle ADF – View (User Interface)
Oracle ADF – View (User Interface)
• Entwicklung der Präsentationsschicht• visuell (WYSIWYG)
• deklarativ
• Wahl der Implementierung
ADF ADF SwingSwing
JSPJSP JSP / JSP / StrutsStruts
Java Server Java Server Faces (JSF)Faces (JSF)
Oracle ADF – Fusion Applications
Business Services
Data Services
Model
Controller
View
ADF Bindings (JSR 227)ADF Bindings (JSR 227)
JSFJSF
Desktop Browser-Based
StrutsStruts JSF/ADF Task FlowJSF/ADF Task Flow
OfficeOfficeADFADF SwingSwing JSPJSP
TopLinkTopLink
EJBEJB BAMBAM ADFbcADFbc PortletsPortletsBIBI EssbaseEssbaseBPELBPEL Web Web ServicesServices
JavaJava
ADF Faces / DVTADF Faces / DVT
XML DataXML Data Legacy DataLegacy DataRelational DataRelational Data Packaged AppsPackaged Apps
ViewView
ADF FacesADF Faces
Browser ClientBrowser Client
AJAXAJAX
Active ClientActive Client
FlashFlash
Mobile ClientMobile Client
XHTML, WML,XHTML, WML,ASK (SMS)ASK (SMS)
Rich Enterprise Applications
ADF Faces: Rich Client-Komponenten
ADF Faces: DVT-Komponenten
GraphGauge
Geographic map
Pivot tableGantt chart
• verfügbare Data Visualization-Komponenten
Demonstration
ADF Rich Internet Application
<Insert Picture Here>
Entwicklung von Benutzer-Schnittstellen 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 11 g• 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 11 g - Interoperabilität
FormsServer
FormsClient
Datenbankmit AQ
FormsServer
BPEL
FormsClient
File System
Web Services
Mail, Wireless
JMS
Datenbanken
.NET
Oracle DB
Advanced Queuing
JMS
Native PL/SQLXML-Message XML-Message
JAX
b2.0
AD
F 11g
Oracle Forms
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
FORMS
ADF
Forms2ADF-Queue
ADF2Forms-Queue
FORMS
ADF
Forms2ADF-Queue
ADF2Forms-Queue
Forms2
Forms1
ADF1
ADF2
FORMS
2.1
1.1
ADF
Forms2ADF-Queue
ADF2Forms-Queue
Forms2
Forms1
ADF1
ADF2
FORMS
ADF
Forms2ADF-Queue
ADF2Forms-Queue
Forms2
Forms1
ADF1
ADF2
1.12.1
Die Reihenfolge der Nachrichten spielt keine Rolle!
FORMS
ADF
Forms2ADF-Queue
ADF2Forms-Queue
Forms2
Forms1
ADF1
ADF2
1.1
2.1
FORMS
ADF
Forms2ADF-Queue
ADF2Forms-Queue
Forms2
Forms1
ADF1
ADF22.2
1.2
FORMS
ADF
Forms2ADF-Queue
ADF2Forms-Queue
Forms2
Forms1
ADF1
ADF2
2.21.2
FORMS
ADF
Forms2ADF-Queue
ADF2Forms-Queue
Forms2
Forms1
ADF1
ADF2
2.2
1.2
Multiuser-Szenario:
Forms1 startet ADF1
Forms2 startet ADF2
Start-Parameter:
- SessionToken
- SecurityToken
- Benutzername
Interoperabilität Forms ���� ADF
enque deque
XML-Nachrichten-Header:
- <SessionToken >.<FlowToken >
- Navigationsdirektive
- Security Token
- Benutzername
XML-Body
- Messages
- KeyValuePairs
dequeenque
- SessionToken bleibt gleich
- Neuer UID für FlowToken
� 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 ADFaber 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 in E-Business Suite
BIP in PeoplesoftBIP in J.D. Edwards
BIP Enterprise
BIP Embedded
Oracle BI Suite EE / SE1
BIP in Siebel
Oracle BI Publisher –Architektur
Übersetzung
XLIFF
TemplateXSL
DatenXML
PDF Word Excel More…
Template Manager
Übersetztungs-kataloge
Translation Handler
etc…
WebDAV
DeliveryServer
Printer
FAX
EmailDokument
Ausgabe-formate
SQL
XML
WebServices
AppsModule
DataEngine
Data Template
PDFHTMLRTFCSV
PowerpointExcelFlashXMLText
• 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
Integration in Oracle ADF
Migration von Oracle Reports nach BIP
52
Oracle Report RDF
files
RDF XML
Conversion Utility
LOV
RTF Template
rwconverter.PLS files
.xdo file
Log file
Reports 9i
Data Template
<Insert Picture Here>
Datenmodellierung und Datenbank-Design
• 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
SQL Developer – Data Modeling
* http://www.oracle.com/technology/products/databas e/sql_developer/files/sqldeveloperstatementofdirect ion.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
Forms Builder
Forms Server
Reports Builder
Reports Server
Oracle JDeveloper
Designer/Headstart
Oracle BI Publisher
Oracle JHeadstart
Oracle Application
Development Framework
Word Desktop Builder
Online Builder
…
Klassische Werkzeuge J2EE-Werkzeuge
<Insert Picture Here>
Weiterführende Informationen und Veranstaltungen
• Oracle Fusion Middlewarehttp://www.oracle.com/technology/products/middleware
• Oracle Formshttp://www.oracle.com/technology/products/forms
• Oracle Forms Upgrade Centerhttp://otn.oracle.com/formsupgrade
• Deutsche Forms-Communityhttp://www.oracle.com/global/de/community/forms
• J2EE für Forms-Entwicklerhttp://www.oracle.com/technology/formsdesignerj2ee
Weiterführende Informationen (1)
• Oracle Application Development Framework (ADF)http://www.oracle.com/technology/products/adf
• Oracle JDeveloperhttp://www.oracle.com/technology/products/jdev
• Deutsche ADF Communityhttp://www.oracle.com/de/community/adf=> ADF für Forms-Entwickler
• Oracle BI Publisherhttp://groups.google.com/group/adf-methodology
• SQL Developer Data Modelinghttp://www.oracle.com/technology/products/database/sql_developer/files/Modeling.html
Weiterführende Informationen (2)
• DOAG - SIG Development „Wie geht es weiter mit Forms ?“• 26.3.2009 Berlin• 27.3.2009 Stuttgart
• DOAG - SIG DevelopmentActive 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 Stuttgart• 23.4.2009 Frankfurt• 29.4.2009 Hamburg• 7.5.2009 Dresden
Veranstaltungen
62
Q&A