Sunteți pe pagina 1din 29

erl.

book XXXXXXXXXXXXXXXXXXXXXXXX
Page iii Thursday, March 25, 2004 1:05 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.

Service-Oriented
Architecture
A Field Guide to Integrating XML and
Web Services

Thomas Erl

PRENTICE HALL
PROFESSIONAL TECHNICAL REFERENCE
UPPER SADDLE RIVER, NJ 07458
WWW.PHPTR.COM
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.

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

v
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.

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 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.

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 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.

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 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.

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 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.

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 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.

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 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.

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 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.

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 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.

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 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.

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 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.

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 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.

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
e rl_ c h 0 1 .fm P a g e 1 T u e s d a y , M a rc 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.

   
  

  $&%     '  (  )  *  +   ,   -    ! .  / !   " # 0 #    " ! "   $ # 1 ! "   2 ! 3


4 ' 
 0 1 5  "   6
  796&28 2 2+2      !  .   /    !      #   !  " 2 #   :  ;"   "   7  <
  <9= #  " /     "    !  "    7

1
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.

> ? @ 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 X
HH @S P@ S FS I> Z? I @ M G K@Y NJ G @P K@ CJF @D SM KHG FS Y F@@ G F@ S LM K P D GH H I @ H S\ O @@ @ @G FNZ H JD SH G SJ K KK N ? H@ ? QJ I ]W G NF SN H I@@ ]F D F Q Z D I_ @ I N D [ M GKHF SF M @ G `\ C K KAH PG \I[ F K JKF H > K NH ^ S@ @S N I @N GKC J Z I @G ]` GIM F OS M H H S HG SF@ JKH @I H
1.1 Why this guide is important

“H
TaH S Ub @ c G VdN e Ib H @Nf PgW S Fh@ CiG Pf jJK i @Zk N i@Y F G dP Yl @ Gb JN d I H FmI \ He S @c @Fl H\ Jn oG LK dNQl @ j p F qI eH h \ f j cK j M d g G P K l Z b >p h H Ni Ki rF J sO I bN t\ t b @ r D d i J u G v\ w ? l Z >j p C q > f b Kd o Dn Dt m G F xMp
qr nn dd i nr r d j f bg f jj mp tq i t b n f ky bi pr u d l j i d p d ji m c l q r n n t fd nb {r gc i n c o b br r r n n d t h{ ib r e j |r b u d ij nt pr d yb dh i e u d v bz f p l n i rd l qi t mn q b i r t r f g i t b qj r q fs j i l u j yc jl d
hz e l p jb r d ix p p p h bi ei r d n mi ‰ bb d{ j n{ ri t jb p d iu ui f jj kp ri t x di u b vp } m ~ e  €c l  ‚ d ƒl  i  ‚ q…„ n †d i  r  d„ j‡ b ˆf yv 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 Š
sn o i j fr ‹o un it mp j { b r d j in u r y pd i i c t lk rj c n i f ‹n n { t gj i y r h de i du b i c rl k j ij tk n j rr m{ id l r j dp c p b d rb d pi j mj p q r f nj o gp j bm r q u f i p d m t i b b dm i ft j vr w i l m i b d ir cg l br p n q f in c{ d gp
pb i{ di j rj d dp t nh ui er ic i ud p hy gg n Œ e   Ž t p b d r r u i i z u i dh n p b i q t kq jt ci i c pj b j dp i u d lj k i i tj mp i qf g f j cc bn dm j n q r f p i ‰n vo a dr l jn p t uc ni mt dq n f i d t‰ ej d f gg v fw i l k ii r t ‹y
g n e r i i u dn p dt b di { j| i v
1.1.1
ae d p bi f j d p y d gb tn de p x sf jl d lj d Œ d l  i Ž r vb Žj f j i ik i b t g l b d mj m m i ‘i tj oy Œg n e Ž u j np r b x d d y n c n l f vb ra o c gi pn e b t q i b g g n be dt i d rl de j nm r h d ns lj f n s d b  g i n eb
The hammer and XML

hu ij t b i d cj rd f {g v t ’ i fr b dj i d pu n d ns lr ny js d u j r n di i p f r j { n i d r p dn f gf k ji d nj p t b c q t iq b f jd ii u q v 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 i
”j r n d tt n g ui eb tc pi y jd rn u d el ip d bt g{ i b rn bo f n g r p fd jp r l i b uk bi d bd l p i l n b t tj |j r i {u v b • r i u c b p eq pi i c e d l f b j p d i d ui c b l h r n n e f nd {d l g i q h f ib r d o i n  t dm p Œ q  t n Ž k js u ji f p
bj r qo n n t dm i r b d d jj b n f r j ue ir b j fd g o nb tr ub qe br t j jk d ig tv p b f u b d b o n t m b d y j d s j 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 o
wb r l gi d ql nj r d i{ r h d je b df jj pu it ib bf vf yŒ h  e dŽ d l j p i bm p b q r i r c ij t cj rb d sj n lr jy c bl tŒ i k n Ž f e j pd j hn ri jb r t {g b j rq rq nf j ki bu d jj nr r d l d il b t id b i f ‰ s j p nd p t f j ur j bp
hou n in t ic reb m b c un i nmr q d m d di l n u br dj r q u dein pt cdq l t n ji hp aii w vp – mb j m pb jj qmr fp gq d tf eii bp j mju r i { jb p yŒ {s  n j n dŽ l u y v ll a end {si pi i d bjk m h i ft qj y p f ljj rc i b p r d jbn n rc s np mbv wg m l { in e r ob b tdc ib d cr ld dl ir bi n dp f nŒ d {l  gb Žd e g lp ni b eup
2
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.

—— ˜  ™ š ™ š¯ › — œ ˜™ ˜¯  › › ­ œ ™ žœ Ÿ¢ ¡     š ¡¬ ˜ £¢ £® ˜ ¢¡ š ¢ ¤« œ› ž ¥¯ › Ÿž   › ¤¦ ¢— £ § ˜ ™ ¨  ž ¤  ¢ — ¡ › ˜ ›™ ™ ™ ¥ › ›¡ ¢ £  ¢¤ œ ¢Ÿ —˜ ž ®© › žª ¤ š š› š œ › ¯ ž ˜ ¢ž « © ª  œ ¬¥   ­ ¤ ™ ¢Ÿ ®˜ ž   © — —   ˜¢ ®¢ ® › š œ£
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 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.

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 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.

 

      
  
                           
 
     
How this guide is organized 5

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, visit
www.xwif.com.

    !
   "       '            
    #  $       %          &   
   $           
 
  
 
1.3 How this guide is organized


    $   '  
    
  
  
                (    
     ) * +  , $     
 
- 
#          $    
           $  
             
  #  
           $ 
 
       . 
   #'
   

  )
*  +
    ,  $         
    
           
          
         '
/                     
     
 
 
   #            

      
 
   0   $     
$          
-     
   . 
$   #    # # 

    # 1   #
        
   
  !   0 2  2  ) , # !  
 
  $   
 '
Enterprise
strategies for integrating
Applications applications using XML and Web
services technology (Part III)
best practices for XML
and Web services Technologies
integration, and
techniques for building
and migrating to a strategies for integrating XML
service-oriented and Web services technology
enterprise (Part IV) into single application
environments (Part II)

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

 3547 66 77 ?8 H 9 E: D ;8 <= =G 7 : E 99 :? @7 9 >7 ?= @ H A K 7N B? ; ; F ?7 C E D EK @ ; 8 F I @ J E 7D ;E 89 N@ G? @H F ?9 D7 F > 77 ?B 7 8D 9 F: 7 IP Q 9 :R ? ;L S < 3 =T : ; < 9 9 : D E J ; ; C K L M 6 7 @ 6 ; D I 7 I N ? 7 > D O D 8 =


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.

U V W V XY Z [ \ X] ^ W V _ V W V ` ] V a b V W b XV c a _ c d Z e XY ] a b V W V f X` V Z ] d g Z W e Z ` f ] d Z g eV W h
6 Chapter 1 • Introduction

ie d VV Z r W ja k a ^ l mu c n X oe d p Z Z _ a` ] f \ qY a V ` r e Y d V V W b v X w ] V] Ya W Y V g YV e] Z X `s f] ZZ eW X fa Y` Yj X Y Z e WV V f f X `X Y ]x \Z Yr Y j VV f v h ey d h W a \ t d a \ e e d X Y g Z W e a _
1.3.1 Part I: The technical landscape

Table 1.2 Reference Matrix of Technology Tutorials


Web services Second-generation Web

†‡ ˆ ‰ Š‹ ˆ ‰ Š Œ  Ž Ž   ‘’ “ ”‘ Ž ’
XML technologies technologies services technologies
(Chapter 2) (Chapter 3) (Chapter 4)

‹•‹ Š–—˜ ‰ Š Œ• “ ’ ™“ š ”‘Ž ’


†Š‹ ›‹‹œ  ˜ ž ˆ Ÿ‰ Š
† Šˆ• ‰ Š ŒŠ   š ¡  ‘”¢
† £ ¡  ¢ ‰ Š Œ¤   ¥‘“ ¦ ¥  ‡   ™ ™ “ § ‘’ §
† ˜ “ ”¨ ‰ Š Œ˜ Ž ¥‘š ¢
‰ Š Œ— ” “ š ¨ ©   ’ ”™
‰ Š Œ—     ™ ™ ‘’ §
ic aa We V^ ue dX ` Z ] e j \z fd XZ ` g t 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 |
~~ WX `V [e V \ W V{ Y Ve a f W X ZZ W` X Vf Y g W a b X f V W W a j V Y
~~ X{ ` XV e YX ZY Zj t Y VV ` g f Z V e Wd YZ ` f \ j e X { Z e V W V ] V X b V W W a j V Y
~~ {] a VW YW YV Zj Z t e VX a V `  ] d Z ` t V g Z e V W ` Y
~~ ]Z d] ea X bW V X ae X tV YW Z g d k
€z dj Y Z a g `e V a W e Vv … e d ] Za e` ze X `d \Z gV Y e V e Wd Xl Y X f` X eY W ]a \ f Y \ Y ]X a V `Y Yc V WX eb d X ] Z V f| a V W eX Z V X` j V e Vf f e \ Z We a ] dW X XZ e jV ]a e` \ W‚ V ƒ € ‚ ƒ f €V Y „ X t ] `a ` g ] W V X g` ]e Y X gh pj V Z Y eh V W u
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.

How this guide is organized 7

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

integration business data

Integrating Web services Integrating XML Integrating XML


into applications into applications and databases
(Chapter 6) (Chapter 5) (Chapter 7)

Figure 1.2

ÈÍ ¬ ° °¼ «¬ °» ¯  ­º ®» ´ « ¼ ɽ Ê ® Ë µ « ¾ ¼ ´ µ » » ¼ ´µ  ² Ç ° µ « «µ À ¼ ­ » ´Ì » µ ¼ µ ³ °« ¯ µ ¼Æ µ ²° ¯ ´ »Æ ¼µ ° ­À ¯µ ¯ ° «Æ «µ ³ ¯ µ ¼ «Â Ç ´ µ­ ÂÁ » « ¼ µ° ¯ ´ ò ° ¾¼ ­µ Ä É­ Ê´ ° µ Ë ¯ »¼ µ ¯ Æ Æ µ ȯ à µ ° Ì ´ ­ « ¯ µ Å´ à µ ° ¾¯ µ ¼ «« ·¹
The three chapters in Part II roughly correspond to the three backend tiers
of a distributed application architecture.

°Á ´µ Î ³ °´µ Æ ·
ÏÍ Ð ¬ Ñ µÒ Ó « Ô¾ Õ ­ Ñ À Ö Ð µ Ó ­ ×Á ¼ ج ° «Ù ¾ Ö ¬Ð »Ñ ÚÀ ¼Õ µ Û ´ Û ° Ü« Ö Ý ¼ Õ¬ ѵ Ö Ú ° Я Þ¼ µ ß² à ´ »á ¼Õ ° Û­ ѯ Ò Ô­ Á⠾㠭 ´ µ É Ê Ë ¼ µ ¾ ¬ ¯ ­  ­ ² ° µ « ® ° ¼ ¬ ¼ ¬ µ À ³ ´ À ­ « µ
­» ÁÆ µÆ «´ µ¼ » « Ì« ° °¯ « ² ¬ ° ¾ ¯ ­ ² Å » Å Á ³­ ¯¯ Æ ° ¯» ż µ ²µ ¯´ » ¼ »¼ °  ­ Ư » ° ¼ « » « ³Å µ »« ¯ » » ´ ² µ µ ÀÅ ´ µ­ ¯Ã ¼° Æ » µ ´ ¾Æ ¬ ¹ °­ ¼ µ´ ²¾ ¼» ³ ¯ ´ ° µå ·µ äÆ ³» ž ¾ µ­ ´´ ­ Æ ³ ° ¯ « ² « ¼ ¼ ´ ­ » ¼¼ µ ¬ ² µ ° µ Á «³ ¯Á ­ ¾ ´Ä
¼°­ ¯ »  » ´ µ » « Å ­ « ¼ Â°æ µ ÂÇ ¼­ Ì µ » Á µ ¾ ¼µ Æ Ì Ç ¼¬ µ °¯ ¼µ ² ´ » ¼°­ ¯ ¹ » « Á­  ­ ® « ç
è ÉÉ ÊÊ ËË »Æ «» ¼» » Æ ´ µ» À¼ » ´ µ´ «µ µÀ ¯ ´ µ¼ »« ¼µ ° ¯­ ¯¼ » «¼ ° ¼­ ´ ¯» ¼ Áµ ­ ² ´ ° ŵ « » Á ¼ ­ » ´ ¯ ¾ Æ­ ¯ Æ ¾ µ µ  À° à ¼ µ³ ´ » Ç Â ÅÇ »µ ¯¾ ¬ Æ » ¼¯ µ ° ¾ « ¬ Å ¯ ° ¾ » Â Ç ° ¯ ¾ ­ ´ À ­ ´ » ¼ ° ¯ ²
è É® Ê ° ¼ ¬ Ë » Æ ¯ » ¼µ » Å Ã À » ¬Â ° » Æ « » ° «¼ ° ­­ ¯¯ «É ¼ ê´ »ë ¼ µ ² ° µ « ¼ ¬ » ¼ µ é À  ­ ´ µ ¼ ¬ µ ³ ¼ °  ° å » ¼ ° ­ ¯ ­ Á « ¾ ¬ µ Å » Æ µ ¿ ¯ ° ¼ ° ­ ¯ « ¹
è »¾ µ¯ ¯ É ¼ ´ Ê »  ˰ å «° ¯¾ ¬² µ ­ Å ® » ¯ »µ Æ´ «Å ¬ °° ¯À ° «­ ¼Á ´ É» ¼Ê ° ­ ˯ «À ¾ ´ ¬ ­ µ ¾ Å µ « » « Ƽ ¬ µ »¿ ¼ ¯ ¬ ° ¼° °² ­ ¬ ¯  «° ² ¬ ¼ « ¼ ¬ µ ° Å À ­ ´ ¼ » ¯ ¾ µ ­ Á
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.

ì íò ù î ô ð ïû ù ð ñð òø ü ó ðô ñ õ ò ö ó ñ ô÷ õ ö ò ñ ð ÷ø ö óò ð ôø ö ð ñó ò ðö ù õ ú í ø ù î ô ïð û ò öð üü ö ý÷ ù ù ñ ó ð ûð ô ù ø ó ð ù ú ñ ò ð ø ö ó ö õ í þ ï ÿ õ ö ñ ô ð ñ ü ð ñ ò  ò ó 
8 Chapter 1 • Introduction

ì íò  î ô ðï ñ ò  ü ò ð ð ò ò  ð ò ù ò ñ ü  ü ø ù ó ô ú ô ô ö ð ñ ú ò ø ðü ù ú ø ù ô ð û ò ð  ö ô ø ð ø ö ó í  ù ñ  ò ô ò ð ù ü û ó ö  ö ú  ð ö ü ù ó ð ñ ò  ø  ù ò ó 
ÿ ûö óù ô ùð  ô ù ö ü ð ø öô ûó öô ò ô  ô ô ÷ð ù  ö ð û ù û ðò ý ð ùö ñò ø ò   òô ô ø ù ó  ó û ö ò
  ðù ù  ñ ú  ù  ö ñ õ ô ðð û ù  ø ô ü ô ô ù  ð ù ü û ó ö  ö ú ø ù ô õ  ö
                      !     "# $    % &
' ù ñ ù
ù õ ö ü ô ö ó õ ó  ò ÷ ù ó ðò   ù ô øú ó ü ö ó ü ù  ðô ðû ò ð ò  ö
 ö ðö ù ô ðò  øô û ò õö ó  ò (
ðò ø  ö ø ó  ø õð ö ñ ÿ ò û ôù ù ôñ ýü öø ü  ù ù ( ö ö ñ õ ø ù ð óû øð ôù ü û ò ò ñ ü û ð ù ø ðñ ù üð ûð ù ññ ùù õ öò óñ ù   ø ô ñ ù ø ÷ ò ø ñ ð ùù  ò ó ð ö ò ð û  ù  øø üó ò ð ðù ø úö ñó ò õð öø ö ñ ó õ ö ðõ ) ñ ù ù ø ó ôð ùù ññ ö ý  ø ü ù ù ñ ô (
ðÿ ù û ü ùû óõ ö ö    ö ö ú
 ø ó
ú ø ðí û )ø ó ò *  ô  ù  ñ ø ýü òø ü ð øù ö ÷ó öù ó ýù ø ôñ ö ò ó ñ ÷ù ù ù ô ó ð òð ô   ø ô û ù  +
ìì  ð ø ô øø ðó  ù ôô ùô ñ ô ý ù ø ñ ü ý ù øô ü ù ô
ì ü ö ó ðñ ö  ù ñ ô ù ñ ý øü ù ô
í ) * ò ô ö ô   øù ô ô
ø ðû ðû ù ô ù ð
ö ÷ ö  ù øó ú  ñ ö ü ù ô ô ù ô +
ìì ÷÷ öö  ùù  øø óó úú ô) ù ñù ý ø üô ùù (ñ öý ñø øü ù ù ó ø ðó ù ð ù ñ ü õ öò ÷ü ù ô ö ó ù ó ð ü  ò ô ô ù ô
, ü ö ù ü ðøö ó ö õ øó ðù ú ñ ò ðøö ó ò ó  ö  ðø÷ ø ò ðøö ó ô ðñ ò ðù ú øù ô ò ñ ù  ñ ö ý ø  ù  ó ù - ð  ò   ñ ù ô ô øó ú
ðû ù ô ù ö õ ô ù ñ ý øü ù ò ô ô ù ÷  øù ô  ) ù  ô ù ñ ý øü ù ô  ù ñ õ ö ñ ÷ ò ó ü ù  ò ó  øó ðù ñ õò ü ù  ù ô øú ó
        . / 0   1 1         " # $     2 &
íò  î  ïñ ö òö ü  û ù ù ó ô ô ð ö ô ð ñ ò ü
ð û ñ øö ó  ùú ò ó ó ù 
3
ù  ö ó ñ ø  ó  ú öô õü û ù ò÷ ð òò ô ÷ ÿ ö û  ø ôù  üø óû úò  ðð ûù ñò ðø ô ü  ö ù ó  ð ñø üò ò ô ðð ùô  ð ñð òö  ù ø - ð ø ö  óö òñ (
ø ó ø úð ø ö ð ùó üò û  ó ñ ùø  ò ð ùø öô ó õ öò ñ ñ ø ù ó  ð ùö úô ñø ðò ö ð ñø óø ù ú ô ð ûþ øù ó ûü ùø ù ðñ û ò øñ ô ü ûø ô ø ü ò ò ü ö ô ÷ ð ñ ÷ ü ö ð ó ñ ùò ñ öù õò í õ ö î ñ ï
û öø ü ü û ÷ ó ù ö ó
ð ô  ù
 øú ð ûù ò ð ñó ò  (
ñö ù ð ôû ö ù ñ ñ ü ü û ù òô  ð ð ù  ñ øô ü ò    ò ñ ù  ø ÷ ø ð ù  
ù ù -   ö ñ ù ø ô ô ù ô
ø ð û ÷ ö ñ ù ô  ó ð ò ü ð ø ü ò   ù ð ò ø  ð û ò ó ø ó
* øñ ô ð 
ù ü ö ÷  ò ñ ù í î ï ò ó  ñ ù ò ðøö ó ò   ò ðò  ò ô ù ô øó ö ñ  ù ñ ðö ù ô ðò  øô û ðû ù øñ õ ó  ò ÷ ù ó ðò 
 øõ ù ñ ù ó ü ù ô ò ó  ðö ü ö ó ðñ ò ô ð û ö
ù ò ü û  ò ðõ ö ñ ÷ ñ ù ò ðù ô ðö ò ó  ÷ ò ó ò ú ù ô  ò ðò 4 ù - ð ðû ù
 ò ô øü ô ö õ  ò ðò ÷ ò   øó ú ò ñ ù ü ö ý ù ñ ù   ò ô
ù  ò ô øô ô ù ô ñ ù ò ðøó ú ðö  ù ñ õ ö ñ ÷ ò ó ü ù ò ó   ò ðõö ñ ÷
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.

How this guide is organized 9

5 67 8 9 : 6 ;< = > ? ;@ ? A B ? ; 6A ;C ;@ ? 5 ? ;9 6D7 C E F 9 8 8 6A B ;@ ? @ 6? : 9 : G @ 6G 9 D H I J 5 9 ;9 F C 5 ? D ;C


: ? D9 ;6C A 9 D 5 9 ;9 K 9 7 ? 7 =
L8 6C A : 9 ; D DH < I M N J ? ; @ ; 9 : OC ?P B 9 @ D C ; C@ O? 9P ;7 ? ; @ C ? E G 8 C : F C 8 F : 6C ? A ; 9 N : < 9 < ? 7R ; 6 ? A A N7 6 C @ A 6 G 7 @ = S G @ P ? : : ?6 F A ;8 5D 6 9G 9; 9 ; 6K C 9 A 7 7? C 8 E : C P 5 7 P6 A G B ; 7 ; 7@ P ? 87 ? Q
? R ;? A 7 6C A 7 M 9 DC A B N 6 ;@ 7 C F ? ;? G @ A 6T P ? 7 C A @ C N ;C F 6;6B 9 ;? ;@ ? 6: 6F 8 9 G ;M 9 D7 C 9 : ? 8 : C Q
U 65 ? 5 = S @ 67 G @ 9 8 ;? : G C A G DP 5 ? 7 N 6 ;@ 9 A C U ? : U 6? N C E A 9 ;6U ? H I J 5 9 ;9 K 9 7 ? 7 =
> ? 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 @ ?
1.3.3 Part III: Integrating applications

GA @ P 9 F 8 ? ; ? : :C 7 P 76 A ; : X 9 9 5 : 6 ; ; 6Y C Y Y A 99 :D ? 9 9A D 5 F C7 ? 7 : ; ? 6 AG ? ; 6 Q : C ? : D 6 < ? A G ; ? ? A 5 ; ? 6 : A ? ; 5 ? B 9 : : 9 C ; P 6 C A A 5 7 ; G @ ? ? A P9 : 7 6 ? C 7 C E 9 :> ? ? ? K R 78 ? D :C U : ?6 G 5 ? 7 9 M A 9 5 7
G C A ; : 9 7 ; ? 5 = L 6 B P : ? Z = [ 6 D D P 7 ; : 9 ; ? U7 ; @ ? 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 Q
G 9 ;6C A ;6? : 7 =
\ P ] A^ 5 _ 9 ^ F ` ] ? a A b ; 9 c ` D d 6 A e f; ? a B g : g9 h; c6 `C a A i c G e C b A c G b ? i 8 ^ ;j 7 k a9 i: c ? e b 6 A l ; m: C ] 5 a P g G i ?^ k 5 nM o9 A 5 ; @ ? 5 6 E E ? : ? A G ? 7 K ? ; N ? ? A ; : 9 5 6 Q
L; 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
;? : 67 F C : ? C E 9 8 : 6F ? : EC : G : C 7 7 Q9 8 8 D6G 9 ;6C A 6A ;? B : 9 ;6C A M 9 7 6 ; 9 D7 C 8 : C U 65 ? 7 9 B P 65 ? ;C
F 6 5 5 D? N 9 : ? 8 : C 5 P G ;7 M 9 A 5 ? R 8 DC : ? 7 G C F F C A 8 9 ;@ 7 E C : ? U C DU 6A B 9 A ? A ;? : 8 : 67 ? 6A ;? B : 9 Q
;6C 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 : 6C : ;C 8 : C G ? ? 5 6A B N 6 ;@ p @ 9 8 ;? : 7 q 9 A 5 Z r =
s ^ ? k : t ? c ` N ^ u ? e k 5 c 6 ^ b ? i ^ 6 Av ; aC k `; @ ] ? c i ^F ` Pi w D ;k 6 ^ Q d 9 f e: 6k ? h 5 ^ j N a C` x : D c5 b C i ^E j D k? aB i 9 c Ge < b 6 l A m ; ?] B a :g 9 i ^; 6 k C Ay o 9 : G @ 6 ; ? G ; P : ? 7 = > ? K ? B 6 A
Kz < 5 ? 7 G : 6 K 6 A U B ; @ ? E C D D C N 6 A B 7 U ? ; C E H > Y L 7 ? : U 6 G ? 7 F C 5 ? D 7 {
| 8N : : C 9 R 8 < 8 7 ? ? : : 7 U ? 6 :G ? 76 G ? 7
| G C C : 5 6A 9 ;6C AU 7 ? : 6G ? 7 }EC : 9 ;C F 6G ;: 9 A 7 9 G ;6C A 7 ~
| U
> ? ;@ ? A ? R 8 D9 6A ;@ ? : C D? 7 C E G C F F C A 6A ;? B : 9 ;6C A G C F 8 C A ? A ;7 M 6A G DP 5 6A B {
| D6 ?A B ; ? 9 : G F < ? 9 5 5 6 9 9 8 : < ; ? 7: ?7 : 6 G ? 7
| 7 ? : 6 G ? 6 A ; ? : G ? 8 ; CU : 7
| U
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.

10 Chapter 1 • Introduction

The mechanics of application integration


(Chapter 8)

business business

business integration business

Service-oriented architectures for legacy integration


(Chapter 9)

Service-oriented architectures for enterprise integration


(Chapter 10)
Figure 1.3

 €  ‚ ƒ„ … € † ‚ ‡ ˆ„ … ‰ € ˆ‡Š  € ‰ † ‹ ‡ ˆ„ † ˆŒ ‰ „  € ‰ „ ˆ‹ „  „ Ž  ƒŠ ‰ „  ‘ ’ € † ‹ Š “ ˆ‹ „ “Š ƒ Š ” ‡ …  „ † ˆ‡Š  
The architectural scopes of Part III chapters.

 „  € ‰ € ˆ„ ƒ‚ ‡ƒ Œ  ˆ‰ € ˆ„  €  ‡ ˆ„ … ‰ € ˆ‡Š  € ‰ † ‹ ‡ˆ„ † ˆŒ ‰ „ ‡ € ˆ‰ €  ‡ˆ‡Š  € ƒ €    „ ‰ • ‡† „ –Š ‰ ‡„  ˆ„   ˆ€ ˆ„ —


˜ Š  „ –” € ‚ ‡ ˆ„ … ‰ € ˆ‡Š  € ‰ † ‹ ‡ ˆ„ † ˆŒ ‰ „ — ™ € ˆ† ‹ „ Ž  Š ‰ ˆ €   ‡š  Š ‰ ˆ
˜ Š  „ –” € ‚ ‡ ˆ„ … ‰ € ˆ‡Š  € ‰ † ‹ ‡ˆ„ † ˆŒ ‰„ —  ‡‰„ † ˆ  € ˆ€ € † † „  
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.

How this guide is organized 11

› œ  žŸ  ¡   ¡œ  žŸ   ¢ £ ¤ ¥ ž  ¦ ¤  § £ ¦ ¨  ž© ¥  ª« ¡¤  § œ ª¦ ¬ žŸ  ¦ © £ ¢  ž Ÿ ­ ¦  ® ¦ ¦ Ÿ ¥  ¯  © ¦ Ÿ  § ° ª¦ © ¢ ¤ «


¢ œ œ ªž¤ ¢  ž Ÿ °
› œ  žŸ  ¡   ¡œ  žŸ   ¢ £ ¤ ¥ ž  ¦ ¤  § £ ¦ ¨  ž© ¥  ª« ¡¤  § œ ª¦ ¬ žŸ  ¦ © £ ¢  ž Ÿ ­ ¦  ® ¦ ¦ Ÿ ¥ ¦  ¦ £  © ¦ Ÿ ¦  § °
¢ œ œ ªž¤ ¢  ž Ÿ °
› œ  žŸ  ¡   ¡œ  žŸ   ¢ £ ¤ ¥ ž  ¦ ¤  § £ ¦ ¨ žŸ  ¦ © £ ¢  ž Ÿ ­ ¦  ® ¦ ¦ Ÿ ¥  ¯  © ¦ Ÿ  § ° ¤  ¯ œ  Ÿ ¦ Ÿ   ¡­ ¢ ° ¦ ¬
¢ œ œ ªž¤ ¢  ž Ÿ °
› œ  žŸ  ¡   ¡œ  žŸ   ¢ £ ¤ ¥ ž  ¦ ¤  § £ ¦ ¨ žŸ  ¦ © £ ¢  ž Ÿ ­ ¦  ® ¦ ¦ Ÿ ¥ ¦  ¦ £  © ¦ Ÿ ¦  § ° ¤  ¯ œ  Ÿ ¦ Ÿ   ¡­ ¢ ° ¦ ¬
¢ œ œ ªž¤ ¢  ž Ÿ °
› ¤ ¦ Ÿ  £ ¢ ªž± ¦ ¬ ¬ ¢  ¢ ­ ¢ ° ¦ ¢ £ ¤ ¥ ž  ¦ ¤  § £ ¦
² ¥ ¦ ° ¦ ° ¦ ¤  ž Ÿ ° ¢ £ ¦ ° § œ œ ª¦ ¯ ¦ Ÿ  ¦ ¬ ³§ £  ¥ ¦ £ ® ž  ¥ ¢ £ ¤ ¥ ž  ¦ ¤  § £ ¢ ª ¤  ¯ œ ¢ £ ž°  Ÿ ¯ ¢  £ ž¤ ¦ °  ¥ ¢  
¤  Ÿ  £ ¢ °   ´ ¦ « ¢ £ ¤ ¥ ž  ¦ ¤  § £ ¢ ª ¢ ° œ ¦ ¤  ° ® ž  ¥ žŸ  £ ¢ ¬ ž  ž Ÿ ¢ ª ¢ Ÿ ¬ ° ¦ £ µ ž¤ ¦ ¡ £ ž¦ Ÿ  ¦ ¬ ¤  Ÿ  ¦ ¶  ° · ² ¥ ¦
¤ ¥ ¢ œ  ¦ £ ¤  Ÿ ¤ ª§ ¬ ¦ ° ® ž ¥ ¢ Ÿ ¢ Ÿ ¢ ª« ° ž° œ £  ¤ ¦ ° ° ³ £ ¢ ° ° ¦ ° ° žŸ ©  ¥ ¦ ³ ¦ ¢ ° ž­ žªž  «  ³ žŸ  £  ¬ § ¤ žŸ ©
° ¦ £ µ ž¤ ¦ ¡ £ ž¦ Ÿ  ¦ ¬ ¬ ¦ ° ž© Ÿ œ £ žŸ ¤ žœ ª¦ ° ® ž  ¥ žŸ ª¦ © ¢ ¤ « ¢ £ ¤ ¥ ž  ¦ ¤  § £ ¦ ° ·
¸ ¹ º » ¼½ ¹ ¾ ¿ º ¼¹ À Á¹  à º ½ Ä ¼Á¹ ½ ÁÅ º ¹ Æ Ç¿ º ¹ À Á¹ º È º ¼Æ ¹ ¼À Á¹ É º à Á¼¿ À ÊË Ä Ã È Á¹ º Ì Í Î
² ¥ ¦ ° ¤  œ ¦ Ÿ  ® ­ £  ¢ ¬ ¦ Ÿ °   ¦ Ÿ ¤  ¯ œ ¢ ° ° ¦ Ÿ  ¦ £ œ £ ž° ¦ žŸ  ¦ © £ ¢  ž Ÿ ¢ £ ¤ ¥ ž  ¦ ¤  § £ ¦ ° · ² ¥ ¦ £  ª¦ °  ³
­ £  ´ ¦ £ ¢ Ÿ ¬  £ ¤ ¥ ¦ °  £ ¢  ž Ÿ ¤  ¯ œ  Ÿ ¦ Ÿ  ° ¢ £ ¦ ¬ ¦ ¯  Ÿ °  £ ¢  ¦ ¬ Ï ¢ ª Ÿ © ® ž  ¥  ¥ ¦ žŸ  £  ¬ § ¤  ž Ÿ  ³
 ¥ ¦ ³ ª  ® žŸ © Ð Ñ ÒÓ ° ¦ £µ ž¤ ¦ ¯  ¬ ¦ ª° ¨
› œ £  ¤ ¦ ° ° ° ¦ £ µ ž¤ ¦ °
› ¤   £ ¬ žŸ ¢  ž Ÿ ° ¦ £ µ ž¤ ¦ ° Ô³ £ ­ § ° žŸ ¦ ° ° ¢ ¤  žµ ž  ž¦ ° Õ
Ö   ¥  £ ¢ ¬ ž  ž Ÿ ¢ ª ¢ Ÿ ¬ ¤  Ÿ  ¦ ¯ œ  £ ¢ £ « × Ø Ò ¢ £ ¤ ¥ ž  ¦ ¤  § £ ¦ ° ¢ £ ¦  ¥ ¦ Ÿ ¦ ¶ œ ª £ ¦ ¬ Ï žŸ ¤ ª§ ¬ žŸ © ¨
› ¥ § ­ ¢Ÿ ¬ °œ  ´ ¦
› ¯ ¦ ° ° ¢ © žŸ © ­ § ° Ԝ § ­ ª ž ° ¥ ¢ Ÿ ¬ ° § ­ ° ¤ £ ž ­ ¦ Õ
› ¦ Ÿ  ¦ £ œ £ ž° ¦ ° ¦ £ µ ž¤ ¦ ­ § ° Ô× Ù Ö Õ
Ú  ® Ñ ¦ ­ ° ¦ £ µ ž¤ ¦ ° ¤ ¢ Ÿ ­ ¦ žŸ  ¦ © £ ¢  ¦ ¬ ® ž  ¥ žŸ  ¥ ¦ ° ¦ ¦ Ÿ µ ž£  Ÿ ¯ ¦ Ÿ  ° ž° žªª§ °  £ ¢  ¦ ¬ Ï ¢ Ÿ ¬ ° § œ ¡
œ ª¦ ¯ ¦ Ÿ  ¦ ¬ ® ž ¥ Ÿ § ¯ ¦ £  § ° ¬ ¦ ° ž© Ÿ ¤  Ÿ ° ž ¬ ¦ £ ¢  ž Ÿ ° ·
¸ ¹ º » ¼½ ¹ ¾ ¿ º ¼¹ À Á¹  ¼À Á ¹ É º à Á¼¿ À Æ Áº à Á¹ É ¼¹ Æ Ê Ë Ä Ã È Á¹ º Ì Ì Î
²  ° § œ œ ª¦ ¯ ¦ Ÿ   ¢ Ÿ ¬ ¦ ¶ œ ¢ Ÿ ¬  Ÿ  ¥ ¦   œ ž¤ ° ¤  µ ¦ £ ¦ ¬ žŸ Û ¥ ¢ œ  ¦ £ ° Ü ¢ Ÿ ¬ Ý Þ Ï  ¥ ¦ ³ ªª ® žŸ ©
¤  ªª¦ ¤  ž Ÿ  ³ žŸ  ¦ © £ ¢  ž Ÿ °  £ ¢  ¦ © ž¦ ° ¢ £ ¦ œ £  µ ž ¬ ¦ ¬ ¨
› °  £ ¢  ¦ © ž¦ ° ³  £ °  £ ¦ ¢ ¯ ªžŸ žŸ © žŸ  ¦ © £ ¢  ž Ÿ ¦ Ÿ ¬ œ  žŸ   žŸ  ¦ £ ³ ¢ ¤ ¦ °
› °  £ ¢  ¦ © ž¦ ° ³  £  œ  ž¯ ž± žŸ © žŸ  ¦ © £ ¢  ž Ÿ ¦ Ÿ ¬ œ  žŸ   ° ¦ £ µ ž¤ ¦ °
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.

12 Chapter 1 • Introduction

ß à áâ ã áä å æä à ç è â æé áä å â ã áæé å êä å ã ë ì ã â ë í æ áä ë áî â ä à
ß à áâ ã áä å æä à ç è â ä é áä â ï â æà ä à è êî áæè é æé áä å â ã áæè é
ß à áâ ã áä å æä à ç è â æé áä å â ã áæé å ð ä ñ à ä â ò æë ä à à ä ë î â æ áì
ó í æà ï ã â á è ç áí ä ñ è è ô ï â è ò æ õ ä à ã ë êä ã â â è ã õ ö ã ï áè ã à áã é õ ã â õ æ÷ ä õ à ä â ò æë ä øè â æä é áä õ
1.3.4 Part IV: Integrating the enterprise

ä é áä â ï â æà ä ù ã é õ ë è é à æà áà è ç ã ë è êêä ë áæè é è ç ñ ä à á ï â ã ë áæë ä à ã é õ ï â è ë ä à à ä à ç è â ï êã é é æé å ã é õ


æö ï êä ö ä é áæé å ã é ä é áä â ï â æà ä øú æ õ ä æé áä å â ã áæè é à áâ ã áä å ì û
ü ä â ä ýà ã ñ â æ ä ç è ò ä â ò æ ä ú è ç á í ä ë í ã ï á ä â à þ
ÿ         

                  
 í ã ï áä â   õ ä à ë â æñ ä à ã ú æ õ ä ò ã â æä áì è ç ñ ä à á ï â ã ë áæë ä à ã é õ â ä ë è ö ö ä é õ ã áæè é à ç è â ò ã â æè î à
ã à ï ä ë áà è ç    æé áä å â ã áæè é ù æé ë êî õ æé å þ
ß ï êã é é æé å    ö æå â ã áæè é ï â è  ä ë áà
ß ô é è ú êä õ å ä ö ã é ã å ä ö ä é á ú æ áí æé    ï â è  ä ë áà
ß à áã é õ ã â õ æ÷ æé å    ã ï ï êæë ã áæè é à
ß õ ä à æå é æé å    ã ï ï êæë ã áæè é à
ÿ         

                
       
 í ã ï áä â  ! õ ä áã æêà ã à ä á è ç ñ ä à á ï â ã ë áæë ä à áí ã á ï â è ò æ õ ä å î æ õ ã é ë ä ã é õ æé à æå í á çè â ö ã é ã å ø
æé å ã é õ æé áä å â ã áæé å ð ä ñ à ä â ò æë ä à û ó í ä çè êêè ú æé å ã âä ã à ã â ä ë è ò ä â ä õ þ
ß ï êã é é æé å à ä â ò æë ä øè â æä é áä õ ï â è ä ë áà
ß à áã é õ ã â õ æ÷ æé å ð ä ñ à ä â ò æë ä à
ß õ ä à æå é æé å à ä â ò æë ä øè â æä é áä õ ä é ò æâ è é ö ä é áà
ß ö ã é ã å æé å à ä â ò æë ä øè â æä é áä õ õ ä ò ä êè ï ö ä é á ï â è ä ë áà
ß æö ï êä ö ä é áæé å ð ä ñ à ä â ò æë ä à
" # $%         
 &    %         ' ( )       * 
+
, æ îâ à â á ù ê ãæ á à áõ äë êí ò ã ä ï à á æä é â á èë è á é í áä ã æõ é ä à á ã ï æ êä à â íè ãç ï à ä à â òá í æ ëä ä ö ø è èâ æ à ä á é æ á ö ä õ ï èö â èá ã õ é ä á ê æ æ é é å ç è ë â è ö é ãë ä á æ ï è áé à ãú é æ õ á í õ æ é ä à á æ í å æ é à ï å â î æ æé õ ë ä æ ø û
ï êä à û - õ ä áã æêä õ áî áè â æã ê ñ â ä ã ô à õ è ú é áí ä ë è ö ï è é ä é áà è ç ã à ä â ò æë ä øè â æä é áä õ ã â ë í æ áä ë áî â ä
æé áè ã ë áæò æáæä à ù à ä â ò æë ä à ù ã é õ ï â è ë ä à à ä à û
. á áí ä é ã ï ï êæä à áí ä à ä ë è é ë ä ï áà áè ã à ä â ò æë ä øè â æä é áä õ ä é áä â ï â æà ä ñ ì ä à áã ñ êæà í æé å ã à ä â æä à è ç
ñ î à æé ä à à ö è õ ä êæé å ã é õ áä ë í é è êè å ì ñ î æê õ æé å ñ êè ë ô à ç è â áí ä õ ä à æå é è ç à ä â ò æë ä øè â æä é áä õ
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.

www.serviceoriented.ws 13

/ 0 1 23 4 0 5 / 0 67 8 9 : ; 5 < =/ 7 ; 3 / < 3 4 1 2 > / > ? / 7 6; @ =27 A 20 B < 3 4 @ =/ 5 7 6A ; 6 ; 3 / 6A / 0 7 4 =1 / >


C 7 20 B 6A / 7 / 7 / 3 1 2D / E4 3 2/ 0 6/ > > / 7 2B 0 < 3 20 D 2< =/ 7 8
F 20 ; ==G ? 6A / H I J F K ; G / 3 / > L D 4 < / M 4 > / = NK L M O 27 20 63 4 > C D / > ? / 7 6; @ =27 A 20 B ; D 4 5 < 3 / A / 0 E
7 21 / 5 2B 3 ; 624 0 7 63 ; 6/ B G P4 3 6A / D 4 0 63 4 ==/ > 20 6/ B 3 ; 624 0 4 P H M K ; 0 > I / @ 7 / 3 1 2D / 7 6/ D A 0 4 = E
4 B 2/ 7 6A 3 4 C B A ; 7 / 3 2/ 7 4 P < A ; 7 / 7 6A ; 6 B 3 ; > C ; ==G 63 ; 0 7 2 624 0 ; 0 4 3 B ; 0 2Q ; 624 0 64 R ; 3 > 6A /
7 / 3 1 2 D / E 4 3 2 / 0 6 / >SF / 0 6 / 3 < 3 2 7 / 8 T A 2 7 = ; 7 6 7 / D 6 2 4 0SF > 3 ; R 7 C < 4 0S2 0 P 4 3 5 ; 6 2 4 0U< 3 4 1 2 > / >
6A 3 4 C B A 4 C 6 6A / 2/ = > V C 2 > / ? @ G =27 620 B 6A / H I J 7 / 3 1 2D / 5 4 > / =7 ? < 3 4 D / 7 7 / 7 ? ; 0 > 7 63 ; 6/ E
B 2 / 7 5 4 7 6 ; < < 3 4 < 3 2 ; 6 / P 4 3 / ; D A K L MW< A ; 7 / 8
L / 3 1 2D / E4 3 2/ 0 6/ > D 4 0 D / < 67 ; 0 > ; 3 D A 2 6/ D 6C 3 / ; = 4 R ; 0 / 0 6/ 3 < 3 27 / 64 @ / / : 6/ 0 > / > @ / G 4 0 >
1.3.5 The extended enterprise

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 ; 62 4 0 < 3 4 D / 7 7 20 FX A ; < 6/ 3 Y Z


2 > / 0 62[ / 7 ; 5 2B 3 ; 624 0 < ; 6A 20 64 6A / / : 6/ 0 > / > / 0 6/ 3 < 3 27 / \ A 4 R / 1 / 3 ? 6A / H I J @ C 7 20 / 7 7 E
64 E@ C 7 20 / 7 7 20 6/ 3 D A ; 0 B / 5 4 > / = 27 0 4 6 ; 0 ; 3 / ; 4 P 20 6/ B 3 ; 624 0 R / D 4 1 / 3 20 6A 27 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 24 C 7 4 6A / 3 7 C < < 4 3 620 B 3 / 7 4 C 3 D / 7 D ; 0 @ /
P4 C 0 > ; 6 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 4
www.serviceoriented.ws

25 < 3 4 1 / 6A 27 @ 4 4 ^ R 4 C = > @ / 5 C D A ; < < 3 / D 2; 6/ > 8


T1.54 D 4 0 Contact
6 ; D 6 5 / > the
2 3 / D 6 author
=G ? 1 27 2 6 5 G @ 24 7 2 6/ ; 6 www.thomaserl.com
8
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.

A bout th e A uth or

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 IS 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 IF ). 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/.
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.

Ab out SOA Systems

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.

S-ar putea să vă placă și