Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services
Web services have been used for many years. In this time, developers and architects have encountered a number of recurring design challenges related to their usage, and have learned that certain service design approaches work better than others to solve certain problems.
In Service Design Patterns,Rob more » Daigneau codifies proven design solutions for web services that follow the REST architectural style or leverage the SOAP/WSDL specifications. This catalogue identifies the fundamental topics in web service design and lists the common design patterns for each topic. All patterns identify the context in which they may be used, explain the constituent design elements, and explore the relative strengths and trade-offs. Code examples are provided to help you better understand how the patterns work but are kept general so that you can see how the solutions may be applied to disparate technologies that will inevitably change in the years to come.
This book will help readers answer the following questions:
* How do you create a web service API, what are the common API styles, and when should a particular style be used?
* How can clients and web services communicate, and what are the foundations for creating complex conversations in which multiple parties exchange data over extended periods of time?
* What are the options for implementing web service logic, and when should a particular approach be used?
* How can clients become less coupled to the underlying systems used by a service?
* How can information about a web service be discovered?
* How can generic functions like authentication, validation, caching, and logging be supported on the client or service?
* What changes to a service cause clients to break?
* What are the common ways to version a service? How can web services be designed to support the continuing evolution of business logic without forcing clients to constantly upgrade?
This book is an invaluable resource for enterprise architects, solution architects, and developers who use web services to create enterprise IT applications, commercial or open source products, and Software as a Service (SaaS) products that leverage emerging Cloud platforms. « less
Design and build Service-Oriented Architecture Solutions with the Oracle SOA Suite 10gR3
This book is a comprehensive guide, split into three sections. The initial section of the book provides an introduction to the Oracle SOA Suite and its various components, and will give you a fast-paced hands-on introduction to each of the key components in turn. The next section illustrates the usage more » of the various components of the SOA Suite to implement a real-world SOA-based solution with the help of an example of an online auction site (oBay). The final section covers other considerations such as the packaging, deployment, testing, security, and administration of SOA applications. This book targets developers and technical architects who work in the SOA domain. The primary purpose of the book is to provide them with a "hands on" practical guide to using and applying the Oracle SOA Suite in the delivery of real-world composite applications. It presumes basic understanding of the concepts of SOA, as well as some of the key standards in this space, including web services (SOAP, WSDL), XML Schemas, and XSLT (and XPath). « less
This book is a comprehensive guide, split into three sections. The initial section of the book provides an introduction to the Oracle SOA Suite and its various components, and will give you a fast-paced hands-on introduction to each of the key components in turn. The next section illustrates the usage more » of the various components of the SOA Suite to implement a real-world SOA-based solution with the help of an example of an online auction site (oBay). The final section covers other considerations such as the packaging, deployment, testing, security, and administration of SOA applications.
This book targets developers and technical architects who work in the SOA domain. The primary purpose of the book is to provide them with a "hands on" practical guide to using and applying the Oracle SOA Suite in the delivery of real-world composite applications. It presumes basic understanding of the concepts of SOA, as well as some of the key standards in this space, including web services (SOAP, WSDL), XML Schemas, and XSLT (and XPath). « less
The Ultimate Guide for Designing and Governing Web Service Contracts
For Web services to succeed as part of SOA, they require balanced, effective technical contracts that enable services to be evolved and repeatedly reused for years to come. Now, a team of industry experts presents the first end-to-end more » guide to designing and governing Web service contracts. Writing for developers, architects, governance specialists, and other IT professionals, the authors cover the following areas:
Understanding Web Service Contract Technologies
Initial chapters and ongoing supplementary content help even the most inexperienced professional get up to speed on how all of the different technologies and design considerations relate to the creation of Web service contracts. For example, a visual anatomy of a Web service contract documented from logical and physical perspectives is provided, along with a chapter dedicated to describing namespaces in plain English. The book is further equipped with numerous case study examples and many illustrations.
Fundamental and Advanced WSDL
Tutorial coverage of WSDL 1.1 and 2.0 and detailed descriptions of their differences is followed by numerous advanced WSDL topics and design techniques, including extreme loose coupling, modularization options, use of extensibility elements, asynchrony, message dispatch, service instance identification, non-SOAP HTTP binding, and WS-BPEL extensions. Also explained is how WSDL definitions are shaped by key SOA design patterns.
Fundamental and Advanced XML Schema
XML Schema basics are covered within the context of Web services and SOA, after which advanced XML Schema chapters delve into a variety of specialized message design considerations and techniques, including the use of wildcards, reusability of schemas and schema fragments, type inheritance and composition, CRUD-style message design, and combining industry and custom schemas.
Fundamental and Advanced WS-Policy
Topics, such as Policy Expression Structure, Composite Policies, Operator Composition Rules, and Policy Attachment establish a foundation upon which more advanced topics, such as policy reusability and centralization, nested, parameterized, and ignorable assertions are covered, along with an exploration of creating concurrent policy-enabled contracts and designing custom policy assertions and vocabularies.
Fundamental Message Design with SOAP
A broad range of message design-related topics are covered, including SOAP message structures, SOAP nodes and roles, SOAP faults, designing custom SOAP headers and working with industry-standard SOAP headers.
Advanced Message Design with WS-Addressing
The art of message design is taken to a new level with in-depth descriptions of WS-Addressing endpoint references (EPRs) and MAP headers and an exploration of how they are applied via SOA design patterns. Also covered are WSDL binding considerations, related MEP rules, WS-Addressing policy assertions, and detailed coverage of how WS-Addressing relates to SOAP Action values.
Advanced Message Design with MTOM, and SwA
Developing SOAP messages capable of transporting large documents or binary content is explored with a documentation of the MTOM packaging and serialization framework (including MTOM-related policy assertions), together with the SOAP with Attachments (SwA) standard and the related WS-I Attachments Profile.
Versioning Techniques and Strategies
Fundamental versioning theory starts off a series of chapters that dive into a variety of versioning techniques based on proven SOA design patterns including backward and forward compatibility, version identification strategies, service termination, policy versioning, validation by projection, concurrency control, partial understanding, and versioning with and without wildcards.
Web Service Contracts and SOA
The constant focus of this book is on the design and versioning of Web service contracts in support of SOA and service-orientation. Relevant SOA design principles and design patterns are periodically discussed to demonstrate how specific Web service technologies can be applied and further optimized. Furthermore, several of the advanced chapters provide expert techniques for designing Web service contracts while taking SOA governance considerations into account.
About the Web Sites
www.soabooks.com supplements this book with a variety of resources, including a diagram symbol legend, glossary, supplementary articles, and source code available for download.
www.soaspecs.comprovides further support by establishing a descriptive portal to XML and Web services specifications referenced in all of Erl’s Service-Oriented Architecture books.
Chapter 1: Introduction
Chapter 2: Case Study Background
Part I: Fundamental Service Contract Design
Chapter 3: SOA Fundamentals and Web Service Contracts
Chapter 4: Anatomy of a Web Service Contract
Chapter 5: A Plain English Guide to Namespaces
Chapter 6: Fundamental XML Schema: Types and Message Structure Basics
Chapter 7: Fundamental WSDL Part I: Abstract Description Design
Chapter 8: Fundamental WSDL Part II: Concrete Description Design
Chapter 9: Fundamental WSDL 2.0: New Features, and Design Options
Chapter 10: Fundamental WS-Policy: Expression, Assertion, and Attachment
Chapter 11: Fundamental Message Design: SOAP Envelope Structure, and Header Block Processing
Part II: Advanced Service Contract Design
Chapter 12: Advanced XML Schema Part I: Message Flexibility, and Type Inheritance and Composition
Chapter 13: Advanced XML Schema Part II: Reusability, Derived Types, and Relational Design
Chapter 14: Advanced WSDL Part I: Modularization, Extensibility, MEPs, and Asynchrony
Chapter 15: Advanced WSDL Part II: Message Dispatch, Service Instance Identification, and Non-SOAP HTTP Binding
Chapter 16: Advanced WS-Policy Part I: Policy Centralization and Nested, Parameterized, and Ignorable Assertions
Chapter 17: Advanced WS-Policy Part II: Custom Policy Assertion Design, Runtime Representation, and Compatibility
Chapter 18: Advanced Message Design Part I: WS-Addressing Vocabularies
Chapter 19: Advanced Message Design Part II: WS-Addressing Rules and Design Techniques
Part III: Service Contract Versioning
Chapter 20: Versioning Fundamentals
Chapter 21: Versioning WSDL Definitions
Chapter 22: Versioning Message Schemas
Chapter 23: Advanced Versioning
Part IV: Appendices
Appendix A: Case Study Conclusion
Appendix B: A Comparison of Web Services and REST Services
Appendix C: How Technology Standards are Developed
Appendix D: Alphabetical Pseudo Schema Reference
Appendix E: SOA Design Patterns Related to This Book « less
Developing Java Web Applications
Discover WTP, the New End-to-End Toolset for Java-Based Web Development The Eclipse Web Tools Platform (WTP) seamlessly integrates all the tools today’s Java Web developer needs. WTP is both an unprecedented Open Source resource for working developers and a powerful foundation for state-of-the-art commercial more » products.
Eclipse Web Tools Platform offers in-depth descriptions of every tool included in WTP, introducing powerful capabilities never before available in Eclipse. The authors cover the entire Web development process–from defining Web application architectures and development processes through testing and beyond. And if you’re seeking to extend WTP, this book provides an introduction to the platform’s rich APIs. The book also
* Presents step-by-step coverage of developing persistence, business logic, and presentation tiers with WTP and Java
* Introduces best practices for multiple styles of Web and Java EE development
* Demonstrates JDBC database access and configuration
* Shows how to configure application servers for use with WTP
* Walks through creating Web service application interfaces
* Covers automated testing with JUnit and Cactus, and automated builds utilizing Ant, Maven, and CruiseControl
* Introduces testing and profiling Web applications with the Eclipse Test and Performance Tools Platform (TPTP) project
* Describes how to extend WTP with new servers, file types, and WSDL extensions
About the Authors
Part I: Getting Started
Chapter 1: Introduction
Chapter 2: About the Eclipse Web Tools Platform Project
Chapter 3: Quick Tour
Chapter 4: Setting Up Your Workspace
Part II: Java Web Application Development
Chapter 5: Web Application Architecture and Design
Chapter 6: Organizing Your Development Project
Chapter 7: The Presentation Tier
Chapter 8: The Business Logic Tier
Chapter 9: The Persistence Tier
Chapter 10: Web Services
Chapter 11: Testing
Part III: Extending WTP
Chapter 12: Adding New Servers
Chapter 13: Supporting New File Types
Chapter 14: Creating WSDL Extensions
Chapter 15: Customizing Resource Resolution
Part IV: Products and Plans
Chapter 16: Other Web Tools Based on Eclipse
Chapter 17: The Road Ahead
This book is an invaluable resource for every Eclipse and enterprise Java Web developer: both those who use Eclipse to build other Web applications, and those who build Eclipse technologies into their own products.
Complete source code examples are available at www.eclipsewtp.org. « less