You are on page 1of 62

Fusion Applications Technical Overview

Doug Todd
VP, Fusion Middleware

Copyright 2012. Apps Associates LLC.

Agenda
Fusion Apps Architecture Overview
Fusion Apps User Experience
Application Development Framework
(ADF)
Fusion Apps SOA Infrastructure
Fusion Apps Deployment
Questions

Copyright 2012. Apps Associates LLC.

Fusion Application Definition


Fusion Applications are Service-Oriented composite
enterprise applications developed and deployed based
on the Oracle Fusion Architecture, using Fusion
Middleware.
ADF Fusion Applications are applications developed using
Oracle Application Development Framework (ADF). ADF
ensures adherence to Fusion Architecture.
Oracle Fusion Applications are being designed by Oracle
to unify best-of-business capabilities from all Oracle
Applications in a complete suite delivered on Oracles
open technology. These are packaged enterprise
applications built using ADF and SOA
Custom Fusion Applications are applications realized
using Oracle Fusion Architecture

Copyright 2012. Apps Associates LLC.

Oracle Fusion Architecture


View

Business Logic

User Interface

Data

Business Services

ADF Faces components


WebCenter

JSR-227
Data
Binding

DB
Schema
Web Services
Events

Business
Activity
Monitoring

Human Workflow
Service

BPEL
Process
Assign
Task

facts

Rules
Engine

results

Task
Complete

Monitoring

Human interaction

Orchestration

Copyright 2012. Apps Associates LLC.

Policy evaluation

Fusion Applications

Business Processes

Portals

Dashboards

Custom Solutions

User
Interaction

BP Analysis,
Design,
Execution,
Management,
& Monitoring

EDA
Event
Detection,
Complex
Event
Processing

BI
Data
Query,
& Analytics,
Reporting,
Predictive
Modeling

MDM
Data
Cleansing,
Normalization,
Rationalization,
& Provisioning

CM
Content
Lifecycle
Management,
Conversion,
Pub / Sub

Integration

Application Integration, Data Integration, B2B, Connectivity, Messaging

Data
Management

Data & Content Persistence, Data Warehousing, Caching

Computing
Foundation

Rules Definition
& Evaluation

Resource Optimization, RASP, Capacity on Demand, Dynamic Provisioning, Clustering

Copyright 2012. Apps Associates LLC.

Monitoring, Management, SLA Assurance

Service
Discovery,
Enablement,
Mediation, &
Orchestration

BPM

M&M

SOA

Id, Role & Policy Management, AAA, TLS,


Message Level Security, SSO, Entitlements

Multi-Channel Delivery, Content Delivery, Enterprise Collaboration and Search

Security

Visual & Declarative Solution


Development, Asset Management

SOA Services

Engineering

Infrastructure Platform

Business
Solutions

FA Conceptual Reference Model

Conceptual View
Employees

Customers

Partners

Terminal

IVR

..
.

Composite Applications

Custom Business Services

Data Aggregation

Messaging

Encapsulation

Data Synchronization

Partner Integration

Utility Services

SOA Infrastructure

Enrichment

Service Orchestration

Discovery

Multi-Channel Delivery

Workflow

System Access

Fat Clients

BPM Process

Governance

Connectivity
Services

Data Caching

Mashups

Security

Service Layers

Business Activity
Services

Portals

Monitoring & Management

Shared Portlets

Business Process
Services

Data
Services

Web Apps

Mediation

Presentation
Services

Client Apps

Mobil

Service
Consumers &
Delivery Channels

Non-Service Enabled Assets


Messaging

Adapters

Custom APIs

JDBC

file://

Service Enabled Assets

Service
Provider /
Consumer
Assets

Service
Provider
Assets

Copyright 2012. Apps Associates LLC.

Fusion Apps User Experience

ADF

Copyright 2012. Apps Associates LLC.

Oracle ADF
Desktop

Metadata Services (MDS)

ADF Swing

Browser-Based
JSP

Office

JSF

Struts

View

ADF Faces

JSF/ADF Task Flow

Model

ADF Bindings (JSR 227)

Java

EJB

BAM

BPEL

TopLink

Relational
Data

Controller

Web Services

Portlets

XML Data

ADFbc

JCR

Legacy
Data

BI

XML

JMX

Packaged
Apps

Copyright 2012. Apps Associates LLC.

Business
Services

Data
Services

