166 Managing Information Access to an EIS Using J2EE and Services Oriented Architecture
7.1 Web services overview
Information exchange between applications is one of the oldest issues in
computer science history. Much technology has been invented to solve this
common need. As the technology has evolved, many solutions have been
provided by software vendors or vendor consortia. Although the need to
standardized was compelling, many market leaders tried to maintain a dominant
position, which often hampered interoperability standards.
In recent years, the market for vertical applications and solutions has become
saturated, and some leaders have emerged. Today, customers want to know how
to integrate the systems that they have acquired.
The Internet phenomenon introduced a well known and widely spread
networking infrastructure which is used mainly for human-to-computer
communication. One result has been to use the same infrastructure that unified
the user interface to attempt to unify the systems interfaces.
Web services were introduced to enable application-to-application
communication based on the following widely accepted open standards:
???? Extensible Markup Language (XML), the universal language that describes
data in an hierarchical manner that is based on tags.
???? Hypertext Transfer Protocol (HTTP), the Internet protocol that provides a
simple request-response paradigm.
Using open standards provides broad interoperability among different vendor
solutions. These principles mean that companies can implement Web services
without having any knowledge of the service consumers, and vice versa. This
facilitates just-in-time integration and allows businesses to establish new
partnerships easily and dynamically.
This chapter focuses on the integration capabilities of Web services. If you need
a deeper explanation of Web services basics, see 7.6, “Further information” on
page 195.
7.1.1 Service concept
One of the most powerful concepts of Web services is the service concept. The
service concept is an evolution of the component idea in the software
engineering field. The basic idea is to decompose a system in well-defined
reusable blocks. The service extends the component idea, because it goes
beyond the software development field to realize the cooperation of
heterogeneous systems.
Chapter 7. Using Web services 167
Web services defines three terms that are related to the service concept:
????
PortType is the interface exposed.
????
Binding describes the communication details on a specific protocol.
????
Service describes the address of the service.
These concepts are so general that they are applicable to any kind of software
interaction. It does not matter what, how, and where the service is provided.
Thus, we have a general concept that we can used at any level of our software
architecture.
The only issue that we need to think about is how to design the building blocks of
our software to meet the requirements of internal and external reusability,
modularity, and change adaptability.
The standardization process has produced a formal document that expresses
the essence of a service: the Web Services Description Language (WSDL)
document. The W3C organization hosts this specification which, at the time of
writing this book, has reached version 1.2.
The next step is to handle a service without the pain of needing to handle all the
technical details. We need a software library that after inspecting WSDL is able
to invoke services as a black box. In the Java world, the Apache Software
Foundation provides Web Services Invocation Framework (WSIF) as a tool to
achieve this task. WSIF was developed originally by IBM, then it was donated to
Apache. WSIF is different from the JAX-RPC API, because it can invoke any kind
of service, with any kind of binding, not only SOAP services. WSIF extends the
purpose of a SOAP-invocation API to become a shaped tool for a new era of
enterprise application integration (EAI). For more details on the Web Services
Invocation Framework, see:
http://ws.apache.org/wsif/
7.1.2 Web services evolution
New Web services specifications are announced constantly, which can give the
impression that Web services are a volatile technology not yet ready for mission
critical applications. Although the standardization roadmap has many open
topics, there are many specifications that are well defined and solid enough to
give us a first set of powerful features.
We can classify the evolution of the Web services standardization in three
phases:
???? Connection: addresses the communication between the parties
???? Quality of service: addresses security and reliability
???? Enterprise: addresses workflow, transactions, and system management
168 Managing Information Access to an EIS Using J2EE and Services Oriented Architecture
See Figure 7-1 for an illustration of these phases.
Figure 7-1 The Web services evolution phases
The first phase can be considered closed. Also, the work of the Web services
Interoperability organization in this area has consolidated with the release of
Web Services Interoperability (WS-I) Basic Profile at the time that this book was
published.
These three phases should not be considered as temporal phases but also as
logical ones. In fact, some topics of the third phase already have a first
development, while other topics in the second phase are only defined.
In our opinion, Web services technology has reached stability in the
communication area. So, it is ready for enterprise implementations that need a
interoperable protocol to interconnect different systems. There are many open
matters, which will be addressed in the next few years as Web services gain
wider deployment.
For further information about the Web services roadmap, see WebSphere Web
Services Information Roadmap, REDP-3854.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset