Table of contents : Cover Page......Page 1 Copyright Page ......Page 2 Acknowledgments......Page 3 Origins of SOA......Page 4 Technology becomes a commodity......Page 5 Technology becomes a transformer......Page 6 A definition for SOA......Page 7 Consumers, services, and intermediaries......Page 8 Messaging—the means of interaction between consumer and services......Page 10 SOA Capabilities......Page 12 The Enterprise Service Bus—ESB......Page 13 The Service Registry and Repository—SRR......Page 15 Business Process Management—BPM......Page 18 Business Activity Monitoring—BAM......Page 21 Web Services Management—WSM......Page 22 Closing the SOA loop......Page 24 The benefits of SOA......Page 26 References......Page 27 Loose coupling......Page 28 Interoperability......Page 35 Reusability......Page 37 Governance......Page 40 Bind-time governance......Page 42 Run-time Governance......Page 43 References......Page 44 Web services and SOAP......Page 45 ReST style services......Page 50 Legacy services and APIs......Page 53 Summary......Page 54 References......Page 56 Data, the Missing Link......Page 57 Data at rest—persistence......Page 60 Data in motion—Messaged context......Page 62 Summary......Page 66 Reference......Page 67 Data Services......Page 68 A single data at rest data source......Page 69 Multiple and disparate data at rest sources......Page 78 Resolving impedance with data services......Page 91 CRUD-Based data services......Page 94 Summary......Page 96 References......Page 97 Transformation to Resolve Data Impedance......Page 98 Transformation......Page 103 Translation......Page 113 Aggregation......Page 118 Abstraction......Page 121 Rationalization......Page 123 Summary......Page 125 References......Page 126 The Service Interface—Contract......Page 127 Web services description language—WSDL......Page 130 XML schemas—XSD......Page 135 Extensible markup language......Page 136 References......Page 140 Canonical Message Design......Page 142 The message is a hierarchy......Page 144 Top-down canonical message design......Page 148 Design requirements......Page 149 Conceptual message design......Page 152 Logical message design......Page 154 Physical message design......Page 157 Create and refine message schemas......Page 167 Create WSDL......Page 169 Model-driven interface design......Page 170 Summary......Page 171 References......Page 172 The Enterprise Taxonomy......Page 173 Focus on common business language for discovery......Page 175 Broadening and Extending the Taxonomy......Page 176 Registry entries and discovery......Page 179 References......Page 181 XML Schema Basics......Page 182 Elements......Page 185 Attributes......Page 187 Simpletypes......Page 189 Complextypes......Page 195 Groups......Page 197 Namespaces......Page 200 Import, include......Page 201 Summary......Page 204 References......Page 206 XML Schema Design Patterns......Page 207 Complextype patterns......Page 208 Global declaration patterns......Page 214 Local declaration patterns......Page 218 Reusable schema patterns......Page 221 Substitution group patterns......Page 226 Summary......Page 229 References......Page 230 Schema Assembly and Reuse......Page 231 Identifying service interface schema reuse opportunities......Page 233 Interface schema granularity......Page 237 Designing the interface schema with intent to reuse......Page 240 Namespaces......Page 242 Schema reuse by reference and assembly......Page 244 Limitations and complexities......Page 249 Summary......Page 252 References......Page 253 The Interface and Change......Page 254 Schema extension......Page 256 Schema versioning......Page 263 Change and capabilities of the ESB and WSM......Page 270 Reference......Page 272 Service Operations and Overloading......Page 273 Service granularity......Page 276 Scoping of service operations......Page 279 Operations overloading......Page 281 Summary......Page 284 Selective Data Fragmentation......Page 286 Avoiding a complex or non-deterministic content model......Page 294 Summary......Page 295 Update Transactions......Page 297 Update Transactions and State......Page 299 Request-Reply Message Exchange Patterns......Page 305 Complexities of fire and forget for updates......Page 307 Summary......Page 309 References......Page 310 Fixed-Length Transactions......Page 311 References......Page 316 Document Literal Interfaces......Page 317 Reference......Page 322 Performance Analysis and Optimization Techniques......Page 323 Performance of the enterprise services bus or message backbone......Page 324 Security......Page 325 Uniform structure......Page 326 Navigation and data graphs......Page 329 Depth of nesting......Page 331 Verbosity......Page 332 Abstract vs. specific cardinality......Page 333 To validate or not to validate......Page 335 Summary......Page 336 References......Page 337 Error Definition and Handling......Page 338 Summary......Page 341 References......Page 342 Glossary and Abbreviations......Page 343 Important Web Services and Related Specifications......Page 347 References and Bibliography......Page 350 C......Page 355 I......Page 356 Q......Page 357 S......Page 358 X......Page 359