Fusion Applications and ADF


Employees

Customers

Partners

Terminal

IVR

..
.

Composite Applications

Multi-Channel Delivery

Custom Business Services

Data Aggregation

Messaging

Encapsulation

Data Synchronization

Partner Integration

Utility Services

SOA Infrastructure

Enrichment

Service Orchestration

ADF Fusion
Applications

Discovery

Workflow

System Access

Fat Clients

BPM Process

Governance

Connectivity
Services

Data Caching

Mashups

Security

Service Layers

Business Activity
Services

Portals

Monitoring & Management

Shared Portlets

Business Process
Services

Data
Services

Web Apps

Mediation

Presentation
Services

Client Apps

Mobil

Service
Consumers &
Delivery Channels

ADF Fusion
Application
Integration

Non-Service Enabled Assets


Messaging

Adapters

Custom APIs

JDBC

file://

Service Enabled Assets


Service
Provider /
Consumer
Assets

Service
Provider
Assets

Copyright 2012. Apps Associates LLC.

ADF and Oracle Product Relationships

Process Integration
OBR
BAM

BPEL PM

Manage,
Discover

Monitor &
Manage
deployment

OEM

OER

Web Services

Oracle Platform
Security Services
Deployed on
Database

OWLS

WCS (UI)

Deployment Platform

ODI

UDDI

OSR

Toplink Binding

IdM

Develop

Security

ADF
JDev

Design-time Tools

Data Control

Management

Service Integration
OBPM OSB
BPEL
ODSI
B2B

OCOH

Other Integration

Copyright 2012. Apps Associates LLC.

10

ADF - Standards Mapping


Employees

Customers

Partners

Terminal

IVR

..
.

Swing

JSF Struts

Presentation
Services

WSRP
JSR168Multi-Channel Delivery
Shared Portlets
JSR 227
Business Process
Service Orchestration
Workflow
Services BPEL
SCA
Web Activity Enrichment Custom Business Services
Business
Services
Services
EJB3
Data
Data Synchronization
Data Caching
Data Aggregation
SQL
Services
SOAP
System Access

Messaging

Encapsulation

Partner Integration

JAAS
SAML

Mediation

WSDL

Connectivity
Services

SDO

Service Layers

XML

X509

SOA Infrastructure

JSP

Fat Clients

BPM Process

Discovery

Mashups

Monitoring & Management

Portals

Governance

Web Apps

Security

Composite Applications

Client Apps

Mobil

Service
Consumers &
Delivery Channels

UDDI

Utility Services

Non-Service Enabled Assets

JPA
JDBC
JMSMessaging
JCA Adapters
Custom APIs

JDBC

file://

Service Enabled Assets


Service
Provider /
Consumer
Assets

Service
Provider
Assets

Copyright 2012. Apps Associates LLC.

11

Loose coupling and abstraction

Model View Controller (MVC) architecture


Layered Architecture
Standards based interfaces
JSR 227 Data binding allows decoupling
of UI from the business service
implementation using declarative binding.
Data controls encapsulate access to the
business components and decouple UI

Copyright 2012. Apps Associates LLC.

12

Layered Architecture
Well defined Layering scheme with MVC
architecture
Model Layer
View Layer
Controller Layer
Business Services Layer
Data Layer

Clearly defined separation of concerns

Copyright 2012. Apps Associates LLC.

13

Reusability
ADF promotes both design-time
(code/component) and runtime (Services)
reuse
Design-time: Services can be rolled up into an
ADF library or a Resource Catalog that includes
ADF library and infrastructure connectivity
components, and shared with application or
Service development teams for consumption.
Runtime: Business services can be built and
deployed centrally for consumption through
supported interfaces that include Web
Services/WSDL, EJB 3.0 and message-based.

Copyright 2012. Apps Associates LLC.

14

Agility
Model driven development Allows changes to
be made quickly to respond to changes in
business
Component based development makes it easy
to reconfigure and update business logic flow
Modular , loosely coupled design allows
components to be updated independently without
affecting other parts of the application (e.g. UI can
be updated independent of the business
components)
Built-in patterns standardize application/Service
development and enable faster delivery.
Copyright 2012. Apps Associates LLC.

15

Separation of concerns
Layering
Model-View-Controller (MVC) pattern
Business Services Layer

Data binding (JSR 227)


Allows UI to be separated from the business
components

