OSB Developer Studentguide
-
Upload
jawaharjas -
Category
Documents
-
view
220 -
download
0
Transcript of OSB Developer Studentguide
-
8/13/2019 OSB Developer Studentguide
1/302
Oracle Service Bus 11g:
Design and Integrate Services
Student Guide
D68256GC11
Edition 1.1
February 2012
D76029
-
8/13/2019 OSB Developer Studentguide
2/302
Copyright 2012,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. Governments 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 and/or i ts affiliates. Other names
may be trademarks of their respective owners.
Author
Swarnapriya Shridhar
Technical Contributors and
Reviewers
Sandeep Agarwal
Deb AyersPradeep Bollineni
Satish Duggana
Rakesh Gowda
Amit Jhunjhunwala
Yosuke Katsuki
Jay Kasi
Pankaj Khandelwal
Takyiu Liu
Mary Peek
Rakesh SahaDavid Shaffer
Matthew Slingsby
Editors
Smita Kommini
Aju Kumar
Rashmi Rajagopal
Publisher
Veena Narasimhan
-
8/13/2019 OSB Developer Studentguide
3/302
iii
Contents
1 Introduction
Target Audience and Prerequisite Skills 1-2
Course Objectives 1-3
Course Schedule 1-4
Additional Course Materials 1-5
Course Practices 1-6
Course Environment 1-7
Classroom Guidelines 1-8
For More Information 1-9
Class Introductions 1-10
2 Introduction to Oracle Service Bus
Objectives 2-2
Getting Started 2-3
Enterprise Challenges 2-4
Point-to-Point Integration 2-5
Enterprise Application Integration 2-6
Service-Oriented Architecture (SOA) 2-7
Service-Oriented Architecture: Definition 2-8
Integrating Solutions and Benefits with SOA 2-9
SOA and Services 2-10
Implementing SOA Strategy 2-11
SOA Reference Architecture 2-12
SOA Reference Architecture: Service Consumers 2-14
SOA Reference Architecture: Service Classifications 2-15
SOA Reference Architecture: Service Providers 2-16
Data Services Layer 2-17
Connectivity Services Layer 2-18
Business Services Layer 2-19
Business Process Services Layer 2-20
Presentation Services Layer 2-21
Infrastructure Services 2-22
SOA Implementation Challenge 2-24
Service Sprawl 2-25
Solution to Service Sprawl 2-26
-
8/13/2019 OSB Developer Studentguide
4/302
iv
Oracle Service Bus 2-27
Key Features of Oracle Service Bus 2-28
Oracle Service Bus as a Message Broker 2-29
Location Transparency 2-31
Dynamic Routing 2-32
Transformations 2-33
Service Orchestration 2-34
Message Enrichment 2-35
Security 2-36
Service-Level Agreements 2-38
OSB Architecture and Functional Features 2-39
OSB Architecture 2-40
OSB Functional Features 2-41
Summary 2-43
Practice 2 Overview: Introduction to Oracle Service Bus 2-44
3 Message Flow
Objectives 3-2
Service Bus Architecture 3-3
Oracle Service Bus Console 3-5
Projects and Resources 3-6
OSB Projects 3-7
OSB Resource Types 3-8
Business Services 3-9
Creating a Business Service 3-10Proxy Services 3-11
Creating a Proxy Service 3-12
Difference Between Binding and Port 3-13
Quiz 3-14
Message Context Model 3-15
Using Context Variables 3-16
Predefined Context Variables 3-17
Predefined Context Variables: Descriptions 3-18
Message-Related Variables 3-20
$header Variables 3-21
$body Variables 3-22
$body Binary Content 3-23
$body Java Content 3-24
$attachments Variable 3-25
$body and RPC 3-27
$fault Variable 3-28
-
8/13/2019 OSB Developer Studentguide
5/302
v
$inbound and $outbound Variables 3-29
$operation Variable 3-30
User-Defined Context Variables 3-31
Variables and Types 3-32
Inbound Message Dispatching 3-33
Outbound Message Dispatching 3-34
Quiz 3-35
Message Flow Components 3-36
Branching 3-38
Branching Types 3-39
Conditional Branch 3-40
Operational Branch 3-41
Expression Editor 3-42
Variable Structures 3-43
Namespace Definitions 3-44XQuery Functions 3-45
Quiz 3-46
Summary 3-49
Practice 3 Overview: Message Flow 3-50
4 Message Flow Actions
Objectives 4-2
Message Flow Design 4-3
Route Node 4-4
Route Node Communication Action: Dynamic Routing 4-5Route Node Communication Action: Routing 4-6
Route Node Communication Action: Routing Table 4-7
Route Node Flow Control Action: If-Then 4-8
Routing Table Versus Conditional Branching 4-9
Quiz 4-10
Stage Node 4-11
Stage Node Communication Action: Dynamic Publish 4-12
Stage Node Communication Action: Publish 4-13
Stage Node Communication Action: Publish Table 4-14
Stage Node Communication Action: Routing Options 4-15
Stage Node Communication Action: Service Callout 4-16
Stage Node Communication Action: Transport Headers 4-18
Stage Node Flow Control Actions 4-20
Quiz 4-21
Stage Node Message Processing Actions 4-22
Message Format Language 4-24
-
8/13/2019 OSB Developer Studentguide
6/302
vi
Using MFL 4-25
Quiz 4-26
Stage Node Reporting Actions 4-27
Oracle XQuery Mapper 4-29
Mapping Data 4-30
Creating a Transformation 4-31
Mapping a Transformation 4-32
Using XQuery File in OSB 4-33
Custom XPath Functions 4-34
Creating a Custom XPath Function 4-35
Registering a Custom Function 4-36
Summary 4-37
Practice 4 Overview: Message Flow Actions 4-38
5 Message Flow Best PracticesObjectives 5-2
Split-Join Pattern 5-3
Split-Join Order: Example 5-4
Split-Join Patterns 5-5
Creating a Split-Join Configuration 5-6
Receive Node 5-7
Reply Node 5-8
Parallel Node 5-9
Assign Node 5-10
Invoke Service Node 5-12Input and Output Variables 5-13
Exporting the Split-Join Flow 5-14
Split-Join Flow Creation Process 5-15
Quiz 5-16
Dynamic Routing 5-17
Dynamic Routing Techniques 5-18
Technique 1 5-19
Sample XML File 5-20
Dynamic Routing Action 5-21
Technique 2 5-22
Summary 5-23
Practice 5 Overview: Message Flow Best Practices 5-24
6 Transports in Oracle Service Bus
Objectives 6-2
SOA-DIRECT Transport 6-3
-
8/13/2019 OSB Developer Studentguide
7/302
vii
Features of SOA-DIRECT Transport 6-4
Synchronous Invocation of SOA Composite Components 6-5
Synchronous Invocation from a SOA Composite 6-6
Asynchronous Invocation of a SOA Composite 6-8
Asynchronous Invocation from a SOA Composite 6-9
Quiz 6-10
JCA Transport 6-11
Features of the JCA Transport 6-12
Adapters Supported by JCA Transport 6-13
JCA Adapter Framework 6-14
General Configuration of JCA Adapter 6-15
Representational State Transfer (REST) 6-17
OSB Support for REST 6-19
Example 6-20
Standard Proxy Service: Example 6-21REST-ful Proxy Service: Example 6-23
Quiz 6-28
Summary 6-29
Practice 6 Overview: Transports in Oracle Service Bus 6-30
7 Debugging with Oracle Service Bus
Objectives 7-2
Error Handler Pipelines 7-3
Error Handlers 7-4
$fault Variable 7-5Error Codes 7-6
Reply Action 7-8
Reply Action in OSB Console 7-9
Transport Errors with Service Callouts 7-10
Error Code BEA-382502 7-11
SOAP Faults with Service Callouts 7-12
Unexpected Responses and Service Callouts 7-13
Resume Action 7-14
Quiz 7-15
Validation and Error Scenario 7-17
Validate Action 7-18
Quiz 7-19
Reporting Actions 7-20
Oracle Service Bus Reporting Framework 7-21
Reporting Framework: Diagrammatic Representation 7-22
Report Action 7-24
-
8/13/2019 OSB Developer Studentguide
8/302
viii
Log Action 7-26
Alert Action 7-27
Quiz 7-28
OSB Debug Files 7-29
OSB Debug Flags 7-30
Configuration Framework Debug Flags 7-32
Summary 7-33
Practice 7 Overview: Debugging with Oracle Service Bus 7-34
8 Introduction to Oracle Service Bus Security
Objectives 8-2
Introduction to Oracle Service Bus Security 8-3
Inbound and Outbound Security 8-4
Identity Propagation in Oracle Service Bus 8-6
Example: Authentication with a Username Token 8-7Securing Oracle Service Bus with Oracle Web Services Manager 8-9
Configuring OWSM Keystore by Using Enterprise Manager Console 8-11
Credential Store Framework 8-12
Configuring the OWSM CSF by Using Oracle Enterprise Manager 8-13
Web Services Policy 8-14
Using Security Assertion Markup Language (SAML) for Authentication 8-15
Quiz 8-16
Summary 8-18
Practice 8 Overview: Introduction to Oracle Service Bus Security 8-19
Appendix A: Service Bus Concepts
Objectives A-2
Introduction to Service Bus Technology A-3
Benefits of a Service Bus A-4
Service Bus Technologies A-5
Web Services Description Language A-6
Simple Object Access Protocol A-7
Universal Description, Discovery, and Integration (UDDI) A-8
XML Schema A-9
XPath A-10
XQuery A-11
Extensible Stylesheet Language Transformations A-12
Summary A-13
Appendix B: Transports
Objectives B-2
-
8/13/2019 OSB Developer Studentguide
9/302
ix
SB Transport B-3
EJB Transport B-4
JEJB Transport B-5
Local Transport B-6
WS Transport B-7
MQ Transport B-8
HTTP and Poll-Based Transports B-9
Oracle Data Service Integrator Transport B-10
Summary B-11
Appendix C: Delivery Methods
Objectives C-2
Quality of Service C-3
Delivery Guarantees C-4
Delivery Guarantee Types C-5Delivery Guarantee Rules C-6
Overriding the Default Element C-8
Reliable Messaging Support C-9
Configuring Delivery Behavior C-11
HTTP(S) Quality of Service Success C-12
Handling Unreliable Transports C-13
Threading Model C-14
Summary C-15
-
8/13/2019 OSB Developer Studentguide
10/302
-
8/13/2019 OSB Developer Studentguide
11/302
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Introduction
-
8/13/2019 OSB Developer Studentguide
12/302Oracle Service Bus 11g: Design and Integrate Services 1 - 2
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Target Audience and Prerequisite Skills
This course is directed at:
SOA architects Technical architects
Application developers
Prerequisite skills include:
Web Services experience
XML programming experience
-
8/13/2019 OSB Developer Studentguide
13/302Oracle Service Bus 11g: Design and Integrate Services 1 - 3
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Course Objectives
After completing this course, you should be able to:
Describe the Oracle Service Bus (OSB) architecture andfunctional layers
Create OSB resources
Enrich, route, and validate messages within OSB
Use some of the common OSB transports
Describe the sequence involved in Message Level Security
Explain the process of securing OSB with Oracle Web
Services Manager (OWSM)
-
8/13/2019 OSB Developer Studentguide
14/302
The class schedule might vary according to the pace of the class. The instructor will provideupdates.
At the end of the course, the instructor will facilitate a feedback session that includes a written
questionnaire.
Oracle University uses your feedback to improve our training programs. We appreciate yourhonest evaluation.
Oracle Service Bus 11g: Design and Integrate Services 1 - 4
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Course Schedule
Session Lesson
Day 11: Course Introduction
2: Introduction to Oracle Service Bus
3: Message Flow
Day 24: Message Flow Actions
5: Message Flow Best Practices
Day 3
6: Transports in Oracle Service Bus
7: Debugging with Oracle Service Bus8: Introduction to Oracle Service Bus Security
-
8/13/2019 OSB Developer Studentguide
15/302
The Activity Guide contains the practices for the course.
Appendix A contains basic concepts such as the key benefits of a service bus andfundamental technologies on which a Service Bus is built.
Appendix B contains information about different transports that work with OSB.
Appendix C contains information about delivery methods that are used with OSB.
Oracle Service Bus 11g: Design and Integrate Services 1 - 5
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Additional Course Materials
Activity Guide
Appendixes
A: Service Bus Concepts
B: Transports
C: Delivery Methods
-
8/13/2019 OSB Developer Studentguide
16/302Oracle Service Bus 11g: Design and Integrate Services 1 - 6
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Course Practices
Each core topic is reinforced with a hands-on practice.
Optional topics and practices are performed at theinstructors discretion and if time permits.
-
8/13/2019 OSB Developer Studentguide
17/302
In this course, the following products are used for the practices: Oracle WebLogic Server 11g R1 (10.3.4) + Coherence + OEPE
Oracle Service Bus 11g R1(11.1.1.4)
Oracle SOA Suite 11g(11.1.1.4)
Oracle JDeveloper 11g(11.1.1.4)
Oracle Database 10gExpress Edition (Universal)
Oracle Service Bus 11g: Design and Integrate Services 1 - 7
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Course Environment
The software is preinstalled and configured on each student
machine.
Instructor machine
Student
machine 1
Student
machine 2
Student
machine 3
-
8/13/2019 OSB Developer Studentguide
18/302Oracle Service Bus 11g: Design and Integrate Services 1 - 8
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Classroom Guidelines
The instructor starts each session promptly at the
scheduled time. Ask questions, but be respectful of the topic at hand and
the interest of other students.
Ensure that cell phones and pagers are silent.
-
8/13/2019 OSB Developer Studentguide
19/302Oracle Service Bus 11g: Design and Integrate Services 1 - 9
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
For More Information
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
Product Forums http://forums.oracle.com
Product Tutorials http://www.oracle.com/oll
-
8/13/2019 OSB Developer Studentguide
20/302Oracle Service Bus 11g: Design and Integrate Services 1 - 10
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Class Introductions
Briefly introduce yourself:
Name Title or position
Company
Web Services and XML experience
Reasons for attending
-
8/13/2019 OSB Developer Studentguide
21/302
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Introduction to Oracle Service Bus
-
8/13/2019 OSB Developer Studentguide
22/302Oracle Service Bus 11g: Design and Integrate Services 2 - 2
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Objectives
After completing this lesson, you should be able to:
Describe Service-Oriented Architecture (SOA) Explain the SOA Reference Architecture and its different
layers
Identify the core concepts of Oracle Service Bus
Explain the role and features of Oracle Service Bus
Identify the functional features of Oracle Service Bus
-
8/13/2019 OSB Developer Studentguide
23/302
The dialog in the slide identifies the challenges that enterprises face when trying to create anintegration strategy.
Oracle Service Bus 11g: Design and Integrate Services 2 - 3
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Getting Started
IT Manager: Our team has developed a new application
that needs to be integrated with the existing system. We
are thinking of adopting a point-to-point integration
strategy.
Architect: Before we decide on the point-to-point
strategy, we need to understand if that methodology is
the best suited for our organization.
IT Manager: Great idea! Do you have information to share?
Architect: Yes, I do.
-
8/13/2019 OSB Developer Studentguide
24/302
Enterprises use different custom-built and off-the-shelf packaged applications to run theirbusiness processes. Applications are integrated to share information among themselves andto incorporate information from existing applications. Traditional application development and
integration approaches have been neither 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 cannot be implemented withoutapplication development tasks that include developing and assembling components,
connecting components to back-end systems, implementing process flow and workflow,
developing the user interface, testing, and debugging.
Two of the most common application integration methodologies are: Point-to-point integration methodologies by using APIs, proprietary messages, and
custom integration links
Enterprise Application Integration (EAI) based on message bus (a message bus
specializes in transporting messages between applications) or middleware
Oracle Service Bus 11g: Design and Integrate Services 2 - 4
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Enterprise Challenges
Application development and integration issues
Lack of flexibility Not based on standards
Project costs and long duration
Traditional methodologies
Point-to-point
Enterprise Application Integration
-
8/13/2019 OSB Developer Studentguide
25/302
Point-to-point integration involves: Proprietary messages and 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, and products)
Operational policies 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 withother applications as needed. The interconnections shown in the slide can be built with webservices as well. But that does not mean that the peer-to-peer implementation is SOA based;it still is not loosely coupled and intermediary based, and it lacks a shared infrastructure.
Note: CRM stands for Customer Relationship Management.
Oracle Service Bus 11g: Design and Integrate Services 2 - 5
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Point-to-Point Integration
Packaged CRM
Packaged ERP
Mainframe
App Server
CRM Application
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
-
8/13/2019 OSB Developer Studentguide
26/302
Because point-to-point integration is complex, costly, and difficult to manage, the EnterpriseApplication Integration (EAI) method was introduced. EAI is based on a message broker ormiddleware, where the connectivity between each application and the message bus isdeveloped by using proprietary bus APIs and an Application Platform Suite (APS).
The following are the disadvantages of these approaches:
Custom or proprietary integration between the message bus and each application isrequired.
Different proprietary data formats are involved at each integration point.
Each application is still tightly coupled to the message bus.
The applications need to know the inner workings of the other applications with whichthey are integrated.
The challenge of accessing, integrating, and transforming data (enterprise informationintegration) has largely been left to developers to perform by using manual coding.
The lack of standards and the architectural limitationsin addition to the hefty costs oftraditional EAI projectshave resulted in the search for an alternative integration solution thatcan resolve these deficiencies.
Note: JAM stands for Java Adapter for Mainframe.
Oracle Service Bus 11g: Design and Integrate Services 2 - 6
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Enterprise Application Integration
Packaged CRM Packaged ERP
Mainframe App Server
CRM
ApplicationERP
Application
Custom
Application
EJB
Application
Client Tier
VBApplication
JavaApplication
WebApplication
Custom
API
JAM API RMI
Message Bus or Middleware
Custom
API
Proprietary Middleware API
-
8/13/2019 OSB Developer Studentguide
27/302
The manager wants to understand the concepts and benefits of SOA. So, you start with itsdefinition so that you have a common and shared understanding of what it represents.
Oracle Service Bus 11g: Design and Integrate Services 2 - 7
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Service-Oriented Architecture (SOA)
IT Manager: I understand your concerns. So what is an
alternative integration solution to address theselimitations?
Architect:Adapting to a service-centric integration is
the best alternative. This can be achieved if we adopt
Service-Oriented Architecture (SOA).
IT Manager: Ive heard of SOA. Can you give me its
conceptual definition?
-
8/13/2019 OSB Developer Studentguide
28/302
SOA can be defined as a paradigm for organizing and utilizing distributed capabilities thatmay be under the control of different ownership domains.
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.
Oracle Service Bus 11g: Design and Integrate Services 2 - 8
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Service-Oriented Architecture: Definition
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.
Business
strategySOA
IT
strategy
-
8/13/2019 OSB Developer Studentguide
29/302
Aligning 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
Enables IT to deliver services faster and align closer with business
Enables the business to respond more quickly and deliver an optimal user experience
Masks the underlying technical complexity of the IT environment
The benefits of Service-Oriented Architecture are:
Reusability: The existing business functionality in an application can be reused to meetnew 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 need to be reusable or dependent on the businessrequirement.
Interoperability: Communication between services and the business process is notdependent on the platform and is standards enabled. The services are also not tightlycoupled to the application.
Scalability:Applications are flexible to accommodate changing business requirements.
Cost efficiency: SOA is highly cost efficient because integrating the businessresources is standards based.
Oracle Service Bus 11g: Design and Integrate Services 2 - 9
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Integrating Solutions and Benefits with SOA
SOA
Offers faster business
response time
Improves business
agility
Masks underlying
technical complexity
Aligns IT with
business
Benefits
Reusability Interoperability ScalabilityCost
Efficiency
-
8/13/2019 OSB Developer Studentguide
30/302
A service is a piece of self-contained business functionality. The functionality can be assimple as storing customer data or as complex as a business process for a customers order.Services form the basic building blocks 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
businessIT gap. Services interact by exchanging messages with other clients and other
services. In Oracle SOA Suite 11g, services describe their interface by using Web ServicesDescription Language (WSDL) that specifies:
Operations that may be executed
Message structures for communicating the required data for each operation. Message
structures are based on types expressed in an XML Schema Definition (XSD).
Independence is a fundamental aspect of services and of SOA as a whole. 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.
Oracle Service Bus 11g: Design and Integrate Services 2 - 10
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
SOA and Services
Services are SOA building blocks.
SOA can be thought of as: 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.
-
8/13/2019 OSB Developer Studentguide
31/302
The essence of the dialog in the slide is the need for an SOA Reference Architecture.
Oracle Service Bus 11g: Design and Integrate Services 2 - 11
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Implementing SOA Strategy
IT Manager: Okay. I understand that a service is the
fundamental building block for SOA. Is there a way to
create an architecture that can be used as a guide to
develop Service-Oriented Architectures?
Architect: Of course. The SOA Reference Architecture is
used as a blueprint to guide the enterprise toward SOA.
The SOA Reference Architecture helps group similar
services for both operational efficiency and design stability.
IT Manager: Can you explain how the SOA Reference
Architecture helps in classifying services?
Architect: Sure.
-
8/13/2019 OSB Developer Studentguide
32/302
An SOA Reference Architecture promotes consistency and interoperability by definingenterprise-wide principles, guidelines, and patterns. It is a blueprint to guide the enterprisetoward SOA success by:
Establishing a strategy for architecting new SOA projects, leveraging existing projectsand legacy investments
Building in flexibility and manageability, and planning for change
Simplifying diverse, sometimes incompatible platforms and applications found in any
large enterprise
Transitioning toward a culture of reuse, team collaboration, and resource sharing
Determining best practices for standards and technology deployment
Migrating toward a two-to-three 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
Oracle Service Bus 11g: Design and Integrate Services 2 - 12
Copyright 2012, Oracle and/or its affiliates. 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 organizations architects to make architecture and
design decisions on their projects
Is a key component of an effective strategy to deliver the
benefits of SOA
-
8/13/2019 OSB Developer Studentguide
33/302
The architecture separates the users of enterprise functionality from the systems andapplications that provide that functionality, placing the infrastructure for services and servicedelivery 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 an
important goal of a service-oriented infrastructure. Standards-based infrastructure servicesprovide 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.
Oracle Service Bus 11g: Design and Integrate Services 2 - 13
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
SOA Reference Architecture
Composite Applications Web Apps Portals Mashups BPM Process Clients
Service Consumers and
Delivery Channels
Employees Customers Partners ClientApps
PartnerApps
Non-Service-Enabled Assets Service-Enabled Assets
Messaging Adapters Custom APIs JDBC file://
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
-
8/13/2019 OSB Developer Studentguide
34/302
Service consumers include end users as well as applications that are users of SOA, but notcontributors 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
Oracle Service Bus 11g: Design and Integrate Services 2 - 14
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Composite Applications Web Apps Portals Mashups BPM Process Clients
Service Consumers and
Delivery Channels
Employees Customers Partners ClientApps
PartnerApps
SOA Reference Architecture:
Service Consumers
Users of the enterprise functionality
-
8/13/2019 OSB Developer Studentguide
35/302Oracle Service Bus 11g: Design and Integrate Services 2 - 15
A service classification is a logical grouping of services that meet specific needs and conformto different subsets of standards or guidelines. The separate classifications potentially satisfydifferent subsets of architectural principles and have their own specific constraints.
The different service classifications are:
Connectivity services
Data services
Business services
Business process services
Presentation services
Infrastructure services
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
SOA Reference Architecture:
Service Classifications
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 SecurityInfrastructure
SOA Monitor and
Event Manager
Infrastructure
Services
Shared Services and Infrastructure
Service classifications and infrastructure
requirements of Service-Oriented
Architecture
-
8/13/2019 OSB Developer Studentguide
36/302
Existing functionalities, from other parts of the enterprise or from external applications, can beaccessed securely via the service bus if the functionalities are exposed as services (service-enabled assets). Thus, business functionality or data that was not previously accessible can
be shared and reused across the enterprise. There is no necessity for the connectivity
services to service enable the assets. On the contrary, the non-service-enabled assets
standardize the exposure of their functions to the other service classes that use the
connectivity services.
Oracle Service Bus 11g: Design and Integrate Services 2 - 16
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
SOA Reference Architecture:
Service Providers
Non-Service Enabled Assets Service-Enabled Assets
Messaging Adapters Custom APIs JDBC file://
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 SecurityInfrastructure
SOA Monitor and
Event Manager
Infrastructure
Services
Shared Services and Infrastructure
Assets that can be shared and reused
throughout the enterprise
-
8/13/2019 OSB Developer Studentguide
37/302
The data services layer contains the services that provide access to data obtained by the datasources. Access can be in the form of read and write capabilities (all create, read, update, anddelete functions). The data services layer may contain processing logic required to handle
more complex write operations. For example, an update may involve data sources that
support only asynchronous write operations. Also, error handling logic may be required if a
data source is not available when a request occurs.
Because this service classification is responsible for decoupling data consumers from dataproviders, the upstream consumers can legitimately assume a standardized information
model and request data without the need for knowledge of the underlying data sources.
After the data services are isolated, architectural principles such as Data is owned by the
enterprise are better supported, enabling accountability and stewardship across theenterprise.
Oracle Service Bus 11g: Design and Integrate Services 2 - 17
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Data Services Layer
Characteristics:
Fine grained orcoarse grained
No business logic
Aggregation and
transformation
High reuse
Stateless
Configurable
Shared
services
Data
servicesLogical data model Data aggregation Data synchronization
Messaging Adapters CustomAPIs JDBC
Partners
Non-service-enabled assets
DatabaseLegacy ContentPackaged
-
8/13/2019 OSB Developer Studentguide
38/302
The connectivity services layer provides a way to derive information from a diversity ofsoftware suites, custom applications, and data sources deployed across the enterprise.
In general, an enterprise can have a long list of retrieval strategies, such as extract, transform,
and load (ETL); message-oriented middleware (MOM); object brokers; and data integration.
The role of the connectivity services layer is to integrate these different access strategies into
a single access gateway. The adoption curve leans toward a loosely coupled implementation,
which is more scalable and interoperable.
Conceptually, connectivity services is the lowest layer and provides a level of abstraction to
all kinds of data sources. Shared business services interact with connectivity services to pull
the desired content based on the request.
The focus of this layer is to provide a contractual relationship with legacy systems wherethroughput, availability, and exception handling are complex. For this reason, one of the
specific roles of the connectivity services layer is to encapsulate legacy idiosyncrasies and
standardize the exposure of their functions to other service classifications, thus eliminating
complexity for the other layers.
Oracle Service Bus 11g: Design and Integrate Services 2 - 18
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Connectivity Services Layer
Characteristics:
Fine grained No business
logic or
aggregation
High reuse
Stateless Shared
services
Connectivity
services
Messaging Adapters CustomAPIs JDBC
System access Messaging Data access Partner integration
Partners
Non-service-enabled assets
DatabaseLegacy ContentPackaged
-
8/13/2019 OSB Developer Studentguide
39/302
As the enterprise begins to standardize and encapsulate the functionality of enterpriseinformation systems in services, opportunities begin to emerge to apply the same kinds ofconcepts to core, discrete business functionality that is not necessarily tied to a given
information system. This functionality might include business functions such as rating and
billing, inventory availability, and employee scheduling. This functionality is fine-grained and
benefits the enterprise by being available in a standard way for use by people and
applications. In many respects, this is the simplest form of integration needed for theenterprise.
Accordingly, this functionality meets the definition of a service and is classified as the shared
business services layer. This classification supports the common architectural principle of
creating a clear and distinct separation between the way data and legacy systems areaccessed and the way they are processed.
Oracle Service Bus 11g: Design and Integrate Services 2 - 19
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Shared
services
Business Services Layer
Characteristics:
Coarse grained Task oriented
Business
logic content
Simple or
complex
operations
Medium level of
reuse
Usually stateless
Businessservices
EnrichmentCustom business
servicesAtomic business
services
Messaging Adapters CustomAPIs JDBC
Partners
Non-service-enabled assets
DatabaseLegacy ContentPackaged
-
8/13/2019 OSB Developer Studentguide
40/302
Business process automation is an example of orchestration. For example, a service forequity trade execution would involve orchestration: to place a trade, to wait for it to clear, andto credit or debit accounts appropriately. Orchestration involves the preservation of the state
and several physical transactions.
Technological constraints necessitate the separation of business process services. In this
layer, you find a specific focus in the architecture on guidelines and constraints on the use of
business process techniques, which are not applicable to other layers of the referencearchitecture.
Oracle Service Bus 11g: Design and Integrate Services 2 - 20
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Business Process Services Layer
Characteristics:
Coarse grained Process oriented
Short or long
running
processes
Lower level of
reuse
Can be stateless
or stateful
Shared
services
Business process
servicesSystem-centric
workflowHuman-centric
workflow
Messaging Adapters Custom APIs JDBC
Partners
Non-service-enabled assets
DatabaseLegacy ContentPackaged
-
8/13/2019 OSB Developer Studentguide
41/302
Presentation services provide two general types of service (as shown in the slide). The firstprovides information in a standardized form for aggregation by another system before deliveryto an end user (such as portlets and mashups). The second focuses on the transformation of
user data for delivery via different devices (such as mobile phones, Web TV, and games).
Oracle Service Bus 11g: Design and Integrate Services 2 - 21
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Shared
services
Presentation Services Layer
Characteristics:
Coarse grained Process oriented
Short or long
running
processes
Lower level of
reuse
Can be stateless
or stateful
Presentation
servicesShared portlets Mult ichannel delivery
Messaging Adapters Custom APIs JDBC
Partners
Non-service-enabled assets
DatabaseLegacy ContentPackaged
-
8/13/2019 OSB Developer Studentguide
42/302
The focus of infrastructure services is to provide the foundational components and capabilitiesrequired to address the following enterprise challenges:
Avoiding tight coupling (direct dependency) between services and the clients
Achieving a consistent data format and representation of the enterprise data entities
Discovering what services are available, where they reside, and what their capabilitiesand semantics are
Managing, monitoring, and enforcing quality of service and service-level agreements
Supporting service versioning
Governing the service life cycle
Managing service assets, relationships, and models
Invoking services over heterogeneous transports by using different message brokeringcapabilities
Managing security policy
Rationalizing entitlement capabilities and management
Oracle Service Bus 11g: Design and Integrate Services 2 - 22
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Infrastructure Services
Shared
services
Messaging Adapters Custom APIs JDBC
Connectivity services
Data services
Business services
Business process services
Presentation services
Service
Bus
Service
repository
Serviceregistry
Monitor/
event manager
Security
Infrastructure
services
Partners
Non-service-enabled assets
DatabaseLegacy ContentPackaged
-
8/13/2019 OSB Developer Studentguide
43/302
The service bus acts as the central hub for communication between all participants of the SOA
(service consumer and service producers). This intermediary provides the ability to achieve
loose coupling and a higher level of flexibility, because the integration points between consumer
and provider can be configured at run time rather than hard-coded. This technique also isolates
service consumers from minor changes in the service provider.
Oracle Service Bus 11g: Design and Integrate Services 2 - 23
-
8/13/2019 OSB Developer Studentguide
44/302
A major challenge for SOA initiatives is attributed to the inherently heterogeneous multi-vendor IT landscape in many enterprises and the resultant individual silos of businessinformation. The influx of web service interfaces to functionality within existing packaged
applications often introduces services that do not adhere to established service and
compliance guidelines. This is especially true if the services are published from core
enterprise systems such as CRM, data warehouses, and ERP. This inevitably results in
complex service sprawls within enterprise IT environments.
In the slide, the architect highlights one of the major challenges faced in SOA.
Oracle Service Bus 11g: Design and Integrate Services 2 - 24
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
SOA Implementation Challenge
Architect:Although SOA addresses the integration
challenge, one of the key problems enterprise architectsface is managing service mediation and ensuring effective
reusability of services.
IT Manager: Can you explain this further?
-
8/13/2019 OSB Developer Studentguide
45/302
The specific challenges faced by enterprise architects who are responsible for messaging andSOA initiatives in todays enterprise include the following:
Introducing dynamic behavior and runtime configuration capabilities into a system
Reusing services that are developed across the enterprise and managing their life cycle
Ensuring consistent use of enterprise services
Ensuring that enterprise services are secure
Ensuring that enterprise services comply with the IT policies
Monitoring and auditing service usage and managing system outages
Applications are typically hard-coded to the services that they use. This can cause
maintenance issues when a service changes. When services are used across the enterprise,the development team that creates the service can frequently be different from the
development team that built the application. What happens when the service is updated?
What if the schema that the service previously used is no longer valid?
The graphic in the slide illustrates an example of service sprawl, with multiple services
connected point-to-point with multiple applications.
Oracle Service Bus 11g: Design and Integrate Services 2 - 25
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Service Sprawl
Service Service ServiceService
Application Application ApplicationApplication
-
8/13/2019 OSB Developer Studentguide
46/302Oracle Service Bus 11g: Design and Integrate Services 2 - 26
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Solution to Service Sprawl
Architect: To realize the benefits of SOA, it is important
that organizations include a service intermediarythat
provides a layer of abstraction to mask the complexities of
service integration in heterogeneous IT environments.
One way to do this is by including a service bus as the
intermediary.
IT Manager:As an architect, what do you suggest as apossible solution to service sprawl?
-
8/13/2019 OSB Developer Studentguide
47/302
An Enterprise Service Bus (ESB) supports dynamic synergy and alignment of businessprocess interactions, continual evolution of existing services, and rapid addition of new ones.ESB is a concept that has gained the attention of architects and developers for its effective
approach to solving common SOA hurdles associated with service orchestration, application
data synchronization, and business activity monitoring.
Oracle Service Bus (OSB) is a configuration-based, policy-driven ESB. It provides a feature-
rich console for dynamic service and policy configuration, as well as for system monitoringand operations tasks. Oracle Service Bus facilitates a loosely coupled architecture, facilitates
enterprise-wide reuse of services, and centralizes managementall of which results in an
improved total cost of ownership. The Oracle Service Bus Console enables you to respond
rapidly and effectively to changes in your service-oriented environment. With OSB, you canloosely couple the services in your enterprise to have a more flexible environment.
The graphic in the slide depicts multiple services connected to multiple applications through
Oracle Service Bus.
Oracle Service Bus 11g: Design and Integrate Services 2 - 27
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Oracle Service Bus
Service Service ServiceService
Application Application ApplicationApplication
Oracle Service Bus
-
8/13/2019 OSB Developer Studentguide
48/302
Oracle Service Bus: Dynamically transforms and routes services by using simple and complex routing rules
and message payloads
Orchestrates services from existing IT systems with disparate messaging protocols
without the need to change the systems and styles
Isolates service location changes
Rapidly responds to business needs by quickly configuring routing rules based on
changes to business rules or existing IT systems, without coding
Orchestrates several services to create new ones
Supports message enrichment Enables optimized, pluggable, policy-driven transport and message-level security
Implements rules-driven, configurable service-level agreement (SLA)
Each of these features is discussed in detail in the following slides.
Oracle Service Bus 11g: Design and Integrate Services 2 - 28
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Key Features of Oracle Service Bus
Supports multiprotocol messaging
Enables location transparency Handles dynamic routing
Enables message transformation
Enables service orchestration
Supports message enrichment
Provides service security
Implements service-level agreements
-
8/13/2019 OSB Developer Studentguide
49/302
OSB supports multiprotocol messaging by using: Hypertext Transmission Protocol, Secure (HTTPS)
Simple Object Access Protocol (SOAP)
Java Message Service (JMS) for store-and-forward and third-party messaging products
File/FTP/email (SMTP/POP/IMAP)
Tuxedo
Enterprise JavaBeans (EJB)
Native MQ
Oracle JCA Adapter for Files/FTP
Oracle Service Bus 11g: Design and Integrate Services 2 - 29
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Oracle Service Bus as a Message Broker
OSB configurations can mix and match transports with
end-to-end guaranteed delivery if the transport protocolsupports it.
Service Clients Oracle Service Bus Enterprise
Services
WS-RM
TUX
MQ
EJB
JCA
HTTP/SOAP
JMS
FTP
REST
File
Message brokering
Service A
Service B
Service C
Service D
Service E
Client A
Client B
Client C
Client D
Client E
Multiprotocol
Messaging
WS processing
Multicommunications
paradigms
-
8/13/2019 OSB Developer Studentguide
50/302
You can use Oracle Service Bus to resolve differences between service client and business
service requirements in the following areas:
Payload contents and schema
Envelope protocols
Transport protocols
Point-to-point and publish-and-subscribe protocols
One-way and request-response paradigms Synchronous and asynchronous communication
Security compliance
The graphic in the slide shows OSB acting as a message broker using multiple transports.
Oracle Service Bus 11g: Design and Integrate Services 2 - 30
-
8/13/2019 OSB Developer Studentguide
51/302
In the example shown in the slide, several applications (including the New-Hire Processapplication) use an Initialize Benefits service hosted in Host A. All the traffic to this service isrouted through the service bus. Assume that for some technical or business requirement, the
Initialize Benefits service is moved to a different host machine (Host B) with a different
address. Because you have a service bus, you can avoid application upgrades by simply
defining a new routing policy for the Initialize Benefits service. This approach allows the New-
Hire Process to remain completely unchanged.
Oracle Service Bus 11g: Design and Integrate Services 2 - 31
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Location Transparency
OSB can be used to isolate service location changes.
Host A
New-Hire
ProcessInitialize Benefits
Service
Initialize BenefitsService
Host B
Service Bus
Route to
HostB
SOAP SOAP
-
8/13/2019 OSB Developer Studentguide
52/302
The scenario depicted in the slide describes two services that exist in the HR Portal: one foronboarding new employees and a similar one for onboarding new employees who are alsomanagers. Because these services are so similar, the architect team has decided that they
should be combined.
To minimize any later maintenance and potential down time to the HR Portal, the architect
team has defined an interim service bus policy, or rule, that simulates a combined Employee
and Manager service. It dynamically routes requests to one of the current services byinspecting the title field of each incoming message. If the field contains the text manager, the
request is routed to the New Manager service.
Because the interfaces of these services are not identical, one or more transformations need
to be defined.
Oracle Service Bus 11g: Design and Integrate Services 2 - 32
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Dynamic Routing
Dynamic routing involves defining and configuring business
rules based on changes to business rules or existing ITsystems.
Service Bus
Title =
Manager
?
New Employee
ServiceSOAP
New Manager
ServiceTransform
HR Portal
SOAP
-
8/13/2019 OSB Developer Studentguide
53/302
When dealing with transformations, OSB supports the following functionality: Validating incoming messages against schemas
Selecting a target service or services based on the message content or messageheaders
Transforming messages based on the target service
Transforming messages based on XQuery or XSL Transformations (XSLT)
Transforming both XML and Message Format Language (MFL) messages
Enriching messages
Performing callouts to web services to gather additional data for transformation
When a message comes to Oracle Service Bus, it can be manipulated in different ways. One
of the most common uses with OSB is to route a service based on the content of a message.This is called content-based routing and uses XQuery and XPath to access the content of themessage. You may also find that the format of the incoming message does not exactly matchthe format of the service that you want to use. In this instance, you can use OSB to transformthe message and add or remove any missing message elements.
The graphic in the slide shows the service bus applying transformations to messages beforerouting them to services.
Oracle Service Bus 11g: Design and Integrate Services 2 - 33
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Transformations
Transform messages to match the format of a service.
Service Bus
Transform Payroll ServiceJMSExpense
Reimbursement
Process
SOAP
Submit Expense
Report Service
FTPTransform
Transform Check Order
Status Service
SOAPInventory
Management
App
JMS
-
8/13/2019 OSB Developer Studentguide
54/302
The graphic in the slide depicts an IT infrastructure that includes the following three services:Account Validation, Check Price, and Check Inventory.
Assume that you are currently in the process of upgrading your Purchase Order application,
which consumes each of these services individually as part of validating a new purchase
order.
You realize that the Purchase Order application and several others all utilize these three
services, which leads to an opportunity for reuse. Because you have a service bus, you canconfigure a sequence of routing and transformation policies to create a new composite
Validate Order service for the Purchase Order application. This service can also be consumed
by other applications.
Oracle Service Bus 11g: Design and Integrate Services 2 - 34
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Service Orchestration
Combining existing services to make new services:
Service Bus
Validate
Order
Service
Check Price
Service
Account Validation
Service
Check InventoryService
SOAP
Purchase
Order
process
SOAP1
2 3
4
-
8/13/2019 OSB Developer Studentguide
55/302
The graphic in the slide shows the service bus obtaining customer history from the GetCustomer History service and adding the customer history to the message that goes to theRate Quote service. This involves configuring a service bus policy to invoke this intermediate
service as part of any request to the Rate Quote service, and then using a transformation to
update (or enrich) the incoming request message with the required customer history data.
Oracle Service Bus 11g: Design and Integrate Services 2 - 35
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Message Enrichment
Oracle Service Bus enables message enrichment by inserting
additional required information into an incoming message.
Service Bus
Get Customer
History Service
Call
Service
Transform
Message
Rate Quote
Service
Insurance
Portal
...
...
-
8/13/2019 OSB Developer Studentguide
56/302
Oracle Service Bus supports HTTPS proxy services and HTTPS business services. HTTPSproxy services receive client requests over the HTTPS protocol. The response to the client issent over the same HTTPS connection. Proxy services route messages to HTTPS business
services over the HTTPS protocol. In this case, the proxy service acts as an HTTPS client by
opening an HTTPS connection to the business service. The response from the business
service is received over the same HTTPS connection.
You can configure Oracle Service Bus to provide transport security over JMS for inboundmessages to a proxy service and outbound messages from a proxy service. The connection
to JMS servers can be secured by using the T3S protocol (T3 over SSL). Although this does
not provide end-to-end security for JMS messaging, it does provide:
The option to use a secure SSL channel for communication between Oracle ServiceBus and the JMS server for sending or receiving JMS messages
The ability to specify the credentials (username and password) that the Oracle Service
Bus proxy services use to authenticate while establishing the connection to a JMS
server, or while looking up JMS destinations in the Java Naming and DirectoryInterface (JNDI) tree, or both
Oracle Service Bus 11g: Design and Integrate Services 2 - 36
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Security
Security with OSB includes support for the following:
Authentication, encryption and decryption, and digitalsignatures as defined in the Web Services Security (WS-
Security) specification
Secure sockets layer (SSL) to support traditional
transport-level security for HTTP and Java Message
Service (JMS) transport protocols
One-way and two-way certificate-based authentication
HTTP basic authentication WS-Policy and WS-PolicyAssertions
-
8/13/2019 OSB Developer Studentguide
57/302
The supported security method for email or FTP transport is the username and password
needed to connect to the email or FTP server.
You configure WS transport security through WS-Policy files, either from a Web Services
Description Language (WSDL) or bound directly to the service.
To secure email, you must designate a service account as an alias for the username and
password in the Oracle Service Bus Console. The service uses the username and password
to authenticate to the Simple Mail Transfer Protocol (SMTP) server.
To secure FTP, select external_user in the Oracle Service Bus Console and designate a
service account as an alias for the username and password. The service uses the username
and password to authenticate to the FTP server.
WS-Policy is a specification that enables web services to use XML to advertise their policies
(on security, quality of service, and so on) and enables web service consumers to specifytheir policy requirements.
WS-PolicyAssertions is a specification that defines a common set of policy assertions for web
services. The assertions defined by this specification cover text encoding, natural languagesupport, versioning of specifications, and predicates.
Oracle Service Bus 11g: Design and Integrate Services 2 - 37
-
8/13/2019 OSB Developer Studentguide
58/302
Oracle Service Bus implements service-level agreements (SLAs) and automated responsesto SLA violations by enabling you to define rules that specify unacceptable serviceperformance and the system response that you require under those circumstances.
You can construct rules that Oracle Service Bus evaluates against its aggregated metrics
each time it updates that data. When a rule evaluates to TRUE, it raises an alert. Rules can
be configured to generate an alert log that is displayed on the dashboard. In addition, Oracle
Service Bus executes the action you specified for the rule when it evaluates to TRUE. Youcan assign either of the following types of actions to a rule:
Send email notification
Send a JMS message
Oracle Service Bus 11g: Design and Integrate Services 2 - 38
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Service-Level Agreements
Service-level agreements (SLAs) define the precise level
and quality of service to be expected from services. Administrators can configure alerts for SLA rule violations.
The administrator can configure multiple levels of severity
for an alert.
-
8/13/2019 OSB Developer Studentguide
59/302Oracle Service Bus 11g: Design and Integrate Services 2 - 39
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
OSB Architecture and Functional Features
Architect: Sure.
IT Manager: Okay, I now understand the basic features
of Oracle Service Bus. Can you give a snapshot view of
its architecture and core functional features?
-
8/13/2019 OSB Developer Studentguide
60/302
Oracle Service Bus is Oracles answer to the challenges that face distributed servicenetworks, including the ones just described. It provides your enterprise with a scalable andadaptable mediation layer for your service infrastructure.
It is important to note that OSB leverages Oracles popular WebLogic enterprise infrastructure
as its hosting platform. This includes the high-performance JRockit Java Virtual Machine
(JVM) as well as WebLogic Server, the powerful Java Platform, Enterprise Edition (Java EE)
environment.
In effect, OSB runs as a layer on top of WebLogic Server and can, therefore, gain many
advantages, from clustering to diagnostics. This release supports WebLogic Server 10.3.
Oracle Service Bus 11g: Design and Integrate Services 2 - 40
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
OSB Architecture
SOA Operations
Service
Architects
Service
EngineersHigh-performance JVM
Scalable, robust, and flexible Java EE Infrastructure
Eclipse-based IDE
SOA Infrastructure
Oracle Service Bus
Oracle WebLogic Server
Oracle JRockit JDK
Eclipse
-
8/13/2019 OSB Developer Studentguide
61/302
Oracle Service Bus enables management and integration of messages and services across aservices network. Its core functional features are separated into the following categories:
Service Integration: Features used for integrating disparate service endpoints, adaptive
messaging, and mediating and exposing services for reuse
Service Security: Features used for service authentication and authorization, message
security enforcement, and user identity validation
Service Composition: Features used for configuring message routing logic, message
transformation, service configuration, validation, and registry
Service Management: Features used for monitoring and managing service activity and
availability
Oracle Service Bus 11g: Design and Integrate Services 2 - 41
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
OSB Functional Features
Service Management
Service Virtualization
Unified Security
Configuration
Framework
Adaptive Messaging
Monitoring SLA Alerts Reporting
Content Based Routing
Transformation
Service Chaining
Change
Center
Validation
Import/Export
Authentication Authorization Identity Sign/Encrypt
JDBC SAP HTTP/S JCA SMTP
AQ REST FileMQ EJB
Metadata
-
8/13/2019 OSB Developer Studentguide
62/302
Adaptive Messaging
OSB supports a high level of heterogeneity and can reliably connect to any service byleveraging standards. Adaptive messaging provides flexible message handling and
manipulation between clients and services. For example, a client could send a SOAP
message over HTTP through OSB, which can, in turn, transform the message and invoke aback-end EJB. Adaptive messaging also supports a variety of communication patterns such
as request/response, synchronous and asynchronous, split-join, and publish/subscribe.
You can also use different patterns for inbound and outbound messages in a single messagelife cycle.
Service Security
OSB ensures service security at all levels. Users can also plug in custom or third-party
security components. Built-in capabilities allow flexibility in implementation by enablingsecurity at all levels (for example, Transport Security, Message Security, Custom Security,
Console Security, and Policy Security).
Service Virtualization
Service virtualization provides agility through message manipulation and control. OSB lets
you flexibly control messages by using validation, transformation, routing based on message
content, parallel processing of multiple items in a message, alert triggering, and error handling
at different points in a message flow.
The OSB configurationdriven composition environment, with OSB plug-ins for Eclipse andthe Oracle Service Bus Console, is designed with a no-coding approach that allows message
flow modeling using versatile graphical modeling tools. OSB supports XML and non-XML
transformation of disparate data types shared between source and destination services. OSB
supports dynamic routing through a service callout feature that allows more flexible and
sophisticated message flow modeling. The Split-Join feature improves service performanceby splitting a message payload and simultaneously processing multiple operations in a
message.
Service Management
Service management includes a powerful set of runtime configuration tools for monitoring,
alerting, and reporting. In addition to a full set of service management features in the OracleService Bus Console, OSB is also fully integrated with Oracle Enterprise Manager for SOA-
wide management. OSB offers embedded service management capabilities that provideoptimized governance of all messaging.
Configuration Framework
The Configuration Framework gives you full control over your OSB production environment.
Configuration and resource changes that you make are tracked, and you can undo or redo
changes, resolve conflicts, maintain dependencies among resources, and test changes in theTest Console.
OSB provides import and export functionality for individual resources and full OSB
configurations. The Configuration Framework also includes a metadata-driven interface for
service discovery, publishing, and synchronization using Oracle Enterprise Repository and
UDDI registries such as Oracle Service Registry.
Oracle Service Bus 11g: Design and Integrate Services 2 - 42
-
8/13/2019 OSB Developer Studentguide
63/302Oracle Service Bus 11g: Design and Integrate Services 2 - 43
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Summary
In this lesson, you should have learned how to:
Describe Service-Oriented Architecture Explain the SOA Reference Architecture and its different
layers
Identify the core concepts of the Oracle Service Bus
Explain the role and features of the Oracle Service Bus
Identify the functional features of Oracle Service Bus
-
8/13/2019 OSB Developer Studentguide
64/302
Many of the practices contain a solution file that you can use to complete the practices if youare unable to do so. Refer to the Solution Instructions section at the end of each lessonspractices in the Activity Guide.
Oracle Service Bus 11g: Design and Integrate Services 2 - 44
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Practice 2 Overview:
Introduction to Oracle Service Bus
This practice covers the following topics:
Creating an NX-Client Desktop session and logging on tothe ACES machine assigned
Setting up for practices
Starting the Administration, OSB, and SOA WebLogic
servers
Deploying the SOA composite application by using Oracle
Enterprise Manager Fusion Middleware Control
-
8/13/2019 OSB Developer Studentguide
65/302
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Message Flow
-
8/13/2019 OSB Developer Studentguide
66/302Oracle Service Bus 11g: Design and Integrate Services 3 - 2
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Objectives
After completing this lesson, you should be able to:
Identify and describe the Oracle Service Bus resources Explain the message context model
Identify the message context variables
Describe the message flow process
Identify and explain the nodes and elements of a message
flow
Configure simple routing to a service in a message flow
Use context variables in a message flow
Configure branching in a message flow
-
8/13/2019 OSB Developer Studentguide
67/302
Oracle Service Bus (OSB) mediates service request and response messages betweendisparate heterogeneous service endpoints and intelligently routes messages between them.Content-based routing is a mediation capability supported by OSB based on conditional
message processing and transformation capabilities. This routing capability enables loose
coupling of SOA endpoints and is particularly useful. It enables service enrichment and reuse
by combining transformation and routing functions.
Proxy services are definitions of generic intermediary web services that are hosted locally onOSB. A proxy service communicates with other services in the IT infrastructure through
interfaces, which may or may not be identical to that of a service provider or service consumer
business service. Proxy services can route messages to multiple business services, using
their configured independent interfaces. Proxy services can be defined and configured usingthe Oracle Service Bus Console. They are configured by specifying their interface, the type oftransport the OSB uses, and their associated message-processing logic.
Oracle Service Bus 11g: Design and Integrate Services 3 - 3
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Service Bus Architecture
Serviceconsumer
Serviceproducer
Service
producer
Service
producer
Businessservice
Business
service
Business
service
Oracle Service Bus
Proxy service
Inbound
Outbound
Message flow
OSB Console
-
8/13/2019 OSB Developer Studentguide
68/302
Business services are Oracle Service Bus definitions of the enterprise services that exchange
messages during business processes. A business service and its interface can be defined
and configured using the Oracle Service Bus Console. A business service is configured by
specifying its interface, the type of transport that it uses, its security requirements, and other
characteristics.
The inbound transport layer is the communication layer between client services (or service
consumers) and Oracle Service Bus. The outbound transport layer is responsible for the
communication between business services (or service producers) and Oracle Service Bus.
Oracle Service Bus 11g: Design and Integrate Services 3 - 4
-
8/13/2019 OSB Developer Studentguide
69/302
The Oracle Service Bus Console is a web services management dashboard that enables youto monitor web services and servers and perform service management tasks. The consoleenables you to perform operational tasks such as configuring proxy and business services,
setting up security, managing resources, and capturing data for tracking or regulatory
auditing. It provides views to monitor the current state and health of the Oracle Service Bus
environment by displaying detailed statistics about servers, services, and alerts. The console
also enables you to respond rapidly and effectively to changes in your service-orientedenvironment.
The graphic in the slide shows the OSB Console with Project Explorer open.
Oracle Service Bus 11g: Design and Integrate Services 3 - 5
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Oracle Service Bus Console
The OSB Console enables you to create, manage, and
configure your OSB environment. With the console, you can:
Create and manage projects and project folders
Create and manage business
and proxy services
Test proxy and business
services
Modify the security
configuration
Import and export
resources
-
8/13/2019 OSB Developer Studentguide
70/302
Oracle Service Bus resources (for example, services, WS-Policies, WSDL, XQuerytransformations, and so on) reside in exactly one project. Projects do not overlap. Resourcescan be created directly under a project, or they can be further organized into folders. You can
reference any resource regardless of the project in which it resides.
Project Explorer organizes configurations and resources into projects and folders. In Project
Explorer, you can display the Projects View page (which lists all projects in the domain) and
the Project/Folder View pages (which list folders and resources in each project).
Note: When you create a domain in Oracle Service Bus, a default project is created.
Oracle Service Bus 11g: Design and Integrate Services 3 - 6
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Projects and Resources
An OSB project is a container for resources.
Within a project, there are various resources that can becreated.
-
8/13/2019 OSB Developer Studentguide
71/302
To create an OSB project:1. Click Create in the OSB Console Change Center.
2. Click Project Explorer.
3. Click Projects in Project Explorer.
4. Enter the project name and click Add Project.
You can now add resources to the project. When the session is complete, return to the
Change Center and activate your changes. Folders can be added to projects in a similar
fashion.
The graphic in the slide shows the four steps for creating a project in the OSB Console.
Oracle Service Bus 11g: Design and Integrate Services 3 - 7
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
OSB Projects
An OSB project is a container for the different OSB resources
that you create.
12
34
-
8/13/2019 OSB Developer Studentguide
72/302
Oracle Service Bus has a robust resource configuration and organization framework forcreating, organizing, and configuring resources and ensuring semantic integrity betweenresource dependencies. It provides features to rapidly test, deploy, and reverse resource
configuration updates if required.
The graphic in the slide shows the list of resource types available in the OSB Console.
Oracle Service Bus 11g: Design and Integrate Services 3 - 8
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
OSB Resource Types
Within an OSB project, you can create
or import resources, including: Proxy services
Business services
Transformations
XML schemas
WSDL
-
8/13/2019 OSB Developer Studentguide
73/302
Business services are Oracle Service Bus definitions of the enterprise services with whichyou want to exchange messages. You define business services using WSDL in the same wayyou would define a proxy service. However, the configuration of business services differs from
the configuration of proxy services in that a business service does not have a pipeline.
Therefore, a business service is any service that is not implemented by OSB pipelines.
Oracle Service Bus 11g: Design and Integrate Services 3 - 9
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Business Services
A business service:
Is contained within an OSB project Defines a protocol used with the service
Defines a URL that is called when the service is invoked
The properties of a business service depend on which
protocol is selected.
-
8/13/2019 OSB Developer Studentguide
74/302
To create a business service:1. In the General Configuration pane, enter a service name.
2. Select the service type.
3. In the Transport Configuration pane, select a protocol.
4. Configure the endpoint URI.
When you are using WSDL, the uniform resource identifier (URI) defaults to the service URI
of the WSDL. For other protocols, there is no default.
The graphic in the slide shows the steps to create a business service.
Oracle Service Bus 11g: Design and Integrate Services 3 - 10
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Creating a Business Service
1
2
3
4
-
8/13/2019 OSB Developer Studentguide
75/302
Oracle Service Bus proxy services are definitions of intermediary Web services that OracleService Bus implements and hosts locally. Oracle Service Bus uses proxy services to routemessages between business services (such as enterprise web services and databases) and
service clients (such as presentation applications or other business services).
You can create and configure proxy services and business services by using either the
runtime environment (Oracle Service Bus Console) or the development environment (Eclipse
with Oracle Service Bus plug-ins).
A proxy service configuration includes its interface, transport settings, security settings, and a
message flow definition. The message flow definition defines the logic that determines how
messages are handled as they flow through the proxy service. If a proxy service is based on a
WSDL document, the configuration also includes a WSDL port or a WSDL binding.You can create a proxy service without a route node. For example, this can be done to
implement a common transformation service within OSB that is invoked by other proxies as a
service callout.
Oracle Service Bus 11g: Design and Integrate Services 3 - 11
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Proxy Services
A proxy service is the gateway for applications and
services to access OSB. Each proxy service contains a message flow that allows
actions to be performed on a message.
Every proxy service typically routes to a service.
-
8/13/2019 OSB Developer Studentguide
76/302
To create a proxy service:1. In the General Configuration pane, enter a service name.
2. Select the service type.
3. In the Transport Configuration pane, select a protocol.
4. Configure the endpoint URI.
The graphic in the slide shows the steps to create a proxy service.
Oracle Service Bus 11g: Design and Integrate Services 3 - 12
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Creating a Proxy Service
1
2
3
4
-
8/13/2019 OSB Developer Studentguide
77/302
The port and binding definitions from the original WSDL resource are modified in the effectiveWSDL depending on several factors.
Oracle Service Bus 11g: Design and Integrate Services 3 - 13
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Difference Between Binding and Port
When you create a service based on a WSDL resource,
base the service either on a WSDL port or on a WSDLbinding:
When you create a new service based on a binding in a
WSDL resource, you choose the protocol and data formatdefined in the selected element in the WSDL
resource.
When you create a new service based on a port in a WSDL
resource, you choose the binding and network addressdefined in the element.
When you create or modify the service, you can change
the transport, but you cannot override the data format.
-
8/13/2019 OSB Developer Studentguide
78/302
Answer: aExplanation: Business services are Oracle Service Bus definitions of the enterprise services
with which you want to exchange messages. The configuration of business services differsfrom that of proxy services in that a business service does not have a pipeline.
Oracle Service Bus 11g: Design and Integrate Services 3 - 14
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Quiz
A business service is any service that is not implemented by
the Oracle Service Bus pipelines.a. True
b. False
-
8/13/2019 OSB Developer Studentguide
79/302
Message context is the state of the message plus the operational metadata.
SOAP Message Syntax
The graphic in the slide shows a Simple Object Access Protocol envelope. Within theenvelope are a header, body, and attachments. The header contains multiple header entries.
The body contains the message payload.
Oracle Service Bus 11g: Design and Integrate Services 3 - 15
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Message Context Model
The OSB message context is a set of properties that hold the
message content as well as information about messages asthey are routed through Oracle Service Bus.
SOAP Message Syntax
HeaderEntry1
HeaderEntry2
Envelope
Header
Attachments
BodyMessage payload
goes here.
-
8/13/2019 OSB Developer Studentguide
80/302
The message properties that hold the message content as well as the information are referredto as context variables. For example, service endpoints are represented by predefined contextvariables. Oracle Service Bus also supports user-defined context variables.
The message context is defined by an XML schema. You typically use XQuery expressions to
manipulate the context variables in the message flow that defines a proxy service.
Oracle Service Bus 11g: Design and Integrate Services 3 - 16
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Using Context Variables
Context variables are the access points to request and
response messages. Use context variables to:
Reassemble
Modify
Reroute
Make