万本电子书0元读

万本电子书0元读

顶部广告

Oracle SOA Suite 11g R1 Developer's Guide电子书

售       价:¥

0人正在读 | 0人评论 9.8

作       者:Antony Reynolds

出  版  社:Packt Publishing

出版时间:2010-07-01

字       数:1048.6万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
This book is a comprehensive guide, split into three sections. The initial section of the book provides an introduction to the Oracle SOA Suite and its various components, and will give you an in-depth fast-paced hands-on introduction to each of the key components. The next section provides an in-depth best-practice guide to applying the various components of the SOA Suite to implement a real-world SOA-based solution; it illustrates this through the development of an auction site (oBay). The final section covers other considerations such as the packaging, deployment, testing, security, and administration of SOA applications. If you are a developer or a technical architect who works in the SOA domain, this book is for you. The primary purpose of the book is to provide you with a hands-on practical guide to using and applying the Oracle SOA Suite in the delivery of real-world composite applications. You need basic understanding of the concepts of SOA, as well as some of the key standards in this field, including web services (SOAP, WSDL), XML Schemas, and XSLT (and XPath).
目录展开

Oracle SOA Suite 11g R1 Developer's Guide

Table of Contents

Oracle SOA Suite 11g R1 Developer's Guide

Credits

Foreword

About the Authors

Acknowledgement

Acknowledgement

About the Reviewers

Preface

What this book covers

What you need for this book

Who this book is for

Conventions

Reader feedback

Customer support

Errata

Piracy

Questions

I. Getting Started

1. Introduction to Oracle SOA Suite

Service-oriented architecture in short

Service

Orientation

Architecture

Why SOA is different

Terminology

Interoperability

Extension and evolution

Reuse in place

Service Component Architecture (SCA)

Component

Service

Reference

Wire

Composite.xml

Properties

SOA Suite components

Services and adapters

ESB – service abstraction layer

Oracle Service Bus and Oracle Mediator

Service orchestration – the BPEL process manager

Rules

Security and monitoring

Active monitoring – BAM

Business to Business – B2B

Complex Event Processing – CEP

Event delivery network

SOA Suite architecture

Top level

Component view

Implementation view

A recursive example

JDeveloper

Other components

Service repository and registry

BPA Suite

The BPM Suite

Portals and WebCenter

Enterprise manager SOA management pack

Summary

2. Writing your First Composite

Installing SOA Suite

Writing your first BPEL process

Creating an application

Creating an SOA project

SOA project composite templates

Creating a BPEL process

Assigning values to variables

Deploying the process

Testing the BPEL process

Adding a Mediator

Using the Service Bus

Writing our first proxy service

Writing the Echo proxy service

Creating a Change Session

Creating a project

Creating the project folders

Creating service WSDL

Importing a WSDL

Creating our business service

Creating our proxy service

Creating message flow

Activating the Echo proxy service

Testing our proxy service

Summary

3. Service-enabling Existing Systems

Types of systems

Web service interfaces

Technology interfaces

Application interfaces

Java Connector Architecture

Creating services from files

A payroll use case

Reading a payroll file

Starting the wizard

Naming the service

Identifying the operation

Defining the file location

Selecting specific files

Detecting that the file is available

Message format

Defining a native format schema

Using a sample file

Record structure

Choosing a root element

Message delimiters

Record type names

Field properties

Verifying the result

Finishing the wizards

Throttling the file and FTP adapter

Creating a dummy message type

Adding an output message to the read operation

Using the modified interface

Writing a payroll file

Selecting the FTP connection

Choosing the operation

Selecting the file destination

Completing the FTP file writer service

Moving, copying, and deleting files

Generating an adapter

Modifying the port type

Modifying the binding

Configuring file locations through additional header properties

Adapter headers

Testing the file adapters

Creating services from databases

Writing to a database

Selecting the database schema

Identifying the operation type

Identifying tables to be operated on

Identifying the relationship between tables

Under the covers

Summary

4. Loosely-coupling Services

Coupling

Number of input data items

Number of output data items

Dependencies on other services

Dependencies of other services on this service

Use of shared global data

Temporal dependencies

Reducing coupling in stateful services

Service abstraction tools in SOA Suite

Do you have a choice?

When to use the Mediator

When to use Oracle Service Bus

Oracle Service Bus design tools

Oracle Workshop for WebLogic

Oracle Service Bus Console

Service Bus overview

Service Bus message flow

Virtualizing service endpoints

Moving service location

Using Adapters in Service Bus

Selecting a service to call

Virtualizing service interfaces

Physical versus logical interfaces

Mapping service interfaces

Applying canonical form in the Service Bus

An important optimization

Using the Mediator for virtualization

Summary

5. Using BPEL to Build Composite Services and Business Processes

Basic structure of a BPEL process

Core BPEL process

Variables

Partner links

Messaging activities

Synchronous messaging

Asynchronous messaging

One way messaging

A simple composite service

Creating our StockQuote service

Importing StockService schema

Calling the external web services

Calling the web service

Assigning values to variables

Testing the process

Calling the exchange rate web service

Assigning constant values to variables

Using the expression builder

Asynchronous service

Using the wait activity

Improving the stock trade service

Creating the while loop

Checking the price

Using the switch activity

Summary

6. Adding in Human Workflow

Workflow overview

Leave approval workflow

Defining the human task

Specifying task parameters

Specifying task assignment and routing policy

Invoking our human task from BPEL

Creating the user interface to process the task

Running the workflow process

Processing tasks with the worklist application

Improving the workflow

Dynamic task assignment

Assigning tasks to multiple users or groups

Cancelling or modifying a task

Withdrawing a task

Modifying a task

Difference between task owner and initiator

Requesting additional information about a task

Managing the assignment of tasks

Reassigning reportee tasks

Reassigning your own task

Delegating tasks

Escalating tasks

Using rules to automatically manage tasks

Setting up a sample rule

Summary

7. Using Business Rules to Define Decision Points

Business rule concepts

XML facts

Decision services

Leave approval business rule

Creating a decision service

Implementing our business rules

Adding a rule to our ruleset

Creating the IF clause

Creating the Then clause

Calling a business rule from BPEL

Assigning facts

Using functions

Creating a function

Testing a function

Testing decision service functions

Invoking a function from within a rule

Using decision tables

Defining a bucket set

Creating a decision table

Conflict resolution

Summary

8. Using Business Events

How EDN differs from traditional messaging

A sample use case

Event Delivery Network essentials

Events

Event publishers

Publishing an event using the Mediator component

Publishing an event using BPEL

Publishing an event using Java

Creating the event

Creating the event connection

Publishing the event

Event subscribers

Consuming an event using Mediator

Consuming an event using BPEL

EDN publishing patterns with SOA Suite

Publishing an event on receipt of a message

Publishing an event on a synchronous message response

Publishing an event on a synchronous message request and reply

Publishing an event on an asynchronous response

Publishing an event on an asynchronous message request and reply

Publishing an event on an event

Monitoring event processing in Enterprise Manager

Summary

9. Building Real-time Dashboards

How BAM differs from traditional business intelligence

Oracle BAM scenarios

BAM architecture

Logical view

Physical view

Acquire

Store

Process

Deliver

Steps in using BAM

User interface

Monitoring process state

Defining reports and data required

Defining data objects

A digression on populating data object fields

Instrumenting BPEL and SCA

Invoking the BAM adapter as a regular service

Creating a BAM adapter

Invoking the BAM adapter

Invoking the BAM adapter through BPEL sensors

Testing the events

Creating a simple dashboard

Monitoring process status

Monitoring KPIs

Summary

II. Putting it All Together

10. oBay Introduction

oBay requirements

User registration

User login

Selling items

List a new item

Completing the sale

View account