ADF business components (Entity Objects Vs


View Objects Vs Application modules) define
the scope of the components clearly
Data controls allow abstract invocation of
business logic from the UI.
Copyright 2012. Apps Associates LLC.

16

Composability
Supports composability at multiple levels
Application modules are composed of
Entity Objects and View Objects
Supports Service Component
Architecture programming model for
building Services that can be consumed
by SCA composites.
Task flows can include other task flows

Copyright 2012. Apps Associates LLC.

17

Discoverability
UDDI support to publish and discover
Services
Components, application libraries and
projects that can be packaged and reused.
They can be linked and discovered through
an Enterprise Metadata Repository like
Oracle Enterprise Repository.
Resource catalogs enable localized discovery
of application components.
Copyright 2012. Apps Associates LLC.

18

Standards Compliance
Open standards based framework
Supports the following standards

J2EE
JSR 227
Web Services (SOAP, UDDI, WSDL)
WSRP, JSR 168, JSR 268
Service Component Architecture (SCA)
SDO (Service Data Objects)
Security (JAAS, X509, SAML)
JCA, JPA, JMS, JDBC
Copyright 2012. Apps Associates LLC.

19

Security
ADF supports Authorization and
Authentication
Access policies can be defined and executed
WS-Security is supported
Web Service data control security includes

X509 token authentication


SAML authentication
SAML assertion
Digital signatures
SOAP encryption and decryption

Copyright 2012. Apps Associates LLC.

20

Principles and best practices

Define Service before developing Services using ADF.


Validate the database models against business requirements and
functional models before generating entity and view objects.
When creating an application module that deals with multiple business
entities, each business entity must be abstracted with a respective
Entity object.
Service Contract and interfaces should drive the design and
development of ADF business components.
Web Services interface must not be used for intra application module
communication.
ADF Fusion applications must be designed with future customization
support. (e.g. prefer jspx over jsp)
View objects should be driven by business requirements. View objects
should not be used for simply representing a row of the physical data
model.
Data controls should be used to abstract the business services
implementation from the UI components.
Applications developed using ADF must be deployable on any Javacapable application server.
Visual and declarative validation should be used when applicable.

Copyright 2012. Apps Associates LLC.

21

ADF Fusion Application development best practices

ADF is used to develop Service-Oriented


Applications. That means that you can develop both
Services and Composite applications with ADF.
Services: ADF can be used to build SOA Services
that can be exposed using a choice of interfaces
Composite applications: Composite applications that
consume Services and other business components
can be built using ADF. ADF also helps rapid
development of UI components.
Enterprise Services should be identified during the
analysis phase and should be designed, developed
and deployed in a shared environment for the
consumption of the ADF composite application.

Copyright 2012. Apps Associates LLC.

22

ADF Deployment Architecture

ADF Deployment document??


Deployment units?
Deployment/Propagation tools?
HA and Failover
Clustering?
Load balancing?
Session Management?

Disaster Recovery configuration


Distributed deployments?
Deployment best practices

Copyright 2012. Apps Associates LLC.

23

FUSION APPS SOA


INFRASTRUCTURE
Copyright 2012. Apps Associates LLC.

24

Business Process Management


Designed for Process Optimization
Process Design

Process
Implementation

Application UI
(Embedded)

Process Monitoring
& Optimization

Notifications
& Actions

SOA Composer
Oracle or Non-Oracle MDM

Business Rules & Policies


Human Workflow

Process Composer

BPEL Process Manager

Mediator
Service Data Objects (WS
SOAP & REST)
Java Business Logic

Business Service Registry

Copyright 2012. Apps Associates LLC.

25

SOA Solves Legacy Pains


Pain Points

Fusion Apps Processes

Black box processes

Integration friendly, visible and documented

Difficult to configure

Centrally configured using BPEL

Difficult to monitor

Centrally monitored using Enterprise Manager

Difficult to change at runtime

Difficult to customize

Customized using the BPEL editor

Difficult to retain extensions

Layered customizations

Proprietary implementation

BPEL and BPMN provide standards based platform

Compliance

Easier for auditing and compliance

Difficult to govern

Seamless integration with OWSM and EM

Rules and approvals can be Design Time at Runtime

Copyright 2012. Apps Associates LLC.

26

Key Usages Of SOA in Fusion Applications


Usage Category

Description

Usage

Process Customization
(for Developers)

