Tài liệu Oracle SOA Suite 11g R1 Developer''''s Guide - Pdf 10

www.it-ebooks.info
Oracle SOA Suite 11g R1
Developer's Guide
Develop Service-Oriented Architecture Solutions with
the Oracle SOA Suite
Antony Reynolds
Matt Wright

P U B L I S H I N G
professional expertise distilled
BIRMINGHAM - MUMBAI
www.it-ebooks.info
Oracle SOA Suite 11g R1 Developer's Guide
Copyright © 2010 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, without the prior written
permission of the publisher, except in the case of brief quotations embedded in
critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy
of the information presented. However, the information contained in this book is
sold without warranty, either express or implied. Neither the authors, nor Packt
Publishing, and its dealers and distributors will be held liable for any damages
caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the
companies and products mentioned in this book by the appropriate use of capitals.
However, Packt Publishing cannot guarantee the accuracy of this information.
First published: June 2010
Production Reference: 1220610
Published by Packt Publishing Ltd.
32 Lincoln Road
Olton

Project Team Leader
Priya Mukherji
Project Coordinator
Prasad Rai
Proofreader
Aaron Nash
Indexer
Hemangini Bari
Graphics
Geetanjali Sawant
Production Coordinator
Shantanu Zagade
Cover Work
Shantanu Zagade
www.it-ebooks.info
Foreword
First and foremost, let me say what an honor it is to participate in the great work
that Antony Reynolds and Matt Wright are doing through this Oracle SOA Suite
Developer Guide. The original edition of the book provided SOA developers with
practical tips, code examples, and under-the-covers knowledge of Oracle SOA Suite
and has received extremely positive feedback from our developer community. This
edition carries forward all of those benets, but is completely updated for the 11gR1
release of Oracle SOA Suite, which brings with it not only new features and APIs,
but also some very signicant architectural changes.
The original edition lled a very important need for the developer community,
going beyond basic documentation to provide best practices and tips and tricks for
Oracle SOA Suite developers. Antony and Matt were just the right people to create
such content, each having many years hands-on experience of enabling Oracle
SOA Suite implementations for customers and partners, as well as a close working
relationship with Oracle's SOA engineering and product management teams.

through more scalable, agile, and re-usable implementations. On behalf of the Oracle
SOA Engineering and Product Management team, as well as all the customers and
partners who have asked for this book, we heartily thank Antony and Matt for the
investment of their time and energy and hope that this updated edition help you
achieve your goals with the Oracle SOA Suite.
David Shaffer
Vice President, Product Management
Oracle Integration
[email protected]
www.it-ebooks.info
About the Authors
Antony Reynolds has worked in the IT industry for more than 25 years,
after getting a job to maintain yield calculations for a zinc smelter while still an
undergraduate. After graduating from the University of Bristol with a degree in
Mathematics and Computer Science he worked rst for a software house, IPL
in Bath, England, before joining the travel reservations system Galileo as a
development team lead.
At Galileo, he was involved in the development and maintenance of workstation
products before joining the architecture group. Galileo gave him the opportunity
to work in Colorado and Illinois where he developed a love for the Rockies and
Chicago style deep pan pizza.
He joined Oracle in 1998 as a sales consultant and has worked with a number of
customers in that time, including a large retail bank's Internet banking project, for
which he served as the chief design authority and security architect.
After the publication of his previous book, the SOA Suite 10g Developers Guide,
Antony changed roles within Oracle, taking a position in the global customer
support organization. As part of this change of position he moved from a small
village outside Bristol, England to a small town outside Colorado Springs, Colorado.
He is now acclimatized to living at 7,500ft and has learnt to survive on less oxygen.
Within support, Antony deals with customers who have problems with large

rst became involved with SOA shortly after the initial submission of SOAP 1.1 to
the W3C in 2000, and has worked with some of the early adopters of BPEL since its
initial release in 2002. Since then, he has been engaged in some of the earliest
SOA-based implementations across EMEA and APAC.
Prior to Rubicon Red, Matt held various senior roles within Oracle, most recently
as Director of Product Management for Oracle Fusion Middleware in APAC, where
he was responsible for working with organizations to educate and enable them in
realizing the full business benets of SOA in solving complex business problems.
As a recognized authority on SOA, Matt is a regular speaker and instructor at
private and public events. He also enjoys writing and publishes his own blog
(
http://blog.rubiconred.com). Matt holds a B.Sc. (Eng) in Computer Science
from Imperial College, University of London.
www.it-ebooks.info
Acknowledgement
Well, this is the book that Antony and I originally intended to write, when we rst
put pen to paper (or nger to keypad) back in May 2007. At this point the 11gR1
version of the Oracle SOA Suite was still in the initial stages of development, with
the goal being to time the publication of the book with the release of 11gR1. Then in
early 2008 Oracle announced the acquisition of BEA, which it nalized in July; at this
point future timings around the release of 11gR1 were very much up in the air.
By this stage a signicant amount of the book was already written, and we had
received some really positive feedback from the initial reviews. With this in mind,
Antony and I took the decision to retarget the book for the current 10gR3 release and
bring in the Oracle Service Bus (formally known as the BEA Aqualogic Service Bus).
The rst version of the book was published in March 2009, almost two years after our
original start date, and much to the relief of anyone closely connected with Antony
or I. Then in July, Oracle announced the release of the Oracle SOA Suite 11gR1,
Antony and I blinked and then decided to write the 11gR1 version of the book, in
many ways it was unnished business!

TIBCO Software. His areas of focus include enterprise integration, business process
management, and business activity monitoring. John has worked with organizations
to educate and enable them in realizing the full business benets of BPM and SOA in
solving complex business problems.
John holds a Bachelors degree in Cognitive Science from the University of Queensland
and a Masters degree in IT from the Queensland University of Technology. He is a
regular speaker on middleware vision, strategy, and architecture.
Hans Forbrich is a well-known member of the Oracle Community. He started
with Oracle products in 1984 and has kept abreast of nearly all of Oracle's Core
Technologies. As ACE Director, Hans has been invited to be present at Oracle Open
World and various Oracle User Group meetings around the world. His company,
Forbrich Computer Consulting Ltd., is well established in western Canada. Hans
specializes in delivering Oracle University training through Oracle University and
partners such as Exit Certied.
Although his special interests include Oracle Spatial, OracleVM, and Oracle
Enterprise Linux, Hans has been particularly excited about the advances in Oracle
SOA, Oracle Web Logic, and Oracle Grid Control.
Hans has been technical reviewer for a number of Packt books, including Mastering
Oracle Scheduler in Oracle 11g Databases, Oracle 10g/11g Data and Database Management
Utilities, and Oracle VM Manager 2.1.2.
I wish to thank my wife Susanne, and the Edmonton Opera, for their
patience while I worked on these reviews as well as on my own book.
www.it-ebooks.info
Bill Hicks is a Senior Sales Consulting Manager for Australia and New Zealand,
specializing in Oracles' Middleware products.
Over the last 11 years at Oracle, Bill has held various positions within Sales
Consulting and Support.
His current focus is on Service-oriented Architecture and Cloud Computing and how
the varied Oracle Middleware product offerings can be utilized to deliver exible,
cost effective, and complete business solutions.

products involving IBM Lotus Workplace, Websphere, and the Eclipse platform
before joining the Australia Bureau of Meteorology Research Center where she was
responsible for the implementation of the Automated Thunderstorm Interactive
Forecast System for Aviation and Defense.
He holds an M.Sc. in Computer Science from Beijing University of Aeronautics
and Astronautics.
When not reviewing SOA books ShuXuan enjoys swimming, dancing, and visiting
new places.
Hajo Normann is SOA/BPM architect at HP Enterprise Services since 2005. He
helps motivating, designing, and implementing integration solutions using Oracle
SOA Suite and BPA Suite (a BPM-ready version of ARIS from IDS Scheer) and works
on SOA/BPM principles, design guidelines, and best practices.
Since 2007, Hajo is the Oracle ACE Director. Since 2008, he leads together with
Torsten Winterberg from OPITZ Consulting, the special interest group "DOAG SIG
SOA". Hajo is a co-founder of the "Masons-of-SOA", an inter-company network,
consisting of architects of Oracle Germany, Opitz Consulting, SOPERA, and HP
ES - with the mission to spread SOA knowledge and support projects/initiatives
across companies. The masons meet regularly for thought exchange, have written a
multi-article series on Yet Unshackled SOA Topics, have contributed to Thomas Erl's
book SOA Design Patterns and are giving whole day advanced SOA workshops
on conferences.
Websites:
http://hajonormann.wordpress.com/, http://soacommunity.com/
www.it-ebooks.info
www.it-ebooks.info
Table of Contents
Preface 1
Part 1: Getting Started
Chapter 1: Introduction to Oracle SOA Suite 11
Service-oriented architecture in short 11

Top level 25
Component view 25
Implementation view 26
A recursive example 27
JDeveloper 27
Other components 27
Service repository and registry 28
BPA Suite 28
The BPM Suite 28
Portals and WebCenter 28
Enterprise manager SOA management pack 29
Summary 29
Chapter 2: Writing your First Composite 31
Installing SOA Suite 31
Writing your first BPEL process 32
Creating an application 34
Creating an SOA project 36
SOA project composite templates 37
Creating a BPEL process 38
Assigning values to variables 40
Deploying the process 42
Testing the BPEL process 45
Adding a Mediator 51
Using the Service Bus 54
Writing our first proxy service 55
Writing the Echo proxy service 56
Creating a Change Session 57
Creating a project 58
Creating the project folders 58
Creating service WSDL 60

Using the modified interface 98
Writing a payroll file 99
Selecting the FTP connection 99
Choosing the operation 100
Selecting the file destination 100
Completing the FTP file writer service 102
Moving, copying, and deleting files 102
Generating an adapter 102
Modifying the port type 102
Modifying the binding 103
Configuring file locations through additional header properties 104
Adapter headers 105
Testing the file adapters 105
Creating services from databases 106
Writing to a database 106
Selecting the database schema 106
Identifying the operation type 107
Identifying tables to be operated on 108
Identifying the relationship between tables 109
Under the covers 110
Summary 110
Chapter 4: Loosely-coupling Services 111
Coupling 111
Number of input data items 112
Number of output data items 112
www.it-ebooks.info
Table of Contents
[ iv ]
Dependencies on other services 113
Dependencies of other services on this service 113

Synchronous messaging 142
Asynchronous messaging 143
A simple composite service 144
Creating our StockQuote service 145
Importing StockService schema 146
Calling the external web services 148
Calling the web service 150
Assigning values to variables 153
Testing the process 154
Calling the exchange rate web service 154
Assigning constant values to variables 155
www.it-ebooks.info
Table of Contents
[ v ]
Using the expression builder 156
Asynchronous service 160
Using the wait activity 163
Improving the stock trade service 164
Creating the while loop 164
Checking the price 166
Using the switch activity 167
Summary 170
Chapter 6: Adding in Human Workflow 171
Workflow overview 171
Leave approval workflow 172
Defining the human task 173
Specifying task parameters 175
Specifying task assignment and routing policy 176
Invoking our human task from BPEL 180
Creating the user interface to process the task 181

[ vi ]
Calling a business rule from BPEL 211
Assigning facts 212
Using functions 213
Creating a function 214
Testing a function 219
Testing decision service functions 220
Invoking a function from within a rule 221
Using decision tables 222
Defining a bucket set 222
Creating a decision table 224
Conflict resolution 229
Summary 231
Chapter 8: Using Business Events 233
How EDN differs from traditional messaging 233
A sample use case 235
Event Delivery Network essentials 235
Events 235
Event publishers 238
Publishing an event using the Mediator component 238
Publishing an event using BPEL 240
Publishing an event using Java 243
Event subscribers 245
Consuming an event using Mediator 245
Consuming an event using BPEL 248
EDN publishing patterns with SOA Suite 250
Publishing an event on receipt of a message 251
Publishing an event on a synchronous message response 251
Publishing an event on a synchronous message request and reply 252
Publishing an event on an asynchronous response 252

Summary 283
Part 2: Putting it All Together
Chapter 10: oBay Introduction 287
oBay requirements 288
User registration 288
User login 288
Selling items 288
List a new item 289
Completing the sale 290
View account 291
Buying items 291
Search for items 292
Bidding on items 292
Defining our blueprint for SOA 294
Architecture goals 294
Typical SOA Architecture 295
Application services layer 297
Virtual services layer 297
Business services layer 299
Business process 302
User interface layer 303
One additional layer 304
Where the SOA Suite fits 306
Composite application 308
Composite granularity 308
Basic composite design pattern 311
Where to implement virtual services 312
Mediator as a proxy for a composite 312
www.it-ebooks.info
Table of Contents

WSDL namespace 338
Defining the 'wrapper' elements 339
Defining the 'message' elements 341
Defining the 'PortType' Element 342
Using XML Schema and the WSDL within SOA Suite 342
Sharing XML Schemas across composites 343
Defining an MDS connection 344
Importing schemas from MDS 345
Manually importing schemas 346
Deploying schemas to the SOA infrastructure 349
Importing the WSDL document into a composite 352
Sharing XML Schemas in the Service Bus 353
Importing the WSDL document into the Service Bus 354
Strategies for managing change 356
Major and minor versions 357
Service implementation versioning 357
www.it-ebooks.info
Table of Contents
[ ix ]
Schema versioning 358
Changing schema location 359
Updating schema version attribute 359
Resisting changing the schema namespace 359
WSDL versioning 360
Incorporating changes to the canonical model 360
Changes to the physical contract 360
Updating the service endpoint 361
Including version identifiers in the WSDL definition 361
Managing the service lifecycle 362
Summary 363

Creating a Listing entity 389
Binding to the Listing entity 391
Inserting a detail SDO into a master SDO 393
Updating a detail SDO 395
Deleting a detail SDO 395
www.it-ebooks.info
Table of Contents
[ x ]
Deleting a Service Data Object 395
Exposing the SDO as a business service 396
Summary 398
Chapter 13: Building Validation into Services 399
Validation within a composite 400
Using XML Schema validation 402
Strongly-typed services 402
Loosely-typed services 405
Combined approach 406
Schema validation within the Mediator 406
Using schema validation within BPEL PM 407
Using schema validation within the Service Bus 410
Validation of inbound documents 411
Validation of outbound documents 413
Using Schematron for validation 413
Overview of Schematron 414
Assertions 415
Rules 416
Patterns 417
Namespaces 417
Schema 418
Intermediate validation 418


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status