Oracle Fusion Development, May 2009

86

description

Details about Oracle Fusion Development

Transcript of Oracle Fusion Development, May 2009

Page 1: Oracle Fusion Development, May 2009
Page 2: Oracle Fusion Development, May 2009

<Insert Picture Here>

The Fusion Development PlatformJaime CidPrincipal Sales ConsultantFusion Middleware / Enterprise 2.0 May 2009

Page 3: Oracle Fusion Development, May 2009

Oracle Corporation (July 2008)

• World’s largest enterprise software vendor• $22.4 billion revenue in FY08

• 25% total revenue growth• 28% new software license growth

• 300,000 global customers• 84,000 employees

• 20,000 developers• 7,500 support personnel

• 20,000 partners• 9,100 Independent Software Vendors

• Operating in 145 Countries

Page 4: Oracle Fusion Development, May 2009

• E-Business Suite

• PeopleSoft Enterprise

• Siebel

• JD Edwards

• Oracle Retail

• i-Flex

• Communications Billing

• Utilities

• ProfitLogic

• G-Log

• Agile PLM

• Oracle GRC

• Database

• Real Application Clusters

• Partitioning

• OLAP and Data Mining

• Security

• Spatial

• Oracle Lite

• Times Ten

Database Middleware Applications

• Development Tools

• TP-Monitor

• Application Server

• Application Grids

• Data Integration

• SOA / Integration

• Business Intelligence

• Content Management

• Identity Management

• Enterprise 2.0

• Enterprise Performance

Management

• BEA

Page 5: Oracle Fusion Development, May 2009

Oracle’s Fusion Strategy

• Oracle Fusion Architecture• Blueprint for SOA-based Enterprise Solutions

• Oracle Fusion Middleware• Technology Infrastructure for Next Gen Applications

• Oracle Fusion Applications• Protect, Extend, Evolve through Fusion Architecture and Middleware

Page 6: Oracle Fusion Development, May 2009

Oracle Fusion Middleware

Page 7: Oracle Fusion Development, May 2009

Oracle Fusion Applications

• Merge Oracle EBS, Siebel, Peoplesoft into one offering with multiple modules

• Convergence and evolution of different Web Platforms• Probably one of the largest software development

projects in the world• Thousands of developers (~8,000 )• Several years in the making

Page 8: Oracle Fusion Development, May 2009

What We Wanted – Business Drivers

• Cutting Edge User Interface• Agility• System Integration• Standards• Scalability, Security, Portability• Time to market

Page 9: Oracle Fusion Development, May 2009

How We’ll Get There

Java EE 5 SOA Web 2.0

Page 10: Oracle Fusion Development, May 2009

Business LogicView Data

TaskComplete

AssignTask

Human WorkflowService

BPELProcessBusiness

ActivityMonitoring

OrchestrationHuman interaction Policy evaluationMonitoring

User InterfaceADF Faces components

Business Services

JSR-227Data

Binding

Web Services

Oracle Fusion Architecture

DB Schema

Web

Cen

ter

Events

RulesEngine

results

facts

Page 11: Oracle Fusion Development, May 2009

The Challange

• On one side:• JPA, EJB, AJAX, JavaScript, BPEL, SOAP, WSDL, RMI,

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

• On the other side:• Thousands of developers• 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• Unified way of doing things

• How do you make it easy and approachable?

Page 12: Oracle Fusion Development, May 2009

The Solution - Oracle ADF

• Development framework that simplifies development of Java EE-based Web & SOA applications

• Abstract developers from technology complexities• Example - UI Components abstracts from Ajax, Flash,

Javascript, DOM

• Provides end-to-end infrastructure solutions… • O/R Mapping, persistence, caching, controller, binding, UI

framework

• …and an easy way to use them• Visual editors, Property editors, dialogs etc…

Page 13: Oracle Fusion Development, May 2009

Try Yourself

• ADF Online Interactive Demo:• http://bit.ly/adfdemo

• Data Visualization Tools Demo:• http://bit.ly/adfdvt

Page 14: Oracle Fusion Development, May 2009

<Insert Picture Here>

Fusion User Interface

Page 15: Oracle Fusion Development, May 2009

Compelling Features of Fusion for UIs

• ADF Faces Rich Client Components • Large skin-able component set for JSF

• ADF DVT Components• Charts, Gant, Geo-map, Gauges• Also JSF components – no new skills required

• Active Data • Push to the client

• ADF Task Flows • Reusable processes and fragments

