0% found this document useful (0 votes)
321 views70 pages

Fusion Apps Technical Overview

Fusion Apps Technical Overview

Uploaded by

kaushalpatel27
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
321 views70 pages

Fusion Apps Technical Overview

Fusion Apps Technical Overview

Uploaded by

kaushalpatel27
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 70

Fusion Applications Technical Overview Doug Todd VP, Fusion Middleware

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 APPS ARCHITECTURE OVERVIEW

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 2011. Apps Associates LLC

Fusion Applications Architecture


View / Controller Model Data

Services Layer
Java Server Faces
ADF Faces Components

Tools / Java Layer

Data control JSR227

WebCenter Services

ADF BC
Services

Fusion Schema

Analytics

Web Services

FDI - Microsoft Desktop applications Rules Engine Scheduler facts results Mediator & BPEL
Assign Task Task Complete

Human Workflow Service

Analytics / Monitoring
Copyright 2011. Apps Associates LLC

Policy evaluation

Orchestration

Workflow, approvals

Oracle Fusion Architecture


View User Interface WebCenter
ADF Faces components

Business Logic Business Services

Data

JSR-227 Data Binding


Web Services
Events

DB Schema

Business Activity Monitoring

Human Workflow Service

BPEL Process
Assign Task Task Complete

facts

Rules Engine

results

Monitoring

Human interaction

Orchestration

Policy evaluation

FA Conceptual Reference Model


Business Solutions

Fusion Applications

Business Processes

Portals

Dashboards

Custom Solutions

SOA Services

Id, Role & Policy Management, AAA, TLS, Message Level Security, SSO, Entitlements

Visual & Declarative Solution Development, Asset Management

SOA
Service Discovery, Enablement, Mediation, & Orchestration

BPM
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

Infrastructure Platform

Integration

Application Integration, Data Integration, B2B, Connectivity, Messaging

Engineering

Security

Data Management Computing Foundation

Data & Content Persistence, Data Warehousing, Caching

Rules Definition & Evaluation

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

M&M

Monitoring, Management, SLA Assurance

User Interaction

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

FUSION APPS USER EXPERIENCE - ADF

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 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 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 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 ADF application modules with backend integration using a variety of methods that include JCA, file based integration, Oracle adapters and other Java based integration ADF application modules to implement Services that may or may not access database (e.g. Alert, logging, or email)

Business Process Services

Business Activity Services

Data Services

Connectivity Services

Copyright Utility Services 2011. Apps Associates LLC

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 Services Business Process Services Business Activity Services Data Services Connectivity Services

Shared Portlets

Multi-Channel Delivery

Monitoring & Management

Service Layers

Workflow

Service Orchestration

Enrichment

Custom Business Services

Data Caching

Data Aggregation

Data Synchronization

System Access

Messaging

Partner Integration

Encapsulation

Utility Services

Non-Service Enabled Assets


Messaging Adapters Custom APIs JDBC file://

Service Enabled Assets Service Provider / Consumer Assets

Service Provider Assets

SOA Infrastructure

Governance

Mediation

Discovery

Security

Oracle ADF
Desktop
ADF Swing Metadata Services (MDS) Office JSP

Browser-Based
JSF

ADF Faces

View

Struts

JSF/ADF Task Flow

Controller Model

ADF Bindings (JSR 227)

Java

EJB

BAM

BPEL

Web Services Portlets JCR

ADFbc

BI

XML

TopLink

JMX

Business Services

Data Services
Relational Data XML Data Legacy Data Packaged Apps

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 Services Business Process Services Business Activity Services Data Services Connectivity Services

Shared Portlets

Multi-Channel Delivery

Monitoring & Management

Service Layers

Workflow

Service Orchestration

Enrichment

Custom Business Services

SOA Infrastructure

ADF Fusion Applications

Governance

Mediation

Discovery

Security

Data Caching

Data Aggregation

Data Synchronization

System Access

Messaging

Partner Integration

ADF Fusion Application Integration

Encapsulation

Utility Services

Non-Service Enabled Assets


Messaging Adapters Custom APIs JDBC file://

Service Enabled Assets Service Provider / Consumer Assets

Service Provider Assets

ADF Layers
Employees Customers Partners Terminal IVR Mobil
.. . .. . .. .

Client Apps

Service Consumers & Delivery Channels

ADF Desktop

