SOA Overview
* SOA is BAD (Business Agility through Decoupling)
SOA Architectural Principles
* Interop across platforms via open standards (ws-*)
* Loose coupling via contracts (e.g. WSDLs)
* Service encapsulation
* Service autonomy
* Service reusability
* Service discoverability
Service Characteristics
* Granularity
* Atomicity
* Idempotency
* Statelessness
* Composibility
* Event awareness
Service Layerings
* GUI layer
* Business process layer
* Service and event layer
* Service implementation layer
ESB
* Sits between service consumers and service providers (decoupling)
* May provide (OSB)
– Endpoint virutalization
– Routing
– Transformation
– Validation
– Auditing
– Messaging
– Synch/Asynch adaptation
– Composition
Governance
* Publish service
* Service life cycle management
Events and EDA
* EDA: Event Driven Architecture
* Implementations
– JMS
– BPEL sensors
– ESB routing rules
BAM
BAM: Business Activity Monitoring
CEP
CEP: Complex Event Processing
* Aggregate simple events to derive meaningful patterns (BI)
SCA
* First published in 2007
* Help simplify assembly and deployment of compostie applications.
Web Cernter
* Oracle homegrown portal product
* Based on ADF
* Supports WSRP (both publishing and consuming protlets)
* Provide UI level integration for
– content management
– task management/workflow
– search
– communication(email, chat, VoIP, etc)
vs ADF Workflow
* ADF workflow
– uses Oracle proprietary format so not suited for enterprise integrations
– integrated at design time (from ADF libs)
* WebCenter Portlets
– based on industry standards so good for cross enterprise integrations
– integration happens at run time (slight performance hit but easy to change)
ADF
* ADF is a Oracle homegrown MVC application framework for developing enterprise Java/J2EE applications
* JSR-227 (in process)
* Supports multiple UIs
– web app
– desktop app
– web services
* ADF apps run on J2EE app server, mainly WebLogic
* Uses JDev as IDE
* Components
– ADF BC
– ADF Faces
– ADF Model
– ADF Controller (extenstion to JSF controller)
* FMW applications are built on ADF including:
– WebCenter
– Oracle Apps
– BI EE
– BAM Studio
– EM
– SOA human tasks
* Also support
– task flows
* ADF applications can be bundled into library (jar) files and reused
Special Features Used in SOA Suite
* Rase events onto the EDN (Event Delivery Network) from ADF BC
* UI for human tasks in BPM Worklist application
* UI for BAM data control
* Integration of BPEL entity variables with ADF BC via SDO binding
ADF Architecture
* Two parts implemented in separate JDev projects in a single application
– Model
– ViewController
* Decouples UI from business components
Model
* Contains business objects
ViewController
* Renders UI
* Injects data to UI from model via data bindings
Key Oracle Acquisitions for SOA 11g
* http://www.oracle.com/us/corporate/Acquisitions/index.html
AmberPoint (2010): SOA Management and Governance, Business txn management
GoldenGate (2009): Real-time data integration and HA
Sun (2009): Java, Solaris
ClearApp (2008): Management of composite SOA apps
BEA (2008): WebLogic (app server), AquaLogic SB (ESB), Enterprise Repository, BPM Studio (BPMN), Tuxedo (Txn Management), Portals
Hyperion(2007): Corporate performance management
Sunopsis (2006): ELT
Oblix (2005): I&AM
Thor (2005): I&AM
PeopleSoft (2005): BAM
Siebel (2005): BI
Collaxa (2004): BPEL
Fusion Middleware (FMW)
Various Suites
* SOA Suite
* BPM Suite
* EDA Suite
* SOA Governance Suite
* BPA Suite
* Data Integration Suite
SOA Suite
* SCA container: a run time engine that executes composite service applications (SCA apps stringed together by WSDLs)
Key Components
* BPEL Process Mgr
* Rules Engine
* Human Workflow Service
* Spring-based Java Beans
* Mediator
* BPMN
* OSB
* BAM
* CEP
Adapters
* DB
* File/FTP
* Q
* EJB
* Sockets
* Oracle App
* BAM
* ADF-BC
* B2B
FWM Infrastructure
WebLogic 11g
* EM Control Console
* Admin Console
User Messaging Service (UMS)
* Supports email, IM, SMS, VoIP
Meta Data Service (MDS)
JDev 11g
* IDE
– Integrated DE
– Integration DE
* Two OSB IDEs
– Web based
– Eclipse based
Others
SOA Governance
* Enterprise Repository
– UDDI
– Policies
BPA
* Business Process Analyst
CEP
* Complex Event Processing
* Subscribes to event streams
* Executes Oracle CQL (continuous query language) to search for
– aggregates
– patterns
– exceptions
in real time event streams
ODI
* Oracle Data Integrator
* Together with GoldenGate
* Provides data integration platform
AIA
* A framework for integrating various products and modules from Oracle Applicationis
* Build on top of SOA Suite
Oracle I&AM
OPSS
* Oracle Platform Security Service
* An abstraction layer that implements a security and I&AM API
* Can run on any J2EE containers
* Provides security to FMW
– WebLogic Server
– SOA Suite
– WebCenter
– ADF
– Oracle Entitlements Server
Universal Content Manager
* Comes with SiteBuilder
OSB
OSB vs Oracle ESB (Mediator)
* Mediator
– 10g ESB is now called mediator
– Handles components in the same SOA composite apllications
– Does not support variables
OSB
– From BEA AquaLogic
– Handles components across enterprise
– Supports variables
– Better VETRO support (VETRO: validate, enrichment, transform, route, operate)
– Can implement composite services (mediator can not)
– More suitable for short-timed interactions (BPEL for long-running processes)
Overview
* Services exposed by OSB are called Proxies
* Can receive messages from
– HTTP(S)
– email
– JMS
– RMI
– FTP
– File
– Java on the Bus
* Can return responses via same protocols mentioned above
* Has native support to
– Tuxedo
– Oracle Data Services Integrator
– SOA Suite
* OSB has its own security framework based on WS-Policy
– Based on WS-SecurityPolicy (WSSP) 1.2
– Can be used to virtualize services and implement security policies (OWSM is preferred though)
* Supports throttling (queue up requests)
* Supports split-join (join up requests)
Glossary
AIA: Application Integration Architecture
PIP: Process Integration Packs
OPSS: Oracle Platform Security Service
VETRO: validate, enrichment, transform, route, operate
References
* Oracle SOA Suite 11g Handbook, By: Lucas Jellema. Publisher: Oracle Press. Pub. Date: August 27, 2010
* Oracle 11g SOA Suite Handbook – Oracle Wiki
* http://www.rgoarchitects.com/Files/SOADefined.pdf