Professional Documents
Culture Documents
Soa 11
Soa 11
Soa 11
D73588
Edition 2.0
August 2011
D58786GC20
Student Guide
Concepts
Oracle SOA Suite 11g: Essential
Iris Li Disclaimer
Technical Contributors other intellectual property laws. You may copy and print this document solely for your
own use in an Oracle training course. The document may not be modified or altered
and Reviewers in any way. Except where your use constitutes "fair use" under copyright law, you
Gary Barg may not use, share, download, upload, copy, print, display, perform, reproduce,
publish, license, post, transmit, or distribute this document in whole or in part without
Pete Daly the express authorization of Oracle.
Joe Greenwald
The information contained in this document is subject to change without notice. If you
David Mills find any problems in the document, please report them in writing to: Oracle University,
500 Oracle Parkway, Redwood Shores, California 94065 USA. This document is not
David Shaffer warranted to be error-free.
Madhavi Siddireddy
Restricted Rights Notice
Heidi Buelow
Publishers
Revathi Ramamoorthy
Srividya Rameshkumar
Contents
These eKit materials are to be used ONLY by you for the express purpose SELF STUDY. SHARING THE FILE IS STRICTLY PROHIBITED.
1 Introduction
Goals 1-2
Audience 1-3
Prerequisites 1-4
Class Introductions 1-5
iii
Summary 2-28
Practice 2 Overview: Preparing the Business Flow Diagram 2-29
These eKit materials are to be used ONLY by you for the express purpose SELF STUDY. SHARING THE FILE IS STRICTLY PROHIBITED.
iv
4 Building SOA Composite Applications
Objectives 4-2
These eKit materials are to be used ONLY by you for the express purpose SELF STUDY. SHARING THE FILE IS STRICTLY PROHIBITED.
Roadmap 4-3
What Are Services? 4-4
Basics of XML 4-5
XML Concepts 4-7
Web Services Description Language (WSDL) 4-9
WSDL Model 4-10
An Example of WSDL Document 4-11
Defining Service Interfaces with WSDL 4-13
Defining Service Interfaces in WSDL Editor 4-14
v
Creating Exposed Services 4-51
Creating External References 4-52
These eKit materials are to be used ONLY by you for the express purpose SELF STUDY. SHARING THE FILE IS STRICTLY PROHIBITED.
vi
Practice 5 Overview: Implementing a BPEL Process 5-40
These eKit materials are to be used ONLY by you for the express purpose SELF STUDY. SHARING THE FILE IS STRICTLY PROHIBITED.
vii
7 Encapsulating Business Logic with Business Rules Components
Objectives 7-2
These eKit materials are to be used ONLY by you for the express purpose SELF STUDY. SHARING THE FILE IS STRICTLY PROHIBITED.
Roadmap 7-3
Introducing Business Rules 7-4
Declarative Rule Concepts 7-5
Reasons for Using Business Rules 7-6
Guidelines for Using Business Rules 7-7
Roadmap 7-8
Artifacts of Business Rules 7-9
Defining a Ruleset 7-11
Example of a Ruleset Containing IF-THEN Rules 7-12
viii
Defining Human Tasks 8-19
Configuring Task Parameters 8-20
These eKit materials are to be used ONLY by you for the express purpose SELF STUDY. SHARING THE FILE IS STRICTLY PROHIBITED.
Roadmap 8-21
Integrating the Human Task Component in the BPEL Process 8-22
Inspecting the Human Task Scope Activity 8-23
Processing the Task Outcomes 8-24
Summary 8-25
Practice 8 Overview: Working with Human Task Components 8-26
ix
Implementing the Process 9-38
Summary 9-39
These eKit materials are to be used ONLY by you for the express purpose SELF STUDY. SHARING THE FILE IS STRICTLY PROHIBITED.
x
Roadmap 11-14
Inside Oracle Service Bus 11-15
These eKit materials are to be used ONLY by you for the express purpose SELF STUDY. SHARING THE FILE IS STRICTLY PROHIBITED.
xi
These eKit materials are to be used ONLY by you for the express purpose SELF STUDY. SHARING THE FILE IS STRICTLY PROHIBITED.
Introduction
Goals
After completion of the course, you have the basic information and technical understanding of
the SOA concepts, SOA implementation, and how SOA helps to solve the business and IT
challenges in your organization.
Audience
This course is primarily targeted at the application architect, business analyst, IT manager
and SOA project manager. In addition, technical personnel who are interested in using the
SOA platform will find this course useful for explaining basic concepts and introducing the
Oracle SOA product suite. SOA administrators and developers who are new to the product
set can also benefit from this course; it explains basic SOA concepts and introduces the SOA
product set. However, it does not teach how to develop production-level composite
applications nor how to administer SOA deployments.
Prerequisites
Students who have some knowledge of the concepts listed in the slide will benefit from most
of the course’s content.
Session Module
1: Introduction
A.M.
Day 2: Introducing Service-Oriented Architecture Concepts
1 3: Getting Started with Oracle SOA Suite 11g
P.M.
4: Building SOA Composite Applications
5: Orchestrating Services with BPEL Process Components
A.M.
Day
Classroom PC
Topic Website
Education and Training http://education.oracle.com
Product Documentation http://www.oracle.com/technology/documentation
Product Downloads http://www.oracle.com/technology/software
Product Articles http://www.oracle.com/technology/pub/articles
Product Support http://www.oracle.com/support
Concepts
• What is SOA?
• Why we need SOA
• How to adopt SOA
• Technical introduction to SOA
• Services are:
– IT’s representation of business functionality
– Described by a well-defined interface
– Abstracted from the implementation
– Accessed using standard protocols (the glue) to enable
interoperability from decoupled functions
Interactions
Services
A service is a piece of self-contained business functionality. The functionality could be as
simple as storing customer data, or as complex as processing a customer’s order. Services
form the basic building block for a SOA implementation. They perform work based on
business interactions and requirements. Because services concentrate on the business value
of an interface, they bridge the business/IT gap. Services interact by exchanging messages
with other clients and other services.
Service functionality must be described by using standard interface and message structures
to make them highly accessible and reusable. Although the IT industry has created many
ways to do this, each of which is a viable means to accomplish a SOA approach, the most
widely embraced are the Web services standards.
Services are SOA building blocks. SOA applications can be thought of as functionality that
aggregates a collection of related services, by reusing other services to complete automation
of a business process.
Independence is a fundamental aspect of services and SOA as a whole. Service loose
coupling frees a service from immediate ties to others. This makes it much easier to realize
reuse. In addition, when there are fewer dependencies, modification to, or faults in, one
system will have fewer effects on other systems.
Web services:
• Provide a simple and interoperable messaging framework
• Rely on common standards that include:
– SOAP: A standard format for messaging over a network
– Web Service Description Language (WSDL): The language
that provides a description for Web services
Web Services
Using a service-oriented design approach does not require Web services; however, as
previously mentioned, Web services is the most common way to implement SOA. Web
services are based on a core set of communication standards:
• SOAP (to communicate) defines an XML-based structure for passing information, such
as messages and data, between Web services and applications.
• WSDL (to describe) is an XML-based language for modeling Web services. A WSDL
document describes the service interface, message format, and the service instance
location.
• UDDI (to advertise and syndicate) allows organizations to register their Web services in
a uniform manner within a directory, so clients can locate their Web services and learn
how to access them.
The benefit of using Web Services artifacts such as WSDL and XSD is that they are
“accepted standards.” These XML document structures are easily exchanged using the
standard Internet (Web Services) protocols such as Hypertext Transfer Protocol (HTTP)
among others.
SOAP, WSDL , and UDDI are standards at the core of Web services, and they are followed
by many additional specifications that define reliability, security, metadata management,
transactions to meet requirements for enterprise features and qualities of service. These
specifications are collectively referred to as the WS-*.
Which of the following form the basic building block for a SOA
implementation?
a. Composite applications
b. Services
c. Business processes
d. Data
Answer: b
A service is a piece of self-contained business functionality. Services can be reused and
combined to create applications and made available throughout an organization.
• What is SOA?
• Why we need SOA
• How to adopt SOA
• Technical introduction to SOA
Enterprise Challenge
Enterprises use many different custom-built and off-the-shelf packaged applications to run
their business processes. Applications are integrated to share information among themselves
and to incorporate information from existing applications. Traditional application development
and integration approaches have neither been flexible nor standards-based to facilitate an
agile enterprise IT environment.
In large enterprises, application development means interacting with business data from one
or more sources or other applications. Application integration could not be implemented
without application development tasks that included developing, assembling, and connecting
components to back-end systems, process flow and workflow implementation, user interface
development, testing, and debugging.
Two of the most common application integration methodologies were:
• Point-to-point integration methodologies using APIs, proprietary messages, and custom
integration links
• Enterprise Application Integration (EAI) based on message bus (message bus
specializes in transporting messages between applications) or middleware
Verify Customer
Check Customer Address
Credit Card
Set up
Conduct Account
Check Customer
Verify Customer
Address
Channels
Credit Card Setup
Conduct Account
Setup
Account
Fraud
Check
Web UI / Portals / Portlets
Service
Business Service
A Service-Centric Integration
SOA gives you the ability to integrate services without the hassle of doing the plumbing
yourself and without needing to search for dependencies within these different siloed
applications.
The slide depicts how a web-based banking application using point-to point integration can be
migrated to service-centric integration by using Service-Oriented Architecture (SOA).
Here, each of the business functionalities has been mapped to the appropriate service layer.
For example:
• The Connectivity Service layer provides the functionality to connect to the various
systems/assets.
• The Business Service layer includes the different business functionalities such as
Checking Credit Card, Verifying Customer Address, Conducting Fraud Check, and so
on.
• The Business Process layer includes the nuances related to business workflow.
• The Presentation Service layer provides the user interface–related services.
The service-centric integration approach provides a shared service and infrastructure platform
that encourages reusability and flexibility.
• What is SOA?
• Why we need SOA
• How to adopt SOA
• Technical introduction to SOA
Adopting SOA
SOA is not a middleware product or an IT-only initiative, it’s about facilitating business. When
designing systems with a SOA-style implementation, the focus is always to align IT resources
with business goals and requirements. This is because businesses redefine and change their
processes as needed to deal with changes in their industries. Therefore, IT must be agile
enough to change as the business requires.
You also need to design everything from a service perspective. Service is the major construct
for publishing and should be used at the point of each significant interface.
The SOA approach also has big implications for how you manage the software life cycle; right
from business requirements’ specification for services to the design of services, development
of services, asset management of services, and so on.
Adopting SOA in an organization is a serious challenge that will require major efforts at
various levels, from business to IT infrastructure. Critical to the success of SOA adoption are
sometimes intangible elements, including mindset, collaboration across departments and
lines of business, communication, and business analysis—in terms of interfaces and
contracts—with focus on reuse and loose coupling and the implementation of proper
governance.
Service-Oriented Design
Services in SOA must provide business value. This differs considerably from technology-
oriented functionalities such as retrieving data from a table in a database.
When designing a service, the service should be evaluated in terms of its role in the business
and how it can be reused (if at all) subject to changes in the business requirements.
Note: Some services, by their nature, may not be reusable and would have to be maintained
and changed to stay aligned with the business requirements.
Service design begins with the service interface, and proceeds with the consumer and reuse
in mind. Service interface is a contract between the service provider and the service
consumer. When completed, the service design and interface represent the outputs from the
process.
Service design differs significantly from traditional application design. The focus is not on how
the service is constructed, but how the consumers access and interact with the service. The
implementation behind a service may change several times without impacting the service
design, which is highly unlikely in the case of an application. When a service design is
changed, the impacts are typically significantly larger than in the application case.
Technology
Service
SOA Governance
SOA governance is the key to a successful adoption of SOA. Governance is about ensuring
that business is conducted properly. It is less about control and strict adherence to rules, and
more about guidance and the effective and equitable use of resources to ensure sustainability
of an organization’s strategic objectives. Governance is a process that is influenced through
organizational behavior and the establishment of structured processes. Technology is there to
help automate the governance process as much as possible. That is, it is a framework for
managing SOA assets in compliance with a company’s standards, policies, and business
strategies specifically focused on the life cycle of services, policies, practices, metadata, and
composite applications.
The implementation of any type of governance should be centered on the four pillars of an
enterprise architecture: people, processes, technology, and services.
One mechanism to implement enterprise IT and SOA governance is by enabling a shared
resource and capability center to function as a resource pool as new business application
needs arise. A governance implementation also needs to be supported by a hierarchical
organizational reporting structure.
• What is SOA?
• Why we need SOA
• How to adopt SOA
• Technical introduction to SOA
Quality of
Standards in SOA
SOA is a form of software integration based on standards, where the application
implementation is exposed as a service.
This graphic illustrates the many existing W3C standards and emerging specifications (SCA
and SDO) that work together to build on simple, stand-alone standards (such as XML and
XPath) to enable a SOA approach, that is, using the Web service foundations of SOAP, Web
Services Description Language (WSDL), and Universal Description, Discovery, and
Integration (UDDI). The notion of Service-Oriented Architecture is elevated to a higher level
through message orchestration and process integration, and more recently with the Service
Component Architecture that enables the assembly of components to create a composite
service.
Note: A key benefit of using the standards on which a SOA implementation is based is
independence of hardware and operating systems used to implement the service functionality.
Composite
application
Assembly model
• SOA is:
– An architectural style enabled by standards
– A definition of an architecture for integrating loosely coupled
services
• SCA is:
– An assembly model described by a set of specifications that
Answer: a
Explanation: The SCA specifications define an assembly model for building composite
applications based on the SOA approach. The composite applications may contain new
services and business functions from existing systems and applications (reused within
composition).
Objectives
This lesson discuss the Oracle product portfolio for implementing SOA.
Integration Specialists
Security Specialists
EM
BPM Worklist BAM
/WLS Admin
Console
POLICY
JDEV MANAGER EM CEP BAM
REPOSITORY
SERVICE BUS
DATA INTEGRATOR
Payment
External ?
client
Shipping
Mediator component:
• Facilitates the XML messages’ flows in composite
applications Mediator
• Defines one or more routing rules that can:
– Filter data
– Transform data
Service
Rules
Rules Evaluated in
Decision
tables IF condition THEN action Inference
engine
Assignee
Task Service
Business Process
Analyst Developer
Business
User
Native
interaction
External
SOA composite
Adapter application
application
system
Oracle SOA Suite Run Time
Deployed as a Resource Archive
(RAR) file, using JCA standards
Adapter Services
The role of adapters is to expose operations of external systems in a standard way, through
WSDL, so that a SOA composite application can communicate with the external application
easily. Adapters, based on the JCA API standard, provide custom implementations for
exposing existing functionality in the form of a service, such that investment in existing
applications can be preserved and reused in a SOA environment.
Oracle SOA Suite 11g is shipped with a variety of adapters commonly used to access
functionality that is not normally available in a service-oriented context, such as:
• File and FTP Adapters for reading, writing, and transferring files
• Database Adapter for interacting with relational database data
• JMS Adapter for communicating asynchronously with other applications through
message-oriented middleware (MOM) services, such as Oracle Advanced Queuing and
IBM Message Queue, among others
• Custom Adapters that expose a variety of functionality as service operations
Adapters support the ability to create a custom implementation that exposes existing
application functionality not usually available to a SOA application context. Adapters are an
integration technology that extend the reach of SOA composite application.
Answer: c
Explanation: The BPEL component uses the concept of orchestration, wherein services are
coordinated in a business process from a single runtime environment.