| Acknowledgments | p. ix |
| SOA-A Common Sense Definition | p. 1 |
| Origins of SOA | p. 1 |
| Technology Becomes a Commodity | p. 2 |
| Technology Becomes an Enabler | p. 3 |
| Technology Becomes a Transformer | p. 3 |
| A Definition for SOA | p. 4 |
| Consumers, Services, and Intermediaries | p. 5 |
| Messaging-The Means of Interaction between Consumer and Services | p. 7 |
| SOA Capabilities | p. 9 |
| The Enterprise Service Bus-ESB | p. 10 |
| The Service Registry and Repository-SRR | p. 12 |
| Business Process Management-BPM | p. 15 |
| Business Activity Monitoring-BAM | p. 18 |
| Web Services Management-WSM | p. 19 |
| Closing the SOA Loop | p. 21 |
| The Benefits of SOA | p. 23 |
| Core SOA Principles | p. 25 |
| Loose Coupling | p. 25 |
| Interoperability | p. 32 |
| Reusability | p. 34 |
| Discoverability | p. 37 |
| Governance | p. 37 |
| Design-Time Governance | p. 39 |
| Bind-Time Governance | p. 39 |
| Run-Time Governance | p. 40 |
| Web Services and Other Service Types and Styles | p. 43 |
| Web Services and SOAP | p. 43 |
| Rest Style Services | p. 48 |
| Legacy Services and API's | p. 51 |
| Data, the Missing Link | p. 55 |
| Data at Rest-Persistence | p. 58 |
| Data in Motion-Messaged Context | p. 60 |
| Data Services | p. 67 |
| A Single Data at Rest Data Source | p. 68 |
| Multiple and Disparate Data at Rest Sources | p. 71 |
| Resolving Data Impedance with Data Services | p. 90 |
| CRUD-Based Data Services | p. 93 |
| Transformation to Resolve Data Impedance | p. 97 |
| Transformation | p. 102 |
| Translation | p. 112 |
| Aggregation | p. 117 |
| Abstraction | p. 120 |
| Rationalization | p. 122 |
| The Service interface-a Contract | p. 127 |
| Web Services Description Language-WSDL | p. 130 |
| XML Senemas-XSD | p. 135 |
| Extensible Markup Language | p. 136 |
| Canonical Message Design | p. 143 |
| The Message Is a Hierarchy | p. 145 |
| Top-Down Canonical Message Design | p. 149 |
| Design Requirements | p. 150 |
| Conceptual Message Design | p. 153 |
| Logical Message Design | p. 155 |
| Physical Message Design | p. 158 |
| Create and Refine Message Schemas | p. 168 |
| Create WSDL | p. 170 |
| Model-Driven Interface Design | p. 171 |
| The Enterprise Taxonomy | p. 175 |
| Focus on Common Business Language for Discovery | p. 177 |
| Broadening and Extending the Taxonomy | p. 178 |
| Registry Entries and Discovery | p. 181 |
| XML Schema Basics | p. 185 |
| Elements | p. 188 |
| Attributes | p. 190 |
| simple Types | p. 192 |
| complex Types | p. 198 |
| Groups | p. 200 |
| Namespaces | p. 203 |
| Import, Include | p. 204 |
| XML Schema Design Patterns | p. 211 |
| complex Type Patterns | p. 212 |
| Global Declaration Patterns | p. 218 |
| Local Declaration Patterns | p. 222 |
| Reusable Schema Patterns | p. 225 |
| substitutionGroup Patterns | p. 230 |
| Schema Assembly and Reuse | p. 235 |
| Considerations for Schema Reuse | p. 237 |
| Identifying Service Interface Reuse Opportunities | p. 237 |
| Interface Schema Granularity | p. 241 |
| Designing the Interface Schema with Intent to Reuse | p. 244 |
| Namespaces | p. 246 |
| Schema Reuse by Reference and Assembly | p. 248 |
| Limitations and Complexities | p. 253 |
| The Interface and Change | p. 259 |
| Schema Extension | p. 261 |
| Schema Versioning | p. 268 |
| Change and Capabilities of the ESB and WSM | p. 275 |
| Service Operations and Overloading | p. 279 |
| Service Granularity | p. 282 |
| Scoping of Service Operations | p. 285 |
| Operations Overloading | p. 287 |
| Selective Data Fragmentation | p. 293 |
| Avoiding a Complex or Non-deterministic Content Model | p. 301 |
| Update Transactions | p. 305 |
| Update Transactions and State | p. 307 |
| Request-Reply Message Exchange Patterns | p. 313 |
| Complexities of Fire and Forget for Updates | p. 315 |
| Fixed-Length Transactions | p. 319 |
| Document Literal Interfaces | p. 325 |
| Performance Analysis and Optimization Techniques | p. 331 |
| Complexity of Consumer and Service Behavior | p. 332 |
| Performance of the Enterprise Services Bus or Message Backbone | p. 332 |
| Security | p. 333 |
| Complexity and Size of the Message | p. 334 |
| Uniform Structure | p. 334 |
| Navigation and Data Graphs | p. 337 |
| Depth of Nesting | p. 339 |
| .5 | p. 340 |
| Abstract vs. Specific Cardinality | p. 341 |
| To Validate or Not to Validate | p. 343 |
| Error Definition and Handling | p. 347 |
| Glossary and Abbreviations | p. 353 |
| Important Web Services and Related Specifications | p. 357 |
| References and Bibliography | p. 361 |
| Index | p. 367 |
| Table of Contents provided by Ingram. All Rights Reserved. |