Entwicklung von ADF-Applikationen – JDeveloper vs. Eclipse

Post on 12-Nov-2021

3 views 0 download

Transcript of Entwicklung von ADF-Applikationen – JDeveloper vs. Eclipse

Entwicklung von ADF-Applikationen –JDeveloper vs. Eclipse

Jürgen Menge

Oracle Deutschland

<Insert Picture Here>• Die Technologie:

Das Oracle Application Development

Framework (ADF)

• Die Entwicklungsumgebungen (IDE)

• Oracle JDeveloper

Agenda

• Oracle JDeveloper

• Oracle Enterprise Pack for Eclipse

• Weiterführende Informationen

Das Oracle Application Development Framework (ADF)

• Weiterentwicklung und Integration bestehender Frameworks

• Auswahlmöglichkeiten der einzusetzenden Technologien

• Integration der ausgewählten Technologien

• Entwicklung von SOA-Anwendungen

• Entwicklung wiederverwendbarer Services

• Entwicklung von Composite Applications• Entwicklung von Composite Applications

• Entwicklung von interaktiven Web-Anwendungen

(AJAX, Flash, …)

• Produktivität der Entwicklung

• Oracle JDeveloper oder Oracle Enterprise Pack for Eclipse

• Visuelle, deklarative und code-orientierte Arbeitsweise

• Konzentration auf die Applikation und nicht

auf technische Details der Implementierung

• Umsetzung von JEE Best Practices

Der Grundgedanke von Oracle ADFWeb Desktop Mobile Office

Datenbank Web Services Legacy-Systeme Applications Unlimited

ADF Bindings (JSR 227)ADF Bindings (JSR 227)

JSFJSF

Desktop Browser und mobile Geräte

StrutsStruts JSF/ADFcJSF/ADFc

OfficeOfficeADFADF SwingSwing JSPJSP ADF ADF FacesFaces

Architektur - Oracle ADF 11gM

eta

data

Serv

ices (M

DS

)M

eta

data

Serv

ices (M

DS

)

Model

Controller

ViewMobileMobile

ADFmcADFmc

XML DataXML Data Legacy DataLegacy DataRelational DataRelational Data Packaged AppsPackaged Apps

EJBEJB BAMBAM ADFbcADFbc PortletsPortletsBIBI EssbaseEssbaseBPELBPEL Web Web ServicesServices

JavaJava

Meta

data

Serv

ices (M

DS

)M

eta

data

Serv

ices (M

DS

)

Business Services

Data Services

JPA/TopLinkJPA/TopLink

<Insert Picture Here>• Die Technologie:

Das Oracle Application Development

Framework (ADF)

• Die Entwicklungsumgebungen (IDE)

• Oracle JDeveloper

Agenda

• Oracle JDeveloper

• Oracle Enterprise Pack for Eclipse

• Weiterführende Informationen

Oracle JDeveloper

• Integrierte Entwicklungsumgebung • Unterstützung des vollständigen Entwicklungszyklus

• Entwicklungsumgebung für Java, XML, Web Services, SQL, PL/SQL

• Integrierter Application Server – WebLogic Server

• IDE für Fusion- und Fusion Middleware-Projekte

• JEE-Anwendungsentwicklung• JEE-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

ADF ADF BindingsBindings

JSFJSF

Desktop Browser und mobile Geräte

StrutsStruts JSF/ADFcJSF/ADFc

OfficeOfficeADFADF SwingSwing JSPJSP ADF ADF FacesFaces

Oracle ADF - Fusion StackM

eta

data

Serv

ices (M

DS

)M

eta

data

Serv

ices (M

DS

)

Model

Controller

ViewMobileMobile

ADFmcADFmc

XML DataXML Data Legacy DataLegacy DataRelational DataRelational Data Packaged AppsPackaged Apps

EJBEJB BAMBAM ADFbcADFbc PortletsPortletsBIBI EssbaseEssbaseBPELBPEL Web Web ServicesServices

JavaJava

Meta

data

Serv

ices (M

DS

)M

eta

data

Serv

ices (M

DS

)

Business Services

Data Services

Model

JPA/TopLinkJPA/TopLink

Application Module (AM)Application Module (AM)

Data ControlData Control

Schichten einer ADF Fusion-Applikation

• GUI (JSF / ADF Faces)

• Binding von Attributen und Methoden

des Business Service über den Binding Layer

(Data Controls)

• Data Control

• stellt Attribute und Methoden für die GUI bereit

GUI GUI (JSF/ADF Faces)(JSF/ADF Faces)