• WebCenter• Documents, Search, Mash-ups, Presence, Discussions, 2.0, …

• Single skill set• Mobile, GIS, BI dashboards, data entry

Page 16: Oracle Fusion Development, May 2009

From These

Page 17: Oracle Fusion Development, May 2009

To This

Page 18: Oracle Fusion Development, May 2009

Integrated, standards based, user interaction suite

Notifications

Email

Discussions & Presence

Documents

Search

CustomPartner

Legacy

Other Apps…

Business Intelligence Apps

With ADF and other components likeOracle Web Center Framework (ADF based)

Wiki / Blog

Social Networks

Page 19: Oracle Fusion Development, May 2009
Page 20: Oracle Fusion Development, May 2009

Composer : Application Customization

Page 21: Oracle Fusion Development, May 2009

Example Fusion Applications UI’s

Page 22: Oracle Fusion Development, May 2009

Fusion ApplicationsHCM

Page 23: Oracle Fusion Development, May 2009

Fusion ApplicationsProjects

Page 24: Oracle Fusion Development, May 2009

Fusion ApplicationsProcurement

Page 25: Oracle Fusion Development, May 2009

Oracle Enterprise Manager 11gFusion Middleware Control

Page 26: Oracle Fusion Development, May 2009

<Insert Picture Here>

Oracle JDeveloper

Page 27: Oracle Fusion Development, May 2009

Oracle JDeveloper Goals

• Development tool for Fusion Applications• Oracle has ~8,000 applications developers • They must be productive

• Design time for Fusion Middleware• Integrated development experience• Take advantage of special features

• Simplify Transition to Java• Addressing the enterprise developer in addition to the Java

experts

Page 28: Oracle Fusion Development, May 2009

Common Architecture

Fu

sio

n A

pp

lica

tio

ns

ADF

J2EE App Server

Metadata Services (MDS)

WebCenter SOA Mobile

JDeveloperJDeveloperF

usi

on

Ap

pli

cati

on

s En

terprise M

anag

er

Page 29: Oracle Fusion Development, May 2009

• Standards-based IDE• Single stack for all SOA development

• J2EE, WS, SCA & XML Development

• WebCenter, BPEL, BI & Wireless Development

• Service-Oriented Development

• Event-Driven Development

• Productivity With Choice• Supports choice of technologies

• Supports choice of development styles

• Supports choice of Application Servers & Databases

• Highly customizable & extensible

Fusion Development ToolOracle JDeveloper

Task Flow Modeling

Business Process Modeling

Data Transformation

Page Design

Routing Rules& Events

Page 30: Oracle Fusion Development, May 2009

Visual and Declarative Development

• WYSIWYG Editors• JSF, JSP, HTML, Swing

• Visual Page Flow • Task Flow, JSF, Struts

• Modelers• DB and popular UML modelers

• Visual Editors• XML Schema, XSLT, WSDL

• Process Flow• BPEL Editor• Mediator

Page 31: Oracle Fusion Development, May 2009

Choice of Development Styles

Visual Declarative

Code

Page 32: Oracle Fusion Development, May 2009

<Insert Picture Here>

Fusion Architecture

Page 33: Oracle Fusion Development, May 2009

What is an Application?

Page 34: Oracle Fusion Development, May 2009

Business LogicView Data

“Traditional” Oracle Development…

User InterfaceUIX /JSP

Business ServicesADF BC / EJB

DBSchema

Web Services

Forms / Reports

Application Express

Page 35: Oracle Fusion Development, May 2009

“Traditional”- Build Your Own…

• Batch processes• PL/SQL, Perl, REXX, csh, RPT, etc. etc.

• Rules engine• Workflow• Data loaders• Data Transformers• Dashboards• Security• The database is the hub

Page 36: Oracle Fusion Development, May 2009

Business LogicView Data

Orchestration Human interactionPolicy evaluationMonitoring

The Fusion Blueprint

RulesEngine Assign

Task

TaskComplete

Human WorkflowService

Mediator /BPEL Process

results

factsBusinessActivity

Monitoring

User InterfaceADF Faces components

Business ServicesADF Business Components

DataBinding

SDO Services

DatabaseSchema

DatabaseSchema

Events

Page 37: Oracle Fusion Development, May 2009

Common Development Framework

• Oracle Application Development Framework (ADF)• Increase productivity & ease-of-use

• Visual and declarative development• Takes care of the “plumbing” code• Implements best practices

• Promote service oriented development• Re-usable business services• Composite applications development

• Standards-based• Choice of technology, deployment platform

