| Technologies covered so far in this book provide the basic functionality required to build loosely coupled , platform-neutral distributed systems. Even though they work fairly well, none of these core web service specifications were designed to provide by themselves the mechanisms for describing or implementing complex interactions, particularly those run by businesses. It's generally agreed that the set of functionality that describes a full web services stack includes the following: - Message routing
-
Allows rich message exchange patterns and intermediaries - Reliable messaging
-
Implements guaranteed message delivery, sessions, and events - Packaging
-
Establishes standards for packaging messages with attachments, indexing, and compression - Security
-
Provides authentication, authorization, confidentiality, nonrepudiation, privacy, and integrity of the information - Transactions
-
Allows the execution of distributed transactions - Workflow and orchestration
-
Describes and combines services into sophisticated end-to-end business processes - Choreography and conversations
-
Documents message exchange and defines protocols each party has to comply with - Negotiation
-
Describes the protocol for negotiation of terms and conditions of contracts - Extended service description
-
Includes behavioral elements such as quality of service, preconditions and constraints and others - Service management
-
Audits, monitors , and prioritizes version services usage; also provides fail over, load balancing and service level agreement compliance There isn't yet a full set of specifications to address all of these aspects. This chapter describes some of the techniques and specifications that aimed to fill the gaps in the web services architecture. |