service-oriented architecture

29
PRENTICE HALL PROFESSIONAL TECHNICAL REFERENCE UPPER SADDLE RIVER, NJ 07458 WWW.PHPTR.COM Service-Oriented Architecture A Field Guide to Integrating XML and Web Services Thomas Erl erl.book Page iii Thursday, March 25, 2004 1:05 PM XXXXXXXXXXXXXXXXXXXXXXXX Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Upload: zubin67

Post on 14-Jun-2015

727 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Service-Oriented Architecture

PRENTICE HALLPROFESSIONAL TECHNICAL REFERENCEUPPER SADDLE RIVER, NJ 07458WWW.PHPTR.COM

Service-OrientedArchitecture

A Field Guide to Integrating XML andWeb Services

Thomas Erl

erl.book Page iii Thursday, March 25, 2004 1:05 PMXXXXXXXXXXXXXXXXXXXXXXXX

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 2: Service-Oriented Architecture

v

C o n te n ts

Preface XIX

C h a p te r 1

In tro d u ctio n 1

1 .1 W h y th is g u id e is im p o rtan t ............................................................... 2

1 .1 .1 T h e h am m er an d X M L ......................................................................... 2

1 .1 .2 X M L an d W eb s erv ices ........................................................................ 3

1 .1 .3 W eb s erv ices an d S erv ice-O rien ted A rch itectu re ................................ 3

1 .1 .4 S erv ice-O rien ted A rch itectu re an d th e h am m er................................... 3

1 .1 .5 T h e h am m er an d y o u ........................................................................... 4

1 .2 T h e X M L & W eb S erv ices In teg ratio n F ram ew o rk (X W IF ) ................ 4

1 .3 H o w th is g u id e is o rg an iz ed .............................................................. 5

1 .3 .1 Part I: T h e tech n ical lan d s cap e............................................................ 6

1 .3 .2 Part II: In teg ratin g tech n o lo g y .............................................................. 7

1 .3 .3 Part III: In teg ratin g ap p licatio n s ........................................................... 9

1 .3 .4 Part IV : In teg ratin g th e en terp ris e ...................................................... 12

1 .3 .5 T h e ex ten d ed en terp ris e .................................................................... 13

1 .4 w w w .s erv iceo rien ted .w s .................................................................. 13

1 .5 C o n tact th e au th o r........................................................................... 13

erlTOC.fm Page v Tuesday, February 8, 2005 9:17 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 3: Service-Oriented Architecture

vi Contents

P art I

The technical landscape 15

Chapter 2

Introduction to XML technologies 17

2.1 E xtensible Markup Language (XML)............................................... 18

2.1.1 Concepts............................................................................................ 20

2.1.2 Schemas ............................................................................................ 21

2.1.3 Programming models......................................................................... 22

2.1.4 Syntax ................................................................................................ 23

2.2 D ocument Type D efinitions (D TD ) .................................................. 24

2.2.1 Concepts............................................................................................ 25

2.2.2 Syntax ................................................................................................ 25

2.3 XML Schema D efinition Language (XSD )....................................... 28

2.3.1 Concepts............................................................................................ 28

2.3.2 Syntax ................................................................................................ 28

2.4 E xtensible Stylesheet Language Transformations (XSLT) ............. 33

2.4.1 Concepts............................................................................................ 34

2.4.2 Syntax ................................................................................................ 35

2.5 XML Q uery Language (XQ uery) ..................................................... 38

2.5.1 Concepts............................................................................................ 38

2.5.2 Syntax ................................................................................................ 41

2.6 XML Path Language (XPath) .......................................................... 43

2.6 .1 Concepts............................................................................................ 43

2.6 .2 Syntax ................................................................................................ 44

Chapter 3

Introduction to Web services technologies 47

3.1 Web services and the service-oriented architecture (SOA) ............ 48

3.1.1 U nderstanding services ..................................................................... 48

3.1.2 XML Web services ............................................................................. 49

3.1.3 Service-oriented architecture (SOA) .................................................. 50

3.1.4 Common principles of service-orientation.......................................... 53

3.1.5 Web service roles .............................................................................. 55

erlTOC.fm Page vi Tuesday, February 8, 2005 9:17 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 4: Service-Oriented Architecture

Contents vii

3.1.6 Web service interaction...................................................................... 57

3.1.7 Service models .................................................................................. 61

3.1.8 Web service description structure ............................................................ 64

3.1.9 Introduction to first-generation Web services..................................... 66

3.2 Web Services Descritption Language (WSDL) ............................... 67

3.2.1 Abstract interface definition................................................................ 68

3.2.2 Concrete (implementation) definition ................................................. 70

3.2.3 Supplementary constructs ................................................................. 71

3.3 Simple Object Access Protocol (SOAP).......................................... 72

3.3.1 SOAP messaging framework............................................................. 74

3.3.2 SOAP message structure .................................................................. 77

3.4 Universal Description, Discovery, and Integration (UDDI) .............. 81

Chapter 4

Introduction to second-generation (WS-* ) Web services technologies 89

4.1 Second-generation Web services and the service-oriented enterprise (SOE) ............................................................................. 90

4.1.1 Problems solved by second-generation specifications ...................... 92

4.1.2 The second-generation landscape..................................................... 94

4.2 WS-Coordination and WS-Transaction ........................................... 96

4.2.1 Concepts............................................................................................ 96

4.2.2 Syntax ................................................................................................ 99

4.3 B usiness Process Execution Language for Web Services (B PEL4WS) ..................................................................... 100

4.3.1 R ecent business process specifications .......................................... 100

4.3.2 Concepts.......................................................................................... 100

4.3.3 Syntax .............................................................................................. 106

4.4 WS-Security and the Web services security specifications............ 109

4.4.1 G eneral security concepts ............................................................... 110

4.4.2 Specifications................................................................................... 111

4.4.3 XML K ey Management (XK MS)....................................................... 112

4.4.4 Extensible Access Control Markup Language (XACML)

and Extensible R ights Markup Language (XrML) ............................ 112

4.4.5 Security Assertion Markup Language (SAML)

and .N ET Passport........................................................................... 112

erlTOC.fm Page vii Tuesday, February 8, 2005 9:17 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 5: Service-Oriented Architecture

viii Contents

4.4.6 XML-Encryption and XML-Digital Signature .................................... 113

4.4.7 Secure Sockets Layer (SSL) ........................................................... 113

4.4.8 The WS-Security framework ............................................................ 115

4.4.9 Concepts and syntax ....................................................................... 117

4.5 WS-ReliableMessaging.................................................................. 118

4.5.1 WS-Addressing ................................................................................ 119

4.5.2 Concepts.......................................................................................... 119

4.5.3 Acknowledgements.......................................................................... 121

4.5.4 Syntax .............................................................................................. 123

4.6 WS-Policy....................................................................................... 125

4.6.1 Concepts ......................................................................................... 126

4.6.2 Syntax .............................................................................................. 126

4.7 WS-Attachments ............................................................................ 127

Part II

Integrating technology 131

Chapter 5

Integrating XML into applications 133

5.1 Strategies for integrating XML data representation........................ 135

5.1.1 Positioning XML data representation in your architecture ............... 135

5.1.2 Think “tree” (a new way of representing data) ................................. 138

5.1.3 Easy now… (don’t rush the XML document model)......................... 139

5.1.4 Design with foresight........................................................................ 140

5.1.5 Focus on extensibility and reusability .............................................. 142

5.1.6 Lose weight while modeling! (keeping your documents trim) .......... 142

5.1.7 Naming element-types: performance vs. legibility ........................... 143

5.1.8 Applying XML consistently ............................................................... 144

5.1.9 Choosing the right API (DOM vs. SAX vs. Data Binding) ................ 145

5.1.10 Securing XML documents................................................................ 147

5.1.11 Pick the right tools............................................................................ 148

5.1.12 Don’t try this at home (fringe optimization strategies)...................... 150

5.2 Strategies for integrating XML data validation ............................... 151

5.2.1 XSD schemas or DTDs? .................................................................. 151

5.2.2 Positioning DTDs in your architecture.............................................. 155

erlTOC.fm Page viii Tuesday, February 8, 2005 9:17 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 6: Service-Oriented Architecture

Contents ix

5.2.3 Positioning XSD schemas in your architecture ................................ 156

5.2.4 Understand the syntactical limitations of XSD schemas.................. 158

5.2.5 Understand the performance limitations of XSD schemas .............. 160

5.2.6 Other fish in the sea (more schema definition languages)............... 160

5.2.7 Supplementing XSD schema validation........................................... 162

5.2.8 Integrating XML validation into a distributed architecture ................ 163

5.2.9 Avoiding over-validation................................................................... 165

5.2.10 Consider targeted validation ............................................................ 166

5.2.11 Building modular and extensible XSD schemas .............................. 167

5.2.12 Understand the integration limitations of your database.................. 169

5.3 Strategies for integrating XML schema administration................... 170

5.3.1 XML schemas and the silent disparity pattern ................................. 170

5.3.2 A step-by-step process .................................................................... 171

5.4 Strategies for integrating XML transformation................................ 174

5.4.1 Positioning XSLT in your architecture.............................................. 174

5.4.2 Pre-transform for static caching ....................................................... 177

5.4.3 Create dynamic XSLT style sheets.................................................. 178

5.4.4 Simplify aesthetic transformation with CSS ..................................... 178

5.4.5 Understand the scalability limitations of XSLT................................. 178

5.4.6 Strategic redundancy ....................................................................... 179

5.5 Strategies for integrating XML data q uerying................................. 179

5.5.1 Positioning XQuery in your architecture........................................... 180

5.5.2 Multi-data source abstraction........................................................... 180

5.5.3 Establishing a data policy management layer.................................. 182

5.5.4 Unifying documents and data .......................................................... 183

Chapter 6

Integrating Web services into applications 187

6.1 Service models............................................................................... 188

6.1.1 Utility services .................................................................................. 189

6.1.2 Business services ............................................................................ 191

6.1.3 Controller services ........................................................................... 191

6.2 Modeling service-oriented component classes and Web service interfaces................................................................... 194

6.2.1 Designing service-oriented component classes

(a step-by-step process) .................................................................. 195

erlTOC.fm Page ix Tuesday, February 8, 2005 9:17 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 7: Service-Oriented Architecture

x Contents

6.2.2 Designing Web service interfaces

(a step-by-step process) .................................................................. 206

6.3 Strategies for integrating service-oriented encapsulation .............. 214

6.3.1 Define criteria for consistent logic encapsulation

and interface granularity .................................................................. 215

6.3.2 Establish a standard naming convention ......................................... 215

6.3.3 Parameter-driven vs. operation-oriented interfaces......................... 215

6.3.4 Designing for diverse granularity ..................................................... 216

6.3.5 Utilize generic services consistently ................................................ 217

6.3.6 Establish separate standards for internal

and external services ....................................................................... 218

6.3.7 Considering third-party Web services ............................................. 219

6.4 Strategies for integrating service compositions ............................. 220

6.4.1 Everything in moderation, including service compositions............... 221

6.4.2 Modeling service compositions ........................................................ 221

6.4.3 Compound service compositions ..................................................... 224

6.5 Strategies for enhancing service functionality................................ 225

6.5.1 Outputting user-interface information............................................... 225

6.5.2 Caching more than textual data ....................................................... 226

6.5.3 Streamlining the service design with usage patterns....................... 227

6.6 Strategies for integrating SOAP messaging................................... 228

6.6.1 SOAP message performance management .................................... 228

6.6.2 SOAP message compression techniques........................................ 228

6.6.3 Security issues with SOAP messaging ............................................ 230

6.6.4 Easing into SOAP ............................................................................ 231

Chapter 7

Integrating XML and databases 233

7.1 Comparing XML and relational databases ..................................... 234

7.1.1 Data storage and security ................................................................ 235

7.1.2 Data representation ......................................................................... 235

7.1.3 Data integrity and validation............................................................. 236

7.1.4 Data querying and indexing ............................................................. 236

7.1.5 Additional features ........................................................................... 236

7.2 Integration architectures for XML and relational databases........... 237

7.2.1 Storing XML documents as database records ................................. 240

7.2.2 Storing XML document constructs as database records ................. 242