Buying items

Search for items

Bidding on items

Defining our blueprint for SOA

Architecture goals

Typical SOA Architecture

Application services layer

Virtual services layer

Business services layer

Functional type

Service consumer

Business process

User interface layer

One additional layer

Where the SOA Suite fits

Composite application

Composite granularity

Composite reusability

Composite lifecycle

Composite security and management policies

Basic composite design pattern

Where to implement virtual services

Mediator as a proxy for a composite

Mediator as a proxy for an external reference

Using a composite as a virtual service

Service invocation between composite applications

Centralized approach

Peer-to-peer topology

Hybrid approach

oBay high-level architecture

oBay application services

Workflow services

External web services

oBay developed services

oBay internal virtual services

oBay business services

oBay business processes

oBay user interface

Summary

11. Designing the Service Contract

Using XML Schema to define business objects

Modeling data in XML

Data decomposition

Data hierarchy

Data semantics

Using attributes for metadata

Schema guidelines

Element naming

Name length

Compound names

Naming standards

Namespace considerations

Always specify a target namespace

Default namespace

Qualified or unqualified element names

Qualified or unqualified attributes

Namespace naming conventions

Global versus local

Elements versus types

Partitioning the canonical model

Single namespace

Multiple namespaces

Separate common objects into their own namespaces

Using WSDL to define business services

Use Document (literal) wrapped

Building your abstract WSDL document

WSDL namespace

Defining the 'wrapper' elements

Defining a schema for our wrapper elements

Importing our wrapper elements

Defining the 'message' elements

Defining the 'PortType' Element

Using XML Schema and the WSDL within SOA Suite

Sharing XML Schemas across composites

Defining an MDS connection

Importing schemas from MDS

Manually importing schemas

Deploying schemas to the SOA infrastructure

Creating a JAR file within JDeveloper

Creating an SOA Bundle for a JAR file

Importing the WSDL document into a composite

Sharing XML Schemas in the Service Bus

Importing the WSDL document into the Service Bus

Strategies for managing change

Major and minor versions

Service implementation versioning

Schema versioning

Changing schema location

Updating schema version attribute

Resisting changing the schema namespace

WSDL versioning

Incorporating changes to the canonical model

Changes to the physical contract

Updating the service endpoint

Including version identifiers in the WSDL definition

Managing the service lifecycle

Summary

12. Building Entity Services Using Service Data Objects (SDOs)

Service Data Objects

Oracle 11g R1 support for SDO

Oracle SOA Suite 11g SDO support

Implementing a Service Data Object

Overview of ADF Business Components

Creating our ListingSDO application

Creating our Listing Business Components

Defining Entity objects

Defining updatable View objects

Defining the application module

Testing the listing ADF-BC in JDeveloper

Generating the primary key using an Oracle Sequence

Creating the ADF extension class for EntityImpl

Updating default ADF base classes

Configuring Listing entity to use Oracle Sequence

Creating the ListingSDO service interface

Enabling master detail updates

Deploying the Service Data Object

Creating a service deployment profile

Setting Web Context Root

Registering SDO with SOA infrastructure

Registering the ListingSDO as an RMI service

Configuring global JDBC data source

Determining the SDO registry key

Using the ListingSDO in an SOA composite

Creating an ADF-BC Service Reference

Invoking the SDO from BPEL

Creating an entity variable

Creating a Listing entity

Binding to the Listing entity

Inserting a detail SDO into a master SDO

Updating a detail SDO

Deleting a detail SDO

Deleting a Service Data Object

Exposing the SDO as a business service

Summary

13. Building Validation into Services

Validation within a composite

Using XML Schema validation

Strongly-typed services

Loosely-typed services

Combined approach

Schema validation within the Mediator

Using schema validation within BPEL PM

Validation of BPEL variables

Validation of inbound and outbound documents

Setting validateXML for a partner link

Using schema validation within the Service Bus

Validation of inbound documents

Validation of outbound documents

