1
<Insert Picture Here>
Oracle Forms – Roadmap in Richtung SOA
Jürgen MengeOracle Deutschland
3
Entwicklung mit Oracle JDeveloper und ADF
4
Optionen für Forms-Applikationen
Upgrade
Forms ..., 6.0, 6i
Forms 10g, 11g
Integrate
Migrate
ADF/J2EE
Web
SOA
ClientServer
5
Oracle Entwicklungs-Werkzeuge
• Langfristige Unterstützung für Oracle Forms• Weiterentwicklung des Produktes (Forms 11g)• Integration bestehender Forms-Applikationen in SOA• Nutzen vorhandener Entwickler-Kenntnisse⇒ Weiterentwicklung bestehender Forms-Anwendungen
• J2EE-Entwicklung mit Oracle JDeveloper und ADF• vergleichbare Produktivität der Anwendungsentwicklung
• visuelle und deklarative Entwicklung• Entwicklung auf Basis offener Standards• Anknüpfen an vertraute Konzepte⇒ Entwicklung von Web-Oberflächen und Services
auf Basis von J2EE
6
Oracle JDeveloper
• Integrierte Entwicklungsumgebung • Unterstützung des vollständigen Entwicklungszyklus• Entwicklungsumgebung für Java, XML, Web Services, SQL, PL/SQL• Integrierter Application Server – WebLogic
• 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
7
• 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)
8
Business Services
Web and WirelessRich Clients
Model
Controller
ViewView
ControllerController
ModelModel(JSR 227)(JSR 227)
Architektur – Oracle ADF
9
Business Services
Data Services
Model
Controller
View
Struts
Relational Data XML Data Legacy Data
JSPM
etad
a ta
Ser
vice
s
ADFm (JSR 227)
Packaged Apps
JSF ADF Faces
JSF/ADFc
Java EJB BAM BPEL ADF BC BI XML
OfficeSwing
Web Services
Portlet Toplink JMXJCR
Oracle ADF 11 g Architektur
10
Business Services
Data Services
Model
Controller
View
Struts
Relational Data XML Data Legacy Data
JSPM
etad
a ta
Ser
vice
s
ADFm (JSR 227)
Packaged Apps
JSF ADF Faces
JSF/ADFc
Java EJB BAM BPEL ADF BC BI XML
OfficeSwing
Web Services
Portlet Toplink JMXJCR
ADF-Technologien für Forms-Entwickler
11
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 TopLinkTopLink
/Java/JavaBeansBeans
EJB EJB Session Session BeansBeans
Web Web ServicesServices
ADF ADF Business Business
ComponentsComponents
……
12
� J2EE-Framework zur Erstellung von Geschäftskomponenten
� Kapselung der Geschäftslogik
� Persistenz-Schicht
� Implementierung von J2EE-Design Pattern
� Universeller Clientzugriff auf die gleiche Logik
� viele Ähnlichkeiten zu Oracle Forms
Auftrag
KundeAuftra g
Kunde
Auftrag
WichtigerAuftrag
Kunde
View Objects
Entity Objects
Präsentation
ADF Business Components
Application Module
13
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
ModelModel
Web Services
Web Services
ToplinkToplink
EJBEJB
JavaClasses
JavaClasses
BusinessComponents
BusinessComponents
14
• 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 – View (User Interface)
15
Oracle ADF Faces
• >100 User Interface-Komponenten• Weiterentwicklung von ADF UIX auf Basis der JSF APIs
• Funktionalität• Partial-page Refresh• Integr. Support für Internationalisierung• automatische Sortierung• verschiedene Skins
• Unterstützung für versch. Clients• Browser, PDA, Telnet
• Anpassbares Look & Feel (Skins)• AJAX Rendering Kit (ADF 11g)• Schenkung an Apache (Projekt Trinidad)
16
ADF Faces Rich Client - Komponenten
17
ViewView
JSFJSF
Browser ClientBrowser Client
AJAXAJAX
Active ClientActive Client
FlashFlash
Mobile ClientMobile Client
XHTML, WML,XHTML, WML,ASK (SMS)ASK (SMS)
Rich Clients mit JSF
18
D E M O N S T R A T I O ND E M O N S T R A T I O N
Fusion WebFusion Web --ApplikationApplikation
19
Oracle JHeadstart
• RAD-Framework zur Beschleunigung der ADF-Entwicklung• Entwicklung durch Oracle Consulting Niederlande
• Merkmale• Deklarative Entwicklung• iteratives Prototyping• Anwendungs-Generator als Plug-in im JDeveloper• Montage von Komponenten, keine Generierung von Java-Code !• Generierung lauffähiger J2EE-Applikationen auf Basis von ADF
• ermöglicht die Migration von Oracle Forms-Anwendungen nachADF• Designer Forms Migrator• Forms2ADF Generator (FAG)
20
JSF JSPADF Faces
JSF JSPADF Faces
JSFJSF
ADF Business
Components
ADF Business
Components
ADF Model
Data Bindings
Data Controls
ADF Model
Data Bindings
Data Controls
View
Controller
Model
BusinessServices
Generierungs-Prozess
Application Definition
Application Definition
ADF Business
Components
ADF Business
ComponentsOracle
JDeveloper
21
JSF JSPADF Faces
JSF JSPADF Faces
JSFJSF
ADF Business
Components
ADF Business
Components
ADF Model
Data Bindings
Data Controls
ADF Model
Data Bindings
Data Controls
View
Controller
Model
BusinessServices
Generation Process
Application Definition
Application Definition
ADF Business
Components
ADF Business
ComponentsOracle JDeveloper
22
JSF JSPADF Faces
JSF JSPADF Faces
JSFJSF
ADF Business
Components
ADF Business
Components
ADF Model
Data Bindings
Data Controls
ADF Model
Data Bindings
Data Controls
View
Controller
Model
BusinessServices
GeneratorTemplatesGeneratorTemplates
JHeadstartApplicationGenerator
JSFJSF
JSF JSPADF Faces
JSF JSPADF Faces
ADF Model
Data Bindings
Data Controls
ADF Model
Data Bindings
Data Controls
Application Definition
Application Definition
ADF Business
Components
ADF Business
ComponentsOracle JDeveloper
23
JSF JSPADF Faces
JSF JSPADF Faces
JSFJSF
ADF Business
Components
ADF Business
Components
ADF Model
Data Bindings
Data Controls
ADF Model
Data Bindings
Data Controls
View
Controller
Model
BusinessServices
GeneratorTemplatesGeneratorTemplates
JHeadstartApplicationGenerator
JSFJSF
JSF JSPADF Faces
JSF JSPADF Faces
ADF Model
Data Bindings
Data Controls
ADF Model
Data Bindings
Data Controls
Application Definition
Application Definition
ADF Business
Components
ADF Business
Components
Forms2ADF Generator
Oracle JDeveloper
24
Oracle Forms und ADF
25
Rich Clients
Abbildung der Forms-Architektur auf ADF
SQL Interface
DataLogic Record Manager
Block Data Definition
Navigation Logic
UI Logic
Block UI Definition
Java UI Renderer Web and Wireless Clients
Controller
Model
Business Services
Oracle Forms Oracle ADF
26
Interoperabilität Forms / ADF
• Notwendigkeit• gleichzeitiges Betreiben von Forms- und ADF-Anwendungen• Nebeneinander von Forms- und ADF-Anwendungen in einem
längeren Prozess der Umstellung
⇒ Kommunikation zwischen Forms- und ADF-Anwendungen
• Anforderungen• übergreifende Transaktionen• mehrere Sitzungen pro Anwender (Session Token)
• mehrere Windows pro Sitzung (Flow Token)
• sauberer Abbau von Sitzungen bei Abbrüchen
27
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
28
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
29
OraFormsFaces - Forms als WebComponent
Form
30
OraFormsFaces - Funktionalität
• Übergabe des Kontextes zwischen Forms und JSF(JavaScript)
• Anstoßen von Ereignisse in Forms aus JSF und umgekehrt
• Hinzufügen eines JavaScript API oder Nutzung des nativen JavaScript API von Forms 11
• Nutzung des Forms-Applets während der gesamten Session
• optionale visuelle Integration (Clipping)
31
Zusammenfassung
• Oracle ADF als Ergänzung und Alternative zur Forms-Entwicklung
• Entwicklung mit JDeveloper/ADF weist viele Ähnlichkeiten zur Forms-Entwicklung auf• höhere Produktivität durch Wizards, deklarative und visuelle
Arbeitsweise
• ADF Business Components sind relational orientiert und können auf einem bestehenden Datenmodell aufsetzen
• komponenten-basierte Arbeitsweise mit ADF Faces
• Möglichkeiten der Integration von Forms- und ADF-Applikationen (erweiterte Funktionen mit Forms 11g)
32
• Oracle JDeveloper Product Pagehttp://www.oracle.com/technology/products/jdev/
• Oracle ADFhttp://www.oracle.com/technology/products/adf
• Oracle JDeveloper 11g Tutorialshttp://www.oracle.com/technology/products/jdev/11/cuecards
• Oracle JDeveloper Discussion Forumhttp://www.oracle.com/technology/discussionforums/jdev.html
• Google Group „ADF Methodology“http://groups.google.com/group/adf-methodology
• Deutsche ADF Communityhttp://www.oracle.com/de/community/adf=> ADF für Forms-Entwickler
Weiterführende Links
33
Q&A
Top Related