fusion apps technical overview.pptx
DESCRIPTION
Fusion Apps Technical OverviewTRANSCRIPT
©Copyright 2011. 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 2011. 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 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 2011. Apps Associates LLC
Fusion Schema
Services Layer
ADF BCServices
Tools / Java Layer
Data controlJSR227
ModelView / Controller
WebServices
Data
RulesEngine Assign
Task
TaskComplete
Human WorkflowService
Mediator&
BPELresults
facts
Analytics
WebCenter Services
Java Server FacesADF Faces Components
FDI - Microsoft Desktop applications
Scheduler
Orchestration Workflow, approvalsPolicy evaluationAnalytics / Monitoring
Fusion Applications Architecture
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
FA Conceptual Reference ModelIn
fras
truc
ture
Pla
tform
Bus
ines
sSo
lutio
ns
SOA Services
Fusion Applications Business Processes DashboardsPortals Custom Solutions
Engi
neer
ing
Vis
ual &
Dec
lara
tive
Sol
utio
n D
evel
opm
ent,
Ass
et M
anag
emen
t
Secu
rity
Id, R
ole
& P
olic
y M
anag
emen
t, A
AA
, TLS
,M
essa
ge L
evel
Sec
urity
, SS
O, E
ntitl
emen
ts
M&
MM
onito
ring,
Man
agem
ent,
SLA
Ass
uran
ce
UserInteraction Multi-Channel Delivery, Content Delivery, Enterprise Collaboration and Search
BPM EDA BISOA MDM CMService
Discovery,Enablement,Mediation, & Orchestration
BP Analysis,Design,
Execution,Management,& Monitoring
ContentLifecycle
Management,Conversion,Pub / Sub
EventDetection,Complex
EventProcessing
Data Query,& Analytics,Reporting,Predictive Modeling
DataCleansing,
Normalization,Rationalization,& Provisioning
Integration Application Integration, Data Integration, B2B, Connectivity, Messaging
ComputingFoundation
DataManagement Data & Content Persistence, Data Warehousing, Caching Rules Definition
& Evaluation
Resource Optimization, RASP, Capacity on Demand, Dynamic Provisioning, Clustering
©Copyright 2011. Apps Associates LLC
Service Layers and ADF
• Presentation Services– ADF task flows and JSF page flows– ADF Faces
• ADF data visualization rich client components (charts, graphs, gauge etc…)– Meta Data Services (MDS) – customization– ADF Mobile and ADF Swing Services– ADF Active Data Services
• Business Process Services– Supports two-way interaction with BPEL processes
• ADF bounded task flow can be invoked by BPEL business processes.• BPEL can invoke bounded or unbounded task flow and application modules (through web service
controls)– ADF Task Flows implement simple intra-application sub processes
• Business Activity Services– Application Modules implement business logic and expose as Services
• Application modules wrap Entity Objects and View Objects• Entity Objects may have custom Java logic embedded• Stored procedures and DB functions can be invoked using custom Java classes.• Declarative or programmatic validation and business rules logic (Decision Services)• SCA composite access support – Service enabled application modules
– Web Service data control to expose external business logic to the UI layer; inrtra-application scope• Data Services
– ADF Application Modules expose data access Services that use EO and VO• ADF Entity Objects represent business entities in the database• ADF View Objects represent queries that return business entities
• Connectivity Services– ADF application modules with backend integration using a variety of methods that include JCA, file based
integration, Oracle adapters and other Java based integration• Utility Services
– ADF application modules to implement Services that may or may not access database (e.g. Alert, logging, or email)
Conceptual View
Service Enabled Assets
Serv
ice
Laye
rs
SOA
Infr
astr
uctu
re
Med
iati
on
Utility Services
Secu
rity
Gov
erna
nce
Mon
itor
ing
& M
anag
emen
t
Dis
cove
ry
Service Consumers &
Delivery Channels
Composite Applications Portals BPM ProcessWeb Apps Mashups Fat Clients
Employees IVRCustomers Partners Mobil
…..….…..….…..….
Client AppsTerminal
Encapsulation
Messaging Adapters Custom APIs JDBC file://
Non-Service Enabled Assets
Business Activity Services Enrichment Custom Business Services
Data Services Data SynchronizationData AggregationData Caching
Connectivity Services System Access Messaging Partner Integration
Business ProcessServices Service OrchestrationWorkflow
Presentation Services Shared Portlets Multi-Channel Delivery
ServiceProviderAssets
ServiceProvider /Consumer
Assets
Business Services
Data Services
ADF Bindings (JSR 227) Model
Controller
JSF ViewDesktop Browser-Based
Struts JSF/ADF Task Flow
OfficeADF Swing
Oracle ADF
JSP
TopLink
EJB BAM ADFbc
Portlets
BIBPEL Web ServicesJava
ADF Faces
Met
adat
a S
ervi
ces
(MD
S)
XML Data Legacy DataRelational Data Packaged Apps
XML
JCR JMX
Service Enabled Assets
Serv
ice
Laye
rs
SOA
Infr
astr
uctu
re
Med
iati
on
Utility Services
Secu
rity
Gov
erna
nce
Mon
itor
ing
& M
anag
emen
t
Dis
cove
ry
Service Consumers &
Delivery Channels
Composite Applications Portals BPM ProcessWeb Apps Mashups Fat Clients
Employees IVRCustomers Partners Mobil
…..….…..….…..….
Client AppsTerminal
Encapsulation
Messaging Adapters Custom APIs JDBC file://
Non-Service Enabled Assets
Business Activity Services Enrichment Custom Business Services
Data Services Data SynchronizationData AggregationData Caching
Connectivity Services System Access Messaging Partner Integration
Business ProcessServices Service OrchestrationWorkflow
Presentation Services Shared Portlets Multi-Channel Delivery
ServiceProviderAssets
ServiceProvider /Consumer
Assets
Fusion Applications and ADF
ADF Fusion Application Integration
ADF Fusion Applications
Service Enabled Assets
ADF LayersSe
rvic
e La
yers
SOA
Infr
astr
uctu
re
Med
iati
on
Utility Services
Secu
rity
Gov
erna
nce
Mon
itor
ing
& M
anag
emen
t
Dis
cove
ry
Service Consumers &
Delivery Channels
Composite Applications Portals BPM ProcessWeb Apps Mashups Fat Clients
Employees IVRCustomers Partners Mobil
…..….…..….…..….
Client AppsTerminal
Encapsulation
Messaging Adapters Custom APIs JDBC file://
Non-Service Enabled Assets
Business Activity Services Enrichment Custom Business Services
Data Services Data SynchronizationData AggregationData Caching
Connectivity Services System Access Messaging Partner Integration
Business ProcessServices Service OrchestrationWorkflow
Presentation Services Shared Portlets Multi-Channel Delivery
ServiceProviderAssets
ServiceProvider /Consumer
Assets
AD
F Ta
sk F
low
s ADF
ControllerSt
ruts
JSF
AD
F Fa
ces
ADF View
JSF
AD
F D
eskt
opSw
ing
AD
F M
obile
AD
F M
odel Data Binding
AD
F M
etad
ata
Serv
ices
(MD
S)
Entit
y O
bjec
ts
View
Obj
ects
ADF Business Components
AD
F A
pp M
odul
es
ADF Business Services Mapping
Service Enabled Assets
Serv
ice
Laye
rs
SOA
Infr
astr
uctu
re
Med
iati
on
Utility Services
Secu
rity
Gov
erna
nce
Mon
itor
ing
& M
anag
emen
t
Dis
cove
ry
Service Consumers &
Delivery Channels
Composite Applications Portals BPM ProcessWeb Apps Mashups Fat Clients
Employees IVRCustomers Partners Mobil
…..….…..….…..….
Client AppsTerminal
Encapsulation
Messaging Adapters Custom APIs JDBC file://
Non-Service Enabled Assets
Business Activity Services Enrichment Custom Business Services
Data Services Data SynchronizationData AggregationData Caching
Connectivity Services System Access Messaging Partner Integration
Business ProcessServices Service OrchestrationWorkflow
Presentation Services Shared Portlets Multi-Channel Delivery
ServiceProviderAssets
ServiceProvider /Consumer
Assets
Portlets (WSRP, JSR168)
BPEL
Adapters
EJB
JCAJMS
BAM
Toplink
BI
Web
Ser
vice
s
Jav
a
AD
Fbc
©Copyright 2011. Apps Associates LLC
ADF and Oracle Product relationships
Deployment Platform
OWLS WCS (UI)
Des
ign-
time
Tool
s
OER
Man
agem
ent
OEM
Service Integration Process Integration
OBPM BPEL
ODSI B2B
OSB BAMOBR
JDev
Other Integration
OCOHODI OSR
ADF
Sec
urity
IdM
Deployed on
UDDIDatabase Toplink Binding
Data Control
BPEL PM Web Services
Develop
Manage,Discover
Oracle Platform Security Services
Monitor & Manage
deployment
Service Enabled Assets
ADF - Standards Mapping
Serv
ice
Laye
rs
SOA
Infr
astr
uctu
re
Med
iati
on
Utility Services
Secu
rity
Gov
erna
nce
Mon
itor
ing
& M
anag
emen
t
Dis
cove
ry
Service Consumers &
Delivery Channels
Composite Applications Portals BPM ProcessWeb Apps Mashups Fat Clients
Employees IVRCustomers Partners Mobil
…..….…..….…..….
Client AppsTerminal
Encapsulation
Messaging Adapters Custom APIs JDBC file://
Non-Service Enabled Assets
Business Activity Services Enrichment Custom Business Services
Data Services Data SynchronizationData AggregationData Caching
Connectivity Services System Access Messaging Partner Integration
Business ProcessServices Service OrchestrationWorkflow
Presentation Services Shared Portlets Multi-Channel Delivery
ServiceProviderAssets
ServiceProvider /Consumer
Assets
WSRP
Swing
BPEL SCA
SDO
JCA
JSF Struts
JDBCJMS
JAAS
SAML
JSR168
SQL
JSP
X509EJB3
Web Services
UDDI
SOAP
JSR 227
JPA
WSDL
XML
©Copyright 2011. Apps Associates LLC
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 2011. Apps Associates LLC
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 2011. Apps Associates LLC
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 2011. Apps Associates LLC
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 2011. Apps Associates LLC
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 2011. Apps Associates LLC
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 2011. Apps Associates LLC
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 2011. Apps Associates LLC
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 2011. Apps Associates LLC
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 2011. Apps Associates LLC
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.
• DISCUSSION: Any additional principles and best practices???
©Copyright 2011. Apps Associates LLC
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 2011. Apps Associates LLC
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
Business Process Management
Designed for Process Optimization
Java Business Logic
Process Design Process Implementation
Process Monitoring & Optimization
Notifications & Actions
Application UI (Embedded)
Service Data Objects (WS – SOAP & REST)
Business Service Registry
Mediator
BPEL Process Manager
Human Workflow
Business Rules & PoliciesOracle or Non-Oracle MDMSOA Composer
Process Composer
SOA Solves Legacy Pains
Pain Points Fusion Apps ProcessesBlack 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
Usage Category Description UsageProcess Customization (for Developers)
Developers customize processes to suit business needs.
• Simple sequential BPEL process steps• Customer can modify steps
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
• Mediator is an example• End to End Integration • Flexibility with Rules based routing
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
• Executed as a batch or is a long running process
• Processing itself happens outside• Orchestration, fault handling and
compensations are key
Event Processing Support event processing using SOA model.
• Event driven integration• Events to add flexibility and loose coupling
Key Usages Of SOA in Fusion Applications
©Copyright 2011. Apps Associates LLC
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 2011. Apps Associates LLC
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 lookupWorkflow:
– An administrator needs to change assignment rules or events in a workflow for everyone
– A user wants to specify her notification channel
Tools: Human Workflow
Task Assignment Task routing
NotificationsManagement Rules
Reports, Audit Trails, …Worklist Application
Identity ManagementTask Forms
©Copyright 2011. Apps Associates LLC
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 2011. Apps Associates LLC
End-User Tools: Federated Worklist
What do I need to do?Tasks combined from every source
Tools: Domain Value Mapping
StateCode StateShortName StateNameMA MASS MassachusettsNY NY New YorkCA CALIF California… … …
©Copyright 2011. Apps Associates LLC
Design-Time CustomizationInfrastructure 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 2011. Apps Associates LLC
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 2011. Apps Associates LLC
Fusion Apps use Vanilla SOA, but:
Things to consider when extending Fusion Applications:
• Finding and using Fusion Applications Services and Composites
• How to interact with Fusion Applications• Reading and writing Fusion Application
data• Submitting scheduled jobs
Oracle Enterprise Repository and Apps
Unified Repository for all interfaces for the enterprise
OracleFusion
Middleware
Custom and Third Party Apps
ISVSaaS
Oracle Fusion Apps
Enterprise Repository
Fusion Applications and OERManaging 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
Event Delivery Network (EDN)
Simplified Infrastructure for Events and Services
SOA composite
newSupplier event
©Copyright 2011. Apps Associates LLC
EDN Support Across the StackMediator fan-out patterns
SOA composite
SOA composite
SOA composite
newSupplier event
©Copyright 2011. Apps Associates LLC
Reading and Writing Data
Invoke
Bind an entity variable
Contains SDO service to bind
entity variable to a View Object
XML message payload
©Copyright 2011. Apps Associates LLC
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 2011. Apps Associates LLC
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 2011. Apps Associates LLC
BPELUI
Mediator
ODI
ADFService
ESS
DQ ESSWeb Services
SOA Composite
ESS
Using Jobs to Extend Fusion Applications
Event Scheduling Service (ESS)
Business Event
©Copyright 2011. Apps Associates LLC
Calling ESS from BPEL
1. In a composite add and configure a Web Service 2. Wire it to the BPEL Process3. Invoke the Service and select the Operation4. Assign/Transform the input for the request5. Add ESS Webservice Calls to:
1. Check on status2. Cancel request
6. Listen for onJobCompletion7. Assign results
©Copyright 2011. Apps Associates LLC
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 2011. Apps Associates LLC
Fusion Applications Deployment
JVMJ2EE Application Server
Fusion Application Runtime Framework
Fusion Application
Presentation BusinessServices
DatasourcesConnectors
AndAdapters
Deployment Artifacts
Fusion Application Instance
Browser
Mobile
Desktop
Rich Clients
Clients
ESB
Business Processes / BPEL
Legacy Systems
Packaged Applications
Databases
XML Sources
External Systems
Repository
©Copyright 2011. Apps Associates LLC
ADF Deployment Process
ANT
Deployment Tools
Oracle Enterprise Manager
Oracle WLS Administration
WebLogic Scripting Tool (WLST)JDeveloper IDE
ADF Projects
JVM
WebLogic Server
ADF Runtime
Development Tools
ADF Applications
EAR
Deployment Platform
EAR EAR
Deployment Descriptors
Deployment Profile
Domain Extension
EAR Components
©Copyright 2011. Apps Associates LLC
Fusion Business TierCluster
Multi-tier Clustered deployment
Repository
Load Balancer
Fusion Presentation TierCluster
©Copyright 2011. Apps Associates LLC
Functional Cluster 2
Functional Multi-tier deployment
Repository
Load Balancer
Functional Cluster 1
©Copyright 2011. Apps Associates LLC
Functional Cluster 1
Functional Multi-tier deployment - 2
RepositoryLoad Balancer
Functional Cluster 2
FirewallFirewall
©Copyright 2011. Apps Associates LLC
Fusion Application Clusters
Grid deployment
Virtualization Layer
Hardware Layer Storage Grid
Man
agem
ent
Grid
Man
agem
entAp
p M
anag
emen
t
Database Clusters
©Copyright 2011. Apps Associates LLC
Split Tiers – Source for the image
JVMJ2EE Application Server
Fusion Application Runtime Framework
Fusion Application (Web)
Presentation (View and Controller Components)
Deployment Artifacts
Fusion Application Instance (Web)
JVM
J2EE Application ServerFusion Application Runtime Framework
Fusion Application (Business)
BusinessServices
Datasources,Connectors
AndAdapters
Deployment Artifacts
Fusion Applications Instance (Business)