Using Schematron for validation

Overview of Schematron

Assertions

Rules

Using a relative context

Patterns

Namespaces

Schema

Intermediate validation

Cross field validation

Using XPath predicates in rules

Using XPath 2.0 functions

Date validation

Element present

Using Schematron within the Mediator

Using the Metadata Service to hold Schematron files

Returning Schematron errors

Using Schematron with the Service Bus

Putting validation in the underlying service

Using Business Rules for validation

Coding in validation

Returning validation failures in synchronous services

Defining faults

Custom fault codes

Validation failures in asynchronous services

Layered validation considerations

Dangers of over validation

Dangers of under validation

Negative coupling of validation

Summary

14. Error Handling

Business faults

Defining faults in synchronous services

Defining faults in asynchronous services

Handling business faults in BPEL

Catching faults

Adding a catch branch

Throwing faults

Compensation

Defining compensation

Triggering a Compensation handler

Adding a Compensate activity

Returning faults

Asynchronous Considerations

Handling business faults in Mediators

Synchronous Mediators

System faults

Asynchronous Mediators

Using timeouts

Using the fault management framework

Using the fault management framework in BPEL

Using the fault management framework in Mediator

Defining a fault policies file

Defining a fault policy

Defining fault policy conditions

Specifying the <faultName>

Specifying the <condition>

Defining fault policy actions

Retry action

Human intervention action

Abort action

Rethrow action

Replay scope action

Java action

Binding fault policies

Defining bindings on the composite

Defining bindings on a component

Defining bindings on an external reference

Binding resolution

Using MDS to hold fault policy files

Human intervention in Fusion Middleware Control Console

Handling faults within the Service Bus

Handling faults in synchronous proxy services

Raising an error

Defining an error handler

Adding a route error handler

Checking the type of SOAP Faults

Getting the qualified fault name

Creating a SOAP Fault

Handling unexpected faults

Returning a SOAP Fault

Adding a service error handler

Handling permanent faults

Generating alerts

Enabling alerts

Handling transient faults

Retrying a non-responsive business service

Handling faults in one-way proxy services

Summary

15. Advanced SOA Suite Architecture

Relationship of infrastructure to service engines

Composite execution and suspension

BPEL dehydration events

Threading and message delivery in SOA Suite

One-way message delivery

Immediate execution of one-way messages in BPEL

Activation agent threads

Dispatcher threads

Transactions

BPEL transactions

BPEL component properties

BPEL partner link properties

BPEL activities

Transactions and thread wrinkles in BPEL

Reply handling

Oracle Service Bus (OSB) transactions

Transactional binding

Non-transactional binding

Non-transactional proxy

Transactional proxy

Comparison to EJB

Clustering

Load balancing

JMS considerations

Testing considerations

Adapter considerations

Metadata repository considerations

Database connections

Summary

16. Message Interaction Patterns

Messaging within a composite

Processing of messages within the Mediator

Processing of messages within BPEL PM

Message addressing

Multi-protocol support

Message correlation

WS-Addressing

Request message with WS-Addressing

Response message with WS-Addressing

Using BPEL correlation sets

Using correlation sets for multiple process interactions

Defining a correlation set property

Defining correlation set

Using correlation sets

Initializing the correlation set

Defining property aliases

Message aggregation

Message routing

Correlating the callback

Specifying the reply to address

Creating a proxy process

Using the pick activity

Defining the correlation sets

Completing the aggregation

Scheduling services

Defining the schedule file

Using FlowN

Accessing branch-specific data in FlowN

Dynamic partner links

Defining a common interface

Defining a job partner link

Creating an endpoint reference

Updating the endpoint

Recycling the scheduling file

Summary

17. Workflow Patterns

Managing multiple participants in a workflow

Using multiple assignment and routing policies

Determining the outcome by a group vote

Voting on the outcome

Sharing attachments and comments

Assigning participants

Skipping the second step

Using multiple human tasks

