Oracle - Programatica2010

65

Transcript of Oracle - Programatica2010

Page 1: Oracle - Programatica2010
Page 2: Oracle - Programatica2010

<Insert Picture Here>

Building Rich Internet Web ApplicationsBuilding Rich Internet Web Applications using Oracle ADF and Jdeveloper

Alexandru BaciuTechnology Sales Consultant – Oracle Romania

Page 3: Oracle - Programatica2010

Agenda

• The ChallengeO l F i t k• Oracle Fusion stack

• Developer Tools choice• Oracle ADF overview

Page 4: Oracle - Programatica2010

Rich Internet Web Applications

Page 5: Oracle - Programatica2010

What We Wanted – Business Drivers

C tti Ed UI• Cutting Edge UI• Refresh data on page without full page refresh• Immediate validationImmediate validation• Drag-and-Drop• Pop-up

D i d l l t• Dynamic and complex layouts

• Agility• System Integration• System Integration• Standards

Scalability Security Portability• Scalability, Security, Portability• Time to market

Page 6: Oracle - Programatica2010

How We’ll Get There

Java EE 5 SOA Web 2 0Java EE 5 SOA Web 2.0

Page 7: Oracle - Programatica2010

Oracle Fusion – What Is It?

O l F i A li ti• Oracle Fusion Applications • Oracle’s next generation of enterprise applications

• Oracle Fusion Middleware• Oracle Fusion Middleware• Integrated standards-based middleware platform

• Oracle Fusion Architecture• Oracle Fusion Architecture • Recommended architecture for your custom applications

Page 8: Oracle - Programatica2010

What is the Fusion Product Stack?

O l JD l th d l t t l• Oracle JDeveloper – the development tool• Oracle ADF – the development framework

O l SOA S it th i t ti l• Oracle SOA Suite – the integration layer• Oracle WebCenter – the Web 2.0 portal layer

Page 9: Oracle - Programatica2010

Oracle Fusion Middleware – The Platform

Page 10: Oracle - Programatica2010

The Fusion ArchitectureBusiness LogicView Data

User B i S iUser InterfaceADF Faces

components

Business ServicesADF Business Components

DataBinding

DatabaseSchema

DatabaseSchemaC

ente

r

Binding

SDO ServicesWeb

RulesEngine

Human WorkflowService

Mediator /BPEL Process facts

Business

Events

EngineAssign Task

TaskComplete

Service Process

results

factsActivityMonitoring

OrchestrationHuman interaction Policy evaluationMonitoring

Page 11: Oracle - Programatica2010

The Challenge

O id• On one side:• JSF, EJB, Ajax, JavaScript, BPEL, SOAP, WSDL, RMI, JNDI,

JDBC, O/R, HTML, DOM….JDBC, O/R, HTML, DOM….

• On the other side:• Thousands of developersp• Most don’t know these technologies• Most come from 4GL background• Expecting a visual and declarative approach• Don’t have time to learn all these new technologies• Need to focus on their specific application needs• Need to focus on their specific application needs

• How do you make it easy and approachable?

Page 12: Oracle - Programatica2010

It’s A Transition

EBS D l F i D lEBS Developer Fusion DeveloperTool Forms or JDeveloper

10.1.3JDeveloper 11g

Framework OAF ADFProcess Flow Workflow BPELPortal Oracle Portal WebCenterLanguage PL/SQL Java

Page 13: Oracle - Programatica2010

It’s A Transition

F D l F i D lForms Developer Fusion DeveloperTool Oracle Forms JDeveloper 11gFramework Oracle Forms ADFFramework Oracle Forms ADFProcess Flow ?? BPELPortal Oracle Portal WebCenterLanguage PL/SQL Java

Page 14: Oracle - Programatica2010

Scary ?

Page 15: Oracle - Programatica2010

Not if you reach the right information

Page 16: Oracle - Programatica2010

The Solution - Oracle ADF

Abstraction – High Level Concepts

B i S i

g p

• Business Service• EJB, JPA, POJO, Web Service, JCR, BPEL