ADF Task Flows

ADF Mobile

ADF Faces

Composite Applications

Web Apps

Portals

Mashups

BPM Process

Fat Clients

Struts

Swing

JSF

JSF

Presentation Services

Shared Portlets

Multi-Channel Delivery

Service Layers

Service Orchestration

Data Services

ADF App Modules

Business Activity Services

Enrichment

Custom Business Services

Data Caching

Data Aggregation

Data Synchronization

Connectivity ADF Business System Access Services Components

Messaging

Partner Integration

Encapsulation

Utility Services

Non-Service Enabled Assets


Messaging Adapters Custom APIs JDBC file://

Service Enabled Assets Service Provider / Consumer Assets

Service Provider Assets

SOA Infrastructure

Business Process Workflow Services

ADF Controller

Monitoring & Management

Data Binding

ADF View

ADF Metadata Services (MDS)

Governance

Entity Objects

Mediation

View Objects

Discovery

Security

ADF Model

ADF Business Services Mapping


Employees Customers Partners Terminal IVR Mobil
.. . .. . .. .

Client Apps

Service Consumers & Delivery Channels


Composite Applications
Web Apps Portals Mashups BPM Process

Fat Clients

Presentation Services

Shared Portlets Multi-Channel Delivery Portlets (WSRP, JSR168)

Service Layers

BPEL Web Services

Service Orchestration

ADFbc

Data Services Connectivity Services

Java

EJB

Business Activity Services

Enrichment

Custom Business Services BAM

BI

Data Caching

Data Aggregation

Toplink Data Synchronization

System Access

Messaging

Partner Integration

Encapsulation

Utility Services

Non-Service Enabled Assets


Messaging

JCA JMS Adapters Custom APIs

Adapters
JDBC

file://

Service Enabled Assets Service Provider / Consumer Assets

Service Provider Assets

SOA Infrastructure

Business Process Workflow Services

Monitoring & Management

Governance

Mediation

Discovery

Security

ADF and Oracle Product relationships


Service Integration OBPM ODSI OSB B2B
Data Control Web Services BPEL PM

Process Integration BPEL OBR BAM Management

OER

Design-time Tools

Manage, Discover

Monitor & Manage deployment

ADF JDev
Develop Deployed on Database UDDI Toplink Binding Oracle Platform Security Services

OEM IdM

OWLS

WCS (UI)

ODI

OSR Other Integration

OCOH

Deployment Platform

Copyright 2011. Apps Associates LLC

Security

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

WSRP JSR168 Shared Portlets

Multi-Channel Delivery

Service Layers

Service Orchestration

Governance

SDO

Mediation

Web Activity Business Services Services


Data SOAP Services Connectivity WSDL Services

Enrichment

Custom Business Services

EJB3
Data Caching SQL Data Aggregation Data Synchronization

X509

System Access

Messaging

Partner Integration

UDDI

Encapsulation

Utility Services

JPA JDBC JMS JCA Adapters Messaging Custom APIs


Service Provider Assets

Non-Service Enabled Assets


JDBC file://

Service Enabled Assets Service Provider / Consumer Assets

Discovery

SCA

SAML
Security

SOA Infrastructure

Business Process BPEL Workflow Services

Monitoring & Management

JSR 227

JAAS

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 Javacapable 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

Copyright 2011. Apps Associates LLC

FUSION APPS SOA INFRASTRUCTURE

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

SOA Solves Legacy Pains


Pain Points
Black box processes Difficult to configure Difficult to monitor

Fusion Apps Processes

Integration friendly, visible and documented Centrally configured using BPEL Centrally monitored using Enterprise Manager

Difficult to change at runtime


Difficult to customize Difficult to retain extensions Proprietary implementation Compliance Difficult to govern

Rules and approvals can be Design Time at Runtime


Customized using the BPEL editor Layered customizations BPEL and BPMN provide standards based platform Easier for auditing and compliance Seamless integration with OWSM and EM

Key Usages Of SOA in Fusion Applications


Usage Category
Process Customization (for Developers) Human Workflow Integration

Description
Developers customize processes to suit business needs. Support human workflow with complex approvals including approval hierarchies Decouple external systems. Allows bringing new systems online without changing core Processes Make it easier for business analyst to modify process at runtime. Support Batch processing and other long running jobs as scheduled /async processes

Usage