Linking individual human tasks

Using the workflow API

Defining the order fulfillment human task

Specifying task parameters

Specifying the routing policy

Notification settings

Querying task instances

Defining an external reference for the Task Query Service

User authentication

Creating the credential element

Querying tasks

Specifying the display column list

Flex fields

Populating flex fields

Accessing flex fields

Specifying the query predicate

Using flex fields in the query predicate

Ordering the data

Getting task details

Updating a task instance

Using the updateTask operation

Updating the task payload

Updating the task flex fields

Updating the task outcome

Summary

18. Using Business Rules to Implement Services

How the rule engine works

Asserting facts

Executing the ruleset

Rule activation

Rule firing

Retrieving result

Session management

Debugging a ruleset

Debugging a decision service with a test function

Debugging a decision service within a composite

Using the print function to add additional logging

Using business rules to implement auction

Defining our XML facts

Defining the business rule

Configuring the decision function

Deselect Check Rule Flow

Asserting the XML tree

Using a global variable to reference the resultset

Defining a global variable

Defining a rule to initialize a global variable

Writing our auction rules

Evaluating facts in date order

Checking for non-existent fact

Updating the bid status

Using inference

Processing the next valid bid

Using functions to manipulate XML facts

Asserting a winning bid

Retracting a losing bid

Rules to process a new winning bid

Validating the next bid

Rule to process a losing bid

Capping the winning bid amount

Complete ruleset

Performance considerations

Managing state within the BPEL process

Using functions to control the assertion of facts

Summary

III. Other Considerations

19. Packaging and Deployment

The need for packaging

Problems with moving between environments

Types of interface

Web interfaces

Command-line interfaces

SOA Suite packaging

Oracle Service Bus

Oracle SOA composites

Deploying a SCA composite via the EM Console

Deploying a SCA composite using Ant

Compile parameters (ant-sca-compile.xml)

Package parameters (ant-sca-package.xml)

Deploy parameters (ant-sca-deploy.xml)

Test parameters (ant-sca-test.xml)

Revisions and milestones

The default revision

Enabling web service endpoint and WSDL location alteration

Enabling adapter configuration

XML schema locations

XSL imports

Composite configuration plan framework

Creating a configuration plan template

Creating a configuration plan

Attaching a configuration plan to an SCA archive

Web services security

Oracle rules

Business activity monitoring

Commands

Selecting items

Using iCommand

Summary

20. Testing Composite Applications

SOA Suite testing model

One-off testing

Testing composites

Testing the Service Bus

Automated testing

The composite test framework

Composite test suites

Injecting data into the test case

Data validation

Emulating components and references

Deploying and running test suites

Regression testing

System testing

Composite testing

Component testing

Unit testing

Performance testing

User interface testing

Summary

21. Defining Security and Management Policies

Security and management challenges in the SOA environment

Evolution of security and management

Added complications of SOA environment

Security Impacts of SOA

Management and monitoring impacts of SOA

Securing services

Security outside the SOA Suite

Network security

Preventing message interception

Restricting access to services

Declarative security versus explicit security

Security as a facet

Security as a service

Security model

Policy enforcement points

Policies

Agents and gateways

Distinctive benefits of gateways and agents

Benefits of gateways

Drawbacks of gateways

Benefits of agents

Drawbacks of agents

The gateway dilemma

Service Bus model

Defining policies

Creating a new policy to perform authentication and authorization

Creating the authorization policy

Oracle-recommended naming conventions for polices

Creating the policy

Applying a policy

Applying a policy through the Service Bus Console

Importing a policy

Applying OWSM policies in Service Bus

Final thoughts on security

Monitoring services

Monitoring service health in SOA Suite

System up-down status

System throughput view

Monitoring SOA Composite performance

Monitoring in the Service Bus

Creating an alert destination

Enabling service monitoring

Creating an alert rule

Monitoring the service

What makes a good SLA

Summary

Index

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部