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.
|