You are on page 1of 62

Fusion Applications Technical Overview

Doug Todd
VP, Fusion Middleware

© Copyright 2012. Apps Associates LLC. 1


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


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 Oracle’s
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. 3


Oracle Fusion Architecture
View Business Logic Data

User Interface Business Services


ADF Faces components
JSR-227
DB
WebCenter

Data
Binding Schema

Web Services

Events

BPEL
Business Human Workflow facts Rules
Process
Activity Service Assign Engine
Task results
Monitoring
Task
Complete

Monitoring Human interaction Orchestration Policy evaluation

© Copyright 2012. Apps Associates LLC. 4


FA Conceptual Reference Model

Fusion Applications Business Processes Portals Dashboards Custom Solutions


Solutions
Business

SOA Services

User
Multi-Channel Delivery, Content Delivery, Enterprise Collaboration and Search
Interaction
Development, Asset Management

Message Level Security, SSO, Entitlements


Id, Role & Policy Management, AAA, TLS,

Monitoring, Management, SLA Assurance


SOA BPM EDA BI MDM CM
Visual & Declarative Solution
Infrastructure Platform

Service BP Analysis, Event Data Data Content


Discovery, Design, Detection, Query, Cleansing, Lifecycle
Enablement, Execution, Complex & Analytics, Normalization, Management,
Mediation, & Management, Event Reporting, Rationalization, Conversion,
Orchestration & Monitoring Processing Predictive & Provisioning Pub / Sub
Modeling

Integration Application Integration, Data Integration, B2B, Connectivity, Messaging


Engineering

Data Rules Definition


Data & Content Persistence, Data Warehousing, Caching
Management & Evaluation

Security

M&M
Computing
Resource Optimization, RASP, Capacity on Demand, Dynamic Provisioning, Clustering
Foundation

© Copyright 2012. Apps Associates LLC. 5


Conceptual View
Employees Customers Partners Terminal IVR Mobil Client Apps
Service
Consumers & …..
….
Delivery Channels

Composite Applications Web Apps Portals Mashups BPM Process Fat Clients

Presentation
Shared Portlets Multi-Channel Delivery
Services

Monitoring & Management


Business Process
Workflow Service Orchestration
Services

SOA Infrastructure
Business Activity
Enrichment Custom Business Services
Services

Governance
Service Layers

Data

Mediation

Discovery
Data Caching Data Aggregation Data Synchronization

Security
Services

Connectivity System Access Messaging Partner Integration


Services

Encapsulation Utility Services

Non-Service Enabled Assets


Messaging Adapters Custom APIs JDBC file:// Service Enabled Assets

Service
Service
Provider /
Provider
Consumer
Assets
Assets

© Copyright 2012. Apps Associates LLC. 6


Fusion Apps User Experience

ADF

© Copyright 2012. Apps Associates LLC. 7


Oracle ADF
Desktop Browser-Based

ADF Swing Office JSP JSF ADF Faces View


Metadata Services (MDS)

Struts JSF/ADF Task Flow Controller

ADF Bindings (JSR 227) Model

Java EJB BAM BPEL Web Services ADFbc BI XML


Business
TopLink Portlets JCR JMX Services

Data
Services
Relational XML Data Legacy Packaged
Data Data Apps

© Copyright 2012. Apps Associates LLC. 8


Fusion Applications and ADF
Employees Customers Partners Terminal IVR Mobil Client Apps
Service
Consumers & …..
….
Delivery Channels

Composite Applications Web Apps Portals Mashups BPM Process Fat Clients

Presentation
Shared Portlets Multi-Channel Delivery
Services
ADF Fusion

Monitoring & Management


Business Process Applications
Workflow Service Orchestration
Services

SOA Infrastructure
Business Activity
Enrichment Custom Business Services
Services

Governance
Service Layers

Data ADF Fusion

Mediation

Discovery
Data Caching Data Aggregation Data Synchronization