View Object (VO)View Object (VO)

• View Object (VO) und Application Module (AM)

• View Object (VO) stellt Sicht auf die Daten bereit

• Application Module (AM) definiert Datenmodell

und Transaktion

• Entity Object (EO)

• repräsentiert eine Tabelle/View in der Datenbank

Entity Object (EO)Entity Object (EO)

Demonstration

ADF-Entwicklung mit Oracle JDeveloperADF-Entwicklung mit Oracle JDeveloper

<Insert Picture Here>• Die Technologie:

Das Oracle Application Development

Framework (ADF)

• Die Entwicklungsumgebungen (IDE)

• Oracle JDeveloper

Agenda

• Oracle JDeveloper

• Oracle Enterprise Pack for Eclipse

• Weiterführende Informationen

Oracle - Strategic Developer und Board Member der Eclipse Foundation

• Mitarbeit in der Eclipse Foundation

seit 2002

• Oracle ist seit März 2007 Strategic Developer und

Board Member der Eclipse Foundation

• Mitarbeit bzw. Lead in verschiedenen Projekten• Mitarbeit bzw. Lead in verschiedenen Projekten

• Eclipse Web Tools Platform Project (WTP)

• JSF Tooling

• Eclipse Technology Project

• Eclipse Modeling Project

• Eclipse Persistence Platform (EclipseLink)

• Eclipse Data Tools Platform Project (DTP)

Oracle Enterprise Pack for Eclipse (OEPE)

• Zusammenfassung von Plug-Ins für die Entwicklung

mit Eclipse

• ehemals: Workshop for WebLogic (BEA)

• Unterstützung für Java EE, Java SE, JSF, Web

Services, XML, Spring, Struts, Database

Development, CSS & Javascript

• Deployment auf verschiedenen Application Servern

(WebLogic Server, GlassFish, …)

• kostenfrei

Oracle Enterprise Pack For Eclipse - Status

• OEPE 11.1.1.8

• Auf Basis von Eclipse 3.7 (Indigo)

• ADF Faces-Komponenten

• JSF Page Flow und ADF Taskflows (adfc-config.xml)

• ADF Application Debugging

• Abhängigkeits-Analyse mit AppXRay

Oracle Restricted and Confidential

• OEPE xx.x.x (geplant)

• ADF Binding Layer

OEPE - Überblick

Oracle RuntimesOracle Runtimes

•WebLogic Server• Coherence• Glassfish

JSFJSF

Web ServicesWeb Services

•JAX-WS•JAXB•Client Gen•Test Client•Advanced validation•WebLogic

Java Web AppsJava Web Apps

• Visual Web App design • ADF, JSP, JSF, JSTL, CSS, HTML•Smart editor

SpringSpring

•Spring IDE•Spring DAO generation•Spring Facets•Generate

Oracle DB ToolsOracle DB Tools

•Oracle DTP Plug-in•SQL Query•DDL Generation•E/R

AppXRayAppXRay ORM WorkbenchORM Workbench

•Entity Generation• Entity Editor•EclipseLink•OpenJPA•Kodo

•Visualize Dependencies•As you type validation•Code navigationJSFJSF •WebLogic

SCAeditor• Tag Drop wizards

•Generate JAX-WS from bean

•E/R Diagrams

•Kodo

Eclipse Platform

Web Tools

JDT APT Debug

WTP JSF Dali WPE EclipseLink

navigation•Code completion

Workspace und Projekte

• Workspace in Eclipse entspricht Application im JDev

• aber es kann jeweils nur ein Workspace geöffnet sein

• Umschalten zwischen Workspaces bewirkt Neustart der IDE

• Projekte in Eclipse entsprechen Projekten im JDev

• Anlegen einer ADF Application erzeugt zwei Projekte

• <app_name> Enterprise Application Project (Deployment)

• <app_nameWeb>Dynamic Web Project

• zusätzliches Projekt für das Model (JPA, ...)

Perspektiven

• Auswahl und Anordnung von Tools bzw. Views

• Perspektive „JavaEE“ für ADF-Applikationen mit Views

• Application Server View (Starten und Stoppen)

• Data Source Explorer View (u.a. DB Connections)

• WLS Console

• ...

Application Server

• kein eingebetteter Application Server

• ADF-Applikationen benötigen WLS 10.3.4+ mit ADF

Extension

• Aufsetzen der Verbindung (Runtime) in Eclipse

• ADF- und JPA-Extensions können im Wizard installiert werden

ADF Bindings (JSR 227)ADF Bindings (JSR 227)