UI Component• UI Component• HTML, Ajax,Flash,JavaScript

• Task• Task• Page Flow, BPEL Flow, Human Flow

Page 17: Oracle - Programatica2010

Oracle Application Development Framework (ADF)

End to end Ja a EE frame ork that is e tensible• End-to-end Java EE framework that is extensible• Utilizes and adds value to the Java EE platform• Abstracts Java EE complexityAbstracts Java EE complexity• Provides declarative and visual development• Enables developers to focus on the application, not the low-

level infrastructure• Creates reusable and maintainable code• Metadata simplifies the basic task of wiring user interfaces to• Metadata simplifies the basic task of wiring user interfaces to

services• Implements Java EE best practices and design patterns,

i l di MVCincluding MVC

Page 18: Oracle - Programatica2010

Oracle ADF – High Level ArchitectureMVC – Model View Controller

View

ControllerController

Model

Business Services

Page 19: Oracle - Programatica2010

Oracle ADF – High Level ArchitectureThe Fusion Stack

ADF Faces

ADF ControllerADF Controller

ADF Model

ADF Business Components

Page 20: Oracle - Programatica2010

Oracle ADF Components for Fusion Apps and what they do

ADF F Ri h Cli t C t• ADF Faces Rich Client Components• Ajax enabled JSF components• UI components with built-in Ajax support• UI components with built-in Ajax support

• ADF Controller• Declarative definition of Web-pages and task flowsDeclarative definition of Web pages and task flows• Reusable flows

• ADF Model• Declarative way to bind UI to business services

• ADF Business Components• Declarative validation• Reusable components to manage DB access and logic

Page 21: Oracle - Programatica2010

Oracle ADF - The Bigger PictureStandards-based Productivity with Choice

JSFJSF View

Desktop Browser-Based

OfficeOfficeADFADF

Standards based Productivity with Choice

JSPJSP ADF FacesADF FacesMobileMobile

Controller

JSFJSF View

St tSt t JSF/ADFJSF/ADF T kFlT kFl

OfficeOfficeSwingSwing JSPJSP ADF FacesADF Faces

s (M

DS

)s

(MD

S)

MobileMobile

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

ControllerStrutsStruts JSF/ADF JSF/ADF TaskFlowsTaskFlows

a S

ervi

ces

a S

ervi

ces

Business

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

EJBEJB BAMBAM ADFbcADFbc PortletsPortletsBIBI EssbaseEssbaseBPELBPEL Web Web S iS i

JavaJavaMet

adat

aM

etad

ata

ServicesTopLinkTopLinkServicesServices

Data Services

XML DataXML Data Legacy DataLegacy DataRelational DataRelational Data Packaged AppsPackaged Appsg yg y g ppg pp

Page 22: Oracle - Programatica2010

A Single IDE For All The Artifacts

J EE• Java EE • Web User Interfaces• Mobile Interfaces• Web ServicesWeb Services• SOA

W bC t / P tl t JDeveloper• WebCenter / Portlets• Database

JDeveloper

• XML

Page 23: Oracle - Programatica2010

JDeveloper - Unified Development Tool

SOA Web 2.0Java

Page 24: Oracle - Programatica2010

Full Lifecycle Support

Page 25: Oracle - Programatica2010

Visual and Declarative

WYSIWYG UI d i• WYSIWYG UI design• Flow diagrams• Modelers• Visual XML EditorsVisual XML Editors• Process Flow

Page 26: Oracle - Programatica2010

Choice of Development Styles

VisualDialog

CodeCode

Page 27: Oracle - Programatica2010

Tooling Product Strategy

C l t & i t t d t li f th l tf• Complete & integrated tooling for the platform• End-to-end, Java EE, SOA, framework, WebCenter, database• Based on industry standards• Based on industry standards • Free

• ProductivityProductivity • Reduce the complexity and cost of developing for the platform

• Choice• Choice of implementation technologies• Choice in development style• Choice of deployment platforms and databases• Choice of IDE solutions

