1.5. Networked Computing

122. Networked computing is a set of technologies that treats the network as a computing platform, enables machine to machine communication, and offer efficient new ways to help networked computers organise and draw conclusions from online data.

123. Implications: Reusable, repurposable, and reconnectable data/services will promote the convergence of Service Oriented Architecture and the Semantic Web.

1.5.1. Web Services

124. Web Services are software systems that enable machine to machine interaction over a network. The Web Services present themselves as web based Application Programming Interfaces (API) that use XML messages to communicate. The core standards are covered in Volume 2 and this section covers emerging extentions.

  • WS-Security - Defines how to use XML Encryption and XML Signature in SOAP to secure message exchanges, as an alternative or extension to using HTTPS to secure the channel.

  • WS-Reliability - An OASIS standard protocol for reliable messaging between two Web services.

  • WS-ReliableMessaging - A protocol for reliable messaging between two Web services, issued by Microsoft, BEA and IBM it is currently being standardised by the OASIS organisation

  • WS-Addressing - A way of describing the address of the recipient (and sender) of a message, inside the SOAP message itself.

  • WS-Transaction - A way of handling transactions.

1.5.1.1. Web Service Specifications

Technology Description
WS-BPEL Process composition
WSCI Process composition
OASIS WS-Business Activity 1.1 Management and infrastructure
WS-Eventing Management and infrastructure
WS-Notification Management and infrastructure
WS-Federation Management and infrastructure
JBI Process composition
SCA Process composition
Java-EE Management and infrastructure
Java-RMI Distributed systems
.NET Management and infrastructure
Jini Distributed systems, Service selection, Management and infrastructure
Rio Distributed systems, Service selection, Process composition, Management and infrastructure

Table 1.5. Summary of Emerging Web Services Technologies


1.5.1.1.1. Business Process Execution Language for Web Services (WS-BPEL or BPEL4WS)

125. The Business Process Execution Language (BPEL) originally proposed by Microsoft, and Siebel Systems. It is XML-based and is designed as a layer on top of WSDL that allows a standardised way of describing business process flows in terms of web services. A BPEL process can be used either to describe an executable work flow in a node (orchestration), or to describe the protocol for interaction between participants in a business process (choreography). Status: As of January 2007, BPEL4WS is now an OASIS standard also referred to as WS-BPEL version 2.0. [4].

1.5.1.1.2. Web Service Choreography Interface (WSCI)

126. Other Web service based standards for Web service orchestration and choreography are , developed by Sun, , BEA, and Intalio, and BPML, initiated by Intalio, Sterling Commerce, Sun, and through the non-profit (Business Process Management Initiative) corporation. (Web Services Choreography Interface) extends WSDL (rather than being built on top of WSDL like BPEL) and focuses on the collaborative behaviour of either a service user or a service provider. Status: The WSCI specification is one of the primary inputs into the W3C's Web Services Choreography Working Group which published a Candidate Recommendation on WS-DSL version 1.0 on November 2005 to replace WSCI.

1.5.1.1.3. Web Service Distributed Management (WSDM)

127. Web Services Distributed Management (WSDM) [22] is an OASIS [17] standard that specifies infrastructure support for the integration of web service management aspects across heterogeneous systems. This is done through management specific messaging via web services. It consists of main parts:

  • WSDM-MUWS. Deals with Management Using Web Services (MUWS), i.e., the fundamental capabilities required to manage a resource.

  • WSDM-MOWS. Deals with Management of Web Services (MOWS), and builds on MUWS to specify how web services (as a kind of resource) are managed.

1.5.1.1.4. Java Business Integration (JBI)

128. Java Business Integration (JBI) is a Java Specification Request (JSR 208) [24] that aims to extend Java (including Java EE) with an integration environment for business process specifications like , BPEL4WS and those proposed by the W3C Choreography Working Group [23]. It is an example of a technology that implements Enterprise Service Bus (ESB) concepts.

1.5.1.1.5. Java Remote Method Invocation (JRMI)

129. Java Remote Method Invocation (JRMI), is a Java specific standard for access to Java objects across a distributed system [12].

1.5.1.1.6. Jini

