service-oriented architecture: a field guide to ... · service-oriented architecture a field guide...
TRANSCRIPT
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.