WEB SERVICES - THE BASIC IDEA
Robert F. MacInnis, Ph.D.
June 2017

AetherWorks
501 Fifth Avenue
New York, NY 10017
E: info@activeaether.com

1 SOFTWARE SERVICES AND SERVICE-ORIENTED COMPUTING

Software services are understood to be autonomous, platform-independent computational elements thatcan be described, published, discovered and composed for the purpose of developing distributedapplications. Software services are the primary unit of computation in service-oriented computing.
Service-oriented computing (SOC) promotes the assembly of application components into networks ofservices that can be loosely coupled to create flexible, dynamic business processes and agile applications
that span organizations and computing platforms [1]. Service-oriented computing has emerged as theleading approach to evolving tightly-coupled, component-based distributed systems into wider networks ofservices which use uniform techniques to address, bind to and invoke service operations.
Service-oriented computing provides a way to create new architectures that reflect trends toward autonomy
and heterogeneity [2]. Distributed architectures which enable the flexible and loosely-coupled processes ofservice-oriented computing are called service-oriented architectures (SOAs), of which software services are
the primary component. The guiding characteristics of SOAs are the interoperation between loosely coupledautonomous services, the promotion of code reuse at a macro (service) level, and architecturalcomposability.
SOAs are composed of three primary entities – a provider, a consumer, and a registry – as shown in Fig. 1.
Providers publish service locations in a registry; consumers use a registry to locate services to program
against and invoke. SOA implementations specify the language used to describe services, provide the means
to publish and discover them, and dictate the protocols and communication mechanisms used to interactwith them. The deployment of software services on the Internet is increasingly achieved using one such setof standards collectively known as ‘Web Services’ [3].

Service Registry

PublishFind

Service Provider

Service Consumer
Bind

Fig. 1 The three main components of a service-oriented architecture: a provider, a consumer, and a registry12 THE WEB SERVICES MODELWeb Services are based on platform-independent standards developed through the efforts of the W3C
working group [4]. These standards define the protocols, message formats, and service description language
which enable interaction between clients and services on heterogeneous computing platforms across theInternet.
Web Services are widely used in industry and academia, exposing functionality ranging from basic
mathematical operations to fully automated online booking systems. They have become the de-facto choicefor providing Web-accessible business logic, consolidating and linking geographically dispersed operational
entities and resources, and providing a common means of interaction between previously isolated business
entities.
The standards introduced by Web Services provide the means to evolve distributed systems from tightlycoupled distributed applications into loosely-coupled systems of services. The standards enableinteroperation between heterogeneous computing platforms through the exchange of messages (in SOAP [5]format) using well-defined interfaces (described with WSDL [6]). By abstracting over implementation andhosting technology, the platform-independent Web Service standards provide a means of homogenizing
access to existing heterogeneous services while promoting the development of new services without forcing
the adoption of any one particular implementation or hosting technology. The Web Services model is well
suited to the emergence of Internet-wide service-oriented computing.

2REFERENCES[1] M. P. Papazoglou, P. Traverso, S. Dustdar and F. Leymann, "Service-Oriented Computing: A researchroadmap," International Journal of Cooperative Information Systems, vol. 17, pp. 223-255, Jun, 2008.
[2] M. N. Huhns and M. P. Singh, "Service-Oriented Computing: Key Concepts and Principles," IEEE Internet
Comput., vol. 9, pp. 75-81, 2005.
[3] W3C. (2008). Web services @ W3C. [http://www.w3.org/2002/ws/Activity].
[4] W3C. (2008). World Wide Web Consortium - Web Standards. [http://www.w3.org/].
[5] W3C. (2007). (27 April 2007). SOAP version 1.2 part 0: Primer (second edition).
W3C[http://www.w3.org/TR/2007/REC-soap12-part0-20070427].
[6] W3C. (2007). Web services description language (WSDL). [http://www.w3.org/2002/ws/desc].

3