erlTOC.fm Page x Tuesday, February 8, 2005 9:17 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 8: Service-Oriented Architecture

Contents xi

7.2.3 Using XML to represent a view of database queries ....................... 243

7.2.4 Using XML to represent a view of a relational data model............... 245

7.2.5 Using XML to represent relational data within

an in-memory database (IMDB)....................................................... 246

7.3 Strategies for integrating XML with relational databases ............... 247

7.3.1 Target only the data you need ......................................................... 248

7.3.2 Avoiding relationships by creating specialized data views............... 249

7.3.3 Create XML-friendly database models............................................. 249

7.3.4 Extending the schema model with annotations................................ 250

7.3.5 Non-XML data models in XML schemas.......................................... 251

7.3.6 Developing a caching strategy......................................................... 251

7.3.7 Querying the XSD schema .............................................................. 252

7.3.8 Control XML output with XSLT......................................................... 252

7.3.9 Integrate XML with query limitations in mind ................................... 253

7.3.10 Is a text file a legitimate repository?................................................. 254

7.3.11 Loose coupling and developer skill sets .......................................... 254

7.4 Techniques for mapping XML to relational data............................. 255

7.4.1 Mapping XML documents to relational data..................................... 255

7.4.2 The Bear Sightings application ........................................................ 256

7.4.3 Intrinsic one-to-one and one-to-many relationships with XML ......... 256

7.4.4 Mapping XML to relational data with DTDs...................................... 258

7.4.5 Mapping XML to relational data with XSD schemas ........................ 265

7.5 Database extensions...................................................................... 271

7.5.1 Proprietary extensions to SQL ......................................................... 271

7.5.2 Proprietary versions of XML specifications ...................................... 272

7.5.3 Proprietary XML-to-database mapping ............................................ 272

7.5.4 XML output format ........................................................................... 272

7.5.5 Stored procedures ........................................................................... 273

7.5.6 Importing and exporting XML documents ........................................ 273

7.5.7 Encapsulating proprietary database extensions

within Web services ......................................................................... 274

7.6 Native XML databases ................................................................... 274

7.6.1 Storage of document-centric data.................................................... 274

7.6.2 Integrated XML schema models ...................................................... 275

7.6.3 Queries and data retrieval................................................................ 275

7.6.4 Native XML databases for intermediary storage.............................. 276

erlTOC.fm Page xi Tuesday, February 8, 2005 9:17 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 9: Service-Oriented Architecture

xii Contents

Part III

Integrating applications 278

Chapter 8

The mechanics of application integration 281

8.1 Understanding application integration............................................ 282

8.1.1 Types of integration projects............................................................ 282

8.1.2 Typical integration requirements...................................................... 282

8.1.3 Progress versus impact ................................................................... 283

8.1.4 Types of integration solutions .......................................................... 284

8.2 Integration levels ............................................................................ 286

8.2.1 Data-level integration ...................................................................... 287

8.2.2 Application-level integration ............................................................. 288

8.2.3 Process-level integration.................................................................. 289

8.2.4 Service-oriented integration ............................................................. 290

8.3 A guide to middleware.................................................................... 291

8.3.1 “EAI” versus “middleware” ............................................................... 291

8.3.2 Shredding the Oreo.......................................................................... 291

8.3.3 Common middleware services and products ................................... 292

8.3.4 A checklist for buying middleware.................................................... 294

8.4 Choosing an integration path ......................................................... 298

8.4.1 Two paths, one destination .............................................................. 299

8.4.2 Moving to EAI................................................................................... 299

8.4.3 Common myths................................................................................ 299

8.4.4 The impact of an upgrade ................................................................ 300

8.4.5 Weighing your options ..................................................................... 301

Chapter 9

Service-oriented architectures for legacy integration 303

9.1 Service models for application integration ..................................... 304

9.1.1 Proxy services.................................................................................. 305

9.1.2 Wrapper services ............................................................................. 307

9.1.3 Coordination services (for atomic transactions)............................... 308

erlTOC.fm Page xii Tuesday, February 8, 2005 9:17 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 10: Service-Oriented Architecture

Contents xiii

9.2 Fundamental integration components............................................ 310

9.2.1 Adapters........................................................................................... 310

9.2.2 Intermediaries .................................................................................. 312

9.2.3 Interceptors ...................................................................................... 314

9.3 Web services and one-way integration architectures..................... 314

9.3.1 Batch export and import................................................................... 315

9.3.2 Direct data access ........................................................................... 319

9.4 Web services and point-to-point architectures ............................... 324

9.4.1 Tightly coupled integration between homogenous

legacy applications........................................................................... 324

9.4.2 Tightly coupled integration between heterogeneous

applications ...................................................................................... 325

9.4.3 Integration between homogenous component-based

applications ...................................................................................... 332

9.4.4 Integration between heterogeneous component-based

applications ...................................................................................... 336

9.5 Web services and centralized database architectures................... 340

9.5.1 Traditional architecture .................................................................... 340

9.5.2 Using a Web service as a data access controller ............................ 341

9.6 Service-oriented analysis for legacy architectures......................... 344

Chapter 10

Service-oriented architectures for enterprise integration 353

10.1 Service models for enterprise integration architectures ................. 354

10.1.1 Process services.............................................................................. 354

10.1.2 Coordination services (for business activities)................................. 356

10.2 Fundamental enterprise integration architecture components ....... 358

10.2.1 Broker .............................................................................................. 360

10.2.2 Orchestration ................................................................................... 363

10.3 Web services and enterprise integration architectures .................. 368

10.3.1 Hub and spoke................................................................................. 369

10.3.2 Messaging bus................................................................................. 372

10.3.3 Enterprise Service Bus (ESB).......................................................... 375

erlTOC.fm Page xiii Tuesday, February 8, 2005 9:17 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 11: Service-Oriented Architecture

xiv Contents

Chapter 11

Service-oriented integration strategies 379

11.1 Strategies for streamlining integration endpoint interfaces ............ 381

11.1.1 Make interfaces more generic.......................................................... 381

11.1.2 Consolidate legacy interfaces .......................................................... 382

11.1.3 Consolidate proxy interfaces............................................................ 383

11.1.4 Supplement legacy logic with external logic .................................... 385

11.1.5 Add support for multiple data output formats ................................... 387

11.1.6 Provide alternative interfaces for different SOAP clients ................. 387

11.2 Strategies for optimizing integration endpoint services.................. 389

11.2.1 Minimize the use of service intermediaries ...................................... 389

11.2.2 Consider using service interceptors................................................. 389

11.2.3 Data processing delegation ............................................................. 391

11.2.4 Caching the provider WSDL definition ............................................. 392

11.3 Strategies for integrating legacy architectures ............................... 394

11.3.1 Create a transition architecture by adding partial

integration layers.............................................................................. 394

11.3.2 Data caching with an IMDB.............................................................. 394

11.3.3 Utilizing a queue to counter scalability demands ............................. 395

11.3.4 Adding a mini-hub ............................................................................ 397

11.3.5 Abstract legacy adapter technology................................................. 398

11.3.6 Leveraging legacy integration architectures .................................... 398

11.3.7 Appending Web services to legacy integration architectures .......... 400

11.4 Strategies for enterprise solution integration.................................. 401

11.4.1 Pragmatic service-oriented integration ............................................ 402

11.4.2 Integrating disparate EAI products................................................... 403

11.4.3 Respect your elders (building EAI around your legacy

environments) .................................................................................. 404

11.4.4 Build a private service registry ......................................................... 406

11.5 Strategies for integrating Web services security ............................ 406

11.5.1 Learn about the Web services security specifications ..................... 407

11.5.2 Build services with a standardized service-oriented

security (SOS) model....................................................................... 407

11.5.3 Create a security services layer....................................................... 407

11.5.4 Beware remote third-party services ................................................. 409

11.5.5 Prepare for the performance impact ................................................ 409

11.5.6 Define an appropriate system for single sign-on.............................. 410

erlTOC.fm Page xiv Tuesday, February 8, 2005 9:17 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 12: Service-Oriented Architecture

Contents xv

11.5.7 Don’t over-describe your services.................................................... 410

11.5.8 Fortify or retreat integrated legacy systems..................................... 411

11.5.9 Take advantage of granular security................................................ 412

11.5.10 Web services and port 80 ................................................................ 413

11.5.11 SOAP attachments and viruses ....................................................... 413

11.5.12 Consider the development of security policies................................. 414

11.5.13 Don’t wait to think about administration ........................................... 414

Part IV

Integrating the enterprise 417

Chapter 12

Thirty best practices for integrating XML 419

12.1 Best practices for planning XML migration projects ....................... 420

12.1.1 Understand what you are getting yourself into................................. 420

12.1.2 Assess the technical impact............................................................. 422

12.1.3 Invest in an XML impact analysis..................................................... 424

12.1.4 Assess the organizational impact .................................................... 425

12.1.5 Targeting legacy data ...................................................................... 426

12.2 Best practices for knowledge management within XML projects .................................................................................. 429

12.2.1 Always relate XML to data ............................................................... 429

12.2.2 Determine the extent of education required by your

organization ..................................................................................... 430

12.2.3 Customize a training plan ................................................................ 430

12.2.4 Incorporate mentoring into development projects............................ 433

12.3 Best practices for standardizing XML applications......................... 434

12.3.1 Incorporate standards ...................................................................... 434

12.3.2 Standardize, but don’t over-standardize .......................................... 435

12.3.3 Define a schema management strategy .......................................... 436

12.3.4 Use XML to standardize data access logic ...................................... 438

12.3.5 Evaluate tools prior to integration .................................................... 439

12.4 Best practices for designing XML applications............................... 439

12.4.1 Develop a system for knowledge distribution................................... 439

12.4.2 Remember what the “X” stands for .................................................. 441

erlTOC.fm Page xv Tuesday, February 8, 2005 9:17 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 13: Service-Oriented Architecture

xvi Contents

12.4.3 Design with service-oriented principles (even if not

using Web services)......................................................................... 441

12.4.4 Strive for a balanced integration strategy ........................................ 442

12.4.5 Understand the roles of supplementary XML technologies ............. 443

12.4.6 Adapt to new technology developments .......................................... 444

Chapter 13

Thirty best practices for integrating Web services 447

13.1 Best practices for planning service-oriented projects..................... 448

13.1.1 Know when to use Web services ..................................................... 448

13.1.2 Know how to use Web services ....................................................... 449

13.1.3 Know when to avoid Web services .................................................. 449

13.1.4 Moving forward with a transition architecture................................... 450

13.1.5 Leverage the legacy......................................................................... 450

13.1.6 Sorry, no refunds (Web services and your bottom line)................... 451

13.1.7 Align ROIs with migration strategies ................................................ 452

13.1.8 Build toward a future state ............................................................... 453

13.2 Best practices for standardizing Web services .............................. 454

13.2.1 Incorporate standards ...................................................................... 454

13.2.2 Label the infrastructure .................................................................... 455

13.2.3 Design against an interface (not vice versa).................................... 456

13.2.4 Service interface designer ............................................................... 458

13.2.5 Categorize your services ................................................................. 458

13.3 Best practices for designing service-oriented environments.......... 459

13.3.1 Use SOAs to streamline business models....................................... 459

13.3.2 Research the state of second-generation specifications ................. 459

13.3.3 Strategically position second-generation specifications................... 460

13.3.4 Understand the limitations of your platform ..................................... 460

13.3.5 Use abstraction to protect legacy endpoints from change ............... 461

13.3.6 Build around a security model.......................................................... 462

13.4 Best practices for managing service-oriented development projects........................................................................................... 465

13.4.1 Organizing development resources ................................................. 465

13.4.2 Don’t underestimate training for developers .................................... 466

13.5 Best practices for implementing Web services .............................. 467

13.5.1 Use a private service registry........................................................... 467

erlTOC.fm Page xvi Tuesday, February 8, 2005 9:17 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 14: Service-Oriented Architecture

Contents xvii

13.5.2 Prepare for administration................................................................ 469

13.5.3 Monitor and respond to changes in the service hosting

environments ................................................................................... 470

13.5.4 Test for the unknown ....................................................................... 471

Chapter 14

Building the service-oriented enterprise (SOE) 473

14.1 SOA modeling basics..................................................................... 474

14.1.1 Activities........................................................................................... 476