130. Jini network technology [6] [7] [8] is an open architecture that enables developers to create network-centric services that are highly adaptive to change. An architecture based on the idea of a federation rather than central control, Jini technology can be used to build adaptive networks that are scalable, evolvable and flexible as typically required in dynamic computing environments. Jini technology provides a flexible infrastructure for delivering services in a network and for creating spontaneous interactions between clients that use these services regardless of their hardware or software implementations.

131. The Jini architecture specifies a discovery mechanism used by clients and services to find each other on the network and to work together to get a task accomplished. Service providers supply clients with portable Java technology based objects that implements the service and gives the client access to the service. The actual network interaction used can be of any type such as Java [27], CORBA [11], because the object encapsulates (hides) the communication so that the client only sees the Java object provided by the service.

132. The Rio Project [8] extends the Jini technology [6] [7] to provide dynamic adaptive network architecture and uses a nomadic SOA approach. In a nomadic SOA services can migrate and self optimise their architectural structure to respond to the changing service environment.

133. A fundamental tenet of distributed systems is they must be crafted with the reality that changes occur on the network. Compute resources have assets diminished or fail and new ones are introduced into the network. Applications executing on compute resources may fail, or suffer performance degradation based on diminishing compute resource capabilities and/or assets. Technology used must provide distributed, self-organizing, network-centric capabilities. Enables a dynamic, distributed architecture capable of adapting to unforeseen changes on the network.

134. Importance: This architecture can facilitate the construction of distributed systems in the form of modular co-operating services.

135. Implications: Can provide a more stable, fault-tolerant, scalable, dynamic, and flexible solution. Jini also provide the ability to do a better job at upgrading systems, keeping everything running including old clients.

136. Status: Originally developed and maintained by Sun Microsystems, but now that responsibility is being transferred to the Apache Software Foundation under the project name of River. There are many initiatives that are based on the Jini technology such as various grid architectures and [8].

1.5.1.2. Web Service Frameworks

137. A list of Frameworks:

Name Platform Destination Specification Protocols
Apache Axis Java/C++ Client/Server WS-ReliableMessaging, WS-Coordination, WS-Security, WS-AtomicTransaction, WS-Addressing SOAP, WSDL
JSON RPC Java Java Server - JSON-RPC
Java Web Java Client/Server WS-Addressing, WS-Security SOAP
Services Development Pack Java Client/Server - WSDL
Web Services Interoperability Technology Java Client/Server WS-Addressing, WS-ReliableMessaging, WS-Coordination, WS-AtomicTransaction, WS-Security, WS-Security Policy, WS-Trust, WS-SecureConversation, WS-Policy, WS-MetadataExchange SOAP, WSDL, ATOM
Web Services Invocation Framework Java Client - SOAP, WSDL
Windows Communication Foundation .Net Client/Server WS-Addressing, WS-ReliableMessaging, WS-Security SOAP, WSDL
XFire Java Client/Server WS-Addressing, WS-Security SOAP, WSDL
XML Interface for Network Services Java Server - SOAP, WSDL
gSOAP C/C++ Client/Server WS-Addressing, WS-Discovery, WS-Enumeration, WS-Security SOAP, XML-RPC, WSDL
NuSOAP PHP Server - SOAP, WSDL

1.5.1.3. Web Services Platforms

1.5.1.3.1. Java 2 Edition (J2EE)

138. Java Enterprise Edition (formerly known as Java 2 Platform, Enterprise Edition or J2EE up to version 1.4) [9] is a specification of a platform and a code library that is part of the Java Platform. It is used mainly for developing and running distributed multi-tier Java applications, based largely on modular software components running on a platform (application server). The platform provides the application with support for handling of transactions, security, scalability, concurrency and management of deployed applications. Applications are easily ported between different Java EE application servers. Applications developed for the Java EE can easily support Web Services. Java EE is often compared to Microsoft .Net [10], a comparison that is beyond the scope of this document. But it shall be noted that .Net is a product and framework closely related to development for the Windows operating system whereas Java EE is a specification that is followed by many product vendors.

1.5.1.3.2. Microsoft .NET