• Common framework for the platform

Page 38: Oracle Fusion Development, May 2009

Fusion Development

BusinessBusinessServicesServices

ExposedExposedPortletsPortlets

User User InterfaceInterface

BusinessBusinessProcessesProcesses

Relational Data

Packaged Apps

XML Data

Page 39: Oracle Fusion Development, May 2009

Fusion / ADF Architecture

Business Services

Data Services

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

Controller

JSFJSF View

Desktop Browser-Based

StrutsStruts JSF/ADF Task FlowJSF/ADF Task Flow

OfficeOfficeADFADF SwingSwing JSPJSP

TopLinkTopLink

EJBEJB BAMBAM ADFbcADFbc PortletsPortletsBIBI EssbaseEssbaseBPELBPEL Web Web ServicesServices

JavaJava

ADF Faces / DVTADF Faces / DVT

XML DataXML Data Legacy DataLegacy DataRelational Relational DataData

Packaged Packaged AppsApps

Page 40: Oracle Fusion Development, May 2009

Business Services

Data Services

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

Controller

JSFJSF View

Desktop Browser-Based

StrutsStruts JSF/ADF Task FlowJSF/ADF Task Flow

OfficeOfficeADFADF SwingSwing

ADF – Fusion Stack

JSPJSP

TopLinkTopLink

EJBEJB BAMBAM ADFbcADFbc PortletsPortletsBIBI EssbaseEssbaseBPELBPEL Web Web ServicesServices

JavaJava

ADF Faces / DVTADF Faces / DVT

XML DataXML Data Legacy DataLegacy DataRelational Relational DataData

Packaged Packaged AppsApps

Page 41: Oracle Fusion Development, May 2009

<Insert Picture Here>

Business Services

Business Services

User Interface

Business Processes

Exposed Portlets

Page 42: Oracle Fusion Development, May 2009

Business Service Goals

• Bridge Object-Relational gap• Manage CRUD operations

• Queries/DML

• Implement business rules• Data validation• Business logic

• Reusable• Not only for UIs

• Standards-based

Page 43: Oracle Fusion Development, May 2009

Business Service Selection

Core Java EE Frameworks

Enterprise JavaBeans

Web services

Java classes

Benefits• Develop with a single API• No extra libraries required

Benefits• Declarative development• Built-in design patterns

ADF Business Components

Oracle TopLink

Page 44: Oracle Fusion Development, May 2009

Which Service Framework?

• ADFbc is the expected default implementation for relational access• Declarative• Customizable• Scalable

• Some exceptions for:• High transaction grid environments• Non-relational (XML / Cubic / JMX)

• If in doubt – come and talk to us

Page 45: Oracle Fusion Development, May 2009

ADF Business Components

ADF is a framework that simplifies developing Java EE business services for developers familiar with declarative

development and relational databases

• Provides data interaction & business logic execution• Enables declarative-style development

• Wizard-based and visual development• Implemented in metadata, not code

• Enables business logic development• Pre-defined Java methods for common events (create,

delete, row currency)• Declarative business rules

Page 46: Oracle Fusion Development, May 2009

Declarative Development

Page 47: Oracle Fusion Development, May 2009

<Insert Picture Here>

Business Processes

Business Services

User Interface

Business Processes

Exposed Portlets

Page 48: Oracle Fusion Development, May 2009

Business Process Development

• BPEL - standard for service integration

• Orchestrate heterogeneous services

• Hundreds of adapters for any back-end system

• Visual development of business processes

• Consistent development experience• Same tool• Visual, drag & drop

Page 49: Oracle Fusion Development, May 2009

Event support across the stack

• Operations on ADF-BC objects trigger events, initiating SOA composites

• ESB fan-out patterns

• Etc.

SOA composite

createSupplier

ADF page flowand BC

newSupplier event

SOA composite

newSupplier event

Page 50: Oracle Fusion Development, May 2009

Orchestrate components - SCA

New order Event

BPEL orchestration

Business Rules

Human Tasks

Web services, ADFBC – SDO and adapters

Page 51: Oracle Fusion Development, May 2009

<Insert Picture Here>

User Interface

Business Services

User Interface

Business Processes

Exposed Portlets

Page 52: Oracle Fusion Development, May 2009

JSF – The UI Framework of Choice

• Simplify Web Development• Server side UI generation• Component based, not mark-up• Automatic event and state handling• Diverse client base, not just HTML• Designed with tooling in mind• Applicable to wide spectrum of programmer types

• A Java EE standard