14.1.2 Services ........................................................................................... 477

14.1.3 Processes ........................................................................................ 477

14.2 SOE building blocks ....................................................................... 479

14.2.1 SOE business modeling building blocks .......................................... 480

14.2.2 SOE technology architecture building blocks................................... 487

14.2.3 Service-oriented security model....................................................... 496

14.3 SOE migration strategy .................................................................. 498

14.3.1 Overview of the Layered Scope Model (LSM) ................................. 498

14.3.2 Intrinsic Layer................................................................................... 501

14.3.3 Internal layer .................................................................................... 503

14.3.4 A2A layer ......................................................................................... 506

14.3.5 EAI layer .......................................................................................... 509

14.3.6 Enterprise layer................................................................................ 512

14.3.7 The extended enterprise .................................................................. 513

14.3.8 Customizing the LSM....................................................................... 513

14.3.9 Alternatives to the LSM.................................................................... 515

About the Author 517

About the Photographs 519

Index 521

erlTOC.fm Page xvii Tuesday, February 8, 2005 9:17 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 15: Service-Oriented Architecture

1

� ��� ����� ��� � ���

� � ����� � � � � � � � � � � � � � � � ! � " # � � " � � $� � $&% � � ' ( ) * �+� , - � ! . � / � � 0 # � � � ! " � � # 1 ! " � � 2 ! 34 ' ��0 1 5 � " � � 6� � 798 2+� � � � � � � � � � � ! � " # � : � �;� " � � <� � 6&2 2 2 � � � ! . � / � ! � � # � � � � 2 � � " � � � 7� � <9= # � " / � � � � " � � � ! � " � � � 7

e r l_ c h 0 1 .f m P a g e 1 T u e s d a y , M a r c h 1 6 , 2 0 0 4 1 2 :2 7 P M

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 16: Service-Oriented Architecture

2