Page 28: Oracle - Programatica2010

IDE Product Focus

O l C t F d• Oracle Customer Focused• JDeveloper• Oracle Enterprise Pack for Eclipse• Oracle Enterprise Pack for Eclipse• Oracle Forms / Reports

• Community FocusedCommunity Focused • NetBeans

• JDeveloper is the strategic / primary IDE, however, all three Java IDE options are committed to

Page 29: Oracle - Programatica2010

Developer Tools FocusJDeveloper

End-to-end Enterprise 2.0 & SOA

Support the FusionFusion

Middleware platform

Visual and declarative productivityproductivity

Page 30: Oracle - Programatica2010

Developer Tools Focus

I t t

Oracle Enterprise Pack for EclipseIntegrate Oracle’s Eclipse

work

Support thethe

WebLogic Platform

Focus on core Java EE techEE tech

Page 31: Oracle - Programatica2010

Developer Tools FocusNetBeans

Support the Java

platform

Reference i l fimpl. for

Java tooling

Community focused platformplatform

Page 32: Oracle - Programatica2010

IDE Feature Focus Matrix

Feature Area JDeveloper OEPE NetBeansJava SE EEJava SE, EEWeb ServicesMobileADFSOAWebCenterModeling / UMLSpringSpringJavaFXWebLogic Integrationg gGlassFish Integration

Page 33: Oracle - Programatica2010

<I t Pi t H ><Insert Picture Here>

Oracle ADF Overview

Page 34: Oracle - Programatica2010

Oracle Fusion Development

Relational Data

BusinessBusinessServicesServices

User User InterfaceInterface

Relational Data

XML Data

Web 2.0Web 2.0ServicesServices

BusinessBusinessProcessesProcessesPackaged Apps

ServicesServices

Page 35: Oracle - Programatica2010

Oracle Fusion Development

Relational Data

BusinessBusinessServicesServices

User User InterfaceInterface

Relational Data

XML Data

Web 2.0Web 2.0ServicesServices

BusinessBusinessProcessesProcessesPackaged Apps

ServicesServices

Page 36: Oracle - Programatica2010

Business Service Goals

B id Obj t R l ti l• Bridge Object-Relational gap• Manage CRUD operations

Q i /DML• Queries/DML

• Implement business rules• Data validation• Data validation• Business logic

• ReusableReusable• Standards-based

Page 37: Oracle - Programatica2010

ADF Business Components

A framework that simplifies developing Java EE business services for developers familiar with 4GL tools, declarative development, and relational databasesdatabases

Simplify data access• Simplify data access• Simplify validation and business logic

U SQL b d d t i• Uses SQL based data views• Separate data views from business logic

I l t b t ti• Implement best practices• Easy customization

Page 38: Oracle - Programatica2010

ADF BC - Making Things Simpler

Q er b e ample an field• Query by example any field• Master/Detail coordination• List of valuesList of values• Calculated fields• Various validations• Exposing services• Range fetching

Transaction control• Transaction control• Locking mechanism• State managementg• All done declaratively without coding!

Page 39: Oracle - Programatica2010

ADF BC Familiar Concepts for Forms/4GL Developers

D l ti DB d fi iti i il t bl k• Declarative DB access definition – similar to blocks• Built in events – similar to triggers in Forms

D l ti t tti f tt ib t• Declarative property setting for attribute• Declarative validation• Declarative LOV• Declarative calculated fields• Built in query by example• Find/Execute query support• Reusable property sets• Transaction management using commit/rollback

Page 40: Oracle - Programatica2010

Oracle Fusion Development

Relational Data

BusinessBusinessServicesServices

User User InterfaceInterface

Relational Data

XML Data

Web 2.0Web 2.0ServicesServices

BusinessBusinessProcessesProcessesPackaged Apps

ServicesServices

Page 41: Oracle - Programatica2010

From These

Page 42: Oracle - Programatica2010

To These - Fusion ApplicationsHCMHCM

Page 43: Oracle - Programatica2010

To These - Fusion ApplicationsProjectsProjects

