- Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative...

33
1

Transcript of - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative...

Page 1: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

1

Page 2: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

<Insert Picture Here>

Oracle Forms – Roadmap in Richtung SOA

Jürgen MengeOracle Deutschland

Page 3: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

3

Entwicklung mit Oracle JDeveloper und ADF

Page 4: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

4

Optionen für Forms-Applikationen

Upgrade

Forms ..., 6.0, 6i

Forms 10g, 11g

Integrate

Migrate

ADF/J2EE

Web

SOA

ClientServer

Page 5: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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

Page 6: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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

Page 7: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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)

Page 8: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

8

Business Services

Web and WirelessRich Clients

Model

Controller

ViewView

ControllerController

ModelModel(JSR 227)(JSR 227)

Architektur – Oracle ADF

Page 9: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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

Page 10: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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

Page 11: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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

……

Page 12: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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

Page 13: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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

Page 14: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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)

Page 15: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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)

Page 16: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

16

ADF Faces Rich Client - Komponenten

Page 17: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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

Page 18: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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

Page 19: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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)

Page 20: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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

Page 21: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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

Page 22: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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

Page 23: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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

Page 24: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

24

Oracle Forms und ADF

Page 25: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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

Page 26: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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

Page 27: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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

Page 28: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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

Page 29: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

29

OraFormsFaces - Forms als WebComponent

Form

Page 30: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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)

Page 31: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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)

Page 32: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

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

Page 33: - Oracle Cloud...7 • Höhere Produktivität und einfache Benutzung • Grafische und deklarative Entwicklung • Konzentration auf die Applikation und

33

Q&A