Page 53: Oracle Fusion Development, May 2009

ADF Faces Enhances JSF

• Over 150 types of UI components• Trees, tabs, shuttles, etc.…..

• Rich interactive component set• Partial page rendering (PPR)• AJAX functionality

• Value-added features• Skinning, templating• Multiple renderers (HTML, PDA, wireless,…)• Drag and drop data binding• Accessibility• Internationalization

• Open source (Apache Trinidad)

Page 54: Oracle Fusion Development, May 2009

ADF Faces Rich Client Architecture

Client Side Server Side

Label1

Label2

Label3

OK

DOM

Peer Objects

Document

Form

Element

Servlet

JSF Lifecycle

In Memory Tree

View Root

Form

UI Component

Renderer

Page 55: Oracle Fusion Development, May 2009

iPhone Safari Render kit• The Oracle ADF Mobile Browser client, however, enables developers

to leverage the AJAX capabilities of the iPhone Safari browser, while maintain complete compatibility with mobile browsers that can only handle plain HTML or WAP 2.0 contents.

• Furthermore, it helps developers create user interfaces that are optimized for iPhone screen size and mobile Web use.

Page 56: Oracle Fusion Development, May 2009

ADF Faces Rich Client Samples

Page 57: Oracle Fusion Development, May 2009

ADF Faces Components

CommonComponents

LayoutComponents

Operations

Page 58: Oracle Fusion Development, May 2009

Oracle Data Visualization Tools (DVT)

• Graph• Gauge• Geographic Map

• Pivot Table• Gantt Chart

Page 59: Oracle Fusion Development, May 2009

Data Visualization Components (DVT)

Page 60: Oracle Fusion Development, May 2009

Cuyahoga County GIS Example

Page 61: Oracle Fusion Development, May 2009

Data Binding with the ADF ModelThe heart of ADF

• Single interface for any business service implementation• Abstract implementation from clients

• Drag-and-drop data binding for all services

Page 62: Oracle Fusion Development, May 2009

ADF Skins & JSF Page Templates

• ADF Skins• Skin is a style sheet based on the CSS 3.0 syntax• Load dynamically during runtime

• ADF Page Templates• Consistent layout and style for all your pages• Base UI components for layout and look• Pluggable content zones (facets) for page-specific content• Cannot be nested

Page 63: Oracle Fusion Development, May 2009

Page Fragments

• Not complete JSF pages – they do not have a document tag (af:document) or view tag (f:view)

• Cannot be run on its own• Share the same request scope if inside the same

page• Reusable portion of a page• Reduce the complexity of large pages

Page 64: Oracle Fusion Development, May 2009

Task FlowsReusable ADF Components

• An extension to the ADF page flow concept• Can include pages, page fragments, method calls and

other task flows• Support for bookmarking, transaction management,

exception handling, and the browser back button

Page 65: Oracle Fusion Development, May 2009

WebCenter Services TaskFlows Catalog

Page 66: Oracle Fusion Development, May 2009

Discussions TaskFlowDiscussions TaskFlow

Document Library TaskFlowDocument Library TaskFlow

Search TaskFlowSearch TaskFlow

Page 67: Oracle Fusion Development, May 2009

<Insert Picture Here>

Exposing Portlets

Business Services

User Interface

Business Processes

Exposed Portlets

Page 68: Oracle Fusion Development, May 2009

Exposing Portlets

• Portlets are reusable web components providing personalization and customization capabilities• Standards-based portlets (JSR 168)

• Oracle PDK-Java portlets

• PL/SQL portlets

• JSF components• PanelCustomizable

• Move left/right/up/down

• Hide/show

• ShowDetailFrame

• Minimize/maximize

Page 69: Oracle Fusion Development, May 2009

Task Flows vs. Portlets

• Similar in functionality and behavior• Task flows are local to the application

• Can share information and transaction boundaries with other items on the page

• Portlets are external to the application• Has some overhead

• Task flows can be portletized for reuse outside the application (JSR-301)

Page 70: Oracle Fusion Development, May 2009

<Insert Picture Here>

Alternative UIs

Business Services

User Interface

Business Processes

Exposed Portlets

Page 71: Oracle Fusion Development, May 2009

Desktop DevelopmentExcel Integration

Microsoft Office

Declarative

Binding

Bulk

Transactions

Connected

DisconnectedSecure

Business Services

Page 72: Oracle Fusion Development, May 2009

ADF Mobile Browser Architecture

Business Services

Data Services

Model

Controller

View

Struts