Developers customize processes to suit


business needs.

Human Workflow

Support human workflow with complex


approvals including approval hierarchies

Most important usage by many fusion apps


Manual task or approval tasks

Integration

Decouple external systems. Allows


bringing new systems online without
changing core Processes

Process Composition
(for Business Analysts)

Make it easier for business analyst to


modify process at runtime.

Business Analysts arrange orchestration


flow of delivered processes
Process Composer use case

Long Running or
Batch Processing

Support Batch processing and other


long running jobs as scheduled /async
processes

Event Processing

Support event processing using SOA


model.

Event driven integration


Events to add flexibility and loose coupling

Simple sequential BPEL process steps


Customer can modify steps

Mediator is an example
End to End Integration
Flexibility with Rules based routing

Executed as a batch or is a long running


process
Processing itself happens outside
Orchestration, fault handling and
compensations are key

Copyright 2012. Apps Associates LLC.

27

Extensibility Scenarios
Customization
Runtime configuration
Runtime design changes
Adding custom logic at design time

Extension
Always design time (developer)
Adding new functionality
New composite deployed
As a service endpoint
Subscribe to an event

Copyright 2012. Apps Associates LLC.

28

Customization Examples

Processes:
A business analyst needs to modify a business
process

Rules:
A user needs to add a personal rule to his work list
A business analyst needs to change the rules used as
a condition or lookup

Workflow:
An administrator needs to change assignment rules
or events in a workflow for everyone
A user wants to specify her notification channel
Copyright 2012. Apps Associates LLC.

29

Tools: Processes

Process Editor
Rules

BPM Process Composer


Copyright 2012. Apps Associates LLC.

30

Tools: Human Workflow


Task Assignment

Task routing

Management Rules

Notifications

Worklist Application

Reports, Audit Trails,

Task Forms

Identity Management

Copyright 2012. Apps Associates LLC.

31

Tools: Human Workflow

BPM Worklist
Copyright 2012. Apps Associates LLC.

32

Tools: Approvals Management Extension (AMX)

Event related
changes
Approval task
related changes
Approval stage
configuration
Approval
assignment
rules
Graphical
display of
approvals
Task display

Copyright 2012. Apps Associates LLC.

33

End-User Tools: BPM Worklist

Copyright 2012. Apps Associates LLC.

34

End-User Tools: Federated Worklist

What do I need to do?


Tasks combined from every source

Copyright 2012. Apps Associates LLC.

35

Tools: Oracle Business Rules

SOA Composer
Copyright 2012. Apps Associates LLC.

36

Tools: Domain Value Mapping

StateCode

StateShortName

StateName

MA

MASS

Massachusetts

NY

NY

New York

CA

CALIF

California

Copyright 2012. Apps Associates LLC.

37

Design-Time Customization
Infrastructure for protecting changes across upgrades

Use cases:
Process and Scope level customizations
Adding New activity in BPEL without new artifacts
e.g. Adding Assign, wait, switch, scope, etc

Adding New Activity in BPEL with new artifacts


e.g. Adding transform, adding new parternerlink,
human task
Note: If patched process also adds same artifact, the
customized artifact would get overwritten

Copyright 2012. Apps Associates LLC.

38

Extensibility Scenarios
Customization
Runtime configuration
Runtime design changes
Adding custom logic at design time

Extension
Always design time (developer)
Adding new functionality
New composite deployed
As a service endpoint
Subscribe to an event

Copyright 2012. Apps Associates LLC.

39

Oracle Enterprise Repository and Apps


Unified Repository for all interfaces for the enterprise

Oracle Fusion Apps

Oracle
Fusion
Middleware

Custom and Third Party Apps

SaaS

ISV

Enterprise Repository

Copyright 2012. Apps Associates LLC.

40

Fusion Applications and OER


Managing Assets

Assets:
ADF BC Services
ADF BC Service Data
Objects
SOA composites and
composite services
Business Events
Interface Tables

Categorized by:
Product Line
Product Family
Product
Business Object
Integration Scenario

Demo:
http://oukc.oracle.com/static09/opn/ap5/91665ps09/fusion/9166_demo.html

Copyright 2012. Apps Associates LLC.

41

Event Delivery Network (EDN)


Simplified Infrastructure for Events and Services
newSupplier
event

SOA composite

Copyright 2012. Apps Associates LLC.

