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