1.1 Why this guide is important> ? @ A B C > D @ E F G H G I F A G J K F @ L K M M @ N K H G I F I O O K P H Q R I H S T U V K F D W @ C J @ N XY G P @ J S K Y @ S K D H S @ G N J S K N @ Q W S @ F Z I I [ G F M C K P [ K H H S @ N G J @ I O H S @ J @H @ P S F I Z I M G @ J K F D H S @ @ L P G H @ \ @ F H H S K H J ] N N I ] F D @ D H S @ \ A \ K F > ^ S I C I ] M S H G F H IH S @ S > ? @ K N @ C @ M G F F G F M H I O @ @ Z D G J K ? ? I G F H @ D Q _ N M K F G ` K H G I F J K N @ N @ K Z G ` G F M H S K HH S @ G N H @ P S F G P K Z @ F Y G N I F \ @ F H J K N @ F I H \ K M G P K Z Z > H N K F J O I N \ @ D J G \ ? Z > C > K D D G F MT U V I N W @ C J @ N Y G P @ J H I H S @ \ G L Qa b c d e b f f g h i f j i k i d l b d m e c l n o d l j p q e h f j c j d g l b p h i i r s b t t b r d i u v w l j p q f b d o n t m x pq n d i r d j b f j p t i b f y b r u j d p j m q n t d b r c i c b r r n d h i e r u i t p d b d i u v z l i r q t n q i t f g b q q f j i u y j dr n d n r f g j m q t n k i p d l i d i c l r n f n { g n o b r n t { b r j | b d j n r y h e d b f p n d l i m b r r i t j r s l j c lh e p j r i p p b e d n m b d j n r j p u i f j k i t i u v } ~ � � � � � � � � �� � � � � � � � vz l b d x p h i i r i � b { { i t b d i u j p r x d b p m e c l d l i q n d i r d j b f y h e d j d p q i t c i j k i u p j m q f j c j d g v �s i f f � u i p j { r i u y p i t k j c i � n t j i r d i u i r k j t n r m i r d c b r p j m q f j o g b r u p d t i b m f j r i m b r g b p q i c d pn o j r o n t m b d j n r d i c l r n f n { g y h e d b c l j i k j r { d l j p p d b d i j p r n p j m q f i m b d d i t v w l i d i c l r n f n { gp i d j r d t n u e c i u h g � � � b r u z i h p i t k j c i p j p u j k i t p i f g c n m q f i � v a r n t u i t d n d t e f g f i k i t �b { i j d p h i r i � d p y g n e � t p d r i i u d n b q q t i c j b d i d l i j m q f j c b d j n r p n o d l j p c n m q f i � j d g v w l i r yg n e r i i u d n p d t b d i { j | i v1.1.1 The hammer and XMLa d b f f p d b t d p s j d l � � � v � j � i b l b m m i t y � � � j p b d n n f v a o g n e q b g b d d i r d j n r d n l n s g n ee p i j d y g n e x f f l j d d l i r b j f i k i t g d j m i � j o g n e u n r x d y c l b r c i p b t i g n e t d l e m h s j f f d b � i bh i b d j r { v � r j d p n s r y j d u n i p r n d p n f k i n t c t i b d i q t n h f i m p � d l i t i p e f d p n o e p j r { � � � b t iu j t i c d f g t i f b d i u d n l n s j r d i f f j { i r d f g j d j p b q q f j i u v� n t g i b t p y j r u e p d t g b r b f g p d p l b k i d l i n t j | i u b r u p q i c e f b d i u b h n e d d l i h i r i � d p � � � s j f fj r d t n u e c i d n d l i b { i n o n r f j r i u b d b p l b t j r { v � i c b e p i d l j p d i c l r n f n { g q f b d o n t m q t n k j u i pb q n d i r d j b f j u i b f o n t b e r j k i t p b f u b d b o n t m b d y j d s j f f f i b u d l i s n t f u j r d n b r i s+i t b n oj r o n t m b d j n r e r j d g b r u q b t j d g vw l i q n d i r d j b f j p t i b f y h e d d l i m b r r i t j r s l j c l � � � j p h i j r { b q q f j i u j r d l i t i b f s n t f u j pb r g d l j r { h e d j u i b f v � � � j p b p q i c j � c b d j n r y b t i k n f e d j n r b t g j r r n k b d j n r d l b d i � j p d p j r bu n c e m i r d d l b d u i p c t j h i p b p j m q f i j u i b y s j d l l e { i j m q f j c b d j n r p v w l i o b c d d l b d � � � l b ph i i r b u n q d i u j r d n d l i a w m b j r p d t i b m j p { n n u v a d i p d b h f j p l i p b c n m m n r d i c l r n f n { g e p i uo n t b c n m m n r q e t q n p i v � j m q f g e p j r { � � � y l n s i k i t y j r r n s b g { e b t b r d i i p d l b d g n e

“H

erl_ch01.fm Page 2 Tuesday, March 16, 2004 12:27 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 17: Service-Oriented Architecture

Why this guide is important 3

� � � � � � � � � � � � � �   ¡ � ¢ £ ¢ � ¤ � ¥ � � � ¦ ¢ £ § ¨   ¤ � � � � ¥ � £ ¢ � � � � © ª ¤ � � � � ¢ « ª   ¬ ­ � � � � © � � ¢ ® ��   � � ¯ � � ¯ � ­ � � ¢ ¡   � ¬ £ ® � ¡ ¢ « � � ¯ �   ¤ � � � � �   ¢ ¡ � � � � � ¡ ¢   ¤ ¢ � ® � � � � � ¯ � � © � ¥   ¤ ¢ ®   �   ¢ ® � � £� � � � � ¯ � � © ¢ ® � ° ± ² � � ³ � « ¥ ¤ ¢ ´+�   ¤ � � � � �   ¢ £ � � � � � ¢ ® � � © � � ³   � ¤ ¢ �   � � � � ® � ­ ­ � � � � © � ��   ¤ � �   � � ¯ §1.1.2 XML and Web servicesµ ¡ ° ± ² � £ � ® � ¬ ¬ � � « ¢ ® � � ¶ � ¥ £ � � ³ � ª � £ � � � ´+� ® � ¢ · ¸ ® � � � � � · ¸ ® � ® � � ¯ ¢ ® � ¢ ®   � ¯ £ � ¢ ·¶ ® � ¢ � ³ � � � ¢ � £ �   ¤ ¹ � � ¥ ¤ � � ¯ � � © « ¶ � ¥ £ � � ³ � ª � £ � � � ¢ ® � ¥ ¤ � � ¯ � � © ¥ �   ª º £ �   ¤ ª � � ¤ £ � � ¡ ¢ � ��   ¤ ¹ ³ � ¦ � £ ¢ ­   ¤ � ¯ � ¯   ¤ ¢ � £   � � ¯ ¡   ¤ � ¯ � ¢ �   � � � ¢ ® ° ± ² § ¸ ® � ¢ ¯   � £ � ¹ ¢ ¬ � � � �   ¤ ª � � ¹ ¢£ ¢ � � ¢ ¤ £ � � © ¶ � ¥ £ � � ³ � ª � £ � � ¢ ®   ¤ ¢ ¦ � £ ¢ ­ �   ­ � � � � � � ¢ � © � � ¢ � � © ° ± ² « ¥ ¤ ¢ ¢ ® � � ¢ ® � � � ¹ £ �   ¢ ® »� � © £ ¢   ­ ­ � � © �   ¤ ¡ �   ¬ ¥ ¤ � � ¯ � � © ¢ ® � ¢ ¯ � � � ¬ ®   ¤ £ � � � ¢ ® � £ � � ¬ ­ � � � ¯ £ � � ¢ ® � � §¸ ® � £ © ¤ � ¯ � « � � ¡ � ª ¢ « � £ ¬   £ ¢ � � � ¥   ¤ ¢ � � ¢ � © � � ¢ �   � � � ¢ ® ¶ � ¥ £ � � ³ � ª � £ ¢ � ª ® �   �   © � � £ � � ¯ £ � � ³ � ª � »  � � � � ¢ � ¯ ¯ � £ � © � ­ � � � ª � ­ � � £ § ¸ ® � £ ¬ � º � £ � ¢ �   � � £ £   ¡ � ¥     º � ¥   ¤ ¢ ° ± ² « £ � � ª � ¢ ® � ¶ � ¥£ � � ³ � ª � £ ­ � � ¢ ¡   � ¬ � £ � � � ¢ ¤ � � � ª   � ¢ � � ¤ � ¢ �   �   ¡ ¢ ® � ° ± ² ¬   ³ � ¬ � � ¢ §1.1.3 Web services and Service-Oriented Architecture¼ £ �   ¤ � � � ¯ ¢ ® �   ¤ © ® ¢ ® � £ ¥     º « �   ¤ � � � � �   ¢ � ª � ¢ ® � ¢ ¢ ® � ­ � ¢ ® ¢   ¥ ¤ � � ¯ � � © £ � � ³ � ª � »  � � � � ¢ � ¯ � � ª ® � ¢ � ª ¢ ¤ � � � £ � � ¯ ¯ � � ¯ � � ¢ ® ­ � ¢ ¡ � � � £ � � ¯ � � £ º £ § ¸       ¡ ¢ � � «   � © � � � � � ¢ �   � £ � � ³ � £ ¢ »� � © � � ¶ � ¥ £ � � ³ � ª � £ ¯ � £ ª   ³ � � ¢ ® � � � �   � £   ¡ ¢ ® � � � � � � £   � ª � � � ¢ � � � £   � ¤ ¢ �   � £ ® � ³ � ¥ � � �¥ ¤ � � ¢ � � ¯ ¯ � ­ �   � � ¯ § ¸ ® � £ � £ �   ¢ � � ª � £ £ � � � � � � ¥ � ¯   � � � © � � ª ¢ ¡ ¤ �   ª ª ¤ � � � � ª � § µ ¢ ¹ £ £ � ¬ ­ � � �¢ � � ¥ ¤ ¢ � ¢   ¢ ® � ³ � £ ¢ � � £ £   ¡ ¢ ® � £ ­ � � ¢ ¡   � ¬ §¶ � ¢ ® � ¢ £ ª   ¬ ­ � � ½ � � ¯ ª   ¬ ­ � � ® � � £ � ³ � ¡ � � ¢ ¤ � � £ � ¢ « ¢ ®   ¤ © ® « ª   ¬ � £ � �   � ¯   ¡ ­   � � � § ¾ £ �¢ ® � £ ¢ � ª ® �   �   © � ¢ ® � � � © ® ¢ � � � « � � ¯ �   ¤ ¢ � ¤ � � ª � � ¥ ¤ � � ¯ � ¥ � ¢ ¢ � � � � ¢ � � ­ � � £ � § ¸ ® � ¢ £ ¢ � ¢ � »¬ � � ¢ ©   � £ ¥ � �   � ¯ µ ¸ « ¥ � ª � ¤ £ � £ � � ³ � ª � »   � � � � ¢ � ¯ ª   � ª � ­ ¢ £ ª � � � � � ª ®   ¤ ¢ � � ¯ ª ® � � © � ¢ ® �� � � �   ¤ ¬   ¯ � � �   ¤ � ¥ ¤ £ � � � £ £ § ¿ � � £ ­ � � © ¢ ® � ­   ¢ � � ¢ � � � � £ � � � ¬ ­   � ¢ � � ¢ ¦ � £ ¢ £ ¢ � ­ § À Á ¤ � � � �� £ � ¬ ­   � ¢ � � ¢ « ¢ ®   ¤ © ® « � £ ¤ � ¯ � � £ ¢ � � ¯ � � © � ® � ¢ ¹ £ � � ³   � ³ � ¯ � � ¢ ® � � � � � � � � © ¢ ® � £ ­   ¢ � � ¢ � � � §¸ ® � ¢ ¢ � º � £ ¤ £ ¥ � ª º ¢   � � ¢ � © � � ¢ �   � £ ¢ � � ¢ � © � §1.1.4 Service-Oriented Architecture and the hammer¾ � ¡   � ¢ ¤ � � ¢ � � � « ¢ ® � ¬ �    � � ¢ �   ¡ ª   � ­   � � ¢ � µ ¸ ¯ � ­ � � ¢ ¬ � � ¢ £ ¯   �   ¢ � ¬ ­ �   � � � � ¡   � ¬�  ¡� � ¢ � © � � ¢ �   �   � ¬ � © � � ¢ �   � £ ¢ � � ¢ � © � § ¶ � ¢ ®   ¤ ¢ � ­ � � � � � ¯ � � ¢ � © � � ¢ �   � « £ ¢ � � ¯ � � ¯ £ ª � � �   ¢ ¥ �­   £ � ¢ �   � � ¯ « � � ¯ ¢ ® � � � £ ¤ � ¢ � � © � ¯ ®   ª ¤ £ � © �   ¡ ¢ ® � £ � ¢ � ª ® �   �   © � � £   � � � � � ¯ £ ¤ ­ ª   � ¢ � � ¥ »¤ ¢ � � © ¢   � ½ � £ ¢ � � © ¯ � £ ­ � � � ¢ � § µ ¢ ¹ £ ¢ ® � � Á ¤ � ³ � � � � ¢   ¡ ª   � £ ¢ � ¤ ª ¢ �   � �   � º � � £ ¥ ¤ � � ¯ � � © � ®   ¬ �� � ¢ ®   ¤ ¢ ¯ � � � ª ¢ �   � � � ¯ � � ¢ ®   ¤ ¢ � ¥ � ¤ � ­ � � � ¢ § ¶ � ¢ ® ¢ ® � � ¥ £ � � ª �   ¡ � ­ � � � � � ¯ � � ¯ ª     � ¯ � »� � ¢ � ¯ � ¡ ¡   � ¢ « � © �   ¤ ­   ¡ ® � ¬ ¬ � � � � © �   � º � � £ � � � � �   ¢   � � � Ã Ä Å ª � � � ¢ � � Á ¤ � � � ¢ � ¡   ¤ � ¯ � »¢ �   � « ¢ ® � � �   � ¹ ¢ ¥ � ¥ ¤ � � ¯ � � © � � � ¢ ® � � © � � £ � ¬ ¥ � � � © � ¡   ¤ � ¯ � ¢ �   � � ¢ � � � §

erl_ch01.fm Page 3 Tuesday, March 16, 2004 12:27 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 18: Service-Oriented Architecture

4 Chapter 1 • Introduction

1.1.5 The hammer and youÆ Ç È É Ç Ê Ë Ì Í Ì Î Ë Ï Ì Ç Ð É Ñ Ò È Ê Ó Î Ò Ï Ô Ê Õ Ë Ê Ò Ñ Ð Ò Ï+Ç Ò Ö Ê × Ç Ì Î Ø Ò È Ù Ò È É Ç Ê Ú Û Ü Ý Þ Ê Ö × Ê È ß Ì Ø Ê × Ý É Î Õ× Ê È ß Ì Ø Ê à Ò È Ì Ê Î Ç Ê Õ Õ Ê × Ì Ë Î Ù È Ì Î Ø Ì Ù Ô Ê × Ì Î Ç Ò Ç Ð Ê ß É È Ì Ò á × Õ Ò â É Ì Î × Ç Ð É Ç â É Ó Ê á Ù ã Ò á È É á Ç Ò àâ É Ç Ê Õ Ê Î Ç Ê È Ù È Ì × Ê Ý Ð Ò Ï Ê ß Ê È Ý Ï Ì Ô Ô Ù á Ç ã Ò á Ò Î É Ù É Ç Ð É Ç Ç Ð Ê Ê Î Õ Ò Ñ Ï Ð Ì Ø Ð Ô Ì Ê × É × Ò Ù Ð Ì × Ç Ì àØ É Ç Ê Õ É Î Õ É Õ É Ù Ç Ì ß Ê É á Ç Ò â É Ç Ì Ò Î Ê Î ß Ì È Ò Î â Ê Î Ç ä å Ç Ï Ì Ô Ô É Ô Ô Ò Ï ã Ò á Ç Ò Ç È É Î × Ì Ç Ì Ò Î Ç Ò Ï É È Õ É ÎÌ Î Ç Ê Ë È É Ç Ê Õ Ê Î Ç Ê È Ù È Ì × Ê Ï Ì Ç Ð × á Ù Ê È Ì Ò È Õ É Ç É × Ð É È Ì Î Ë É Î Õ á Î Ù È Ê Ø Ê Õ Ê Î Ç Ê Õ Ø Ò Î Ç È Ò Ô Ò Ñ ã Ò á ÈØ Ò È Ù Ò È É Ç Ê Ö á × Ì Î Ê × × â Ò Õ Ê Ô × äæ Ð Ì × Ë á Ì Õ Ê Ì × ã Ò á È â É Ù ä æ Ð Ê × Ç È É Ç Ê Ë Ì Ê × Ý È Ê Ø Ò â â Ê Î Õ É Ç Ì Ò Î × Ý É Î Õ Ö Ê × Ç Ù È É Ø Ç Ì Ø Ê × Ù È Ò ß Ì Õ Ê ÕÐ Ê È Ê Ø Ò Ô Ô Ê Ø Ç Ì ß Ê Ô ã Ñ Ò È â�É Ñ È É â Ê Ï Ò È Ó Ç Ð É Ç Ò Ñ Ñ Ê È × Õ Ì È Ê Ø Ç Ì Ò Î É Î Õ Ë á Ì Õ É Î Ø Ê Ç Ð È Ò á Ë Ð Ç Ð ÊÇ Ï Ì × Ç × É Î Õ Ç á È Î × É Ô Ò Î Ë Ç Ð Ê È Ò É Õ Ç Ò Ö á Ì Ô Õ Ì Î Ë × Ê È ß Ì Ø Ê à Ò È Ì Ê Î Ç Ê Õ É È Ø Ð Ì Ç Ê Ø Ç á È Ê É Î Õ Ý á Ô Ç Ì àâ É Ç Ê Ô ã Ý É × Ê È ß Ì Ø Ê à Ò È Ì Ê Î Ç Ê Õ Ê Î Ç Ê È Ù È Ì × Ê ä Æ Ò Ý Ë È É Ö ã Ò á È Ð É â â Ê È É Î Õ Ê Î ç Ò ã Ç Ð Ê È Ì Õ Ê è

1.2 The XML & Web Services Integration Framework (XWIF)é × É Î Ì Î Õ Ê Ù Ê Î Õ Ê Î Ç Ø Ò Î × á Ô Ç É Î Ç Ý å ê ß Ê Ï Ò È Ó Ê Õ Ñ Ò È â É Î ã Ø Ò â Ù É Î Ì Ê × ä Û Ò È Ê Ò Ñ Ç Ê Î Ç Ð É Î Î Ò Ç Ýå ê ß Ê Ö Ê Ê Î Ù É È Ç Ò Ñ Ù È Ò ç Ê Ø Ç × Ç Ð É Ç Ì Î ß Ò Ô ß Ê Õ Ð Ì Ë Ð Ô ã Ø Ò â Ù Ô Ê ë Ê Î ß Ì È Ò Î â Ê Î Ç × Ý á Î Ì ì á Ê Ù È Ò Ö àÔ Ê â × Ý É Î Õ Õ Ì Ñ í Ø á Ô Ç Ì Î Ç Ê Ë È É Ç Ì Ò Î Ì × × á Ê × ä Æ Ò Ô á Ç Ì Ò Î × Ñ È Ê ì á Ê Î Ç Ô ã È Ê ì á Ì È Ê Õ É Î Ê Ô Ê â Ê Î Ç Ò Ñ Ø È Ê àÉ Ç Ì ß Ì Ç ã+Ç Ð É Ç ß Ê Î Ç á È Ê Õ Ö Ê ã Ò Î Õ Ç È É Õ Ì Ç Ì Ò Î É Ô â Ì Î Õ × Ê Ç Ö Ò á Î Õ É È Ì Ê × ä Û É Î ã Ò Ñ Ç Ð Ê Ì Õ Ê É ×Ê ë Ù È Ê × × Ê Õ Ì Î Ç Ð Ì × Ë á Ì Õ Ê Ý Ç Ð Ê È Ê Ñ Ò È Ê Ý â É ã Ö Ê Î Ê Ï+Ç Ò ã Ò á Ý É Î Õ Ð Ò Ù Ê Ñ á Ô Ô ã Ï Ì Ô Ô Ù È Ò ß Ì Õ Ê ã Ò áÏ Ì Ç Ð É Ô Ç Ê È Î É Ç Ì ß Ê Ù Ê È × Ù Ê Ø Ç Ì ß Ê × Ç Ò Ø Ò â â Ò Î Ì Î Ç Ê Ë È É Ç Ì Ò Î Ù È Ò Ö Ô Ê â × äæ Ð Ê Ø Ò Î Ç Ê Î Ç × Ò Ñ Ç Ð Ì × Ö Ò Ò Ó É È Ê Ù É È Ç Ò Ñ É Î Ì Î Ç Ê Ë È É Ç Ì Ò Î Ñ È É â Ê Ï Ò È Ó Ç Ð É Ç å ê ß Ê Ö Ê Ê Î Õ Ê ß Ê Ô Ò Ù àÌ Î Ë Ñ Ò È É Î á â Ö Ê È Ò Ñ ã Ê É È × Ç Ð È Ò á Ë Ð â ã Ø Ò â Ù É Î ã Ý Ú Û Ü æ î î Ò Î × á Ô Ç Ì Î Ë å Î Ø ä æ Ð Ê Ú Û Ü ïÞ Ê Ö Æ Ê È ß Ì Ø Ê × å Î Ç Ê Ë È É Ç Ì Ò Î ð È É â Ê Ï Ò È Ó ñ Ú Þ å ð ò Ø Ò Î × Ì × Ç × Ò Ñ É Î Ê Î Ç Ê È Ù È Ì × Ê × Ç É Î Õ É È Õ Ì Í É Ç Ì Ò Î× Ç È É Ç Ê Ë ã Ý × á Ù Ù Ò È Ç Ê Õ Ö ã É × Ê È Ì Ê × Ò Ñ Ö Ê × Ç Ù È É Ø Ç Ì Ø Ê × Ý Ì Î Ç Ê Ë È É Ç Ì Ò Î × Ç È É Ç Ê Ë Ì Ê × Ý É Î Õ Ù È Ò Ø Ê × × Ê × Ñ Ò ÈÙ Ô É Î Î Ì Î Ë É Î Õ Õ Ê Ô Ì ß Ê È Ì Î Ë × Ê È ß Ì Ø Ê à Ò È Ì Ê Î Ç Ê Õ Ì Î Ç Ê Ë È É Ç Ì Ò Î Ù È Ò ç Ê Ø Ç × äó É Ø Ð Ù Ì Ê Ø Ê Ò Ñ Ç Ð Ì × Ø Ò Ô Ô Ê Ø Ç Ì ß Ê Ì Î Ç Ê Ô Ô Ì Ë Ê Î Ø Ê Ì × Õ Ê × Ì Ë Î Ê Õ Ï Ì Ç Ð Ç Ð Ê Ø Ò â â Ò Î Ë Ò É Ô Ò Ñ Ç È É Î × Ì àÇ Ì Ò Î Ì Î Ë É Î Ò È Ë É Î Ì Í É Ç Ì Ò Î Ç Ò Ï É È Õ É × Ê È ß Ì Ø Ê à Ò È Ì Ê Î Ç Ê Õ Ê Î Ç Ê È Ù È Ì × Ê ä

Û á Ø Ð Ò Ñ Ï Ð É Ç Ú Þ å ð Ù È Ê É Ø Ð Ê × Ì × É Ø Ò â â Ò Î à × Ê Î × Ê É Ù Ù È Ò É Ø Ð Ç Ò È Ê × Ò Ô ß Ì Î Ë Ç ã Ù Ì Ø É Ô Ì Î Ç Ê Ë È É àÇ Ì Ò Î Ì × × á Ê × Ï Ì Ç Ð Ú Û Ü É Î Õ Þ Ê Ö × Ê È ß Ì Ø Ê × ä Æ Ò â Ê Ò Ñ Ç Ð Ê Ë á Ì Õ Ê Ô Ì Î Ê × Ù È Ò ß Ì Õ Ê Õ É È Ê Ì Î á × ÊÊ Ô × Ê Ï Ð Ê È Ê Ì Î Ç Ð Ê Ì Î Õ á × Ç È ã Ý Ï Ð Ê È Ê É × Ò Ç Ð Ê È × É È Ê á Î Ì ì á Ê Ç Ò Ú Þ å ð ä Û É Î ã Ö Ê × Ç Ù È É Ø Ç Ì Ø Ê × É Î Õ

Table 1.1 An Overview of XWIF

XML & Web Services Integration Frameworkô õ ö ÷ ø ù ú û ÷ ü û õ ö ý ÷ ú þ ÿ ú ù ÿ ö � ù � û õ ö ö õ öý ÷ ù ú ÷ õ � ü õ ö ý õ ù � ü û õ � � ÿ õ � ö � � � õ ö

erl_ch01.fm Page 4 Tuesday, March 16, 2004 12:27 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 19: Service-Oriented Architecture

How this guide is organized 5

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � �

1.3 How this guide is organized � � ! � � � " � � � � � � � � � � � � � � � � � � # $ � � � � % � � � � � � & � � � � � $ � � � � � � � � � � � �� � � � � � � � � � � � ' � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � $ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ( � � � � � � � � � � � � ) * + � , � $ � � � � � � � � �� � � � � ' � � � � � � � � � � � � � � �- � # � � � � � � $ � � � � � � � � � � � � $ � � � � � � � � � � � � � # � � � � � � � � � � $ � � � � � � � � � � '� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � . � #� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � '� � � ) * + � � , � $ � � � � � � � � � � � � � � � �/ � � � � � � � � � � � � � � � � � � � � � � � � � # � � � � � � � � � � � � � � � � � � $ � � � � $ � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 0 � � � � � � � � � � � � �- � � � � � � $ � � � � � � � � � � # � � � � � � � � � � � � � 0 � � � � ) , # ! � � � � � � � � � $ � � � � � '� � � � � � � . � � # # � # # # � � � # 1 � � � � � � � � � � � ! � � � 2 � 2 �

NOTE

This book isn’t about XWIF, nor does it discuss this framework in any detail.Much of the information provided here was borrowed from XWIF and assem-bled into this generic field guide. To learn more about XWIF, visitwww.xwif.com.

� 354 6 7 8 9 : ; < = : 9 : 7 > ? @ A 7 B ; ? C D E ; F F @ E D ; 8 @ G G H ? 7 > 7 ? 7 8 F 7 I 9 : ? ; < = : ; < 9 9 : D E J ; ; C K L M 6 7 @ 6 ; D I 7 I N ? 7 > D O D 8 =7 6 7 ? H E D 8 = G 7 E 9 ? @ 9 7 = H K N ? ; F 7 E E K @ 8 I J 7 E 9 N ? @ F 9 D F 7 B D 9 : P Q R L S 3 T

Figure 1.1Three categories representing Parts II, III, and IV of this guide.

Technologies

Applications

Enterprise

strategies for integrating XMLand Web services technologyinto single applicationenvironments (Part II)

strategies for integratingapplications using XML and Webservices technology (Part III)

best practices for XMLand Web services

integration, andtechniques for building

and migrating to aservice-oriented

enterprise (Part IV)

erl_ch01.fm Page 5 Tuesday, March 16, 2004 12:27 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 20: Service-Oriented Architecture

6 Chapter 1 • Introduction

U V W V X Y Z [ \ X ] ^ W V _ V W V ` ] V a b V W b X V c a _ c d Z e X Y ] a b V W V f X ` V Z ] d g Z W e Z ` f ] d Z g e V W h

1.3.1 Part I: The technical landscapei V Z W j k l m n o p Z ` f q V r Y V W b X ] V Y Y g V ] X s ] Z e X a ` Y Z W V f X Y ] \ Y Y V f e d W a \ t d a \ e e d X Y g Z W e a _e d V r a a ^ u c X e d Z _ a ] \ Y a ` e d V v w ] a W V Y e Z ` f Z W f Y j X Y e V f X ` x Z r j V v h y h

i a e V e d Z e z d Z g e V W l Z j Y a ] a b V W Y ` \ { V W a \ Y ] a ` ] V g e Y W V j Z e X ` t e a e d V q V r Y V W b X ] V Y _ W Z { V |c a W ^ u X ` ] j \ f X ` t }

~ W V [ \ V Y e a W Z ` f g W a b X f V W W a j V Y~ X ` e V W { V f X Z W X V Y~ X ` X e X Z j Y V ` f V W Z ` f \ j e X { Z e V W V ] V X b V W W a j V Y~ { V Y Y Z t V g Z e d Y~ { V Y Y Z t V V � ] d Z ` t V g Z e e V W ` Y~ ] a W W V j Z e X a `~ ] d a W V a t W Z g d k~ Z ] e X b X e X V Y

� j Y a ` a e V e d Z e z d Z g e V W l X ` e W a f \ ] V Y Y V W b X ] V | a W X V ` e V f Z W ] d X e V ] e \ W V � � � � � ] a ` ] V g e Y h p Z e V W uz d Z g e V W v � ] a ` e X ` \ V Y e d X Y f X Y ] \ Y Y X a ` c X e d Z f V e Z X j V f e \ e a W X Z j a ` � � � f V Y X t ` g W X ` ] X g j V Y h

Table 1.2 Reference Matrix of Technology Tutorials

XML technologies (Chapter 2)

Web services technologies(Chapter 3)

Second-generation Web services technologies

(Chapter 4)� � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � �� � � � � � � �   � ¡ � � � ¢� £ ¡   � ¢ � � � ¤   ¥ � � ¦ ¥   �   � � � § � � §� � � � ¨ � � � � � ¥ � � ¢

� � � � � � � � ¨ ©   � � �� � � � � � �   � � � � §

erl_ch01.fm Page 6 Tuesday, March 16, 2004 12:27 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 21: Service-Oriented Architecture

How this guide is organized 7

1.3.2 Part II: Integrating technologyª « « ¬ ­ ® ¯ ° ¯ ± ° ² ³ ´ µ ¶ · ¸ ¹ º » ´ ¼ ½ ½ ¾ ­ ¯ ¿ ¯ µ « ¼ ¬ µ « ¾ ­ À µ ­ Á ¼ ­ À ° ¾ « ¼ ­ « ° ¯ ² Â µ » À À Â ° ¾ » ¼ ° ­ ¯ µ ¯ Ã ° ´ ­ ¯ ÄÅ µ ¯ ¼ « ° ¯ ­ ´ Æ µ ´ ¼ ­ Á ­ ¾ ³ « ­ ¯ « ¼ ´ » ¼ µ ² ° µ « Á ­ ´ ° ¯ ¼ µ ² ´ » ¼ ° ¯ ² ¼ µ ¾ ¬ ¯ ­ Â ­ ² Ç ® ° ¼ ¬ ° ¯ » À À Â ° ¾ » ¼ ° ­ ¯ ¼ ° µ ´ « ·

È ° ¼ ¬ ° ¯ º » ´ ¼ ½ ½ ® µ ¾  µ » ´ Â Ç « µ À » ´ » ¼ µ ° ¯ ¼ µ ² ´ » ¼ ° ­ ¯ ° « « ³ µ « ´ µ  » ¼ ° ¯ ² ¼ ­ É Ê Ë » ¯ Æ È µ Ì « µ ´ à ° ¾ µ « ·Í ¬ ° « »   ­ ® « É Ê Ë « ¼ ´ » ¼ µ ² ° µ « ¼ ­ Ì µ ³ « µ Æ ° ¯ Æ µ À µ ¯ Æ µ ¯ ¼ Â Ç ­ Á « µ ´ à ° ¾ µ Ä ­ ´ ° µ ¯ ¼ µ Æ µ ¯ à ° ´ ­ ¯ Å µ ¯ ¼ « ¹° Á ´ µ Î ³ ° ´ µ Æ ·Ï Ð Ñ Ò Ó Ô Õ Ñ Ö Ð Ó × Ø Ù Ö Ð Ñ Ú Õ Û Û Ü Ö Ý Õ Ñ Ö Ú Ð Þ ß à á Õ Û Ñ Ò Ô â ãÍ ¬ µ « ¾ ­ À µ ­ Á ¼ ¬ ° « ¾ ¬ » À ¼ µ ´ ° « ¼ ¬ µ ° ¯ ¼ µ ² ´ » ¼ ° ­ ¯ ­ Á ¾ ­ ´ µ É Ê Ë ¼ µ ¾ ¬ ¯ ­  ­ ² ° µ « ® ° ¼ ¬ ¼ ¬ µ À ³ ´ À ­ « µ­ Á µ « ¼ » Ì Â ° « ¬ ° ¯ ² » Á ³ ¯ Æ » Å µ ¯ ¼ » Â Æ » ¼ » Å » ¯ » ² µ Å µ ¯ ¼ » ´ ¾ ¬ ° ¼ µ ¾ ¼ ³ ´ µ · ä ³ Å µ ´ ­ ³ « « ¼ ´ » ¼ µ ² ° µ « Á ­ ´» Æ Æ ´ µ « « ° ¯ ² ¾ ­ Å Å ­ ¯ ° ¯ ¼ µ ² ´ » ¼ ° ­ ¯ ° « « ³ µ « » ´ µ À ´ ­ à ° Æ µ Æ ¹ ­ ´ ² » ¯ ° å µ Æ » ¾ ¾ ­ ´ Æ ° ¯ ² ¼ ­ ¼ ¬ µ Á ³ ¯ ¾ ļ ° ­ ¯ »  » ´ µ » « Å ­ « ¼  ° æ µ Â Ç ¼ ­ Ì µ » Á Á µ ¾ ¼ µ Æ Ì Ç ¼ ¬ µ ° ¯ ¼ µ ² ´ » ¼ ° ­ ¯ ¹ » « Á ­   ­ ® « ç

è É Ê Ë Æ » ¼ » ´ µ À ´ µ « µ ¯ ¼ » ¼ ° ­ ¯ « ¼ ´ » ¼ µ ² ° µ « Á ­ ´ ¾ ­ ¯ ¾ µ À ¼ ³ » Â Â Ç » ¯ Æ ¼ µ ¾ ¬ ¯ ° ¾ » Â Â Ç ° ¯ ¾ ­ ´ À ­ ´ » ¼ ° ¯ ²É Ê Ë » « » Æ » ¼ » ´ µ À ´ µ « µ ¯ ¼ » ¼ ° ­ ¯ Á ­ ´ Å » ¼ » ¯ Æ Æ µ  ° à µ ´ Ç Å µ ¾ ¬ » ¯ ° « Åè É Ê Ë Æ » ¼ » à »  ° Æ » ¼ ° ­ ¯ « ¼ ´ » ¼ µ ² ° µ « ¼ ¬ » ¼ µ é À  ­ ´ µ ¼ ¬ µ ³ ¼ °  ° å » ¼ ° ­ ¯ ­ Á « ¾ ¬ µ Å » Æ µ ¿ ¯ ° ¼ ° ­ ¯ « ¹® ° ¼ ¬ » ¯ µ Å À ¬ » « ° « ­ ¯ É ê ëè » ¯ É Ê Ë « ¾ ¬ µ Å » » Æ Å ° ¯ ° « ¼ ´ » ¼ ° ­ ¯ À ´ ­ ¾ µ « « ¼ ¬ » ¼ ¬ ° ² ¬  ° ² ¬ ¼ « ¼ ¬ µ ° Å À ­ ´ ¼ » ¯ ¾ µ ­ Á¾ µ ¯ ¼ ´ »  ° å ° ¯ ² ­ ® ¯ µ ´ « ¬ ° À ­ Á É Ê Ë « ¾ ¬ µ Å » Æ µ ¿ ¯ ° ¼ ° ­ ¯ «

Figure 1.2The three chapters in Part II roughly correspond to the three backend tiers of a distributed application architecture.

Integrating Web servicesinto applications

(Chapter 6)

Integrating XMLinto applications

(Chapter 5)

businessintegration

Integrating XMLand databases

(Chapter 7)

data

erl_ch01.fm Page 7 Tuesday, March 16, 2004 12:27 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 22: Service-Oriented Architecture

8 Chapter 1 • Introduction

ì í î ï ð ñ ò ó ô õ ö ñ ÷ ò ð ø ö ó ô ð ñ ò ð ù ú ø ù ô ð û ò ð ü ö ý ù ñ ð û ù ø ó ð ù ú ñ ò ð ø ö ó ö õ í þ ï ÿ õ ö ñ ô ð ñ � ü ð � ñ ò � ò ó �ò ù ô ð û ù ð ø ü ð ñ ò ó ô õ ö ñ ÷ ò ð ø ö ó ö õ í î ï � ö ü � ÷ ù ó ð ôì í î ï � ò ð ò � � ù ñ � ø ó ú ô ð ñ ò ð ù ú ø ù ô ð û ò ð � ö ô ø ð ø ö ó í � � ù ñ � ò ô ò ð ù ü û ó ö � ö ú � ð ö ü ù ó ð ñ ò � ø � ù ò ó �ò � ô ð ñ ò ü ð � ò ð ò ò ü ü ù ô ô � ö ú ø ü

ÿ û ù ô ù ô ù ü ð ø ö ó ô ò ô ô � ÷ ù � ö � û ò ý ù ò � ò ô ù ó ö � ù � ú ù ö õ ð û ù � ø ô ü � ô ô ù � ð ù ü û ó ö � ö ú ø ù ô � � õ � ö �� ö ó ð � � ö � ô û ö � � � ô ð � � � ð û ù ð � ð ö ñ ø ò � ô ø ó � û ò � ð ù ñ � � ñ ô ð �� � � � � � � � � � � � � � � � � � � � � � � � � � � ! � � � � � � � � " # $ � � � � % &' ù ñ ù ù õ ö ü � ô ö ó õ � ó � ò ÷ ù ó ð ò � � ù ô ø ú ó ü ö ó ü ù � ð ô ð û ò ð ò � � ö � ö � ð ö ù ô ð ò � � ø ô û ò õ ö � ó � ò (ð ø ö ó õ ö ñ ò ô ù ñ ý ø ü ù ( ö ñ ø ù ó ð ù � ò ñ ü û ø ð ù ü ð � ñ ù � ò ó � � ñ ù � ò ñ ù ò ó ò � � � ø ü ò ð ø ö ó õ ö ñ õ � ð � ñ ù ø ó ð ù ñ ö � ù ñ (ò � ø � ø ð � � ÿ û ù ô ü ö � ù ö õ ð û ø ô ü û ò � ð ù ñ � ð û ù ñ ù õ ö ñ ù � ø ô � ø ÷ ø ð ù � ð ö ð û ù ø ó ð ù ú ñ ò ð ø ö ó ö õ ) ù � ô ù ñ ý ø ü ù ôð ù ü û ó ö � ö ú � ø ð û ø ó ò � � � ø ü ò ð ø ö ó ù ó ý ø ñ ö ó ÷ ù ó ð ô �ÿ û ù õ ö � � ö ø ó ú í ) � * ô ù ñ ý ø ü ù ÷ ö � ù � ô ò ñ ù ù ô ð ò � � ø ô û ù � +

ì � ð ø � ø ð � ô ù ñ ý ø ü ù ôì � � ô ø ó ù ô ô ô ù ñ ý ø ü ù ôì ü ö ó ð ñ ö � � ù ñ ô ù ñ ý ø ü ù ô

í ) � * ò � ô ö ô � � � � ø ù ô � ô ø ð û ð û ù ô ù ð ö ÷ ö � ù � ø ó ú � ñ ö ü ù ô ô ù ô +

ì ÷ ö � ù � ø ó ú ô ù ñ ý ø ü ù ( ö ñ ø ù ó ð ù � ü ö ÷ � ö ó ù ó ð ü � ò ô ô ù ôì ÷ ö � ù � ø ó ú ) ù � ô ù ñ ý ø ü ù ø ó ð ù ñ õ ò ü ù ô

, ü ö � � ù ü ð ø ö ó ö õ ø ó ð ù ú ñ ò ð ø ö ó ò ó � ö � ð ø ÷ ø � ò ð ø ö ó ô ð ñ ò ð ù ú ø ù ô ò ñ ù � ñ ö ý ø � ù � ó ù - ð � ò � � ñ ù ô ô ø ó úð û ù � ô ù ö õ ô ù ñ ý ø ü ù ò ô ô ù ÷ � � ø ù ô � ) ù � ô ù ñ ý ø ü ù ô � ù ñ õ ö ñ ÷ ò ó ü ù � ò ó � ø ó ð ù ñ õ ò ü ù � ù ô ø ú ó �� � � � � � � � � � � . / 0 � � 1 1 � � � � � � � � " # $ � � � � 2 &í î ï ö � ù ó ô � � ò û ö � ù ó ù 3 ö ñ � � ö õ � ò ð ò ÷ ö � ù � ø ó ú ð û ò ð ü ö ó ð ñ ò ô ð ô ð ñ ò � ø ð ø ö ó ò �ò � � ñ ö ò ü û ù ô ð ö ô ð ñ � ü ð � ñ ø ó ú ò ó � � ù � ó ø ó ú ô ü û ù ÷ ò ô � ÿ û ø ô ü û ò � ð ù ñ ø ô � ù � ø ü ò ð ù � ð ö ù - � � ö ñ (ø ó ú ð ù ü û ó ø � � ù ô õ ö ñ ø ó ð ù ú ñ ò ð ø ó ú ð û ù û ø ù ñ ò ñ ü û ø ü ò � ô ð ñ � ü ð � ñ ù ö õ í î ï � ö ü � ÷ ù ó ð ô ø ð û ð ñ ò (� ø ð ø ö ó ò � ñ ù � ò ð ø ö ó ò � ñ ù � ö ô ø ð ö ñ ø ù ô � þ ø ó ü ù ð û ø ô ø ô ò ü ö ÷ ÷ ö ó ò ñ ù ò õ ö ñ û ø ü û ó ö � ù � ú ù ò ó �ñ ù ô ö � ñ ü ù ô ð � � ø ü ò � � � ò ñ ù � ø ÷ ø ð ù � � ù ù - � � ö ñ ù ø ô ô � ù ô ø ð û ÷ ö ñ ù ô � ó ð ò ü ð ø ü ò � � ù ð ò ø � ð û ò ó ø óö ð û ù ñ ü û ò � ð ù ñ ô �* ø ñ ô ð � ù ü ö ÷ � ò ñ ù í î ï ò ó � ñ ù � ò ð ø ö ó ò � � ò ð ò � ò ô ù ô ø ó ö ñ � ù ñ ð ö ù ô ð ò � � ø ô û ð û ù ø ñ õ � ó � ò ÷ ù ó ð ò �� ø õ õ ù ñ ù ó ü ù ô ò ó � ð ö ü ö ó ð ñ ò ô ð û ö ù ò ü û � � ò ð õ ö ñ ÷ ñ ù � ò ð ù ô ð ö ò ó � ÷ ò ó ò ú ù ô � ò ð ò � 4 ù - ð � ð û ù� ò ô ø ü ô ö õ � ò ð ò ÷ ò � � ø ó ú ò ñ ù ü ö ý ù ñ ù � � ò ô ù � � ò ô ø ô ô � ù ô ñ ù � ò ð ø ó ú ð ö � ù ñ õ ö ñ ÷ ò ó ü ù ò ó � � � ò ð õ ö ñ ÷

erl_ch01.fm Page 8 Tuesday, March 16, 2004 12:27 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 23: Service-Oriented Architecture

How this guide is organized 9

5 6 7 8 9 : 6 ; < = > ? ; @ ? A B ? ; 6 A ; C ; @ ? 5 ? ; 9 6 D 7 C E F 9 8 8 6 A B ; @ ? @ 6 ? : 9 : G @ 6 G 9 D H I J 5 9 ; 9 F C 5 ? D ; C: ? D 9 ; 6 C A 9 D 5 9 ; 9 K 9 7 ? 7 =L 6 A 9 D D < M N ? ; 9 O ? 9 D C C O 9 ; ; @ ? G C F F C A N 9 < 7 6 A N @ 6 G @ G P : : ? A ; 5 9 ; 9 K 9 7 ? 8 : C 5 P G ; 7 7 P 8 Q8 C : ; H I J ; @ : C P B @ ; @ ? P 7 ? C E 8 : C 8 : 6 ? ; 9 : < ? R ; ? A 7 6 C A 7 = S @ ? 6 F 8 D 6 G 9 ; 6 C A 7 C E P 7 6 A B ; @ ? 7 ?? R ; ? A 7 6 C A 7 M 9 D C A B N 6 ; @ 7 C F ? ; ? G @ A 6 T P ? 7 C A @ C N ; C F 6 ; 6 B 9 ; ? ; @ ? 6 : 6 F 8 9 G ; M 9 D 7 C 9 : ? 8 : C QU 6 5 ? 5 = S @ 6 7 G @ 9 8 ; ? : G C A G D P 5 ? 7 N 6 ; @ 9 A C U ? : U 6 ? N C E A 9 ; 6 U ? H I J 5 9 ; 9 K 9 7 ? 7 =

1.3.3 Part III: Integrating applications> ? A C NVG 9 : : < ; @ ? 5 6 7 G P 7 7 6 C A E C : N 9 : 5 6 A ; C ; @ ? : ? 9 D FWC E 9 8 8 D 6 G 9 ; 6 C A 6 A ; ? B : 9 ; 6 C A = S @ ?G @ 9 8 ; ? : 7 6 A X 9 : ; Y Y Y 9 : ? 9 D F C 7 ; ? A ; 6 : ? D < G ? A ; ? : ? 5 9 : C P A 5 ; @ ? P 7 ? C E > ? K 7 ? : U 6 G ? 7 M 9 7A P F ? : C P 7 ; : 9 5 6 ; 6 C A 9 D 9 A 5 7 ? : U 6 G ? Q C : 6 ? A ; ? 5 6 A ; ? B : 9 ; 6 C A 7 G ? A 9 : 6 C 7 9 : ? ? R 8 D C : ? 5 9 A 5G C A ; : 9 7 ; ? 5 = L 6 B P : ? Z = [ 6 D D P 7 ; : 9 ; ? 7 ; @ ? 7 G C 8 ? C E X 9 : ; Y Y Y G @ 9 8 ; ? : 7 M 9 7 ; @ ? < : ? D 9 ; ? ; C 9 8 8 D 6 QG 9 ; 6 C A ; 6 ? : 7 =\ ] ^ _ ^ ` ] a b c ` d e f a g g h c ` a i c e b c b i ^ j k a i c e b l m ] a g i ^ k n oL P A 5 9 F ? A ; 9 D 6 A ; ? B : 9 ; 6 C A G C A G ? 8 ; 7 9 : ? 6 A ; : C 5 P G ? 5 M 9 A 5 ; @ ? 5 6 E E ? : ? A G ? 7 K ? ; N ? ? A ; : 9 5 6 Q; 6 C A 9 D 9 A 5 G C A ; ? F 8 C : 9 : < 9 8 8 D 6 G 9 ; 6 C A 6 A ; ? B : 9 ; 6 C A 9 : G @ 6 ; ? G ; P : ? 7 9 : ? 5 6 7 G P 7 7 ? 5 = S @ 6 7 G @ 9 8 Q; ? : 6 7 F C : ? C E 9 8 : 6 F ? : E C : G : C 7 7 Q 9 8 8 D 6 G 9 ; 6 C A 6 A ; ? B : 9 ; 6 C A M 9 7 6 ; 9 D 7 C 8 : C U 6 5 ? 7 9 B P 6 5 ? ; CF 6 5 5 D ? N 9 : ? 8 : C 5 P G ; 7 M 9 A 5 ? R 8 D C : ? 7 G C F F C A 8 9 ; @ 7 E C : ? U C D U 6 A B 9 A ? A ; ? : 8 : 6 7 ? 6 A ; ? B : 9 Q; 6 C A ? A U 6 : C A F ? A ; =Y E 6 A ; ? B : 9 ; 6 C A 9 : G @ 6 ; ? G ; P : ? 6 7 A ? NV; C < C P M Y : ? G C F F ? A 5 < C P : ? 9 5 ; @ : C P B @ ; @ 6 7 G @ 9 8 ; ? :8 : 6 C : ; C 8 : C G ? ? 5 6 A B N 6 ; @ p @ 9 8 ; ? : 7 q 9 A 5 Z r =s ^ k t c ` ^ u e k c ^ b i ^ v a k ` ] c i ^ ` i w k ^ d f e k h ^ j a ` x c b i ^ j k a i c e b l m ] a g i ^ k y oz ? : ? N ? 5 6 U ? 6 A ; C ; @ ? F P D ; 6 Q U 9 : 6 ? 5 N C : D 5 C E D ? B 9 G < 6 A ; ? B : 9 ; 6 C A 9 : G @ 6 ; ? G ; P : ? 7 = > ? K ? B 6 AK < 5 ? 7 G : 6 K 6 A B ; @ ? E C D D C N 6 A B 7 ? ; C E H > Y L 7 ? : U 6 G ? 7 F C 5 ? D 7 {

| 8 : C R < 7 ? : U 6 G ? 7| N : 9 8 8 ? : 7 ? : U 6 G ? 7| G C C : 5 6 A 9 ; 6 C A 7 ? : U 6 G ? 7 } E C : 9 ; C F 6 G ; : 9 A 7 9 G ; 6 C A 7 ~

> ? ; @ ? A ? R 8 D 9 6 A ; @ ? : C D ? 7 C E G C F F C A 6 A ; ? B : 9 ; 6 C A G C F 8 C A ? A ; 7 M 6 A G D P 5 6 A B {

| D ? B 9 G < 9 5 9 8 ; ? : 7| 6 A ; ? : F ? 5 6 9 : < 7 ? : U 6 G ? 7| 7 ? : U 6 G ? 6 A ; ? : G ? 8 ; C : 7

erl_ch01.fm Page 9 Tuesday, March 16, 2004 12:27 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 24: Service-Oriented Architecture

10 Chapter 1 • Introduction

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Figure 1.3The architectural scopes of Part III chapters.

Service-oriented architectures for legacy integration(Chapter 9)

Service-oriented architectures for enterprise integration(Chapter 10)

The mechanics of application integration(Chapter 8)

business business

integration businessbusiness

erl_ch01.fm Page 10 Tuesday, March 16, 2004 12:27 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 25: Service-Oriented Architecture

How this guide is organized 11

� � � � �   ¡   � ¡ � � � �   ¢ £ ¤ ¥ �   ¦ ¤   § £ ¦ ¨   � © ¥   ª « ¡ ¤ � § � ª ¦ ¬ � �   ¦ © £ ¢   � � � ­ ¦   ® ¦ ¦ � ¥ � ¯ � © ¦ � � § ° ª ¦ © ¢ ¤ «¢ � � ª � ¤ ¢   � � � °� � � � �   ¡   � ¡ � � � �   ¢ £ ¤ ¥ �   ¦ ¤   § £ ¦ ¨   � © ¥   ª « ¡ ¤ � § � ª ¦ ¬ � �   ¦ © £ ¢   � � � ­ ¦   ® ¦ ¦ � ¥ ¦   ¦ £ � © ¦ � ¦ � § °¢ � � ª � ¤ ¢   � � � °� � � � �   ¡   � ¡ � � � �   ¢ £ ¤ ¥ �   ¦ ¤   § £ ¦ ¨ � �   ¦ © £ ¢   � � � ­ ¦   ® ¦ ¦ � ¥ � ¯ � © ¦ � � § ° ¤ � ¯ � � � ¦ �   ¡ ­ ¢ ° ¦ ¬¢ � � ª � ¤ ¢   � � � °� � � � �   ¡   � ¡ � � � �   ¢ £ ¤ ¥ �   ¦ ¤   § £ ¦ ¨ � �   ¦ © £ ¢   � � � ­ ¦   ® ¦ ¦ � ¥ ¦   ¦ £ � © ¦ � ¦ � § ° ¤ � ¯ � � � ¦ �   ¡ ­ ¢ ° ¦ ¬¢ � � ª � ¤ ¢   � � � °� ¤ ¦ �   £ ¢ ª � ± ¦ ¬ ¬ ¢   ¢ ­ ¢ ° ¦ ¢ £ ¤ ¥ �   ¦ ¤   § £ ¦

² ¥ ¦ ° ¦ ° ¦ ¤   � � � ° ¢ £ ¦ ° § � � ª ¦ ¯ ¦ �   ¦ ¬ ³ § £   ¥ ¦ £ ® �   ¥ ¢ £ ¤ ¥ �   ¦ ¤   § £ ¢ ª ¤ � ¯ � ¢ £ � ° � � ¯ ¢   £ � ¤ ¦ °   ¥ ¢  ¤ � �   £ ¢ °   ´ ¦ « ¢ £ ¤ ¥ �   ¦ ¤   § £ ¢ ª ¢ ° � ¦ ¤   ° ® �   ¥ � �   £ ¢ ¬ �   � � � ¢ ª ¢ � ¬ ° ¦ £ µ � ¤ ¦ ¡ � £ � ¦ �   ¦ ¬ ¤ � �   ¦ ¶   ° · ² ¥ ¦¤ ¥ ¢ �   ¦ £ ¤ � � ¤ ª § ¬ ¦ ° ® �   ¥ ¢ � ¢ � ¢ ª « ° � ° � £ � ¤ ¦ ° ° ³ � £ ¢ ° ° ¦ ° ° � � ©   ¥ ¦ ³ ¦ ¢ ° � ­ � ª �   « � ³ � �   £ � ¬ § ¤ � � ©° ¦ £ µ � ¤ ¦ ¡ � £ � ¦ �   ¦ ¬ ¬ ¦ ° � © � � £ � � ¤ � � ª ¦ ° ® �   ¥ � � ª ¦ © ¢ ¤ « ¢ £ ¤ ¥ �   ¦ ¤   § £ ¦ ° ·¸ ¹ º » ¼ ½ ¹ ¾ ¿ º ¼ ¹ À Á ¹  à º ½ Ä ¼ Á ¹ ½ Á Å º ¹ Æ Ç ¿ º ¹ À Á ¹ º È º ¼ Æ ¹ ¼ À Á ¹ É º à Á ¼ ¿ À Ê Ë Ä Ã È Á ¹ º Ì Í Î² ¥ ¦ ° ¤ � � ¦ � � ® ­ £ � ¢ ¬ ¦ � °   � ¦ � ¤ � ¯ � ¢ ° ° ¦ �   ¦ £ � £ � ° ¦ � �   ¦ © £ ¢   � � � ¢ £ ¤ ¥ �   ¦ ¤   § £ ¦ ° · ² ¥ ¦ £ � ª ¦ ° � ³­ £ � ´ ¦ £ ¢ � ¬ � £ ¤ ¥ ¦ °   £ ¢   � � � ¤ � ¯ � � � ¦ �   ° ¢ £ ¦ ¬ ¦ ¯ � � °   £ ¢   ¦ ¬ Ï ¢ ª � � © ® �   ¥   ¥ ¦ � �   £ � ¬ § ¤   � � � � ³  ¥ ¦ ³ � ª ª � ® � � © Ð Ñ Ò Ó ° ¦ £ µ � ¤ ¦ ¯ � ¬ ¦ ª ° ¨

� � £ � ¤ ¦ ° ° ° ¦ £ µ � ¤ ¦ °� ¤ � � £ ¬ � � ¢   � � � ° ¦ £ µ � ¤ ¦ ° Ô ³ � £ ­ § ° � � ¦ ° ° ¢ ¤   � µ �   � ¦ ° Õ

Ö �   ¥   £ ¢ ¬ �   � � � ¢ ª ¢ � ¬ ¤ � �   ¦ ¯ � � £ ¢ £ « × Ø Ò ¢ £ ¤ ¥ �   ¦ ¤   § £ ¦ ° ¢ £ ¦   ¥ ¦ � ¦ ¶ � ª � £ ¦ ¬ Ï � � ¤ ª § ¬ � � © ¨

� ¥ § ­ ¢ � ¬ ° � � ´ ¦� ¯ ¦ ° ° ¢ © � � © ­ § ° Ô � § ­ ª � ° ¥ ¢ � ¬ ° § ­ ° ¤ £ � ­ ¦ Õ� ¦ �   ¦ £ � £ � ° ¦ ° ¦ £ µ � ¤ ¦ ­ § ° Ô × Ù Ö Õ

Ú � ® Ñ ¦ ­ ° ¦ £ µ � ¤ ¦ ° ¤ ¢ � ­ ¦ � �   ¦ © £ ¢   ¦ ¬ ® �   ¥ � �   ¥ ¦ ° ¦ ¦ � µ � £ � � ¯ ¦ �   ° � ° � ª ª § °   £ ¢   ¦ ¬ Ï ¢ � ¬ ° § � ¡� ª ¦ ¯ ¦ �   ¦ ¬ ® �   ¥ � § ¯ ¦ £ � § ° ¬ ¦ ° � © � ¤ � � ° � ¬ ¦ £ ¢   � � � ° ·¸ ¹ º » ¼ ½ ¹ ¾ ¿ º ¼ ¹ À Á ¹  ¼ À Á ¹ É º à Á ¼ ¿ À Æ Á º à Á ¹ É ¼ ¹ Æ Ê Ë Ä Ã È Á ¹ º Ì Ì Î² � ° § � � ª ¦ ¯ ¦ �   ¢ � ¬ ¦ ¶ � ¢ � ¬ � �   ¥ ¦   � � � ¤ ° ¤ � µ ¦ £ ¦ ¬ � � Û ¥ ¢ �   ¦ £ ° Ü ¢ � ¬ Ý Þ Ï   ¥ ¦ ³ � ª ª � ® � � ©¤ � ª ª ¦ ¤   � � � � ³ � �   ¦ © £ ¢   � � � °   £ ¢   ¦ © � ¦ ° ¢ £ ¦ � £ � µ � ¬ ¦ ¬ ¨

� °   £ ¢   ¦ © � ¦ ° ³ � £ °   £ ¦ ¢ ¯ ª � � � � © � �   ¦ © £ ¢   � � � ¦ � ¬ � � � �   � �   ¦ £ ³ ¢ ¤ ¦ °� °   £ ¢   ¦ © � ¦ ° ³ � £ � �   � ¯ � ± � � © � �   ¦ © £ ¢   � � � ¦ � ¬ � � � �   ° ¦ £ µ � ¤ ¦ °

erl_ch01.fm Page 11 Tuesday, March 16, 2004 12:27 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 26: Service-Oriented Architecture

12 Chapter 1 • Introduction

ß à á â ã á ä å æ ä à ç è â æ é á ä å â ã á æ é å ê ä å ã ë ì ã â ë í æ á ä ë á î â ä àß à á â ã á ä å æ ä à ç è â ä é á ä â ï â æ à ä à è ê î á æ è é æ é á ä å â ã á æ è éß à á â ã á ä å æ ä à ç è â æ é á ä å â ã á æ é å ð ä ñ à ä â ò æ ë ä à à ä ë î â æ á ì

1.3.4 Part IV: Integrating the enterpriseó í æ à ï ã â á è ç á í ä ñ è è ô ï â è ò æ õ ä à ã ë ê ä ã â â è ã õ ö ã ï á è ã à á ã é õ ã â õ æ ÷ ä õ à ä â ò æ ë ä ø è â æ ä é á ä õä é á ä â ï â æ à ä ù ã é õ ë è é à æ à á à è ç ã ë è ê ê ä ë á æ è é è ç ñ ä à á ï â ã ë á æ ë ä à ã é õ ï â è ë ä à à ä à ç è â ï ê ã é é æ é å ã é õæ ö ï ê ä ö ä é á æ é å ã é ä é á ä â ï â æ à ä ø ú æ õ ä æ é á ä å â ã á æ è é à á â ã á ä å ì ûü ä â ä ý à ã ñ â æ ä ç è ò ä â ò æ ä ú è ç á í ä ë í ã ï á ä â à þÿ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� í ã ï á ä â � � õ ä à ë â æ ñ ä à ã ú æ õ ä ò ã â æ ä á ì è ç ñ ä à á ï â ã ë á æ ë ä à ã é õ â ä ë è ö ö ä é õ ã á æ è é à ç è â ò ã â æ è î àã à ï ä ë á à è ç � � � æ é á ä å â ã á æ è é ù æ é ë ê î õ æ é å þ

ß ï ê ã é é æ é å � � � ö æ å â ã á æ è é ï â è � ä ë á àß ô é è ú ê ä õ å ä ö ã é ã å ä ö ä é á ú æ á í æ é � � � ï â è � ä ë á àß à á ã é õ ã â õ æ ÷ æ é å � � � ã ï ï ê æ ë ã á æ è é àß õ ä à æ å é æ é å � � � ã ï ï ê æ ë ã á æ è é à

ÿ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� í ã ï á ä â � ! õ ä á ã æ ê à ã à ä á è ç ñ ä à á ï â ã ë á æ ë ä à á í ã á ï â è ò æ õ ä å î æ õ ã é ë ä ã é õ æ é à æ å í á ç è â ö ã é ã å øæ é å ã é õ æ é á ä å â ã á æ é å ð ä ñ à ä â ò æ ë ä à û ó í ä ç è ê ê è ú æ é å ã â ä ã à ã â ä ë è ò ä â ä õ þ

ß ï ê ã é é æ é å à ä â ò æ ë ä ø è â æ ä é á ä õ ï â è � ä ë á àß à á ã é õ ã â õ æ ÷ æ é å ð ä ñ à ä â ò æ ë ä àß õ ä à æ å é æ é å à ä â ò æ ë ä ø è â æ ä é á ä õ ä é ò æ â è é ö ä é á àß ö ã é ã å æ é å à ä â ò æ ë ä ø è â æ ä é á ä õ õ ä ò ä ê è ï ö ä é á ï â è � ä ë á àß æ ö ï ê ä ö ä é á æ é å ð ä ñ à ä â ò æ ë ä à" # � $ % � � � � � � � � � � � & � � � � � � % � � � � � � � � � � ' ( ) � � � � � � � � � * �+ î â ê ã à á ë í ã ï á ä â ë è é á ã æ é à ï ä â í ã ï à á í ä ö è à á æ ö ï è â á ã é á æ é ç è â ö ã á æ è é ú æ á í æ é á í æ à å î æ õ ä û, æ â à á ù æ á õ ä ê ò ä à æ é á è á í ä õ ä á ã æ ê à è ç à ä â ò æ ë ä ø è â æ ä é á ä õ ö è õ ä ê æ é å ë è é ë ä ï á à ã é õ õ ä à æ å é ï â æ é ë æ øï ê ä à û - õ ä á ã æ ê ä õ á î á è â æ ã ê ñ â ä ã ô à õ è ú é á í ä ë è ö ï è é ä é á à è ç ã à ä â ò æ ë ä ø è â æ ä é á ä õ ã â ë í æ á ä ë á î â äæ é á è ã ë á æ ò æ á æ ä à ù à ä â ò æ ë ä à ù ã é õ ï â è ë ä à à ä à û. á á í ä é ã ï ï ê æ ä à á í ä à ä ë è é ë ä ï á à á è ã à ä â ò æ ë ä ø è â æ ä é á ä õ ä é á ä â ï â æ à ä ñ ì ä à á ã ñ ê æ à í æ é å ã à ä â æ ä à è çñ î à æ é ä à à ö è õ ä ê æ é å ã é õ á ä ë í é è ê è å ì ñ î æ ê õ æ é å ñ ê è ë ô à ç è â á í ä õ ä à æ å é è ç à ä â ò æ ë ä ø è â æ ä é á ä õ

erl_ch01.fm Page 12 Tuesday, March 16, 2004 12:27 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 27: Service-Oriented Architecture

www.serviceoriented.ws 13

/ 0 1 2 3 4 0 5 / 0 6 7 8 9 : ; 5 < = / 7 ; 3 / < 3 4 1 2 > / > ? / 7 6 ; @ = 2 7 A 2 0 B < 3 4 @ = / 5 7 6 A ; 6 ; 3 / 6 A / 0 7 4 = 1 / >C 7 2 0 B 6 A / 7 / 7 / 3 1 2 D / E 4 3 2 / 0 6 / > > / 7 2 B 0 < 3 2 0 D 2 < = / 7 8F 2 0 ; = = G ? 6 A / H I J F K ; G / 3 / > L D 4 < / M 4 > / = N K L M O 2 7 2 0 6 3 4 > C D / > ? / 7 6 ; @ = 2 7 A 2 0 B ; D 4 5 < 3 / A / 0 E7 2 1 / 5 2 B 3 ; 6 2 4 0 7 6 3 ; 6 / B G P 4 3 6 A / D 4 0 6 3 4 = = / > 2 0 6 / B 3 ; 6 2 4 0 4 P H M K ; 0 > I / @ 7 / 3 1 2 D / 7 6 / D A 0 4 = E4 B 2 / 7 6 A 3 4 C B A ; 7 / 3 2 / 7 4 P < A ; 7 / 7 6 A ; 6 B 3 ; > C ; = = G 6 3 ; 0 7 2 6 2 4 0 ; 0 4 3 B ; 0 2 Q ; 6 2 4 0 6 4 R ; 3 > 6 A /7 / 3 1 2 D / E 4 3 2 / 0 6 / >S/ 0 6 / 3 < 3 2 7 / 8 T A 2 7 = ; 7 6 7 / D 6 2 4 0S> 3 ; R 7 C < 4 0S2 0 P 4 3 5 ; 6 2 4 0U< 3 4 1 2 > / >6 A 3 4 C B A 4 C 6 6 A / F 2 / = > V C 2 > / ? @ G = 2 7 6 2 0 B 6 A / H I J F 7 / 3 1 2 D / 5 4 > / = 7 ? < 3 4 D / 7 7 / 7 ? ; 0 > 7 6 3 ; 6 / EB 2 / 7 5 4 7 6 ; < < 3 4 < 3 2 ; 6 / P 4 3 / ; D A K L MW< A ; 7 / 8

1.3.5 The extended enterpriseL / 3 1 2 D / E 4 3 2 / 0 6 / > D 4 0 D / < 6 7 ; 0 > ; 3 D A 2 6 / D 6 C 3 / ; = = 4 R ; 0 / 0 6 / 3 < 3 2 7 / 6 4 @ / / : 6 / 0 > / > @ / G 4 0 >2 6 7 4 3 B ; 0 2 Q ; 6 2 4 0 ; = @ 4 C 0 > ; 3 2 / 7 8 T A / / 0 6 / 3 < 3 2 7 / 7 6 ; 0 > ; 3 > 2 Q ; 6 2 4 0 < 3 4 D / 7 7 2 0 X A ; < 6 / 3 Y Z2 > / 0 6 2 [ / 7 ; 5 2 B 3 ; 6 2 4 0 < ; 6 A 2 0 6 4 6 A / / : 6 / 0 > / > / 0 6 / 3 < 3 2 7 / \ A 4 R / 1 / 3 ? 6 A / H I J F @ C 7 2 0 / 7 7 E6 4 E @ C 7 2 0 / 7 7 2 0 6 / 3 D A ; 0 B / 5 4 > / = 2 7 0 4 6 ; 0 ; 3 / ; 4 P 2 0 6 / B 3 ; 6 2 4 0 R / D 4 1 / 3 2 0 6 A 2 7 B C 2 > / 8

1.4 www.serviceoriented.ws] < > ; 6 / 7 ? 7 ; 5 < = / 7 ? ; B = 4 7 7 ; 3 G 4 P 6 / 3 5 7 ? ; 0 > 1 ; 3 2 4 C 7 4 6 A / 3 7 C < < 4 3 6 2 0 B 3 / 7 4 C 3 D / 7 D ; 0 @ /P 4 C 0 > ; 6 www.serviceoriented.ws 8 J ; 5W2 0 6 / 3 / 7 6 / > 2 0 G 4 C 3 P / / > @ ; D ^ 8 _ 0 G / : < / 3 2 E/ 0 D / 7 G 4 C ` > = 2 ^ / 6 4 7 A ; 3 / ? 4 3 7 C B B / 7 6 2 4 0 7 G 4 C 5 ; G A ; 1 / ; 7 6 4 A 4 RUJ D ; 0 D 4 0 6 2 0 C / 6 42 5 < 3 4 1 / 6 A 2 7 @ 4 4 ^ R 4 C = > @ / 5 C D A ; < < 3 / D 2 ; 6 / > 8

1.5 Contact the authorT 4 D 4 0 6 ; D 6 5 / > 2 3 / D 6 = G ? 1 2 7 2 6 5 G @ 2 4 7 2 6 / ; 6 www.thomaserl.com 8

erl_ch01.fm Page 13 Tuesday, March 16, 2004 12:27 PM

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 28: Service-Oriented Architecture

Thomas Erl is an independent consultant with XMLTC Consulting in Vancouver,

Canada. His previous book, Service-Oriented Architecture: A Field Guide to Integrating

X M L and W eb Services , bec am e th e top-selling book of 2 0 0 4 in both W eb S ervic es and

S O A c ateg ories. T h is g uide addresses num erous integ ration issues and provides strate-

g ies and best prac tic es for transitioning tow ard S O A .

T h om as is a m em ber of O A S I S and is ac tive in related researc h efforts, suc h as th e X M L

& W eb S ervic es Integ ration F ram ew ork (X W I F ) . He is a speaker and instruc tor for pri-

vate and public events and c onferenc es, and h as publish ed num erous papers, inc luding

artic les for th e W eb Services Journal, W L D J , and Ap p lication D evelop m ent T rends .

F or m ore inform ation, visit http://www.thomaserl.com/technology/.

A bout th e A uth or

Erl_AboutAuth.qxd 6/21/05 1:42 PM Page 721

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.

Page 29: Service-Oriented Architecture

SOA Systems Inc. is a consulting firm actively involved in the research and development

of service-oriented architecture, service-orientation, X M L , and W eb services standards

and technology. T hrough its research and enterprise solution projects SOA Systems has

developed a recogniz ed methodology for integrating and realiz ing service-oriented con-

cepts, technology, and architecture.

F or more information, visit www.soasystems.com.

One of the consulting services provided b y SOA Systems is comprehensive SOA transi-

tion planning and the ob jective assessment of vendor technology products.

F or more information, visit www.soaplanning.com.

T he content in this b ook is the b asis for a series of SOA seminars and w ork shops devel-

oped and offered b y SOA Systems.

F or more information, visit www.soatraining.com.

Ab out SOA Systems

Erl_AboutSOA.qxd 6/21/05 1:43 PM Page 723

Sample Chapter 1 from "Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services" by Thomas Erl. For more information visit www.serviceoriented.ws.