Oracle Fusion Development, May 2009

Post on 19-May-2015

8.356 views 1 download

Tags:

description

Details about Oracle Fusion Development

Transcript of Oracle Fusion Development, May 2009

<Insert Picture Here>

The Fusion Development PlatformJaime CidPrincipal Sales ConsultantFusion Middleware / Enterprise 2.0 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

• 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

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

Oracle Fusion Middleware

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

What We Wanted – Business Drivers

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

How We’ll Get There

Java EE 5 SOA Web 2.0

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

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?

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…

Try Yourself

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

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

<Insert Picture Here>

Fusion User Interface

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

From These

To This

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

Composer : Application Customization

Example Fusion Applications UI’s

Fusion ApplicationsHCM

Fusion ApplicationsProjects

Fusion ApplicationsProcurement

Oracle Enterprise Manager 11gFusion Middleware Control

<Insert Picture Here>

Oracle JDeveloper

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

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

• 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

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

Choice of Development Styles

Visual Declarative

Code

<Insert Picture Here>

Fusion Architecture

What is an Application?

Business LogicView Data

“Traditional” Oracle Development…

User InterfaceUIX /JSP

Business ServicesADF BC / EJB

DBSchema

Web Services

Forms / Reports

Application Express

“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

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

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

Fusion Development

BusinessBusinessServicesServices

ExposedExposedPortletsPortlets

User User InterfaceInterface

BusinessBusinessProcessesProcesses

Relational Data

Packaged Apps

XML Data

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

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

<Insert Picture Here>

Business Services

Business Services

User Interface

Business Processes

Exposed Portlets

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

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

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

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

Declarative Development

<Insert Picture Here>

Business Processes

Business Services

User Interface

Business Processes

Exposed Portlets

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

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

Orchestrate components - SCA

New order Event

BPEL orchestration

Business Rules

Human Tasks

Web services, ADFBC – SDO and adapters

<Insert Picture Here>

User Interface

Business Services

User Interface

Business Processes

Exposed Portlets

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

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)

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

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.

ADF Faces Rich Client Samples

ADF Faces Components

CommonComponents

LayoutComponents

Operations

Oracle Data Visualization Tools (DVT)

• Graph• Gauge• Geographic Map

• Pivot Table• Gantt Chart

Data Visualization Components (DVT)

Cuyahoga County GIS Example

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

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 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

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

WebCenter Services TaskFlows Catalog

Discussions TaskFlowDiscussions TaskFlow

Document Library TaskFlowDocument Library TaskFlow

Search TaskFlowSearch TaskFlow

<Insert Picture Here>

Exposing Portlets

Business Services

User Interface

Business Processes

Exposed Portlets

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

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)

<Insert Picture Here>

Alternative UIs

Business Services

User Interface

Business Processes

Exposed Portlets

Desktop DevelopmentExcel Integration

Microsoft Office

Declarative

Binding

Bulk

Transactions

Connected

DisconnectedSecure

Business Services

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

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

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

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

<Insert Picture Here>

Metadata Services

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

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.

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

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

Customization Layers simplify Upgrade

Industry Site User Industry Site User

Version 1 Version 2

Customer CustomizationsCarry Forward

Upgrade Can Change Base

Metadata

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

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

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.

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