Relational Data XML Data Legacy Data

JSP

Met

adat

a S

e rv i

ces

ADFm (JSR 227)

Packaged Apps

JSF MyFaces

JSF/ADFc

Java EJB BAM BPEL ADF BC BI XML

OfficeSwing

WebServices

Portlet Toplink JMXJCR

Mobile Browser Client

Page 73: Oracle Fusion Development, May 2009

ADF Mobile Browser – Design Time Support

• Mobile render kit handles support for different markup / device capabilities

• Single application to handle both HTML and AJAX clients

• Declarative, drag-and-drop development paradigm

• Same Business Logic components are shared across mobile and desktop applications

Page 74: Oracle Fusion Development, May 2009

ADF Mobile Browser – Run Time Support

• Supports both consumer and smartphone browsers• Leverages AJAX features in smartphone browsers• Downgrades gracefully to support plain HTML browsers

• Requires browsers supporting HTML / XHTML MP1 and WAP 2.0• Can be skinned with different style sheets based on user agent detection• Components size dynamically based on form factor• Partial page refresh

• Requires full AJAX support

• Page animation/transition support

Page 75: Oracle Fusion Development, May 2009

ADF Mobile BrowserMobile Browser Support

• Apple iPhone and iPod Touch Safari• BlackBerry Browser 4.2 and above

• Browser version 4.6 and above supports PPR

• Windows Mobile Pocket IE 5 and 6• Ensure “Fit to Screen” view is selected to optimize display

• Nokia S60 Browser• Android Browser• Plain HTML Browsers in Consumer Mobile Phones

• Minimal browser requirement: HTML / XHTML MP1 and WAP 2.0 support• Need to download from Apace MyFaces Trinidad project

Page 76: Oracle Fusion Development, May 2009

<Insert Picture Here>

Metadata Services

Page 77: Oracle Fusion Development, May 2009

What is Metadata Services Framework (MDS)?

• A common infrastructure for metadata • Available across App Server Suite

• ADF, SOA, Business Process Management (BPEL) etc. • Provides runtime and design time services such as

• Flexible, Open Storage Options (export/import, file or database)

• Versioning- track and rollback changes to your application• Team Development Support• Dependency Management• Sandboxing • Customization and Personalization

Page 78: Oracle Fusion Development, May 2009

Customizing with MDS

• How it is used • Web Center’s Page Editor

• Allows Business Analysts and Admin browser based design experience

• ADF components persist end user personalization to MDS• User removes columns from a table or freezes columns

• Customization Developer Role in Jdeveloper (seeded)• Allows developers to verticalize their applications• i.e Change attributes displayed based on industry• Customer customizes delivered product to better meet their

business practices.

Page 79: Oracle Fusion Development, May 2009

Metadata Services Customization

Base Document

User1’s User Customization Laura’s Page

John’s Page

Site Customization

+

+

MDS Customization Engine

MetadataRepository -File or DB

No User

Customization

Page 80: Oracle Fusion Development, May 2009

Customization

• Multiple layers of customization• Configuration determines:

• Number of layers (Verticalization, Site, User etc.)• Precedence of layers

• Context can be determined at runtime• Customizations saved as separate XML documents• Base and customized metadata stored in MDS

repository

Page 81: Oracle Fusion Development, May 2009

Customization Layers simplify Upgrade

Industry Site User Industry Site User

Version 1 Version 2

Customer CustomizationsCarry Forward

Upgrade Can Change Base

Metadata

Page 82: Oracle Fusion Development, May 2009

End User Customization

• User customizations of ADF components• ex.User hides and reorders columns in a table

• Changes Persists for the Session• Changes Persists across Sessions using MDS• Project Level Settings

• Many ADF components support user customization out of the box

Page 83: Oracle Fusion Development, May 2009

End User Customization

• Developers choose which to persist• Initially specified at the application• Override setting for a page• Override for an instance of a component

Page 84: Oracle Fusion Development, May 2009

Developer Customization

• Customizations are made with JDeveloper’s Customization Role

• Customization are made for each defined layer• Experience is the same as creating base metadata• Only Metadata is customizable (not java files etc.)• Only existing metadata, can’t create new pages etc.

Page 85: Oracle Fusion Development, May 2009

Oracle FusionDevelopment Platform

• Integrated• Full development life cycle• Not only for Java EE but for the entire platform

• Productive• Visual and Declarative• ADF

• Standard• Choice of technologies• Choice of deployment platforms

Page 86: Oracle Fusion Development, May 2009