42

EDN Console in Enterprise Manager

Copyright 2012. Apps Associates LLC.

43

PL/SQL Interfaces
PL/SQL Generates Events

Copyright 2012. Apps Associates LLC.

44

PL/SQL Interfaces
BPEL process subscribes to PL/SQL event

Copyright 2012. Apps Associates LLC.

45

Reading and Writing Data


Contains SDO
service to bind
entity variable to a
View Object

Bind an
entity variable

XML message
payload

Invoke

Copyright 2012. Apps Associates LLC.

46

Using Service Data Objects (SDO)

Specifies a standard data method and can


modify business data regardless of how it
is physically accessed.
Fusion Application uses many ADF
Objects. Using SDO in SOA allows the
developer to share the underlying
business data.
Copyright 2012. Apps Associates LLC.

47

Event Scheduling Service (ESS)


Support for Java, PL/SQL and Binary jobs
Sophisticated Job, Schedule and Resource
modeling
Distributed Request processing across an
application server farm
Ability to dedicate hardware resources for
specialized Jobs
Centralized administration with Enterprise
Manager console
Central database based store (MDS) for storing
job meta-data

Copyright 2012. Apps Associates LLC.

48

Using Jobs to Extend Fusion Applications


Event Scheduling Service (ESS)
SOA Composite
ESS

ESS
UI

ODI

Mediator
Business
Event

BPEL

DQ ESS
Web Services

ADF
Service

Copyright 2012. Apps Associates LLC.

49

Calling ESS from BPEL


1. In a composite add and configure a Web
Service
2. Wire it to the BPEL Process
3. Invoke the Service and select the Operation
4. Assign/Transform the input for the request
5. Add ESS Webservice Calls to:
1. Check on status
2. Cancel request

6. Listen for onJobCompletion


7. Assign results
Copyright 2012. Apps Associates LLC.

50

Complete Sample: ESS Webservice

Copyright 2012. Apps Associates LLC.

51

FUSION APPLICATIONS
DEPLOYMENT
Copyright 2012. Apps Associates LLC.

52

Deployment
Deployment is handled through underlying container
Session management is through application modules
and implemented through container properties.
JDev provides ant based deployment tools
Deployment unit could be one or more application
modules. Deployment format is EAR (Enterprise
Archive)
Can be deployed in a single container or distributed
Disaster recovery is handled through container
configuration

Copyright 2012. Apps Associates LLC.

53

Single instance deployment

Repository

Copyright 2012. Apps Associates LLC.

54

Clustered deployment

Repository

Load
Balancer

Fusion
Cluster

Copyright 2012. Apps Associates LLC.

55

Multi-tier Clustered deployment

Load
Balancer

Fusion Presentation Tier


Cluster

Fusion Business Tier


Cluster

Repository
Copyright 2012. Apps Associates LLC.

56

Functional Multi-tier deployment

Repository
Functional Cluster 1

Load
Balancer

Functional Cluster 2

Copyright 2012. Apps Associates LLC.

57

Functional Multi-tier deployment - 2

Load
Balancer

Functional
Cluster 2

Repository

Functional
Cluster 1
Firewall

Firewall
Copyright 2012. Apps Associates LLC.

58

Management

Grid Management App Management

Grid deployment

Fusion Application Clusters

Database Clusters

Virtualization Layer

Hardware Layer

Storage Grid

Copyright 2012. Apps Associates LLC.

59

Celebrating 10 Years

Global provider of business & technology consulting services

Founded in 2002 Consistent Growth

Chicago, NY, Acton, Atlanta


Germany, Netherlands, India, Oman
500+ employees across 3 continents

Recognized as one of the fastest growing private US companies


by Inc 500/5000 (2011)

Strategic Partnerships & Certifications

Oracle Platinum Partner & BI Pillar Partner


Oracle Specializations (EBS, BI, FMW & Database)
Microsoft Gold Certified
Amazon WS Certified
CMMI Level 3 Certification (December, 2012)

Flexible & Cost Effective Global Delivery Model

Projects
SLA Driven Managed Services

Copyright 2012. Apps Associates LLC.

60

AppsCares

Apps Associates is pleased to donate $2 to the


Make-A-Wish Foundation for every participant

Copyright 2012. Apps Associates LLC.

61

QUESTIONS?

Copyright 2012. Apps Associates LLC.

62

You might also like