139. Microsoft .NET framework [10] is a Microsoft product closely related to application development for the Windows platform [10]. The framework includes the closely related C# programming language (even if it is a formal ISO standard) and the Common Language Runtime (CLR), which simplified is Microsoft's response to JAVA. Programs written for the NET. Framework execute in which provides the appearance of an application virtual machine, so that programmers need not consider the capabilities of the specific CPU that will execute the program. The framework also includes libraries for development of web service applications.

1.5.2. Semantic Web

140. The Semantic Web initiative will make searches more accurate and enable increasingly sophisticated information services like intelligent agents that can find products and services, schedule appointments and make purchases. The initiative includes a sort of grammar and vocabulary that provide information about a document's components; this information will enable Web software to act on the meaning of Web content. Semantic Web software and Web services promise to shift the nature of the Web from a publishing and communications medium to an information management environment.

141. Semantic Web software includes a special set of Extensible Mark-up Language (XML) tags that includes Uniform Resource Identifiers (URL), a Resource Description Framework (RDF), and a Web Ontology Language (OWL).

142. Semantic Web software makes it possible for an intelligent agent to carry out the request "show me the Unmanned Aerial Vehicles (UAV) operating in the current area of responsibility" even if there is no explicit list, because it knows that "area of responsibility" has the property "location" with the value "Kandahar", and in searching a directory of UAVs it knows to skip UAVs belonging to the United States, whose location value is "Kabul", but include German UAVs, whose location value is "Kandahar".

143. Semantic Web software organises Web information so that search engines and intelligent agents can understand properties and relationships. A university, for example, could be defined as an institution of higher education, which is a class of objects that has a set of properties like a population of students.

144. The World Wide Web Consortium released standards in February 2004 that define the two foundation elements of the Semantic Web initiative: the Resource Description Framework (RDF), which provides a structure for interpreting information, and the Web Ontology Language (OWL), which provides a means for defining the properties and relationships of objects in Web information.

145. Web services provide a way for software to communicate with each other over the Web, enabling a form of distributed computing in which simple services can be combined to carry out complicated tasks like financial transactions.

146. Our most fundamental sensors are our senses themselves. They are quite sophisticated, the product of a complex evolutionary design. And yet we've improved on them as time has passed: telescopes and microscopes extend our eyes, thermometers extend our touch, and satellite dishes extend our ears. In addition, virtual sensors have been used for many years to monitor our computing environments. Smaller and more powerful computer processors allow sensors to be small and inexpensive enough that they can be everywhere. And with the advent of trillions and trillions of IPv6 addresses, they can all be networked.

147. Networks, human or technological, are designed to communicate information from one point to others. But the value of a network is entirely dependent on the information it contains. And so the sensors that feed information into a network play a crucial role in maximising a network's value. Simply put, the better the sensors and the better the information they provide, the more valuable the network becomes.

148. Advanced sensors that report directly about their physical environment will enable truly revolutionary applications. Already there are sensors that can detect, measure, and transmit any physical quality such as temperature, pressure, colour, shape, sound, motion, and chemical composition. And, as sensors are becoming more sophisticated, they are also shrinking in size. Some are so tiny that they are difficult to detect.

149. Emerging sensor network technologies will be autonomous, intelligent, and mobile. These sensors will reconfigure themselves to achieve certain tasks. These requirements will provide rigid requirements for the computing, and delivery systems of the future. The networks and computing systems must reorganise themselves to serve the distributed agents with needs to communicate and exchange decisions, actions, and knowledge to other agents in secured environment.

1.5.3. Service Component Architecture

150. Service component architecture (SCA) [25] is a technology development initiative driven by a group of middle-ware vendors. SCA extends and complements existing standards for service implementation and for web services; the goal is to simplify application development and implementation of SOA.

151. SCA components operate at a business level and are decoupled from the actual implementation technology and infrastructure used. SCA uses Service Data Objects (SDO) [26] to represent the business data that forms parameters and return value between the services. SCA thus provides uniform Service access and uniform Service data representation.

152. Status: The current SCA specifications are published in a draft version (1.0) at the vendor's web sites [25].