JSFJSF

Desktop Browser und mobile Geräte

StrutsStruts JSF/ADFcJSF/ADFc

OfficeOfficeADFADF SwingSwing JSPJSP ADF ADF FacesFaces

ADF – JEE Business ServiceM

eta

data

Serv

ices (M

DS

)M

eta

data

Serv

ices (M

DS

)

Model

Controller

Viewmobile UImobile UI

mobilemobile

J2MEJ2ME

XML DataXML Data Legacy DataLegacy DataRelational DataRelational Data Packaged AppsPackaged Apps

JPA/TopLinkJPA/TopLink

EJBEJB BAMBAM ADFbcADFbc PortletsPortletsBIBI EssbaseEssbaseBPELBPEL Web Web ServicesServices

JavaJava

Meta

data

Serv

ices (M

DS

)M

eta

data

Serv

ices (M

DS

)

Business Services

Data Services

Model

• Enterprise Java Beans (EJB) – deutliche Vereinfachung mit

• EJB 3.0 Java EE5

• EJB 3.1 Java EE6

• Java Persistence API (JPA)

• JPA 1.0 innerhalb der Spezifikation EJB 3.0

• aktuell: JPA 2.0 (Java Specification Request 317)

EJB, JPA, EclipseLink, TopLink

• WebLogic unterstützt JPA 2.0 bereits in Java EE 5.0

• EclipseLink

• EclipseLink bietet JPA-Implementierung 1.0 und ist

Referenzimplementierung von JPA 2.0

• strategischer Persistence Provider für Oracle

• Oracle TopLink = Oracle EclipseLink + Erweiterungen + Support

EclipseLink: Vollständige Java Persistenz

DBWSDBWSSDOSDOEISEISMOXyMOXyJPAJPA

Java SEJava SE Java EEJava EE OSGiOSGi SpringSpring Web AppsWeb Apps

Eclipse Persistence Services Project (EclipseLink)

XML Daten Legacy SystemeDatenbanken

...

JPA / EJB 3.0 - Architektur

Session Bean

JPA Persistence Provider

EJB Container

Client

Message-driven bean

Datenbank

Entity

JMS queue/topic

Struktur einer ADF-Applikation in OEPE

• JPA Project (Java Persistence API)

• Persistence Unit(s) (persistence.xml)

• JPA Entities (POJOs mit Annotationen)

• Session Beans (EJB)

• Enterprise Application Project

• Festlegungen zum Deployment• Festlegungen zum Deployment

• Web Project

• Managed Beans mit Injection der Session Beans

(faces-config.xml)

• ADF Faces Pages mit ADF Faces/DVT-Komponenten

Managed BeanManaged Bean(faces(faces--config.xml)config.xml)

Schichten einer ADF JPA/EJB-Applikation

• GUI (JSF / ADF Faces)

• Explizites Binding von Attributen und Methoden

des Business Service (JPA)

• JSF Managed Bean

• Injektion der Session Bean

• stellt Attribute und Methoden für die GUI bereit

GUI GUI (JSF/ADF Faces)(JSF/ADF Faces)

Session BeanSession Bean

• Session Bean

• Geschäftslogik und Transaktionssteuerung

• ruft CRUD-Methoden des Entity Managers auf

• JPA Entity

• repräsentiert persistenzierbaren Zustand

• Entity Manager implementiert die CRUD-Methoden

JPA EntityJPA Entity

ADF Faces Rich Client-Komponenten

• >150 User Interface-Komponenten

• AJAX, Flash, …

• Rich Client-Komponten: Tabelle, Form, Splitter, Accordion, …

• DVT-Komponenten: Charts, Gantt, Karten, Pivot, Kalender, Karussell

• Funktionalität

• Partial-page Refresh

• Internationalisierung

• automatische Sortierung

25

• automatische Sortierung

• Dialog- und Popup-Framework

• Drag & Drop

• Barrierefreiheit

• Unterstützung für versch. Clients

• Browser, Mobile Devices

• Anpassbares Look & Feel (Skins)

ADF Faces Controller

• Erweiterung der JSF Page

Flow Engine

• Abfolge von Pages und

Methoden

• Modellierung von Abläufen

• Wiederverwenden von Task

Flows

• in anderen Task Flows

• in anderen Pages

• Deklarative Festlegung

komplexer Funktionalität

• Transaktionen, Initialisierung,

Back Button

Rich Client- und

DVT-Komponenten

ADF Faces

Smart Property SheetJSF Page Flow

• Data Binding