Simple sequential BPEL process steps Customer can modify steps

Most important usage by many fusion apps Manual task or approval tasks

Mediator is an example End to End Integration Flexibility with Rules based routing
Business Analysts arrange orchestration flow of delivered processes Process Composer use case

Process Composition (for Business Analysts) Long Running or Batch Processing

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

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 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 2011. Apps Associates LLC

Tools: Processes

Process Editor Rules

BPM Process Composer

Tools: Human Workflow


Task Assignment Task routing

Management Rules

Notifications

Worklist Application

Reports, Audit Trails,

Task Forms

Identity Management

Tools: Human Workflow

BPM Worklist

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: BPM Worklist

Copyright 2011. Apps Associates LLC

End-User Tools: Federated Worklist

What do I need to do? Tasks combined from every source

Copyright 2011. Apps Associates LLC

Tools: Oracle Business Rules

SOA Composer

Tools: Domain Value Mapping

StateCode MA NY CA

StateShortName MASS NY CALIF

StateName Massachusetts New York California

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 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
Copyright 2011. Apps Associates LLC

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

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

Event Delivery Network (EDN)


Simplified Infrastructure for Events and Services
newSupplier event

SOA composite

EDN Support Across the Stack


Mediator fan-out patterns

newSupplier event
SOA composite SOA composite

SOA composite

Copyright 2011. Apps Associates LLC

EDN Console in Enterprise Manager

PL/SQL Interfaces
PL/SQL Generates Events

Copyright 2011. Apps Associates LLC

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

Copyright 2011. Apps Associates LLC

Reading and Writing Data


Contains SDO service to bind entity variable to a View Object

Bind an entity variable

XML message payload

Invoke

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

Using Jobs to Extend Fusion Applications


Event Scheduling Service (ESS)
SOA Composite

ESS ESS
UI
Business Event

ODI

Mediator

BPEL

DQ ESS Web Services

ADF Service

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 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 2011. Apps Associates LLC

Complete Sample: ESS Webservice

FUSION APPLICATIONS DEPLOYMENT

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

Presentation Browser

Business Services

Datasources Connectors And Adapters

ESB Business Processes / BPEL Legacy Systems

Mobile Deployment Artifacts Desktop

Fusion Application
Fusion Application Runtime Framework

Packaged Applications

Rich Clients

Databases

J2EE Application Server


JVM
Clients Fusion Application Instance XML Sources External Systems

Repository

Copyright 2011. Apps Associates LLC

ADF Deployment Process

Oracle Enterprise Manager

EAR EAR Components Deployment Deployment Descriptors Profile

ADF Projects EAR

Oracle WLS Administration


EAR WebLogic Scripting Tool (WLST)

ADF Applications
ADF Runtime Domain Extension

JDeveloper IDE
ANT

WebLogic Server JVM

Development Tools

Deployment Tools

Deployment Platform

Copyright 2011. Apps Associates LLC

Single instance deployment

Repository

Copyright 2011. Apps Associates LLC

Clustered deployment

Repository

Load Balancer

Fusion Cluster

Copyright 2011. Apps Associates LLC

Multi-tier Clustered deployment

Load Balancer

Fusion Presentation Tier Cluster

Fusion Business Tier Cluster

Repository
Copyright 2011. Apps Associates LLC

Functional Multi-tier deployment

Repository

Functional Cluster 1

Load Balancer

Functional Cluster 2

Copyright 2011. Apps Associates LLC

Functional Multi-tier deployment - 2

Load Balancer Functional Cluster 2

Repository

Functional Cluster 1

Firewall
Copyright 2011. Apps Associates LLC

Firewall

Grid deployment

Grid Management App Management

Management

Fusion Application Clusters

Database Clusters

Virtualization Layer

Hardware Layer

Storage Grid

Copyright 2011. Apps Associates LLC

Split Tiers Source for the image

Presentation (View and Controller Components)

Business Services

Datasources, Connectors And Adapters

Deployment Artifacts

Deployment Artifacts

Fusion Application (Web)


Fusion Application Runtime Framework

Fusion Application (Business)


Fusion Application Runtime Framework

J2EE Application Server


JVM
Fusion Application Instance (Web)

J2EE Application Server JVM


Fusion Applications Instance (Business)

Copyright 2011. Apps Associates LLC

QUESTIONS?

You might also like