fusion applications technical overview -...
TRANSCRIPT
© Copyright 2012. Apps Associates LLC. 1
Fusion Applications Technical Overview
Doug Todd
VP, Fusion Middleware
© Copyright 2012. Apps Associates LLC. 2
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. 3
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. 4 © Copyright 2012. Apps Associates LLC. 4
Business Logic View Data
Task Complete
Assign Task
Human Workflow
Service
BPEL
Process Business
Activity
Monitoring
Orchestration Human interaction Policy evaluation Monitoring
User Interface
ADF Faces components
Business Services
JSR-227
Data
Binding
Web Services
Oracle Fusion Architecture
DB
Schema
We
bC
en
ter
Events
Rules
Engine
results
facts
© Copyright 2012. Apps Associates LLC. 5
FA Conceptual Reference Model In
frastr
uctu
re P
latf
orm
Bu
sin
ess
So
luti
on
s
SOA Services
Fusion Applications Business Processes Dashboards Portals Custom Solutions
En
gin
eerin
g
Vis
ual &
Decla
rative S
olu
tio
n
Develo
pm
ent,
Asset M
anagem
ent
Secu
rit
y
Id,
Role
& P
olic
y M
anagem
ent,
AA
A, T
LS
,
Message L
evel S
ecurity
, S
SO
, E
ntitle
ments
M&
M
Monitorin
g,
Managem
ent,
SLA
Assura
nce
User Interaction
Multi-Channel Delivery, Content Delivery, Enterprise Collaboration and Search
BPM EDA BI SOA MDM CM
Service
Discovery,
Enablement,
Mediation, &
Orchestration
BP Analysis,
Design,
Execution,
Management,
& Monitoring
Content
Lifecycle
Management,
Conversion,
Pub / Sub
Event
Detection,
Complex
Event
Processing
Data
Query,
& Analytics,
Reporting,
Predictive
Modeling
Data
Cleansing,
Normalization,
Rationalization,
& Provisioning
Integration Application Integration, Data Integration, B2B, Connectivity, Messaging
Computing Foundation
Data Management
Data & Content Persistence, Data Warehousing, Caching Rules Definition
& Evaluation
Resource Optimization, RASP, Capacity on Demand, Dynamic Provisioning, Clustering
© Copyright 2012. Apps Associates LLC. 6
Conceptual View
Service Enabled Assets
Servic
e L
ayers
SO
A I
nfr
astr
uctu
re
Med
iati
on
Utility Services
Secu
rit
y
Go
vern
an
ce
Mo
nit
orin
g &
Man
ag
em
en
t
Dis
co
very
Service
Consumers &
Delivery Channels
Composite Applications Portals BPM Process Web Apps Mashups Fat Clients
Employees IVR Customers Partners Mobil
….. …. ….. …. ….. ….
Client Apps Terminal
Encapsulation
Messaging Adapters Custom APIs JDBC file://
Non-Service Enabled Assets
Business Activity Services
Enrichment Custom Business Services
Data Services
Data Synchronization Data Aggregation Data Caching
Connectivity Services
System Access Messaging Partner Integration
Business Process Services
Service Orchestration Workflow
Presentation Services
Shared Portlets Multi-Channel Delivery
Service
Provider
Assets
Service
Provider /
Consumer
Assets
© Copyright 2012. Apps Associates LLC. 8 © Copyright 2012. Apps Associates LLC. 8
Business Services
Data Services
ADF Bindings (JSR 227) Model
Controller
JSF View
Desktop Browser-Based
Struts JSF/ADF Task Flow
Office ADF Swing
Oracle ADF
JSP
TopLink
EJB BAM ADFbc
Portlets
BI BPEL Web Services Java
ADF Faces
Meta
da
ta S
erv
ices (
MD
S)
XML Data Legacy Data
Relational Data
Packaged Apps
XML
JCR JMX
© Copyright 2012. Apps Associates LLC. 9
Service Enabled Assets
Servic
e L
ayers
SO
A I
nfr
astr
uctu
re
Med
iati
on
Utility Services
Secu
rit
y
Go
vern
an
ce
Mo
nit
orin
g &
Man
ag
em
en
t
Dis
co
very
Service
Consumers &
Delivery Channels
Composite Applications Portals BPM Process Web Apps Mashups Fat Clients
Employees IVR Customers Partners Mobil
….. …. ….. …. ….. ….
Client Apps Terminal
Encapsulation
Messaging Adapters Custom APIs JDBC file://
Non-Service Enabled Assets
Business Activity Services
Enrichment Custom Business Services
Data Services
Data Synchronization Data Aggregation Data Caching
Connectivity Services
System Access Messaging Partner Integration
Business Process Services
Service Orchestration Workflow
Presentation Services
Shared Portlets Multi-Channel Delivery
Service
Provider
Assets
Service
Provider /
Consumer
Assets
Fusion Applications and ADF
ADF Fusion
Application
Integration
ADF Fusion
Applications
© Copyright 2012. Apps Associates LLC. 10
ADF and Oracle Product Relationships
Deployment Platform
OWLS WCS (UI)
Desig
n-t
ime T
ools
OE
R
Managem
ent
OE
M
Service Integration Process Integration OBPM BPEL
ODSI B2B
OSB BAM OBR
JD
ev
Other Integration
OCOH ODI OSR
ADF
Security
IdM
Deployed on
UDDI Database Toplink Binding
Data Control
BPEL PM Web Services
Develop
Manage,
Discover
Oracle Platform
Security Services
Monitor &
Manage
deployment
© Copyright 2012. Apps Associates LLC. 11
Service Enabled Assets
ADF - Standards Mapping S
ervic
e L
ayers
SO
A I
nfr
astr
uctu
re
Med
iati
on
Utility Services
Secu
rit
y
Go
vern
an
ce
Mo
nit
orin
g &
Man
ag
em
en
t
Dis
co
very
Service
Consumers &
Delivery Channels
Composite Applications Portals BPM Process Web Apps Mashups Fat Clients
Employees IVR Customers Partners Mobil
….. …. ….. …. ….. ….
Client Apps Terminal
Encapsulation
Messaging Adapters Custom APIs JDBC file://
Non-Service Enabled Assets
Business Activity Services
Enrichment Custom Business Services
Data Services
Data Synchronization Data Aggregation Data Caching
Connectivity Services
System Access Messaging Partner Integration
Business Process Services
Service Orchestration Workflow
Presentation Services
Shared Portlets Multi-Channel Delivery
Service
Provider
Assets
Service
Provider /
Consumer
Assets
WSRP
Swing
BPEL SCA
SD
O
JCA
JSF Struts
JDBC JMS
JAAS
SAML
JSR168
SQL
JSP
X509 EJB3
Web
Services
UDDI
SOAP
JSR 227
JPA
WSDL
XML
© Copyright 2012. Apps Associates LLC. 12
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. 13
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. 14
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. 15
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. 16
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. 17
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. 18
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. 19
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. 20
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. 21
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. 22
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. 23
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. 25
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 & Policies Oracle or Non-Oracle MDM
SOA Composer
Process Composer
© Copyright 2012. Apps Associates LLC. 26 © Copyright 2012. Apps Associates LLC. 26
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. 27
Usage Category Description Usage
Process 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 2012. Apps Associates LLC. 28
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. 29
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. 30
Tools: Processes
Process Editor
Rules
BPM Process Composer
© Copyright 2012. Apps Associates LLC. 31
Tools: Human Workflow
Task Assignment Task routing
Notifications Management Rules
Reports, Audit Trails, … Worklist Application
Identity Management Task Forms
© Copyright 2012. Apps Associates LLC. 33
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. 35
End-User Tools: Federated Worklist
What do I need to do?
Tasks combined from every source
© Copyright 2012. Apps Associates LLC. 37
Tools: Domain Value Mapping
StateCode StateShortName StateName
MA MASS Massachusetts
NY NY New York
CA CALIF California
… … …
© Copyright 2012. Apps Associates LLC. 38
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. 39
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. 40
Oracle Enterprise Repository and Apps
Unified Repository for all interfaces for the enterprise
Oracle
Fusion
Middleware
Custom and Third Party Apps
ISV SaaS
Oracle Fusion Apps
Enterprise Repository
© Copyright 2012. Apps Associates LLC. 41
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. 42 © Copyright 2012. Apps Associates LLC. 42
Event Delivery Network (EDN)
Simplified Infrastructure for Events and Services
SOA composite
newSupplier
event
© Copyright 2012. Apps Associates LLC. 46
Reading and Writing Data
Invoke
Bind an
entity variable
Contains SDO
service to bind
entity variable to a
View Object
XML message
payload
© Copyright 2012. Apps Associates LLC. 47
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. 48
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. 49
BPEL UI
Mediator
ODI
ADF
Service
ESS
DQ ESS
Web Services
SOA Composite
ESS
Using Jobs to Extend Fusion Applications
Event Scheduling Service (ESS)
Business
Event
© Copyright 2012. Apps Associates LLC. 50
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. 53
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. 55
Fusion Cluster
Clustered deployment
Repository
Load Balancer
© Copyright 2012. Apps Associates LLC. 56
Fusion Business Tier Cluster
Multi-tier Clustered deployment
Repository
Load Balancer
Fusion Presentation Tier Cluster
© Copyright 2012. Apps Associates LLC. 57
Functional Cluster 2
Functional Multi-tier deployment
Repository
Load Balancer
Functional Cluster 1
© Copyright 2012. Apps Associates LLC. 58
Functional Cluster 1
Functional Multi-tier deployment - 2
Repository
Load Balancer
Functional Cluster 2
Firewall Firewall
© Copyright 2012. Apps Associates LLC. 59
Fusion Application Clusters
Grid deployment
Virtualization Layer
Hardware Layer Storage Grid
Ma
na
gem
en
t
Grid
Ma
na
ge
me
nt A
pp
Ma
na
ge
me
nt
Database Clusters
© Copyright 2012. Apps Associates LLC. 60 © Copyright 2012. Apps Associates LLC. 60
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
Celebrating 10 Years…
© Copyright 2012. Apps Associates LLC. 61 © Copyright 2012. Apps Associates LLC. 61
AppsCares
Apps Associates is pleased to donate $2 to the
Make-A-Wish Foundation for every participant