EnglishSite mapContactsFrançais
 CompanyConsultingTrainingDevelopmentProductsProjectsTechnologiesReferencesEventsRecruitment
Web Services
TechnologiesUML | Objecteering/UML | n-tier Architecture | J2EE | Corba | XML | Web Services | Programming languages | Java | C++

In just a few months, Web Services have become the new focal point in technology for all the players in the computing industry.

The objectives of Web Services are to make it easier for companies to gain access to each other's applications, simplifying data exchange. This is a continuation of the old dream of distributed computing, where applications would be able to interact across the network, whatever their platform or the language they were written in. Web Services follow in the footsteps of initiatives such as CORBA (OMG), but provide a simpler solution, based on existing technologies and standards that are universally accepted.

 

What is a Web Service ?

A Web Service is a component written in any language, deployed on any platform, that has a standard wrapping layer based on XML. Other services have to be able to discover the Web Service and invoke it dynamically.

This new technology, initiated by IBM and Microsoft, then partially standardized under the aegis of the W3C, is unanimously accepted throughout the computing industry. It is this, above all, that makes Web Services a revolutionary technology.

The purely technical aspects are not fundamentally innovative. What makes the architecture of Web Services so attractive, in much the same way as XML, is its simplicity, readability and that it is built on existing standards.

 

The concepts used in Web Services hinge on the three following acronyms:

  • SOAP (Simple Object Access Protocol) is a protocol based on the language, XML. It allows exchanges between applications, whatever their platform. A SOAP service call is a stream of ASCII text framed by XML tags and transported in the HTTP protocol.
  • Web Services (Description Language) describes the Web Services in XML format, specifying the methods that can be called, their signatures, and their access points (URL, port, etc.). To some extent, it is the equivalent of CORBA's IDL language for distributed programming.
  • UDDI (Universal Discovery Description and Integration) standardizes the use of distributed directories for Web Services, allowing both publishing and discovery. UDDI behaves like a Web Service itself, its methods being called using the SOAP protocol.

A significant advantage of Web Services, relative to other distributed architectures, is the support of firewalls. By using the HTTP protocol on port 80, which is generally not secured, the Web Services can get into the enterprise without being blocked by firewalls.

However, this creates other safety concerns because the default use of these characteristics is too permissive. It is necessary to take this into account at the protocol levels.

 

Web Services Infrastructure

At present, standardization of Web Services is still largely under construction and goes way beyond the simple invocation of a method on a distant object. A number of working groups have been started to try to define a truly distributed application, both in terms of standardized exchange and transverse services.

The organization of the standards committees can be shown as follows:

  • Standardization of exchange on three horizontal layers :
    - Transport layer : Definition of the message structure used by applications to discover each other and talk to each other.
    - Semantic layer : Standardization of data participating in exchanges, according to the business rules.
    - Business process layer : Standardization of the management of business processes so that they can be spread across several applications available on the Internet
  •  Standardization of transverse services on three vertical axes :
    - Directory Service : Standardization of the means of access to a service from a request based on the contents of a service or on a supplier.
    - Security Service : Standardization of handling problems associated with authentication and authorization (access rights).
    - Transaction Service : Standardization of methods guaranteeing the integrity of long transactions involving several Web Services.


State of Standardization

At this time, only the transport layer is fully standardized and uncontested. It uses the SOAP protocol for message exchange and the WSDL language for defining the interface contract.

There are a number of initiatives for defining the message semantics layer and these haven't as yet lead to a definitive standard. Two types of work group are ongoing, one organized according to the different business types, the other having the more global approach of a consortium such as ebXML (OASIS) or RosettaNet.

The orchestration of complex B2B transactions, based on a normalized model of streams, is also an initiative that is making slow progress and is not being developed co-operatively. Notable examples are BMPL (Business Process Modeling Initiative), WSFL (IBM), and XLang (Microsoft).

At the service level, the UDDI Directory might have appeared to be a definitive solution. However, this is longer the case, and the expansive nature of the project isn't suited to data exchange between consenting enterprises. There is serious competition from WS-Inspection (proposed by IBM and Microsoft, the originators of UDDI). This product is less ambitious but allows a straightforward representation of the services of an enterprise, and is better adapted to this second set of problems.

The management of security and transactions is currently the biggest stumbling block to putting distributed architectures based on Web Services into place. Several work groups are ongoing, but none of them is really accepted. However, XACML will probably take over from SAML at the security level and eventually become the security standard. On the transactional side, the battle is not yet won, even if BTP seems to be the most supported combatant.

 

Concrete examples

Whether in the world of J2EE or of .NET, all the major players are offering Web Services oriented solutions as well as the imminent integration of associated standards. In parallel, the first real applications of this technology are seeing daylight, notably in the domain of CRM solutions (Sevina, Onyx), human resources management (CCMX) and content sharing (System U, Digiplug).

 

Should you wait ?

Naturally, Web Services are provoking interest from architects and decision makers. The most frequent question is about their degree of maturity.

Clearly, for such a recent technology, there is no fall-back. But if the building is still fragile, it rests on firm foundations (SOAP and WSDL) that have proven their efficacy and maturity.

Web Services have already left the field of inter-enterprise exchanges moving into referencing the resources of an enterprise and making them available, thus encroaching on the territory of EAI type technologies. This usage alone demonstrates the quality and endurance of the model, notably at the lowest layers.

On the other hand, the complete standardization of a distributed architecture based on Web Services is, at the moment, only a dream announced each year as being planned for the end of the next year! This model does have performance problems: data is sent in ASCII format, encapsulated in XML, which is nested in a SOAP envelope, finally couched in HTTP. The problem of choosing the best granularity for the service, a problem common to all distributed architectures, becomes even more acute with Web Services.

This said, even if they have not yet reached industrial strength, Web Services are showing more than ever that they are an appropriate solution for the problems of data exchange and application integration.

 

To help you putting Web Services in place, SOFTEAM makes its expertise and its capitalization on experience available to you through its offers of Consulting, Training, Development and Products. 

Paris  •  Rennes  •  Nantes  •  Sophia Antipolis  •  Objecteering Software