| Sign In/My Account | View Cart |
|
|
Architectural Styles for Web Services
![]() Jim Alateras For the moment I want to go thorough three architectural styles using a simple example to illustrate the abstractions promoted by each style. The requirements for the Work Manager service are shown below followed by a brief analysis for the different architectural styles. Simple Work Manager RequirementsMy simple work manager service has the following requirements
Object Based ArchitectureIn an object based architecture the first class abstractions are classes/interfaces, data and operations. WSDL provides a platform neutral mechanism to describe the work manager service using these abstractions.A partial WSDL document defining the web service is provided below. It define the WorkManagerService with four operations and the associated message structures. The WSDL document can be used to generate bindings to different languages (i.e. WSDL2Java for Java binding). The operations define the published interface for the service and the messages define the structure of the request and/or response. SOAP is the standard wire level protocol.
Resource Based ArchitectureREST (REpresnetational State Transfer) defines an architectural style, which is based on XML, URIs and HTTP. The REST architectural style is described in Roy Fielding Phd Dissertation and embraces the principles of the WWW that have made it the largest, most distributed and scalable application on the planet. In a REST world the fundamental abstractions are resources. Generally, all resources have a uniform interface that provides the capability to create, read, update and delete the resource. The work manager service consists of two resources, workItems and workLists. There is no widely used description language for REST but Web Resource Description Language" is a work in progress.Using the defined resources we can
Message Based ArchitectureMEST (MESsage Transfer), is another architectural style, which defines messages and services as first class abstractions. Interactions between entities are described through message exchange patterns (MEPs), which capture temporal and spacial information about the interaction. There is even a relatively new description language SOAP Service Description Language for it, which from my understanding is based on SOAP one-way messages.I don't have the mastery to write a SSDL document but you can probably get the idea from the following, which describes each MEP for the service.
Jim Alateras is an independent consultant specializing in open source and emerging technologies. Return to weblogs.oreilly.com. Weblog authors are solely responsible for the content and accuracy of their weblogs, including opinions they express, and O'Reilly Media, Inc., disclaims any and all liabililty for that content, its accuracy, and opinions it may contain.
|
|
Sponsored By: |