Difference between revisions of "Interoperability"

From Earth Science Information Partners (ESIP)
Line 1: Line 1:
 +
 +
A System-of-Systems (SoS) is defined as: A configuration of systems in which component systems can be added/removed during use; each provides useful services in its own right; and each is managed for those services. Yet, together they exhibit a synergistic, transcendent capability
 +
 
SoS is built from a collection of independently acquired and operating systems that must be connected. These systems that may have been developed during different timeframes, from different sources, and from differing organizations or missions. Interoperability standards are the primary mechanism to enable effective connection of the parts. A carefully crafted definition of the protocol is a better means for a long-lived approach towards establishing interoperability than adherence to a specific product...
 
SoS is built from a collection of independently acquired and operating systems that must be connected. These systems that may have been developed during different timeframes, from different sources, and from differing organizations or missions. Interoperability standards are the primary mechanism to enable effective connection of the parts. A carefully crafted definition of the protocol is a better means for a long-lived approach towards establishing interoperability than adherence to a specific product...
  

Revision as of 06:37, May 2, 2008

A System-of-Systems (SoS) is defined as: A configuration of systems in which component systems can be added/removed during use; each provides useful services in its own right; and each is managed for those services. Yet, together they exhibit a synergistic, transcendent capability

SoS is built from a collection of independently acquired and operating systems that must be connected. These systems that may have been developed during different timeframes, from different sources, and from differing organizations or missions. Interoperability standards are the primary mechanism to enable effective connection of the parts. A carefully crafted definition of the protocol is a better means for a long-lived approach towards establishing interoperability than adherence to a specific product...


A Web Service is a software system designed to support interoperable machine to machine interaction over a network." Web services are frequently just Web APIs that can be accessed over a network, such as the Internet, and executed on a remote system hosting the requested services.

The W3C Web service definition encompasses many different systems, but in common usage the term refers to clients and servers that communicate using XML messages that follow the SOAP standard. Common in both the field and the terminology is the assumption that there is also a machine readable description of the operations supported by the server written in the Web Services Description Language (WSDL). The latter is not a requirement of a SOAP endpoint, but it is a prerequisite for automated client-side code generation in many Java and .NET SOAP frameworks (frameworks such as Spring and Apache CXF being notable exceptions). Some industry organizations, such as the WS-I, mandate both SOAP and WSDL in their definition of a Web service.

Styles of use

Web services are a set of tools that can be used in a number of ways. The three most common styles of use are RPC, SOA and REST.

Remote procedure calls

File:Webservice xrpc.png
Architectural elements involved in the XML-RPC.

RPC Web services present a distributed function (or method) call interface that is familiar to many developers. Typically, the basic unit of RPC Web services is the WSDL operation.

The first Web services tools were focused on RPC, and as a result this style is widely deployed and supported. However, it is sometimes criticised for not being loosely coupled, because it was often implemented by mapping services directly to language-specific functions or method calls. Many vendors felt this approach to be a dead end, and pushed for RPC to be disallowed in the WS-I Basic Profile.

Service-oriented architecture

Web services can also be used to implement an architecture according to Service-oriented architecture (SOA) concepts, where the basic unit of communication is a message, rather than an operation. This is often referred to as "message-oriented" services.

SOA Web services are supported by most major software vendors and industry analysts. Unlike RPC Web services, loose coupling is more likely, because the focus is on the "contract" that WSDL provides, rather than the underlying implementation details.

Representational state transfer

Finally, RESTful Web services attempt to emulate HTTP and similar protocols by constraining the interface to a set of well-known, standard operations (e.g., GET, PUT, DELETE). Here, the focus is on interacting with stateful resources, rather than messages or operations. RESTful Web services can use WSDL to describe SOAP messaging over HTTP, which defines the operations, or can be implemented as an abstraction purely on top of SOAP (e.g., WS-Transfer).

WSDL version 2.0 offers support for binding to all the HTTP request methods (not only GET and POST as in version 1.1) so it enables a better implementation of RESTful Web services<ref>Template:Cite web</ref>. However support for this specification is still poor in software development kits, which often offer tools only for WSDL 1.1.