Key Concepts and Principles in Service Oriented Computing
In essence, "Web services" technology was the descendant of RPC taking the places of CORBA and DCOM as the solution for software interoperability.
- Aaron Skonnard. 2002. The Birth of Web Services - http://msdn.microsoft.com/en-us/magazine/cc188933.aspx
- Michael N. Huhns, Munindar P. Singh. 2005. Service-Oriented Computing: Key Concepts and Principles. IEEE Internet Computing. January/February 2005, vol. 9 no. 1 pp. 75-81
W3C Definition on Web Service
There are many things that might be called "Web services" in the world at large. However, for the purpose of this Working Group and this architecture, and without prejudice toward other definitions, we will use the following definition:
A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.
- W3C Web Services Glossary: http://www.w3.org/TR/ws-gloss/
REST and Service
Roy Fielding (2000) proposed the concept of Representational State Transfer (REST) to describe an architectural style of networked systems. He explained - “Representational State Transfer is intended to evoke an image of how a well-designed Web application behaves: a network of web pages (a virtual state-machine), where the user progresses through an application by selecting links (state transitions), resulting in the next page (representing the next state of the application) being transferred to the user and rendered for their use.” In science, REST is about Web application or Web page, according to Roy’s dissertation. REST "service" is invoked using HTTP GET|POST methods and thus may not have much relevance to software engineering.
- Roy T. Fielding. 2000. Architectural Styles and the Design of Network-based Software Architectures. (DISSERTATION)
OGC Web Services (OWS)
Traditionally, OGC generated a variety of standards to enable data interoperability. Except Web Processing Services (WPS), most OWS specifications are about data and map, such as WMS, WFS, WCS, and so on. OWS are mostly REST services developed for online GIS application, not for software engineering.
- CyberGIS is an SI2-SSI project, which means Software Infrastructure for Sustained Innovation (SI2) focusing on Scientific Software Integration (SSI).
- SI2 “Can be similar to Datanet but focused on software rather than data.”