190 Managing Information Access to an EIS Using J2EE and Services Oriented Architecture
Computer science defines the essential properties of a transaction as:
???? Atomicity
If a transaction is successful, then all the operations happen, If it is
unsuccessful, then none of the operations happen.
???? Consistency
The application performs valid state transitions at completion.
???? Isolation
The effects of the operations are not shared outside the transaction until it
completes successfully.
???? Durability
Once a transaction successfully completes, the changes survive failure.
An extension of this concept is the distributed transaction, which applies to
distributed systems. Distributed systems consist of a number of computers
connected by a network. Such systems complicate the handling of failures of any
of the components involved in a distributed transaction. To face this kind of issue,
the two-phase commit protocol was introduced. This protocol implies that holding
onto the resources for the entire duration of the transaction can reduce the
concurrency in the system. This protocol is heavyweight and has many
requirements, so that even in the traditional transactional environments, it is a
rarely achieved target.
The network of systems that interact in an SOA can be seen as just another kind
of distributed system. However, this environment is even more complex than the
traditional distributed systems concept. A legacy distributed system is a
hierarchical organization of systems tightly coupled, while the SOA is more like
an ecosystem where the parties cooperate in a loosely coupled manner. This
environment makes it difficult to propose traditional atomic transactions as part of
the business-to-business relationship.
As a result of these considerations, there is not a really a necessity for atomic
transactions in an SOA world. Instead, you often have to model the business
interactions in an asynchronous manner. For interactions that require a status
change in the target system, you should always define an undo activity. It helps
to think of SOA interactions as being similar to a reservation request rather than
as a committed transaction.
WS-Transaction
WS-Transaction includes support for two types of transactions. It describes
coordination types that are used with the extensible coordination framework as
Chapter 7. Using Web services 191
described in WS-Coordination. Two coordination types are defined: atomic
transaction and business activity.
???? Atomic transactions
The protocols for atomic transactions handle activities that are short-lived.
Atomic transactions are often referred to as transactions that provide a
two-phase commit protocol. The transaction scope states that all work is
completed in its entirety, and that the result of an activity, if successful, is that
all operations are performed. If the activity is unsuccessful, then no
operations have been performed. Upon successful completion of an activity
the results of the activity are available to other users.
???? Business activity
The protocols for business transactions handle long-lived activities. These
activities differ from atomic transactions in that such activities can take much
longer to complete. To minimize latency of access by other potential users of
the resources used by the activity, the results of interim operations need to be
released before the overall activity has completed. Thus, mechanisms for
fault and compensation handling are introduced to reverse the effects of a
completed business tasks.
WS-Transaction is a building block used with other specifications (for example,
WS-Coordination and WS-Security) and application-specific protocols that are
able to accommodate a wide variety of coordination protocols that are related to
the coordination actions of distributed applications.
For more information about the published specifications that are available, see:
http://ibm.com/developerworks/library/specification/ws-tx/
WS-Coordination
WS-Coordination is a general purpose and extensible framework that provides
protocols to coordinate the actions of distributed transactions. The defined
framework enables an application service to create a context that is needed to
propagate an activity to other services and to register for coordination protocols.
The framework also enables existing transaction processing, workflow, and other
systems to hide their proprietary protocols and to operate in a heterogeneous
environment. It can be used with message sequencing and state machine
synchronization.
For more information about the published specification that is available, see:
http://ibm.com/developerworks/library/specification/ws-tx/
192 Managing Information Access to an EIS Using J2EE and Services Oriented Architecture
Conclusions
There are no products that implement WS-Transaction as it is currently defined.
Nevertheless, WebSphere Business Integration Server Foundation implements
Compensation, which is the mechanism at the basis of a business activity as it is
defined by the WS-Transaction specification.
At this time, we can combine the use of the compensation with a carefully
designed business process to solve the almost all the business requirements of a
business-to-business interaction.
In a scenario of EIS integration, the lack of a two-phase commit protocol can be
an important issue. However, before you exclude a Web services solution,
consider the following:
???? It is possible to implement application logic that works around the lack of a
two-phase commit.
???? WS-Transaction will be available soon.
For further information about process choreography, see Patterns: Serial and
Parallel Processes for Process Choreography and Workflow, SG24-6306.
7.5.4 Manageability
Every time you offer a service, you need to control it. You need the following
management capabilities:
???? Discover the service existence
???? Test the service availability
???? Monitor and tune performance
???? Audit the service usage
???? Modify the service configuration
Web services are not just another API. If you must entrust your business to this
technology, you need a stable and proven middleware to run it. WebSphere
Application Server and WebSphere Business Integration Server Foundation offer
tools to address Web services manageability, including:
???? The private UDDI registry, which provides a way to publish and discover
information about Web services.
???? The Web Services Gateway, which handles Web service invocations between
Internet and intranet environments.
???? The Performance Monitoring Infrastructure (PMI), which collects data from
the run-time. Tivoli Performance Viewer then visualizes the data and gives
hints on how to optimize the configuration.
Chapter 7. Using Web services 193
???? The Assembly Toolkit , which can graphically edit the Web services
deployment descriptor (according to the JSR 109 standard). It can handle the
WS-security details.
???? A configuration infrastructure, which is accessible either through the
WebSphere Administrative Console or through JMX technology.
7.5.5 Interoperability
For the key promise of WS-I to work, you need to manage standards carefully. In
addition, guidance in interpretation and implementation of standards is essential
to facilitate adoption of a technology. The Web Services Interoperability
Organization has an important role in this area, as a standards integrator to help
Web services advance in a structured and coherent manner.
Commitment from IBM in this direction includes active participation in WS-I
standards development and early delivery of WS-I compliance in runtime and
development products. In this redbook, we place considerable emphasis on WS-I
standards and guidelines as an enabler for Web services interoperability.
Web Services Interoperability Organization
The Web Services Interoperability Organization (WS-I) is an open, industry
consortium of about 150 companies that represent diverse industries, such as
automotive, consumer packaged goods, finance, government, insurance, media,
telecommunications, travel, and the computer industry. This organization is
chartered to:
???? Promote Web services interoperability across platforms, operating systems,
and programming languages with the use of generic protocols for
interoperable exchange of messages between services.
???? Encourage Web services adoption.
???? Accelerate Web services deployment by providing guidance, best practices,
and other resources for developing interoperable Web services.
The WS-I, as a standards integrator, supports relationships with standards
groups who own specifications and fosters communication and cooperation with
industry consortia and other organizations.
The organization has a set of deliverables to assist in the development and
deployment of Web services, including its profile of interoperable Web services
that is defined in the WS-I glossary as:
A collection of requirements to support interoperability. WS-I will deliver a
collection of profiles that support technical requirements and specifications to
achieve interoperable Web Services.
194 Managing Information Access to an EIS Using J2EE and Services Oriented Architecture
A WS-I profile includes the following deliverables:
???? Profile specification
The profile specification includes a list of non-proprietary Web services
specifications at certain version levels, plus a list of clarifications and
restrictions on those specifications to facilitate the development of
interoperable Web services.
???? Use cases and usage scenarios
These requirements capture the business and technical requirements for the
use of Web services. Use cases and usage scenarios reflect the classes of
real-world requirements that support Web services solutions and provide a
framework to demonstrate the guidelines that are described in WS-I profiles.
???? Sample applications
These applications demonstrate the implementation of applications that are
built from Web services usage scenarios and use cases and that conform to a
given set of profiles. Implementations of the same sample application on
multiple platforms, using different languages and development tools, allow
WS-I to demonstrate interoperability in action and to provide readily usable
resources for the Web services practitioner.
???? Testing tools
These tools are used to monitor and analyze interactions with a Web service
to determine whether the messages that are exchanged conform to WS-I
profile guidelines.
For more information about the WS-I, refer to:
http://www.ws-i.org/
WS-I Basic Profile 1.0
The WS-I has delivered its first profile of interoperable Web services called WS-I
Basic Profile 1.0. The profile focuses on the core foundation technologies upon
which Web services are based, including HTTP, SOAP, WSDL, UDDI, XML, and
XML Schema. Basic Profile 1.0 was unanimously approved on July 22, 2003, by
the organization’s board of directors and members.
The WS-I Basic Profile 1.0, Profile Specification consists of the following
non-proprietary Web services specifications:
???? SOAP 1.1
???? WSDL 1.1
???? UDDI 2.0
???? XML 1.0 (Second Edition)
..................Content has been hidden....................

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