• (noch) kein Data Binding Layer in Eclipse

• direktes Binding anstelle von Data Controls

• Data Binding auf Basis der Expression

Language (EL)

• Data Palette

Data Binding

• Data Palette

• enthält die verfügbaren Datenelemente

• JSF Managed Beans

• Page, Session, Application Scoped

Variables

• Teil des Oracle Enterprise Pack for Eclipse

• Analyse der Abhängigkeiten zwischen JSP/JSF Pages, Java

Source Code, Resource Bundles, CSS-Dateien und

Konfigurationsdateien

• automatisch aktiviert für dynamische Web-Projekte

• Aufbau einer Datenbank

• Navigation entlang der Abhängigkeiten (Usages)

• Anzeige von Problembereichen

Anzeige der Abhängigkeiten - AppXRay

• Anzeige von Problembereichen

Demonstration

ADF-Entwicklung mit Eclipse (OEPE)ADF-Entwicklung mit Eclipse (OEPE)

JDeveloper vs. Eclipse in Bezug auf ADF

Lizenzkosten JDeveloper OEPE

Struktur der IDE Applikation, Projekte Workspace, Projekte

Perspektiven

Application Server WLS eingebettet beliebig konfigurierbar; ADF

11g erfordert WLS 10.3.4+

Business Service

Layer

Verschiedene Technologien;

Schwerpunkt ADF BC

Verschiedene Technologien;

Schwerpunkt EJB/JPA

Data Binding ADF Binding Layer Direktes Data BindingData Binding ADF Binding Layer

(Data Controls)

Direktes Data Binding

View Layer ADF Faces-Komponenten ADF Faces-Komponenten

Controller ADF Faces Controller;

JSF Controller

ADF Faces Controller;

JSF Controller

Lizenzkosten kostenfrei kostenfrei

Austausch von Entwicklungsergebnissen über Deployment in

Bibliothek und Ressourcen-Katalog möglich

Oracle ADF - welche Persistenztechnologie

• Oracle ADF Business Components

• datenbank-orientierte Dialoganwendungen

• datenmodell-getrieben (relationales Datenmodell)

• EclipseLink/JPA

• getrieben von objekt-orientiertem Domänenmodell• getrieben von objekt-orientiertem Domänenmodell

• Anwendungen, deren Anforderungen über Masken

hinausgehen (z.B. JMS-Integration, …)

<Insert Picture Here>• Die Technologie:

Das Oracle Application Development

Framework (ADF)

• Die Entwicklungsumgebungen (IDE)

• Oracle JDeveloper

Agenda

• Oracle JDeveloper

• Oracle Enterprise Pack for Eclipse

• Weiterführende Informationen

• Oracle Application Development Framework (ADF)http://www.oracle.com/technology/products/adf

• Oracle JDeveloperhttp://www.oracle.com/technology/products/jdev

• Oracle Enterprise Pack for Eclipse

Produktinformationen im OTN

• Oracle Enterprise Pack for Eclipsehttp://www.oracle.com/technetwork/developer-tools/eclipse

Communities

• Google Group „ADF Methodology“http://groups.google.com/group/adf-methodology

• Deutsche Oracle ADF Community

• Oracle ADF Community auf XINGhttps://www.xing.com/net/adfcomm/

• News Sessions (30-minütige Web Seminare an jedem 2. Freitag)• News Sessions (30-minütige Web Seminare an jedem 2. Freitag)

(Anmeldung über annegret.warnecke@oracle.com)

• Deutsche ADF Community Page im Internet (Newsletter)

http://www.oracle.com/webfolder/technetwork/de/community/adf/index.html

• regelmäßige Treffen der Oracle ADF-Partner

• Zusammenarbeit mit der DOAG (Jahreskonferenz, SIG)

• …

ADF Community – Project Session

• Project Session

• 5-teilige Serie von kostenlosen, aufeinander aufbauenden

Hands-On-Workshops

• durchgeführt von Oracle und kompetenten Partnern

• Themen

• 20.- 22.9.: Projektstart, Einführung in ADF,

Entwicklung einer ersten Applikation

• 8.- 10.11.: Vorgehensmodell, Geschäftslogik, Arbeiten im Entwicklerteam

• 5.- 8.12.: User Interface, Umsetzen grafischer Layouts, Deployment

• 17.-19.1.: Erweiterung der Ablaufsteuerung

• offen: Sicherheit, Skalierbarkeit, Integration

• Informationen unter:http://apex.oracle.com/pls/apex/f?p=38040:1:2262126060740176

Q&A

37