Page 44: Oracle - Programatica2010

To These - Fusion ApplicationsProcurementProcurement

Page 45: Oracle - Programatica2010

And These – Mobile Applications

Page 46: Oracle - Programatica2010

ADF Faces - Component Based UI Development

Page 47: Oracle - Programatica2010

And More Components …

Page 48: Oracle - Programatica2010

ADF Faces Rich Client Components

150+ AJAX bl d J S F t• 150+ AJAX enabled JavaServer Faces components• Drag-and-drop framework

Di l d f k• Dialog and popup framework• Navigation menu framework

P ti l d i• Partial page rendering• Advanced data streaming• Complete JavaScript API• Skinning• Accessibility

Page 49: Oracle - Programatica2010

Visualizing Data

S f th d t i li ti t th tSome of the data visualization components that are available:

Graph Pivot tableHierarchy Viewer

Gauge Geographic map

Gantt chart

Page 50: Oracle - Programatica2010

Data Visualization Components

Page 51: Oracle - Programatica2010

ADF Mobile Browser

D li bil ti i d• Delivers mobile-optimized native look-and-feel user interface to mobileinterface to mobile browsers

• Adjusts to device’s browserAdjusts to device s browser capabilities

Page 52: Oracle - Programatica2010

ADF Mobile Client

R d t• Renders to an on-device mobile client with device-native UIwith device native UI components

Page 53: Oracle - Programatica2010

ADF Controller - TaskFlows

• Define flows of pages and methods• Define flows of pages and methods• Diagram your process• Build reusable task flows

• In other flows, inside other pages• Advance functionality in a declarative way

• Executing code in a flow g• Security• Bookmarking• Back button supportBack button support• Exception and transaction management• Save for later• Memory scope management• Memory scope management

• An extension to the JSF page flow engine

Page 54: Oracle - Programatica2010

Bounded Task Flow Example

addCust

editRecord createCustomer

Bounded Task Flow

Page 55: Oracle - Programatica2010

Reusable TaskFlows

Bounded Task Flow

Private Implementation and StateTask Flow

Page region

Page 56: Oracle - Programatica2010

Fusion Development

Relational Data

BusinessBusinessServicesServices

Relational Data

User User InterfaceInterface

XML Data

Web 2.0Web 2.0ServicesServices

BusinessBusinessProcessesProcessesPackaged Apps

ServicesServices

Page 57: Oracle - Programatica2010

ADF Model - Data Binding

• ADF Model• JSR-227 Data Controls

Service Oriented Interface• Service Oriented Interface• Abstract implementation from clients • Loose coupling between services

and application• More Productivity

• Drag and drop data bindingDrag and drop data binding• More Reusability for Services

• Discover and share services

Page 58: Oracle - Programatica2010

<I t Pi t H ><Insert Picture Here>

A few other thingsg

Page 59: Oracle - Programatica2010

End-to-end Security

Page 60: Oracle - Programatica2010

Debug Declarative Components

Page 61: Oracle - Programatica2010

Source and Official Support

S t d t t th d• Supported customers get the source code• Support by Oracle Support

T i i b O l U i it• Training by Oracle University

Page 62: Oracle - Programatica2010

DemonstrationDeveloping Rich Internet Applicationswith Oracle ADF and Jdeveloperwith Oracle ADF and Jdeveloper

Page 63: Oracle - Programatica2010

Summary

<I t Pi t H >O l JD l <Insert Picture Here>• Oracle JDeveloper• Integrated enterprise development tool

• Oracle ADF• Oracle ADF• Extending Java EE functionality• Plugging holesPlugging holes• Simplifying Development• End-to-End

Page 64: Oracle - Programatica2010

Learn More

<I t Pi t H >O l /t h l /jd <Insert Picture Here>• Oracle.com/technology/jdev• Download• Tutorials• Tutorials• Discussion forum• Samples• Books• Blogs• More…

Page 65: Oracle - Programatica2010

Question & Answers

O l / iddl• Oracle.com/middleware