Upload
freddy-monsalve
View
229
Download
0
Embed Size (px)
Citation preview
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
1/403
Oracle SOA Suite 11g : Essential
Concepts
Volume I - Student Guide
D58786GC10
Edition 1.0
September 2010
D61580
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
2/403
Copyright © 2009, 2010, Oracle and/or its affiliates. All rights reserved.
Disclaimer
This document contains proprietary information and is protected by copyright and
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 in
any way. Except where your use constitutes "fair use" under copyright law, you 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 the
express authorization of Oracle.
The information contained in this document is subject to change without notice. If you
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
warranted to be error-free.
Restricted Rights Notice
If this documentation is delivered to the United States Government or anyone using
the documentation on behalf of the United States Government, the following notice is
applicable:
U.S. GOVERNMENT RIGHTS
The U.S. Government’s rights to use, modify, reproduce, release, perform, display, or
disclose these training materials are restricted by the terms of the applicable Oracle
license agreement and/or the applicable U.S. Government contract.
Trademark Notice
Oracle and Java are registered trademarks of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.
Authors
Bijoy Choudhury
Swarnapriya Shridhar
Technical Contributors
and Reviewers
Cathy Lippert
Dave Berry
Holger Dindler Rasmussen
Heidi Buelow
Demed L'Her
Prasen Palvankar
Tom Hardy
David Shaffer
James MillsJai Kasi
Magnus Kling
Mathias Kullberg
Matthew Slingsby
Vasiliy Strelnikov
Vikas Jain
Glenn Stokol
Pete Laseau
Nagavalli Pataballa
William Prewitt
Editors
Vijayalakshmi Narasimhan
Daniel Milne
Arijit Ghosh
Graphic Designers
Rajiv ChandrabhanuSatish Bettegowda
Publishers
Giri Venugopal
Michael Sebastian Almeida
Jobi Varghese
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
3/403
iii
Contents
I IntroductionCourse Objectives I-2Course Agenda: Day 1 I-3Course Agenda: Day 2 I-4Course Agenda: Day 3 I-5Summary I-6
1 Service-Oriented Architecture ConceptsCourse Road Map 1-2Objectives 1-3Definition: Service-Oriented Architecture (SOA) 1-4Why SOA? 1-5
Enterprise Challenge 1-7Point-to-Point Integration 1-8Enterprise Application Integration 1-9Example of Application-Centric Integration 1-10Integrating Solutions and Benefits with SOA 1-11SOA Further Defined 1-12Moving Toward Service-Centric Integration 1-13SOA: A Paradigm Shift 1-14The Eight-Domain Model Approach for SOA 1-15Quiz 1-17Building an SOA Reference Architecture: From Architecture Drivers to a Roadmap 1-18SOA Reference Architecture 1-19
SOA Reference Architecture: Service Consumers 1-21SOA Reference Architecture: Service Classification 1-22SOA Reference Architecture: Service Providers 1-23Reference Architecture: Example 1-24Standards That Enable SOA 1-25Quiz 1-27Service and Web Service 1-28Types of Service Access and Implementation 1-29Ways to Integrate Services 1-30Designing with an SOA Approach 1-31Creating Service Portfolios 1-32SOA Workflow and Orchestration 1-33
Implementing SOA: General Concepts 1-34Quiz 1-35Define SOA Governance 1-36Identifying the Need of SOA Governance 1-37SOA Governance Framework 1-38Quiz 1-39Course Practice Scenario: Purchase Order Processing 1-40Summary 1-41Practice 1 Overview: Preparing the Business Flow Diagram 1-42
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
4/403
iv
2 Implementing SOA with Oracle SOA Suite
Course Roadmap 2-2Objectives 2-3Basic Components of an SOA Infrastructure 2-4Oracle SOA Suite 11g Components 2-5
Introduction to Service Infrastructure 2-7Introducing SCA in Oracle SOA Suite 11g 2-8Defining a Composite Application 2-9Introducing Oracle Mediator Component 2-11Describing the Features of Oracle Mediator Component 2-12Introducing Oracle BPEL Process Component 2-13Introducing Business Rules Component 2-14Introducing Human Task Component 2-15Quiz 2-16Introduction to Business Activity Monitoring 2-17Monitoring Services with BPEL and BAM 2-18Oracle Enterprise Manager 2-19
Oracle WebLogic Server 10.3 2-21WebLogic Server Domain 2-22WebLogic Server Servers 2-24 Administration Server 2-25Managed Server 2-26WebLogic Server Machines 2-27SOA Development with Oracle JDeveloper 2-28Creating Connections in Oracle JDeveloper 2-29Creating an Application Server Connection in Oracle JDeveloper 2-31Goals of Implementing SOA Application with Oracle SOA Suite 11g 2-33Quiz 2-34Summary 2-36
Practice 2 Overview: Creating Connections in JDeveloper 2-37
3 SOA Governance and ServiceLife-Cycle Management Course Roadmap 3-2Objectives 3-3Define Service Life-Cycle Management 3-4Phases of Service Life Cycle 3-5The Need for Service Life-Cycle Management 3-6Define SOA Governance 3-7Relationship of Governance Disciplines 3-8The Need for SOA Governance 3-9Benefits of SOA Governance 3-10
Center of Excellence: Key to SOA Success 3-11Example of Governance Organizational Structure 3-12Quiz 3-13Service Life-Cycle Governance 3-14Service Management 3-16Service Portfolio 3-17Policy Manager 3-18Service Routing 3-19Service Versioning 3-20
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
5/403
v
SLA Management 3-21Quiz 3-22Constituents of SOA Governance Model 3-23End-to-End SOA Governance 3-25End-to-End SOA Governance: SOA Asset Management 3-26End-to-End SOA Governance: Policy Management and Enforcement 3-27
End-to-End SOA Governance: Consumer Management 3-28End-to-End SOA Governance: SOA Monitoring and Management 3-29SOA Governance Solution 3-30Oracle SOA Governance Solution 3-31Quiz 3-32Summary 3-33Practice 3 Overview: Defining Policies for a Group of Services 3-34
4 Designing Services for SOA ImplementationsCourse Roadmap 4-2Objectives 4-3Defining Services 4-4
Services Are SOA Building Blocks 4-5Service Contract 4-6Service Design 4-8Service Granularity 4-9Service Design Principles 4-10Designing Coarse-Grained Interfaces 4-12Quiz 4-13Service Classifications 4-14Connectivity Services 4-15Data Services 4-16Business Services 4-17Business Process Services 4-18
Presentation Services 4-19Service Infrastructure 4-20Quiz 4-21Basic Service Interaction Patterns 4-22Synchronous Interactions 4-23 Asynchronous Interactions 4-24Choosing Service Implementation Styles 4-25Fundamentals for Creating a Service 4-27Building a Portfolio of Services 4-28Describing a Web Service 4-29Web Service Standards 4-30Web Service Architecture 4-31
Service Artifacts 4-33XML Schema Definitions 4-34Defining Messages in XML Schemas 4-35Web Services Description Language 4-36WSDL Model 4-37Defining Service Interfaces in WSDL 4-38Quiz 4-39 Adapter Services 4-40Describing Technology Adapters 4-41
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
6/403
vi
Packaged Application and Legacy Adapters 4-42Quiz 4-43Summary 4-44Practice 4: Overview Designing Services for SOA Implementations 4-45
5 Creating a Composite Application
Course Roadmap 5-2Objectives 5-3Service Component Architecture 5-4Components and Composites 5-6SCA Components 5-7SCA Composite 5-8SCA Bindings 5-9SCA Policy Framework 5-10Quiz 5-11Service Data Objects (SDO) 5-12SDO Data Architecture 5-13SCA and SDO 5-14
Creating an SOA Composite in JDeveloper 11g 5-15Describing the SOA Composite Editor 5-16Creating Exposed Services 5-18Creating SOA Components 5-19Examining the SCA Descriptor 5-20Quiz 5-21 Adding a Mediator Component 5-22 Adding a BPEL Process Component 5-23Comparing BPEL and Mediator 5-24Examining the JDeveloper Workspace, Projects, and File Structure 5-25Editing a Component in a Composite 5-26Creating External References 5-27
Creating Wires 5-28Creating Wires Modifies Connected Elements 5-29Exposing Components as an External Service 5-30Quiz 5-31Deploying an SOA Composite Application 5-32Summary 5-33Practice 5: Overview Creating an SOA Composite Application 5-34
6 Managing and Monitoring SOA Composite ApplicationsCourse Roadmap 6-2Objectives 6-3Overview of Managing SOA Applications 6-4
Managing with Oracle Enterprise Manager 6-5Oracle Enterprise Manager Fusion Middleware Control 6-6 Accessing the SOA Infrastructure Home Page 6-7 Accessing a Composite Application Home Page 6-8Example Composite Application Home Page 6-9Deploying a Composite Application 6-10Deploying SOA Composite Applications 6-11Initiating an SOA Composite Application Test Instance 6-12Tracking Message Flow 6-13
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
7/403
vii
Working with the Flow Trace 6-14Working with the Component Audit Trail Page 6-15Quiz 6-16Managing the State of Deployed SOA Composite Applications 6-17Monitoring and Deleting Specific SOA Composite Application Instances 6-18Recovering from SOA Composite Application Faults 6-19
Undeploying a Composite Application 6-21Quiz 6-22Summary 6-23Practice 6: Overview Managing and Monitoring Composite Applications 6-24
7 Working with Mediator ComponentsCourse Roadmap 7-2Objectives 7-3Introducing Oracle Mediator 7-4Oracle Enterprise Service Bus and Mediator 7-5Oracle Mediator Features 7-6Event Delivery Network 7-7
Introducing Business Events 7-8Event Handling 7-10Content-Based and Header-Based Routing 7-11Synchronous/Asynchronous Interactions 7-12Service Virtualization 7-13Validations 7-14Error Handling 7-15Transformations 7-16Quiz 7-17Creating an Oracle Mediator Component 7-18Mediator Component Creation Options 7-19Define Interface Later 7-20
Viewing the Mediator Source Code 7-22Modifying a Mediator Component 7-23Deleting a Mediator Component 7-24Specifying Mediator Component Routing Rules 7-25Introducing Routing Rules 7-26 Accessing Mediator Routing Rules 7-28Defining Mediator Routing Rules 7-29Specifying a Target Service: Example 7-31 Adding a Transformation to a Mediator Component 7-32Filtering Messages 7-33Specifying Sequential or Parallel Execution 7-35Quiz 7-36
When to Use Business Events? When to Invoke a Service? 7-37Summary 7-38Practice 7: Overview Creating a Mediator Service Component 7-39
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
8/403
viii
8 Orchestrating Services with a BPEL ComponentCourse Roadmap 8-2Objectives 8-3Process Orchestration Concepts 8-4Introducing Business Process Execution Language (BPEL) 8-5Creating a BPEL Process 8-7
Oracle BPEL Process Designer 8-8Designing the BPEL Process 8-9Quiz 8-10Developing a BPEL Process 8-11BPEL Activity Types 8-12Grouping Activities by Using a BPEL Scope 8-14 Adding Activities to a Scope 8-15Communicating Data with a BPEL Process 8-16BPEL Variables 8-17Choosing Global or Local Variables 8-19The Assign Activity 8-21Creating Assign Operations 8-22
Copying Data from Source to Target 8-23Using the XPath Expression Builder 8-24Quiz 8-25Partner Links and Service Invocation 8-26Partner Links, Partner Link Types, and Roles 8-27Synchronous Services 8-28Synchronous Process Structure: HelloWorld Example 8-29 Asynchronous Service 8-30 Asynchronous BPEL Process Structure 8-31Creating a Partner Link 8-32Configuring a Partner Link 8-33Invoking a Synchronous Service 8-34
Conditionally Branching with a Switch Activity 8-35 Adding a Switch Activity 8-36Configuring Branches of a Switch Activity 8-37Summary 8-38Practice 8: Overview Creating a BPEL Service Component 8-39
9 Working with the Human Task ComponentCourse Roadmap 9-2Objectives 9-3What Is a Human Task? 9-4Human Workflow Diagram 9-5Introduction to Human Workflow Concepts 9-7
Implementing Human Workflow Services 9-8Exploring Workflow Exchange Patterns 9-9Describing a Workflow as a Service 9-10Quiz 9-11 Adding a Human Task Component to an SOA Composite 9-12The Human Task Editor 9-13Working with Human Workflow in BPEL 9-14Creating a Human Task in BPEL 9-15Configuring the Human Task 9-16
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
9/403
ix
Adding Task Parameters 9-17Setting the Task Parameter Values 9-18Generating a Task Form for the Worklist 9-19 Accessing the Worklist Application 9-20Viewing Task Information 9-21Managing Task Assignments 9-22
Summary 9-23Practice 9: Overview Creating a Human Task to Approve Orders 9-24
10 Implementing a Business Rules ComponentCourse Roadmap 10-2Objectives 10-3Introducing Business Rules Technology 10-4Declarative Rule Concepts 10-5Rule Inference Concepts 10-6Reasons for Using Rules Technology 10-7Guidelines for Selecting Rules Use Cases 10-8Introducing Oracle Business Rules 10-9
Introducing Oracle Business Rules Concepts 10-11Developing a Rule-Enabled Application 10-12Defining Oracle Business Rules Development Concepts 10-13Quiz 10-14Creating a Dictionary for Rule Definitions 10-15Working with the Rules Editor in JDeveloper 10-16Creating XMLFact Entries 10-18Working with Bucketsets 10-19Creating a Bucketset 10-20Creating Oracle Business Rules Globals 10-21Creating a Ruleset 10-22Identifying the Structure of a Rule 10-23
Creating a Rule 10-24Creating a Rule Test 10-25Creating a Rule Action 10-26Working with Decision Tables 10-27Creating Conditions and Rules in Decision Tables 10-29Creating Actions in Decision Tables 10-31Working with Decision Functions 10-33Integrating Rules with a BPEL Process 10-34 Adding a Business Rule Activity 10-35Summary 10-38Practice 10: Overview Implementing a Business Rule 10-39
11 Securing Services and Composite ApplicationsCourse Roadmap 11-2Objectives 11-3Introduction to Web Services Security 11-4Need for Web Services Security 11-5Web Services Security Approaches 11-6WS-Security 11-8WS-Security Fundamentals 11-9Quiz 11-11
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
10/403
x
Oracle Web Service Manager 11-12Components of Oracle Web Services Manager Architecture 11-13Oracle Web Services Manager Policy Framework 11-14Introduction to Policies 11-15Policy Interceptor Pipeline 11-16Policy Assertions 11-17
Quiz 11-18Managing SOA Composite Application Policies 11-19 Attaching Security Policy to a Service 11-20Quiz 11-21Summary 11-22Practice 11 Overview: Attaching Policies to Web Services 11-23
Appendix A: Practices and Solutions
Appendix B: Introduction to LinuxWhat Is Linux? B-2What Is Oracle’s Strategy for Linux? B-3
File System and Basic Directory Structure B-4Shell Commands B-6Environment-Based Commands B-7Information-Based Commands B-9File System Commands B-11Common vi Editing Commands B-13Common FTP Communication Commands B-15 Archive Utilities B-17Shortcuts and Tips B-19
Appendix C: Perform Common Tasks with Oracle JDeveloperObjectives C-2
Create a Database Connection C-3Create an Application Server Connection C-4Create an Application C-6Create an Empty Project C-8Create an SOA Project C-9Create a Project from Existing Sources C-10Deploy an SOA Composite Application C-13Summary C-15
Appendix D: SOA Adoption Planning PrinciplesObjectives D-2SOA Adoption D-3
SOA Adoption Planning Activities D-4SOA Adoption Planning Activities: Completing the Stakeholder Community D-5SOA Adoption Planning Activities: Moving Through the Change Curve D-6SOA Adoption Planning Activities: Establishing "Line-of-Sight" Goals D-7SOA Adoption Planning Activities: Establish a Milestone Delivery Plan D-8SOA Adoption Planning Activities: Usage of Metrics D-9SOA Adoption Planning Activities: Enabling Business Innovation D-10SOA Adoption Planning Activities: Usage of Tools and Processes D-11The Need for an SOA Reference Architecture D-12
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
11/403
xi
Developing the SOA Reference Architecture D-13Developing the SOA Reference Architecture: Align IT with Business D-14Developing the SOA Reference Architecture: Develop a Baseline D-15Developing the SOA Reference Architecture: Create SOA Reference Architecture D-16Developing the SOA Reference Architecture: Create SOA Infrastructure Roadmap D-17SOA Governance Model D-18
Example of an SOA Governance Model D-19Summary D-20
Glossary
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
12/403
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
13/403
Copyright © 2009, Oracle. All rights reserved.
Introduction
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
14/403Oracle SOA Suite 11g : Essential Concepts I - 2
Copyright © 2009, Oracle. All rights reserved.
Course Objectives
After completing this course, you should be able to:
• Explain Service-Oriented Architecture (SOA) concepts andrelated technology
• Explain the standards and specifications that enable aService-Oriented Architecture (SOA) approach
• Describe the SOA reference architecture
• Understand the Oracle SOA Suite 11g product
• Understand the Service design considerations
• Explain composite application concepts
• Understand the working of the different servicecomponents
• Monitor and securing services and composite applications
Course ObjectivesThis course introduces Service-Oriented Architecture (SOA) concepts, standards that enable an SOA
approach, and the Oracle Fusion Middleware 11 g technology products that support an SOA
implementation.
Using a purchase order management business process as the scenario, you learn how an SOA
approach can be implemented, whether you are starting fresh with new services or reusing existing
services provided by the business. Using Oracle SOA Suite 11 g components, you explore, modify,
execute, and monitor a purchase order processing composite application implemented using an SOA
approach for managing the business process.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
15/403Oracle SOA Suite 11g : Essential Concepts I - 3
Copyright © 2009, Oracle. All rights reserved.
Course Agenda: Day 1
Service-Oriented
Architecture Concepts
Implementing SOA with
Oracle SOA Suite
SOA Governance andService Life-Cycle
Management
Designing Services for
SOA Implementations
S O A
1 2 3 4
Course Agenda: Day 1The following is the course agenda for day 1:
• Introduction to the course and lessons.
• Lesson 1: Service-Oriented Architecture Concepts: This lesson discusses the system
integration challenges and problems faced by enterprises, and explores what needs to be
considered before embarking on an SOA style implementation.
• Lesson 2: Implementing SOA with Oracle SOA Suite: This lesson describes Oracle SOA
Suite 11 g products and components. Oracle SOA Suite 11 g architecture and its components are
discussed at an introductory level.
• Lesson 3: SOA Governance and Service Life-Cycle Management: The aim of this lesson is
to discuss the need for service life-cycle management to enable effective management ofservices, and to ensure the delivery of highest possible business value over time.
• Lesson 4: Designing Services for SOA Implementations: The aim of this lesson is to identify
common design decisions when creating service and composite applications, and to review the
key standards that enable SOA to work better, such as XSD, WSDL, and XSLT
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
16/403Oracle SOA Suite 11g : Essential Concepts I - 4
Copyright © 2009, Oracle. All rights reserved.
Course Agenda: Day 2
Creating a Composite
Application
Managing and Monitoring
SOA Composite
Applications
Working with Mediator
Components
Orchestrating Services
with a BPEL
Component
5 6 7 8
Course Agenda: Day 2The following is the course agenda for day 2:
• Lesson 5: Creating a Composite Application: This lesson introduces the composite
application as an assembly and deployment model for SOA services in Oracle SOA Suite 11 g .
The concepts are described through the introduction of the SCA specifications.
• Lesson 6: Managing and Monitoring SOA Composite Applications: This lesson provides an
early and basic introduction to simple administrative or management tasks related to SOA
composite applications. These tasks are accomplished by using the Enterprise Manager Web
interface.
• Lesson 7: Working with Mediator Components: This lesson introduces the basic features—
such as creating routing rules, simple filters, and transformations—of the Mediator servicecomponent inside an SOA composite application,.
• Lesson 8: Orchestrating Services with a BPEL Component: The aim of this lesson is to
introduce simple BPEL process concepts to enable you to invoke a service, such as the credit
card validation service. You also learn about the Scope, Assign, and Invoke BPEL activities.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
17/403Oracle SOA Suite 11g : Essential Concepts I - 5
Copyright © 2009, Oracle. All rights reserved.
Course Agenda: Day 3
Working with the
Human Task Component
Implementing a Business
Rules Component
Securing Services and
Composite Applications
9 10 11
Course Agenda: Day 3The following is the course agenda for day 3:
• Lesson 9: Working with the Human Task Component: This lesson introduces the basic
features of the Human Task service component, and how to execute it from a BPEL process. In
addition, you are introduced to the Worklist application to perform the task assignment.
• Lesson 10: Implementing a Business Rules Component: This lesson provides an early and
basic introduction to Oracle Business Rules and its implementation in the SOA composite
application, by using a business rules service component.
• Lesson 11: Securing Services and Composite Applications: The aim of this lesson is to
introduce the basic security concepts and Oracle Web Services Manager security feature in
securing an SOA composite application.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
18/403Oracle SOA Suite 11g : Essential Concepts I - 6
Copyright © 2009, Oracle. All rights reserved.
Summary
After completing this lesson, you should understand the:
• Learning objectives of this course
• Structure and organization of this course
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
19/403
Copyright © 2009, Oracle. All rights reserved.
Service-Oriented Architecture Concepts
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
20/403Oracle SOA Suite 11g : Essential Concepts 1 - 2
Copyright © 2009, Oracle. All rights reserved.
Course Road Map
In this “Service-Oriented Architecture Concepts” lesson you will be introduced
to Service-Oriented Architecture (SOA) concepts, the standards that enableSOA, and the different drivers that help you devise an SOA strategy.
Course Road MapThe “Service-Oriented Architecture Concepts” lesson introduces the challenges faced by enterprises
in integrating application and how Service-Oriented Architecture can provide a solution to the same.
You will also be familiarized with the various drivers that enable you to build a reference
architecture, which is the first step toward embarking into a Service-Oriented Architecture.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
21/403Oracle SOA Suite 11g : Essential Concepts 1 - 3
Copyright © 2009, Oracle. All rights reserved.
Objectives
After completing this lesson, you should be able to:
• Describe the challenges of the integration of enterpriseapplication systems
• Describe the solution for enterprise application integration
• Describe the role of Oracle SOA Maturity Model
• Describe Service-Oriented Architecture (SOA)
• Identify standards that enable SOA
• Identify basic design requirements for an SOA approach
• Explain the role of SOA governance
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
22/403Oracle SOA Suite 11g : Essential Concepts 1 - 4
Copyright © 2009, Oracle. All rights reserved.
Business
Strategy SOA
Definition: Service-Oriented Architecture (SOA)
Service-Oriented Architecture is an IT strategy that organizes
the discrete functions contained in enterprise applications intointeroperable, standards-based services that can be combined
and reused quickly to meet business needs.
IT
Strategy
Definition: Services-Oriented Architecture (SOA)In computing, SOA provides methods for systems development and integration where systems group
functionality around business processes and package these as interoperable services. An SOA
infrastructure allows different applications to exchange data with one another as they participate in
business processes.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
23/403Oracle SOA Suite 11g : Essential Concepts 1 - 5
Copyright © 2009, Oracle. All rights reserved.
Why SOA?
SOA enables:
• Reusability – Business services
• Interoperability
– Loosely coupled services
• Scalability and flexibility
– Coarse-grained
– Document-oriented
– Asynchronous services• Cost efficiency
– Standards-based approach
Why SOA?What drives the move to SOA is reuse of business services. Developers within an enterprise and
across enterprises (particularly, in business partnerships) can take the code developed for existing
business applications, expose it as Web services, and then reuse it to meet new business
requirements.
The SOA vision of interaction between clients and loosely coupled services means widespread
interoperability. In other words, the objective is for clients and services to communicate and
understand each other no matter what platform they run on.
Because services in an SOA are loosely coupled, applications that use these services tend to scale
easily—certainly more easily than applications in a more tightly coupled environment. That is
because there are few dependencies between the requesting application and the services it uses,
which typically makes them more flexible than more tightly coupled applications. In a tightly
coupled architecture, the different components of an application are tightly bound to each other,
sharing semantics, libraries, and often sharing state. This makes it difficult to evolve the application
to keep up with changing business requirements. The loosely coupled, document-based,
asynchronous nature of services in an SOA allows applications to be flexible and easy to evolve with
changing requirements.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
24/403Oracle SOA Suite 11g : Essential Concepts 1 - 6
Why SOA? (continued)
Other approaches that integrate disparate business resources such as legacy systems, business partner
applications, and department-specific solutions are expensive because they tend to tie these
components together in a customized way. Customized solutions are costly to build because they
require extensive analysis, development time, and effort. They are also costly to maintain and extend
because they are typically tightly coupled, so that changes in one component of the integrated
solution require changes in other components. A standards-based SOA approach should result in less
costly solutions because the integration of clients and services does not require the in-depth analysisand unique code of customized solutions.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
25/403Oracle SOA Suite 11g : Essential Concepts 1 - 7
Copyright © 2009, Oracle. All rights reserved.
Enterprise Challenge
• Application development and integration issues
– Lack of flexibility – Not standards-based
– Project costs and long duration
• Traditional methodologies
– Point-to-point
– Enterprise Application Integration
Enterprise ChallengeEnterprises 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
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
26/403Oracle SOA Suite 11g : Essential Concepts 1 - 8
Copyright © 2009, Oracle. All rights reserved.
Point-to-Point Integration
«Packaged CRM»
«Packaged ERP»
«Mainframe»
«App Server»
CRMApplication
ERP
Application
Custom
Application
EJB
Application
«EAI» «Client Tier»
«CustomLogic»
«CustomLogic»
«CustomLogic»
Custom
API
Custom
API
Custom
API
Custom
API
Custom
API
Custom
API
Custom
API
Custom
API
«ClientApplication»
«ClientApplication»
«ClientApplication»
Point-to-Point IntegrationPoint-to-point integration involves:
• Proprietary messages, APIs
• Custom integration links
• Duplication of effort
• Lack of open standards
• Tight coupling of data and implementation
• Skill set issues
• Projects lasting months
• Cost (skill, time, products)
• Operational polices embedded in application• Lack of agility
• Slow response by IT to business changes
In the point-to-point (or peer-to-peer) integration methodology, applications are integrated with other
applications as needed. The interconnections as shown here could be built with Web services as well.
But that does not mean that the above peer-to-peer implementation is SOA-based; it still is not
loosely coupled and intermediary-based, and it lacks a shared infrastructure.
CRM stands for Customer Relationship Management.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
27/403Oracle SOA Suite 11g : Essential Concepts 1 - 9
Copyright © 2009, Oracle. All rights reserved.
Enterprise Application Integration
«Packaged CRM» «Packaged ERP»
«Mainframe» «App. Server»
CRM
Application
ERP
Application
Custom
Application
EJB
Application
«Client Tier»
«VBApplication»
«JavaApplication»
«WebApplication»
Custom
API
JAM API RMI
Message Bus or Middleware
Custom
API
Standard-based interfaces Standard-based interfaces
Enterprise Application IntegrationBecause point-to-point integration was complex, costly, and difficult to manage, the Enterprise
Application Integration (EAI) method was introduced. EAI was based on message broker or
middleware where the connectivity between each application and the message bus was developed
using proprietary bus APIs and an Application Platform Suite (APS).
The following are the disadvantages of all of these approaches:
• Custom or proprietary integration between the message bus and each application was required.
• Different proprietary data formats were involved at each integration point.
• Each application was still tightly coupled to the message bus.
• The applications need to know the inner workings of the other applications they were integrated
with.
The challenge of accessing, integrating, and transforming data (enterprise information integration)
has largely been left to developers to perform using manual coding.
The lack of standards and the architecture limitations in addition to the hefty costs of traditional EAI
projects has resulted in the search for an alternative integration solution that would address the
limitations. JAM stands for Java Application Manager.
Standard-based Interfaces Standard-based Interfaces
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
28/403Oracle SOA Suite 11g : Essential Concepts 1 - 10
Copyright © 2009, Oracle. All rights reserved.
Example of Application-Centric Integration
Web based Banking Application
Apply for new Credit Card Apply for new Mortgage Loan
Setup
Account
Check Customer
Credit Card
Conduct
Fraud
Check
Verify Customer
Address
Setup
Account
Marketing
System
Sales andAcquisition
RiskSystem
CorporateSystem
BusinessUnit
Example of Application-Centric IntegrationThe slide shows a Web-based Banking Application using point-to-point integration. Here in order to
process a new Credit Card:
• Applications are integrated with each other.
• Each application takes care of a particular functionality such as conducting verification of
customer background, which results in tight coupling of the application
• Applications such as Risk system, Business Unit and so on use individual lines of
communication, resulting in a complex architecture. Here each application needs to create its
own integration.
The lack of agility and usage of customer integration links results in inflexibility.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
29/403Oracle SOA Suite 11g : Essential Concepts 1 - 11
Copyright © 2009, Oracle. All rights reserved.
Integrating Solutions and Benefits with SOA
Service-Oriented
Architecture
Offers faster business
response time
Improves business
agility
Masks underlying
technical complexity
Aligns IT with
business
Benefits
Reusability Interoperability ScalabilityCost
Efficiency
Integrating Solutions and Benefits with SOAAligning IT with discrete business functions:
• Results in rapid development and more reliable delivery of new and enhanced business services
• Improves productivity, agility, and speed for both business and IT
• Allows IT to deliver services faster and align closer with business
• Allows the business to respond more quickly and deliver optimal user experience
• Masks the underlying technical complexity of the IT environment
The benefits of Service-Oriented Architecture are:
• Reusability: Existing business functionality in an application can be reused to meet new
business requirements. In addition, new services should be designed with reusability in mind as
determined by their usage patterns within the business domain. However, not all services needto be reusable or should be depending on the business requirement.
• Interoperability: Communication between services and the business process is not dependent
on the platform and are standards-enabled. The services are also not tightly coupled to the
application.
• Scalability: Applications are flexible to the changing business requirements.
• Cost efficiency: Highly cost efficient as integrating the business resources is standards-based.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
30/403Oracle SOA Suite 11g : Essential Concepts 1 - 12
Copyright © 2009, Oracle. All rights reserved.
SOA Further Defined
• SOA can be thought of as:
– An enterprise-level design approach – A collection of services on a network that communicate with
one another
– A set of services that are loosely coupled, with well-defined,
reusable, platform-independent interfaces
– A higher level of application development
• Services provide access to data, business processes, and
IT infrastructure, ideally in an asynchronous manner.
• SOA leverages standards-based integration (XML and
Web services) to connect heterogeneous systems.
SOA Further DefinedSOA-based application development and integration solves many issues and shortcomings of the
traditional approaches. SOA describes a set of well-established patterns that help a client application
connect to a service. These patterns represent mechanisms used to describe a service, to advertise and
discover a service, and to communicate with a service.
Most communication middleware systems, such as Remote Procedure Call (RPC), Common Object
Requesting Broker Architecture (CORBA), Distributed Component Object Model (DCOM),
Enterprise Java Bean (EJB), and Remote Method Invocation (RMI), rely on similar patterns.
However, there are differences between each implementation and weaknesses among them. The
primary issue has been acceptable standards and interoperability. SOA is built upon these
technologies and has tried to eliminate apparent weaknesses. Each of these technologies has a fixedgranularity, function for RPC, object for CORBA, and so on. Services do not have this fixed
granularity. Instead, a service can be a function, an object, or an application. SOA is, therefore,
adaptable to any existing system and does not force the system to conform to any particular level of
granularity.
Instead of replacing the existing architectures, SOA helps to reuse all existing systems and
applications in the company and transform them into agile services. SOA not only covers information
from packaged, customer, and legacy applications systems, but also the functionality or data from the
IT infrastructure, such as security and content management.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
31/403Oracle SOA Suite 11g : Essential Concepts 1 - 13
Copyright © 2009, Oracle. All rights reserved.
Moving Toward Service-Centric Integration
Web Phone Branch Systems Trading Partners
Channels
Web UI / Portals/ Portlets
Presentation Service Layer
Business Process Layer (BPM, Workflow)
Business Service
CheckCredit Card
Verify Customer Address
SetupAccount
Conduct FraudCheck
Integration Tier (Connectivity Service)
Assets /Systems
SOA
Governance
Service
Bus
Mediation
Application Centric Integration Service-Centric Integration
Moving Toward Service-Centric IntegrationThe slide depicts how a Web-based Banking application using point-to point integration can be
migrated to service-centric integration 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 and
• 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.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
32/403Oracle SOA Suite 11g : Essential Concepts 1 - 14
Copyright © 2009, Oracle. All rights reserved.
SOA: A Paradigm Shift
AbstractionKnown implementation
Message-orientedObject-oriented
Heterogeneous technologyHomogeneous technology
Agile and adaptiveTightly coupled
Services orchestration Application block
Business-centeredCost-centered
Long development cycle
Designed to last
Functionality-oriented
Distributed Component Architecture
Process-oriented
Interactive anditerative development
Designed to change
Service-Oriented Architecture
SOA: A Paradigm ShiftSOA is much more than a new software development model; it is a true paradigm shift. The more
powerful paradigm shift that you are seeing in most organizations is the shift in focus from
functionality and application to process and business. Architects are now specifying the designs for
services with names such as Get_Customer, Open_Order, or Get_Service_History. Then together
with their business partners, they whiteboard entire business processes by assembling these services.
One of the additional benefits of SOA involves the changed relationship between IT and business,
bringing them closer to each other and helping each other. There is more to this paradigm shift. The
development cycles will shrink, or rather, will go to high frequency deployments of smaller chunks
of capability instead of the large, lengthy development.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
33/403Oracle SOA Suite 11g : Essential Concepts 1 - 15
Copyright © 2009, Oracle. All rights reserved.
Architecture
Infrastructure
Information
Operations,
Administration, and Management
Business and Strategy
Organization
Governance
Project,
Portfolios, and Services
Technology Dominated Organizational Disciplines
The Eight-Domain Model Approach for SOA
The Eight-Domain Model Approach for SOAThe Eight Domain Maturity model is used to accelerate SOA adoption by identifying specific
capabilities that are either completely lacking or that are lagging with respect to the other capabilities
necessary for successful SOA adoption.
The SOA Maturity Model uses the concept of domains to classify and organize the related
capabilities. These capabilities provide the detail necessary to truly measure and guide the progress
of an SOA initiative. As depicted in the slide, the Maturity Model has eight domains:
Business and Strategy: Contains capabilities that provide the high-level constructs that allow the
SOA initiative to proceed. This includes business motivation, expected benefits, guiding principles,
expected costs, a funding model, and so on.
Architecture: Contains capabilities concerning the definitions of the overall architecture and
guidelines for various practitioners to ensure adherence to the architecture
Infrastructure: Contains capabilities concerning the service infrastructure and tools that provide the
technical foundation for the SOA initiative
Information: Contains capabilities concerning the information aspects of SOA, for example,
providing Information as a Service (IAAS). This includes shared data models, message formats and
schemas, master data management, content management, and so on.
Projects, Portfolios, and Services: Contains capabilities concerning the planning and building of
services and the service usage guidelines of service consumers
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
34/403Oracle SOA Suite 11g : Essential Concepts 1 - 16
The Eight-Domain Model Approach for SOA (continued)
Operations, Administration, and Management: Contains capabilities concerning the post
deployment aspects of solutions based on a Service-Oriented Architecture, such as the operations,
administration, and management aspects of SOA.
Organization: Contains capabilities concerning the development of corporate competency in regards
to SOA including the organizational structure and skills development
Governance: Contains capabilities concerning the governance structures and processes that supportand guide the SOA efforts. The maturity and adoption of an adequate amount of governance is a
leading indicator of the overall SOA success.
These eight domains, although interrelated, are sufficiently distinct. To succeed at SOA adoption, an
organization must adequately progress in all of these domains.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
35/403Oracle SOA Suite 11g : Essential Concepts 1 - 17
Copyright © 2009, Oracle. All rights reserved.
Quiz
Which one does not belong to the Eight-Domain model?
1. Business and Strategy2. Governance
3. Architecture
4. Installation
Answer: 4Explanation: The Eight Domain Maturity model is used to accelerate SOA adoption by identifying
specific capabilities that are either completely lacking or that are lagging with respect to the other
capabilities necessary for successful SOA adoption. The eight domains are:
1. Business and Strategy
2. Architecture
3. Infrastructure
4. Information
5. Projects, Portfolios, and Services
6. Operations, Administration, and Management
7. Organization8. Governance
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
36/403Oracle SOA Suite 11g : Essential Concepts 1 - 18
Copyright © 2009, Oracle. All rights reserved.
Building an SOA Reference Architecture:
From Architecture Drivers to a Roadmap
Business DriversBusiness Drivers IT Objectives SOA StrategyFuture Vision
SOA Reference Architecture
Best Practices
Roadmap
Current Reality
Determine business
scope and motivation.
Determine IT drivers.
SOA reference
architecture should
include definitions,
standards, rules,principles, and
guidelines, and
architecture views.
Design an incremental
plan to achieve the
future vision.
Identify the
stakeholders’ viewpoints
or concerns, prioritize
SOA benefits, andexamine the current
reality.
Building an SOA Reference Architecture: From Architecture Drivers to a RoadmapAn SOA strategy is ideally established enterprise-wide but in many circumstances it may be
incubated within a line of business (LOB), or other subset of the full corporate entity. In these cases,
the limitations and compromises must be recognized at an early stage (such as the reduced value of
“shared business services,” limiting opportunities for “service composition,” and so on).
Both business and IT drivers should be collected (separately).
Examples of business drivers might be to:
• Improve efficiency in the call center
• Grow revenue faster than our peers in a sustainable way
• Simplify the assimilation of acquired companies
• Expand customer relationships, and so on
IT drivers, on the other hand, might be to:
• Move from transaction focus to customer focus
• Move from silo LOB focus to process/service focus
• Expose loosely coupled business logic to achieve speed and flexibility and so on
Business and IT drivers should be aligned, but clearly use different language and refer to different
issues while leading to the same result. Notice also that “drivers” such as “vision” and “goals” do not
include statements of how to achieve these goals or even when they should be achieved.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
37/403Oracle SOA Suite 11g : Essential Concepts 1 - 19
Copyright © 2009, Oracle. All rights reserved.
SOA Reference Architecture
• An SOA reference architecture is a blueprint or guide to
creating an SOA infrastructure implementation for abusiness depending on the “business needs.”
• The SOA reference architecture:
– Defines the target architecture and the principles to be used
by an organization’s architects to make architecture and
design decisions on their projects
– Is a key component of an effective strategy to deliver the
benefits of SOA
SOA Reference ArchitectureAn SOA reference architecture promotes consistency and interoperability by defining enterprise-
wide principles, guidelines, and patterns.
An SOA reference architecture is a blueprint to guide the enterprise toward SOA success by:
• Establishing a strategy for architecting new SOA projects, leveraging existing projects, and
legacy investments
• Building in flexibility, manageability, and planning for change
• Simplifying diverse, sometimes incompatible, platforms and applications found within any
large enterprise
• Transitioning toward a culture of reuse, team collaboration, and resources sharing
• Determining best practices for standards and technology deployment• Migrating toward a 2–3 year view, achieving true convergence over time
• Providing a communication tool for establishing a common understanding of SOA and its core
strategies throughout the enterprise
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
38/403Oracle SOA Suite 11g : Essential Concepts 1 - 20
Copyright © 2009, Oracle. All rights reserved.
Composite Applications Web Apps Portals Mashups BPM Process Clients
Service Consumers and
Delivery Channels
Employees Customers Partners ClientApps
PartnerApps
Presentation Services Shared Portlets Multichannel Delivery
Business Processes System-Centric Workflow Human-Centric Workflow
Business Services Enrichment Custom/Atomic Business Services
Data Services Logical Data Model Data Aggregation/Synchronization
Connectivity Services System/Data Access Messaging Partner Integration
Service
Bus
Mediation
Service Registry
Service Repository
SOA Security
Infrastructure
SOA Monitor and
Event Manager
Infrastructure
Services
Non-Service Enabled Assets Service-Enabled Assets
Messaging Adapters Custom APIs JDBC file://
Shared Services and Infrastructure
SOA Reference Architecture
SOA Reference Architecture (continued)The architecture separates the users of enterprise functionality from the systems and applications that
provide that functionality, placing the infrastructure for services and service delivery between them.
The layers of services and their supporting infrastructure are referred to as the “innovation layer.”
This analogy expresses their role in driving change in the way that IT is delivered. Existing
applications, data, and middleware form the foundation from which services are drawn. Supporting
and formalizing the existing enterprise activities is a service-oriented infrastructure. Standards-based
infrastructure services provide a common basis for the deployment of all other types of service.
Note: The SOA architectural framework for an organization is selected from this reference
architecture based on business requirements. Not all components of the reference architecture are
needed.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
39/403Oracle SOA Suite 11g : Essential Concepts 1 - 21
Copyright © 2009, Oracle. All rights reserved.
SOA Reference Architecture:
Service Consumers
Users of the enterprise functionality
Composite Applications Web Apps Portals Mashups BPM Process Clients
Service Consumers and
Delivery Channels
Employees Customers Partners ClientApps
PartnerApps
SOA Reference Architecture: Service ConsumersService consumers include end users as well as applications that are users of SOA, but not
contributors of services. These include :
• Applications that belong to another domain, for example, partner applications
• Complex event processing systems, that can invoke composite applications and services as a
result of processing decisions
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
40/403Oracle SOA Suite 11g : Essential Concepts 1 - 22
Copyright © 2009, Oracle. All rights reserved.
Presentation Services Shared Portlets Multichannel Delivery
Business Processes System-Centric Workflow Human-Centric Workflow
Business Services Enrichment Custom/Atomic Business Services
Data Services Logical Data Model Data Aggregation/Synchronization
Connectivity Services System/Data Access Messaging Partner Integration
Service
Bus
Mediation
Service Registry
Service Repository
SOA Security
Infrastructure
SOA Monitor and
Event Manager
Infrastructure
Services
Shared Services and Infrastructure
SOA Reference Architecture:
Service Classification
Service classifications and infrastructure
requirements of Service-Oriented
Architecture
SOA Reference Architecture: Service ClassificationService classification is a logical grouping of types of services that meet specific needs and conform
to different subsets of standards or guidelines. The separate classifications potentially satisfy
different subsets of architectural principles and have their own specific constraints applied.
The different service classifications are:
• Connectivity services
• Data services
• Business services
• Business process services
• Presentation services
• Infrastructure services
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
41/403Oracle SOA Suite 11g : Essential Concepts 1 - 23
Copyright © 2009, Oracle. All rights reserved.
Presentation Services Shared Portlets Multichannel Delivery
Business Processes System-Centric Workflow Human-Centric Workflow
Business Services Enrichment Custom/Atomic Business Services
Data Services Logical Data Model Data Aggregation/Synchronization
Connectivity Services System/Data Access Messaging Partner Integration
Service
Bus
Mediation
Service Registry
Service Repository
SOA Security
Infrastructure
SOA Monitor and
Event Manager
Infrastructure
Services
Non-Service Enabled Assets Service-Enabled Assets
Messaging Adapters Custom APIs JDBC file://
Shared Services and Infrastructure
SOA Reference Architecture:
Service Providers
Assets that can be shared and reused
throughout the enterprise
SOA Reference Architecture: Service ProvidersExisting functionalities, from other parts of the enterprise or from external applications, can be
accessed securely via the service bus, if the functionalities are exposed as services (service-enabled
assets). In this way business functionality (or data etc.) that was not previously accessible can be
shared and reused across the enterprise. There is no necessity for the connectivity services to
“service-enable” them. But on the contrary the non-service –enabled assets standardize the exposure
of their functions to the other service classes using the connectivity services.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
42/403Oracle SOA Suite 11g : Essential Concepts 1 - 24
Copyright © 2009, Oracle. All rights reserved.
Reference Architecture: Example
Business
Activity
Services
Calc Item Price & CheckItem Availability
Calc Freight
Web Application eCommerce Processes
Create New
Quote or Order Convert Quote
to Order
Check Order
Status
Check Invoice
History
Business
Process
Services
Import Order Calculate Shopping Cart
Cart
Service
Order
ServiceInvoice
ServiceService Bus
Connectivity Services – Oracle Adapter
System Access Data Access
Reference Architecture: ExampleThe slide displays a reference architecture of a Web application e-commerce process. The
application performs the following tasks:
• Allows a customer to search for an item, add the selected item to a shopping cart, and place an
order for it.
• Calculates the shopping cart value based on the availability of the item in the database
• Generates an invoice
• Enables the customer to keep track of the order status
Each of the above mentioned tasks maps to a functionality in the shared service and infrastructure
layer. For example, calculating the item price and freight charges falls under the business services
layer, whereas the accessibility of the database finds its location in the connectivity service.
One of the key ideas is to identify explicit functional capabilities and their location in the reference
architecture.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
43/403Oracle SOA Suite 11g : Essential Concepts 1 - 25
Copyright © 2009, Oracle. All rights reserved.
Standards That Enable SOA
Transport
Message
Description
Discovery
Quality of
service
Business
processes
HTTP(S), IIOP, JMS, SMTP
XML
SOAP
WSDL
UDDI
WS-SecurityWS-ReliableMessaging
Orchestration: BPEL4WS
Management
WS-Policy
WS-Security
CategoryCurrent and Emerging Standards
Service Component Architecture (SCA)
Service Data Objects (SDO) Data access
Assembly
model
Standards That Enable SOAThis 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 an SOA approach, that is, using the Web service foundations of Simple Object Access
Protocol (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 an SOA implementation is based is
independence of hardware and operating systems used to implement the service functionality.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
44/403Oracle SOA Suite 11g : Essential Concepts 1 - 26
Standards That Enable SOA (continued)
The slide groups the standards listed into the following categories:
• Transport: The various protocol standards that can be used to communicate data
• Message: Structuring and providing message data with XML schema and XML standards
• Description: Exposing service function and data structures through WSDL standards
• Discovery: Locating services in registries based on UDDI standards
• Quality of service: Managing reliability, security, transactions, and coordination in using Web
services standards (WS-* standards)
• Business process: Orchestrating services using the BPEL standard
Here are brief descriptions of the standards listed in the slide:
• BPEL4WS: Is an XML-based language describing the rules for orchestrating a business
process that calls one or more services
• WS-Reliability: Is a SOAP-based specification, managed by the Organization for the
Advancement of Structured Information Standards (OASIS) that fulfills reliable messaging
requirements critical to some applications of Web services
• WS-Security: Is a protocol that provides a way to apply security to Web services
• WS-Transactions: Is a specification that describes coordination types used with the extensible
coordination framework specified by WS-Coordination
• WS-Coordination: Is a Web services specification that describes an extensible framework for
providing protocols that coordinate the actions of distributed applications
• WS-Context: Is a specification to provide a definition of a structuring mechanism and a
software service definition for organizing and sharing context across multiple execution
endpoints. This enables context information such as WS-Addressing information that is
communicated via SOAP headers to be propagated across endpoints.
• WS-Addressing: Specifies a mechanism for Web services to share addressing information
• UDDI: Provides a platform-independent protocol and XML-based registry, which lists business
services and information on the Internet
• WSDL Is an XML format used to publish and describe the operations and messages required tocall a Web service
• SOAP: Is a protocol for exchanging XML-based messages across a network, normally using
HTTP
• XML: Is widely used to describe Web services, describe UDDI registry data, define XML
schema documents, and define message structures for exchanging XML-based data between
services
• HTTP: Is a method for transferring data across the World Wide Web. HTTP is widely used to
access and retrieve HTML pages.
• IIOP (Internet Inter-ORB Protocol): Is the implementation of the General Inter-ORB
Protocol (GIOP). GIOP is the abstract protocol by which object request brokers (ORBs)communicate based on standards maintained by the Object Management Group (OMG).
• JMS: (Java Messaging Service) Provides a Java message-oriented middleware (MOM) API to
asynchronously communicate messages between multiple clients
• SMTP (Simple Mail Transfer Protocol (SMTP): Is the default standard for sending emails
across the Internet
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
45/403Oracle SOA Suite 11g : Essential Concepts 1 - 27
Copyright © 2009, Oracle. All rights reserved.
Quiz
An SOA reference architecture is a blueprint to guide the
enterprise toward SOA success.1. True
2. False
Answer: 1Explanation: The SOA Reference architecture defines the target architecture and the principles to be
used by an organization’s architects to make architecture and design decisions on their projects.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
46/403Oracle SOA Suite 11g : Essential Concepts 1 - 28
Copyright © 2009, Oracle. All rights reserved.
Service and Web Service
• A service:
– Provides a unit of work as part of a business process – Performs a business function (such as validate credit card)
• A Web service:
– Is a software system or self-describing business function
– Is designed to support interoperable machine-to-machine
interaction over a network
– Communicates with clients through standard protocols and
technologies
Request
Response
Service Requester Service Provider
Service and Web ServiceA service can be defined as a well-defined, self-contained business function that:
• Operates independently from the context or state of other services
• Represents a unit of work performed by a component or part of an automated subprocess
A service is essentially a process that performs a specific business function, such as validating a
credit card submitted with a customer order. Business functions that are a subset of an existing
Enterprise Information System (EIS) (such as part of an Enterprise Resource Planning (ERP) system
and other application modules) can be represented as a service through adapters.
A suitable granular (modular) service design can enable a service to support many applications in an
enterprise that spans platforms and organizational components. For example, to find the number of
units sold for a particular product, the business function might need to query a sales management, a
sales order, and a product inventory system within an organization.
A Web service is a service that performs discrete business functions. Interaction with a Web service
is based on a set of standard protocols and technologies. Web services:
• Make use of standard set of platform-independent messaging protocols (SOAP, HTTP, JMS)
• Using standard protocols enable connections between services from any Web-connected device
• Exchange data and functionality in XML format
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
47/403Oracle SOA Suite 11g : Essential Concepts 1 - 29
Copyright © 2009, Oracle. All rights reserved.
Types of Service Access and Implementation
Types of Service Access and Implementation
Created
from existing
functionality
Created as
new
functionality
Can be achieved
either by exposingexisting functionality
as Web services or
by using adapters
Can be developed by
using service buscomponents, BPEL
processes, or Web
services implemented
with Java or Java EE
Invoked
through
protocols and
methods
Services can be
invoked by usingSOAP over HTTP,
JMS adapters, or
WSIF.
Service
access
Service
access
Types of Service Access and ImplementationBefore embarking on an SOA implementation, business requirements should be identified before you
can design, identify, or locate services that can support the business need. After the identification
task is complete, services and their operations and messages can be specified, thereby creating a
“portfolio of services” needed to meet the business requirements.
The implementation for the “portfolio of services” can be chosen from:
• Existing functionality, provided by in-house applications already available for use. Existing
application functionality can be exposed through new interfaces and repurposed for an SOA
environment.
• Enterprise Information Systems (EIS), and legacy applications, which have many custom
adapter interfaces that expose their functionality as services for integration purposes• New applications, which can be developed in languages that support Web service standards,
such as Application Development Framework Business Components (ADF BC), Java, and Java
EE, among others. New services can be developed if existing services do not meet identified
requirements.
Invocation of services, whether developed as a Web service or exposed through adapters (using Java
Connector Architecture standards) can be invoked using SOAP, Representational State Transfer
(REST), and Web Services Invocation Framework (WSIF) and potentially other ways.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
48/403Oracle SOA Suite 11g : Essential Concepts 1 - 30
Copyright © 2009, Oracle. All rights reserved.
Ways to Integrate Services
Process and service integration can be done many ways:
• Proprietary implementations: Typically integrate isolatedsystems with a point-to-point approach
• Vendor-specific implementations: Technology such as
Tuxedo enable integration using a consistent approach
• Common Object Request Broker Architecture, (CORBA)
implementations: Programmatically intensive, widely
supported, and not widely used due to implementation cost
• Web Service and, now, SCA style implementations: UsingXML and Web standards to integrate systems
Note: Not everyone agrees on the way to do SOA-enabled
implementations
Ways to Integrate ServicesThe points stated in the slide illustrate that integration can be done in many ways and forms, some of
which are proprietary approaches that have enabled silo (stand-alone) systems to be integrated,
typically in a point-to-point manner. This approach is less flexible and hard to maintain over time.
Technologies such as Tuxedo, a vendor-specific integration technology, enable systems to
standardize the way that they integrate their systems. Tuxedo until recently did not support Web
service standards, keeping the technology contained within an organization that embraced it. The
computing industry worked to create a standardized protocol and software integration method called
Common Object Request Broker (CORBA), that enabled systems to integrate by using a standard
(non XML-based) interface definition language for generating code templates that could be
distributed. Although it is entirely possible to apply an SOA approach with CORBA, the lack of itswide use and accessibility, in addition to its remote procedure call mechanisms, make it costly to
implement and less friendly to use across an intranet or Internet. With the advent of Web services
and the common use of XML, WSDL, and XSD standards, SOA-based approaches have naturally
embraced these standards that enable easier interoperability across intranet and Internet networks.
Keep in mind that not every one agrees on the same implementation styles for Web services–style
SOA implementations. For example, not all Enterprise Service Bus implementations are alike, nor
does everyone chose to implement BPEL for process orchestration. However, as we already know,
time changes many things.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
49/403Oracle SOA Suite 11g : Essential Concepts 1 - 31
Copyright © 2009, Oracle. All rights reserved.
Designing with an SOA Approach
Designing with an SOA approach involves:
• Aligning IT with the business needs—design needs to bedriven by business process
• Identifying services that performs functionality as part of a
business process—building a service portfolio
– Designing standard message structures in XML format using
XML Schema Documents (XSD)
– Specifying service interfaces in Web Services Definition
Language (WSDL) format
– Selecting choice of service implementation
— Java Web Services and J2CA Adapters
— BPEL
— SCA composite applications
— .NET, among others
Designing with an SOA ApproachWhen designing systems integration approaches with an SOA-style implementation the focus is
always to be aligned with the business 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.
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 maintained and
changed to stay aligned with the business requirements.
After the business process flow and requirements are understood, when it comes to designing eachservice, the key artifacts that require careful design are:
• Service message structures that need to be exchange between service consumer and clients.
Design of message structures is a form of data modeling with respect to identifying what
information is needed by a service to perform its function.
• Service interface definition, that is, the WSDL that describes the function that the service will
offer and associates the input and optional output message structures to each exposed function.
Designing a WSDL interface depends on understanding interactions, that is, how the service
will be used and if communicates synchronously or asynchronously.
• Service functionality can be designed based on choice of implementation language or type.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
50/403Oracle SOA Suite 11g : Essential Concepts 1 - 32
Copyright © 2009, Oracle. All rights reserved.
Creating Service Portfolios
Created with reusability in mind, a service portfolio:
• Is identified from a set of services needed for implementingone or more business processes within a business domain
• Can be stored in an enterprise repository for design-time
and governance purposes
• Can be accessed from a service registry at design time
and run time for location-independence and governance
• Can be realized by:
– Reusing functionality by wrapping as services, and usingadapter technology
– Creating new services with SOA-enabled technology, such
as Web services, SCA composite applications, BPEL, and
service bus
Creating Service PortfoliosWhen embarking on a Service-Oriented Architecture approach to systems integration, systems
integrators begin by examining business process requirements and the business domain to identify
functionality that can be used as a “service” unit of work to help complete a business process. The
aim of building a system portfolio is to identify common functionality that can be decoupled and
exposed or used as a service within a business domain. While the business process drives the
identification of services, the analysts should always keep the goal of reusability in mind within the
business domain.
Note: Not all services or service-enabled applications should be reusable. Experience helps to find
the right balance.
After a collection of services has been identified to serve the business process and can be applied to a
business domain, the recommended practice is to store information about the services—their
interfaces and message structure—in a common location such as an enterprise repository. This
facilitates and promotes sharing and reusability from the design phase through to production.
Coupled with a service registry, an enterprise repository can migrate service run-time information
into development, test, and production/operational environments. Coupling an enterprise repository
and service registry enable an organization to implement strong SOA governance strategies for
services throughout a service life cycle from design time to run time. A service registry enables
applications to look up a service by using a service key, for location independence.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
51/403Oracle SOA Suite 11g : Essential Concepts 1 - 33
Copyright © 2009, Oracle. All rights reserved.
SOA Workflow and Orchestration
• Basic data access and discrete
business logic services areconsumed within orchestration
layer services.
• Agility is achieved by separating
core business logic and control
logic.
• Business process management
systems provide the modeling
tools and execution environmentfor creating these services.
Service A
Service B
Service C
SOA Workflow and OrchestrationA mature SOA leverages a service orchestration layer that is focused on delivering new services byorchestrating the basic services provided by basic data access and business logic services. The keyarchitectural focus of this layer is agility. Agility is achieved by properly applying data aggregation, process definition and workflow tools to create the desired services. Designing and developingorchestration services requires domain expertise in integration processes and rules.
This layer is where the business logic is implemented and published as an enriched service.
In order to deliver on the promises of agility, it is essential to separate services into core businesslogic and control logic. If the separation is thorough, changes to existing processes and theintroduction of new processes should happen smoothly because the impact can be minimized.,
helping to reduce redundancies and inconsistencies.A business process management (BPM) system offers the necessary step-by-step executionapproaches and modeling techniques to implement the business logic of the newly composedservices. This implementation can cover complex business use cases that require maintaining stateinformation, loops, tests, and parallel execution. And these new services become in turn, reusablecomponents for building other services. So there is a very good fit between the BPM vision and SOA,and both aim at increased flexibility for the enterprise IT.
With the powerful combination including service bus and BPM solutions, is possible to create more powerful SOA solutions within organizations and across organizational boundaries to react morequickly to frequently changing business requirements.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
52/403Oracle SOA Suite 11g : Essential Concepts 1 - 34
Copyright © 2009, Oracle. All rights reserved.
Implementing SOA: General Concepts
• Build a portfolio of services (Web service, .NET, adapters).
• Register and publish services (UDDI).• Decouple services through virtualization
and routing (mediator).
• Orchestrate services (BPEL).
• Create user interfaces to initiate
and interact with services.
Mediator
UDDI Registry
Web
application
Orchestration
(process flow)
Service
PortfolioJava .Net Adapter
Implementing SOA: General ConceptsThis graphic represents the conceptual goal of an SOA implementation. The principles of
implementing an SOA approach include:
• Creating a portfolio of services. The basic building block of an Oracle SOA strategy is a
service. Services must be visible and accessible.
• Publishing services in a UDDI registry. Services can be registered in a UDDI registry so that
they can be discovered and located across the Internet and intranet.
• Virtualizing services by using mediators to further decouple (minimize dependences) between
service consumers from the service provider. The mediator can also manage the process of
moving, transforming, and filtering data transferred between service endpoints, thereby creating
a foundation layer (plumbing or glue) between services.• Orchestrating services with BPEL. BPEL enables the implementation of complex business
process flows that require short- and long-term interaction between services. Orchestrating
business processes may involve accessing services, published in the UDDI registry, or directly
from their endpoints. In addition, a BPEL process becomes a service.
• Developing rich client applications to invoke or interact with services based on using the latest
Web technology and Web services standards
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
53/403Oracle SOA Suite 11g : Essential Concepts 1 - 35
Copyright © 2009, Oracle. All rights reserved.
Quiz
Services can be implemented using existing functionality.
1. True2. False
Answer: 1Explanation: Services can be implemented using existing functionality by exposing existing
functionality as services or by using adapters.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
54/403Oracle SOA Suite 11g : Essential Concepts 1 - 36
Copyright © 2009, Oracle. All rights reserved.
Define SOA Governance
SOA governance can be defined as:
• A set of solutions, policies, and practices that enableorganizations to implement and manage an enterprise
SOA
• An application of IT governance specifically focused on the
life cycle of services and composite applications in an
organization’s service-oriented architecture
Policies
(What)
Processes
(How)
Decisions
(Who)
Define SOA GovernanceGovernance 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. In other words, 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.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
55/403Oracle SOA Suite 11g : Essential Concepts 1 - 37
Copyright © 2009, Oracle. All rights reserved.
Identifying the Need of SOA Governance
• Business value
• Alignment• Business agility
• Risk reduction
• Cost savings
Identifying the Need of SOA GovernanceSOA governance offers the following benefits:
• Business value: Ensures that project investments yield business value
• Alignment: Keeps SOA aligned with the business and architecture and in compliance with
business and IT policies
• Business agility: Gains visibility into your SOA for more rapid decision making
• Risk reduction: Controls dependencies, manages the impact of change, enforces policies
• Cost savings: Promotes consolidation, standardization, and reuse
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
56/403Oracle SOA Suite 11g : Essential Concepts 1 - 38
Copyright © 2009, Oracle. All rights reserved.
• The SOA governance framework is centered on the four
facets of enterprise architecture: – People
– Process
– Service
– TechnologyProcess
SOA Governance Framework
People
Service Technology
SOA Governance FrameworkThe 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 an 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.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
57/403Oracle SOA Suite 11g : Essential Concepts 1 - 39
Copyright © 2009, Oracle. All rights reserved.
Quiz
The SOA governance framework is centered on _________,
process, technology, and service.1. Strategy
2. Risk
3. People
4. Value
Answer: 3Explanation: The four facets of enterprise architecture that the SOA Governance is centered on are:
• Process
• Technology
• Service
• People
These are the deciding factors for designing the SOA Governance Framework.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
58/403Oracle SOA Suite 11g : Essential Concepts 1 - 40
Copyright © 2009, Oracle. All rights reserved.
Course Practice Scenario:
Purchase Order Processing
Course Case Scenario: Purchase Order ProcessingPurchase order processing is an SOA composite application that implements the following:
• Purchase order processing and approval
• Details for the purchase order are received from multiple sources.
• Large order quantities (quantities greater than or equal to 10 units) pass through a validation
and approval process (where the customer's credit card status is validated)
• Approved order details having the status of Approved are written into a text file. An
unapproved order will have the status “Rejected/Invalid” written into the text file.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
59/403Oracle SOA Suite 11g : Essential Concepts 1 - 41
Copyright © 2009, Oracle. All rights reserved.
Summary
In this lesson, you should have learned how to:
• Explain the need to implement service-orientedarchitectures
• Describe SOA
• Identify standards that enable SOA
• Describe the SOA Maturity Model
• Describe basic interaction patterns
• Explain the role of SOA governance
SummaryIn this lesson you identified the need for implementing a Service-Oriented Architecture,the various
standards that enable a Service-Oriented Architecture, and the importance of reference architecture.
The next lesson,“Implementing SOA with Oracle SOA Suite,” discusses Oracle SOA Suite
architecture and its components.
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
60/403Oracle SOA Suite 11g : Essential Concepts 1 - 42
Copyright © 2009, Oracle. All rights reserved.
Practice 1 Overview:
Preparing the Business Flow Diagram
This practice covers designing a business flow diagram for
purchase order processing
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
61/403
Copyright © 2009, Oracle. All rights reserved.
Implementing SOA with Oracle SOA Suite
8/16/2019 SOA Suite 11g Essential Concepts - Volume 1
62/403Oracle SOA Suite 11g : Essential Concepts 2 - 2
Copyright © 2009, Oracle. All rights reserved.
Course Roadmap
SOA
In this “Implementing SOA with Oracle SOA Suite" lesson, you will be
introduced