SOA and Web Services Interface Design
Principles, Techniques, and StandardsBy
- James Bean, CEO, Relational Logistics Group, Phoenix, Arizona, U.S.A.
In SOA and Web Services Interface Design, data architecture guru James Bean teaches you how to design web service interfaces that are capable of being extended to accommodate ever changing business needs and promote incorporation simplicity. The book first provides an overview of critical SOA principles, thereby offering a basic conceptual summary. It then provides explicit, tactical, and real-world techniques for ensuring compliance with these principles. Using a focused, tutorial-based approach the book provides working syntactical examples - described by Web services standards such as XML, XML Schemas, WSDL and SOAP - that can be used to directly implement interface design procedures, thus allowing you immediately generate value from your efforts. In summary, SOA and Web Services Interface Design provides the basic theory, but also design techniques and very specific implementable encoded interface examples that can be immediately employed in your work, making it an invaluable practical guide to any practitioner in today's exploding Web-based service market.
Technology practitioners involved in the design and development of SOA services and service interfaces including enterprise and integration architects responsible for defining company information architecture, computer software engineers who research and develop vendor SOA-based applications, and business solutions architects.
Paperback, 384 Pages
Published: October 2009
Imprint: Morgan Kaufmann
- 1. SOA A Common Sense Definition1.1 Origins of SOA 1.1.1 Technology Becomes a Commodity 1.1.2 Technology Becomes an Enabler 1.1.3 Technology Becomes a Transformer1.2 A Definition for SOA1.3 Consumers, Services, and Intermediaries1.4 Messaging - The Means of Interaction between Consumer and Services1.5 SOA Capabilities1.5.1 The Enterprise Service Bus - ESB1.5.2 The Service Registry and Repository - SRR1.5.3 Business Process Management - BPM1.5.4 Business Activity Monitoring - BAM1.5.5 Web Services Management - WSM1.5.6 Closing the SOA Loop1.6 The Benefits of SOA2. Core SOA Principles2.1 Loose Coupling2.2 Interoperability2.3 Reusability2.4 Discoverability2.5 Governance 2.5.1 Design-Time Governance2.5.2 Bind-Time Governance2.5.3 Run-Time Governance3. Web Services vs. other Types and Styles of Services3.1 Web Services and SOAP3.2 ReST Style Services3.3 Legacy Services and APIs4. Data the Missing Link4.1 Data at Rest Persistence4.2 Data in Motion Messaged Context5. Data Services5.1 Multiple and Disparate Data at Rest Sources5.2 Resolving Data Impedance with a Data Service5.3 CRUD Based Services6. Transformation to Resolve Data Impedance6.1 Transformation6.2 Translation6.3 Aggregation6.4 Abstraction6.5 Rationalization7. The Service Interface - the Contract7.1 Web Services Description Language WSDL7.2 XML Schemas XSD7.3 Extensible Markup Language - XML8. Canonical Message Design8.1 The message is a hierarchy8.2 Top-Down canonical message design8.3 Model Driven Interface Design9. The Enterprise Taxonomy9.1 Focus on Common Business Language for Discovery9.2 Broadening and extending the taxonomy9.3 Registry Entries and Discovery10. XML Schema Basics10.1 elements10.2 attributes10.3 simpleTypes10.4 complexTypes10.5 groups10.6 namespaces10.7 import, include11. XML Schema Design Patterns11.1 complexTypes 11.2 Referencing Global Declarations11.3 Local Element Declarations11.4 Reusable Schemas Without Namespaces11.5 Reusing and Applying Namespaces11.6 Reusing and Applying Namespaces to Schema Assemblies11.7 Using substitutionGroups12. Schema Assembly and Reuse12.1 Namespaces12.2 Schema Reuse by Reference and Assembly12.3 Limitations and Complexities13. The Interface and Change13.1 Schema Extension13.2 Schema Versioning13.3 Change and Capabilities of the ESB and WSM14. Service Operations and Overloading14.1 Service Granularity14.2 Scoping of Service Operations14.3 Operations Overloading15. Selective Data Fragmentation15.1 Grouping Data by Expressed Affinity15.2 Avoiding a Complex or Non-Deterministic Content Model16. Update Transactions16.1 Update Transactions and State16.2 Request Reply Message Exchange Patterns16.3 Complexities of Fire and Forget for Updates17. Fixed Length Transactions and Nulls18. Document Literal Interfaces19. Performance Analysis and Optimization Techniques19.1 Uniformity of Structure19.2 Navigation and Data Graphs19.3 Depth of Nesting19.4 Verbosity19.5 Abstract vs. Specific Cardinality19.6 To Validate or Not to Validate20. Error Definition and HandlingA. AppendixA.1 Glossary and AbbreviationsA.2 Web Services StandardsA.3 Bibliography and References