Oracle SOA Suite Overview Presenter : Sai Narayan Date : 2-July-08
Presenter Name Date DD/MM/YYYY
Scope • • • • • • • •
SOA overview Common terminologies around SOA BPEL/ESB Adapter Services Oracle E-Business integration and SOA Technical environment Demo using JDev/BPEL/Oracle AS References and source of more information
Oracle Fusion Middleware – Key Solutions Oracle Portal/ WebCenter Suite Oracle JDeveloper
Oracle BI Oracle SOA Suite Oracle Application Server
Oracle Enterprise Manager Oracle Identity Management
What is SOA ? •
Service Oriented Architecture (SOA) – An architectural style for integrating loosely coupled interacting software services – A set of components (services) that can be invoked – Enabled through a set of standards Service Request Service Consumer
Service Provider Service Response
What is a Service ? • • •
Represents a unit of work invoked as part of business process Communicates with clients through standard protocols and technologies Performs a business function (such as, validate credit card) and can be – A subset of an EIS system implementation – A part of an application module – A web service implementation
What is a Web Service ? • • • •
A self-describing business function Refers to a standard set of platform-independent messaging protocols (SOAP, HTTP, JMS) Allows connection between services from any web connected device Exchanges data and functionality in XML format
Web Service Standards •
The Internet standards that compose web services – WSDL used to describe the web service – UDDI registry used to publish and query web service – SOAP used to invoke the web service
•
File format standards – XML: eXtensible Markup Language – XSD: XML Schema Definition – XSL: eXtensible Style Language – XSLT: eXtensible Style Language Transformation – XPath: XML path
SOAP-XML Messaging for Web Services • • • • • •
Is an XML based protocol for data exchange Represents request and response as XML message Uses http and other protocols at transport layer Supports data encoding and literal styles Hides details of implementation Works with – Any programming language – Any hardware or software platform
SOAP-Example • •
Get stock price request Request has stock name parameter, response has stock price
Request
Response
What is WSDL ? • • • • • •
stands for Web Services Description Language written in XML an XML document used to describe Web services used to locate Web services Defines the messages and operations of a web service in XML
What is UDDI ? •
• • • •
UDDI is a platform-independent framework for describing services, discovering businesses, and integrating business services by using the Internet. UDDI stands for Universal Description, Discovery and Integration UDDI is a directory for storing information about web services UDDI is a directory of web service interfaces described by WSDL UDDI communicates via SOAP
The Oracle SOA Platform
Benefits of SOA • • • • • •
Greater inter-operability Increased re-use More agile business processes Improved visibility Reduced maintenance costs Compliance and governance
Introduction to BPEL • • •
A workflow and process flow mark up language Used to orchestrate multiple discrete services into an end to end business process Create BPEL Services for – A synchronous service – An Asynchronous service – Empty service
Cross Application Process Orchestration – BPEL Process Manager
BPEL By Example
Developing a BPEL Service • •
•
A BPEL Process is a service that may be invoked by other services A BPEL Process can be developed – Using Oracle BPEL Designer – Editing BPEL elements with a text editor Using BPEL Designer templates, you can start creating – A synchronous service – An asyncronous service – An empty service
Routing, Transformation, Connectivity – Enterprise Service Bus • • • •
Virtualize end points – from resources to services Transform: Convert data to target formats Route: Reliably transport and route data over a variety of protocols Expose everything as a web service
ESB – Virtualize End Points •
Service consumer do not need to talk to proprietory protocols
ESB – Virtualize End Points – Introspect target systems
ESB – Transform
ESB – Routing • • • • •
Content based – If total price > 500, route to fedex Header based – If message type = Order, route to fulfillment Standard XPATH to define routing expressions Graphical expression builder Routing rules can be altered at any time
When to use ESB / BPEL • • • • • • •
Both ESB and BPEL are part of the SOA Suite ESB routes messages to multiple destinations based on payload ESB is good for transformations with simple or no business rules ESB footprint, costs and performance overheads are smaller than BPEL BPEL has much more functionality and allows implementation of complex business process logic BPEL for business process orchestration , ESB for integration BPEL allows for human workflow tasks and notifications
Adaptor Services • • • •
•
No Coding Required Service enable existing data sources Provide connectivity to many data sources Three types – Technology – Package application – Legacy Examples: – File Adapter – FTP Adapter – Database Adapter – OA Adapter
Adaptor Services - Example •
Example: Using the File Adaptor
Adaptors for Oracle SOA Suite •
300+ adaptors exist
Oracle Apps Adaptor – Design Time Introspection
Oracle Apps Integration Interfaces Overview • • • • • •
Open Interface Tables/Concurrent Programs Views PL/SQL APIs Business Events XML Gateway eCommerce Gateway
Oracle Apps Integration Interfaces Overview
Open Interface Tables
Concurrent Programs
PL/SQL API
Biz Events - Inbound
Biz Events - Outbound
XML Gateway – Inbound - Design
XML Gateway – Inbound – Run time
Oracle E-Business Integration using SOA - Notes • • • • •
Lookups can be done from BPEL or ESB using the DB Adapter query service to get values to pass to concurrent program parameters Application Context is passed to Oracle Apps concurrent programs Business Events – 11i10 has 915 preconfigured business events which can be used for integration XML Gateway transactions available for Procurement, Sales, WIP, Planning, Financials, Inventory More information on available pre-configured integration points can be found at http://irep.oracle.com
Development/Technical Environment Overview • •
JDeveloper: Version 10.1.3.2 upward Used to develop BPEL process and ESB services
Oracle ADF • • •
•
Application Development Framework Design time part of JDeveloper. It simplifies application development by minimizing coding. Oracle ADF is based on MVC design pattern – Model: handles interaction with data sources and runs business logic – View: handles application user interface – Controller: manages application flow Run time part of Oracle Application Server
Oracle Application Server OC4J •
•
What is OC4J ? – Oracle Application Server Containers For J2EE – J2EE environment – Written entirely in Java – OC4J is J2EE certified What runs on OC4J? – Oracle SOA Suite • BPEL PM Server • ESB Server – E-Business Suite Application Server – WebCenter – J2EE applications and web services
Oracle Application Server Control • •
Web based console for admin and real time performance monitoring of Oracle AS Used for – Deploying applications and services to Oracle AS – Test web services – Manage application services (start/stop/monitor components)
BPEL Demo Hello World
References/Additional information sources • • • • • •
Online tutorials on WSDL, SOAP etc – http://www.w3schools.com/ Best Practice Center for Oracle E-Business and Fusion Middleware – http://www.oracle.com/technology/tech/fmw4apps/ebs/index.html E-Business Suite Documentation – http://www.oracle.com/technology/documentation/applications.html Oracle Integration Adapters – http://www.oracle.com/technology/products/integration/adapters/index.html Oracle Integration Repository – http://irep.oracle.com/index.html Oracle E-Business Integration Development Guide – http://www.oracle.com/p artners/home/bi/global/integration/unauth/prod_int_guides_11_5_10.html