Security
Services
Application
Connectivity
Integration
System Access Messaging Partner Integration
Services

Encapsulation Utility Services

Non-Service Enabled Assets


Messaging Adapters Custom APIs JDBC file:// Service Enabled Assets

Service
Service
Provider /
Provider
Consumer
Assets
Assets

© Copyright 2012. Apps Associates LLC. 9


ADF and Oracle Product Relationships

Service Integration Process Integration


OBPM OSB BPEL OBR BAM
ODSI B2B

Management
Data Control
Design-time Tools

Web Services BPEL PM

OEM
Manage,
OER

Monitor &
Discover
Manage
deployment
ADF
JDev

Security
Develop Oracle Platform
Security Services
Deployed on

IdM
Database UDDI Toplink Binding

OWLS WCS (UI) ODI OSR OCOH


Deployment Platform Other Integration

© Copyright 2012. Apps Associates LLC. 10


ADF - Standards Mapping
Employees Customers Partners Terminal IVR Mobil Client Apps
Service
Consumers & …..
….
Delivery Channels

Composite Applications Web Apps Portals Mashups BPM Process Fat Clients

JSP Swing JSF Struts

Presentation WSRP JSR168Multi-Channel Delivery


Shared Portlets
XML
Services
JAAS
JSR 227

Monitoring & Management


Business Process
Services BPEL
Workflow Service Orchestration

SCA SAML
Web Activity Enrichment Custom Business Services

SOA Infrastructure
Business
Services
Services

Governance
Service Layers

Data EJB3 X509

Mediation

Discovery
SQL
Data Caching Data Aggregation Data Synchronization

Security
SOAP
Services

SDO
WSDL
Connectivity System Access Messaging Partner Integration UDDI
Services

Encapsulation Utility Services

Non-Service Enabled Assets


JMSMessaging JDBC
JCA Adapters JPA
Custom APIs JDBC file:// Service Enabled Assets

Service
Service
Provider /
Provider
Consumer
Assets
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 Java-
capable 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 Application UI Process Monitoring Notifications
Process Design
Implementation (Embedded) & Optimization & 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  Rules and approvals can be ‘Design Time 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

© Copyright 2012. Apps Associates LLC. 26


Key Usages Of SOA in Fusion Applications

Usage Category Description Usage


Process Customization Developers customize processes to suit • Simple sequential BPEL process steps
(for Developers) business needs. • Customer can modify steps

Human Workflow Support human workflow with complex • Most important usage by many fusion apps
approvals including approval hierarchies • Manual task or approval tasks
Integration Decouple external systems. Allows • Mediator is an example
bringing new systems online without • End to End Integration
changing core Processes • Flexibility with Rules based routing
Process Composition Make it easier for business analyst to • Business Analysts arrange orchestration
(for Business Analysts) modify process at runtime. flow of delivered processes
• Process Composer use case
Long Running or Support Batch processing and other • Executed as a batch or is a long running
Batch Processing long running jobs as scheduled /async process
processes • Processing itself happens outside
• Orchestration, fault handling and
compensations are key

Event Processing Support event processing using SOA • Event driven integration
model. • Events to add flexibility and loose coupling

© 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 Custom and Third Party Apps

Fusion
Middleware SaaS ISV

Enterprise Repository

© Copyright 2012. Apps Associates LLC. 40


Fusion Applications and OER
Managing Assets

Assets: Categorized by:


• ADF BC Services • Product Line –
• ADF BC Service Data Product Family –
Objects Product
• SOA composites and • Business Object
composite services • Integration Scenario
• Business Events
• Interface Tables

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


entity variable 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 ODI

ESS Mediator

Business
UI Event DQ ESS
BPEL
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 Fusion Business Tier


Cluster 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 Repository
Functional
Cluster 2

Functional
Cluster 1

Firewall Firewall

© Copyright 2012. Apps Associates LLC. 58


Grid deployment
Grid Management App Management

Management

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