+ All Categories
Home > Documents > OSB Developer Studentguide

OSB Developer Studentguide

Date post: 04-Jun-2018
Category:
Upload: jawaharjas
View: 223 times
Download: 0 times
Share this document with a friend

of 302

Transcript
  • 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


Recommended