ADF - Oracle

Werbung
1
<Insert Picture Here>
Oracle Forms – Roadmap in Richtung SOA
Jürgen Menge
Oracle Deutschland
Entwicklung mit Oracle
JDeveloper und ADF
3
Optionen für Forms-Applikationen
Forms
..., 6.0, 6i
Migrate
Client
Server
U
p
g
r
a
d
e
Forms
10g, 11g
Web
Integrate
ADF/J2EE
SOA
4
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
5
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
6
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
7
Architektur – Oracle ADF
Rich Clients
Web and Wireless
View
Controller
Controller
Model
Business Services
8
Model
(JSR 227)
Oracle ADF 11g Architektur
Metadata Services
Swing
JSP
Office
JSF
Struts
ADF Faces
JSF/ADFc
ADFm (JSR 227)
Java
EJB BAM BPEL
Portlet
Web Services
Toplink
JCR
View
Controller
Model
ADF BC
BI
XML
JMX
Business
Services
Data Services
Relational Data
9
XML Data
Legacy Data
Packaged Apps
ADF-Technologien für Forms-Entwickler
Metadata Services
Swing
JSP
Office
JSF
Struts
ADF Faces
JSF/ADFc
ADFm (JSR 227)
Java
EJB BAM BPEL
Portlet
Web Services
Toplink
JCR
View
Controller
Model
ADF BC
BI
XML
JMX
Business
Services
Data Services
Relational Data
10
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
11
EJB
Session
Beans
ADF
Business
Components
Web
Services
…
ADF Business Components
J2EE-Framework zur Erstellung von
Präsentation
Geschäftskomponenten
Application Module
Kapselung der Geschäftslogik
Auftrag
Kunde
Persistenz-Schicht
Wichtiger
View Objects
Implementierung von
Auftrag
J2EE-Design Pattern
Universeller Clientzugriff auf
Auftrag
Kunde
Entity Objects
die gleiche Logik
viele Ähnlichkeiten zu Oracle Forms
Auftrag
12
Kunde
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
Business
Components
Components
Web
Web
Services
Services
Model
Toplink
Toplink
EJB
EJB
Java
Java
Classes
Classes
13
Oracle ADF – View (User Interface)
• Entwicklung der Präsentationsschicht
• visuell (WYSIWYG)
• deklarativ
• Wahl der Implementierung
ADF
Swing
14
JSP
JSP /
Struts
Java Server
Faces (JSF)
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
•
•
•
15
Anpassbares Look & Feel (Skins)
AJAX Rendering Kit (ADF 11g)
Schenkung an Apache (Projekt Trinidad)
ADF Faces Rich Client - Komponenten
16
Rich Clients mit JSF
Browser Client
AJAX
View
Active Client
Flash
Mobile Client
XHTML, WML,
ASK (SMS)
17
JSF
D E M O N S T R A T I O N
Fusion Web-Applikation
18
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 nach
ADF
• Designer Forms Migrator
• Forms2ADF Generator (FAG)
19
Application
Application
Definition
Definition
GenerierungsProzess
JSF JSP
JSP
JSF
ADF Faces
Faces
ADF
JSF
JSF
View
Controller
ADF Model
Model
ADF
Data Bindings
Bindings
Data
Model
Data Controls
Controls
Data
Oracle
JDeveloper
20
ADF
ADF
ADF
ADF
Business
Business
Business
Business
Components
Components
Components
Components
Business
Services
Application
Application
Definition
Definition
Generation
Process
JSF JSP
JSP
JSF
ADF Faces
Faces
ADF
JSF
JSF
View
Controller
ADF Model
Model
ADF
Data Bindings
Bindings
Data
Model
Data Controls
Controls
Data
Oracle
JDeveloper
21
ADF
ADF
ADF
ADF
Business
Business
Business
Business
Components
Components
Components
Components
Business
Services
Application
Application
Definition
Definition
Generator
Generator
Templates
Templates
JSF
JSP
JSF
JSF JSP
JSP
JSF
JSP
ADF
Faces
ADF
ADF Faces
Faces
ADF
Faces
JSF
JSF
JSF
JSF
JHeadstart
Application
Generator
Oracle
JDeveloper
22
View
Controller
ADF
Model
ADF
ADF Model
Model
ADF
Model
Data
Bindings
Data
Data Bindings
Bindings
Data
Bindings
Model
Data
Controls
Data
Data Controls
Controls
Data
Controls
ADF
ADF
ADF
ADF
Business
Business
Business
Business
Components
Components
Components
Components
Business
Services
Application
Application
Definition
Definition
Generator
Generator
Templates
Templates
JSF
JSP
JSF
JSF JSP
JSP
JSF
JSP
ADF
Faces
ADF
ADF Faces
Faces
ADF
Faces
JSF
JSF
JSF
JSF
JHeadstart
Application
Generator
Forms2ADF
Generator
Oracle
JDeveloper
23
View
Controller
ADF
Model
ADF
ADF Model
Model
ADF
Model
Data
Bindings
Data
Data Bindings
Bindings
Data
Bindings
Model
Data
Controls
Data
Data Controls
Controls
Data
Controls
ADF
ADF
ADF
ADF
Business
Business
Business
Business
Components
Components
Components
Components
Business
Services
Oracle Forms und ADF
24
Abbildung der Forms-Architektur auf ADF
Oracle Forms
Java UI Renderer
UI
Logic
Oracle ADF
Rich Clients
Web and
Wireless Clients
Block UI Definition
Controller
Navigation Logic
Data Block Data Definition
Logic
Record Manager
SQL Interface
25
Model
Business Services
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
•
•
•
•
26
übergreifende Transaktionen
mehrere Sitzungen pro Anwender (Session Token)
mehrere Windows pro Sitzung (Flow Token)
sauberer Abbau von Sitzungen bei Abbrüchen
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
27
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>
Forms1
1.1
1.2
Forms2
startet ADF2
- Navigationsdirektive
- Security Token
2.1
Forms2
2.2
enque
Start-Parameter:
- Benutzername
deque
-XML-Body
SecurityToken
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
28
ADF2
2.1
FlowStack wird weiter aufgebaut
OraFormsFaces - Forms als WebComponent
Form
29
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)
30
Zusammenfassung
• Oracle ADF als Ergänzung und Alternative zur FormsEntwicklung
• 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 ADFApplikationen (erweiterte Funktionen mit Forms 11g)
31
Weiterführende Links
•
Oracle JDeveloper Product Page
http://www.oracle.com/technology/products/jdev/
•
Oracle ADF
http://www.oracle.com/technology/products/adf
•
Oracle JDeveloper 11g Tutorials
http://www.oracle.com/technology/products/jdev/11/cuecards
•
Oracle JDeveloper Discussion Forum
http://www.oracle.com/technology/discussionforums/jdev.html
•
Google Group „ADF Methodology“
http://groups.google.com/group/adf-methodology
•
Deutsche ADF Community
http://www.oracle.com/de/community/adf
=> ADF für Forms-Entwickler
32
Q&A
33
Herunterladen