22 Managing Information Access to an EIS Using J2EE and Services Oriented Architecture
In fact, the network may not be the only source of problems. Because we're
dealing with bank account data, we are dealing with persistent information that
resides in a database. It is entirely feasible that the database itself could crash.
The machine on which the database is deployed could also crash. If a crash
occurs during a database write, then the database could be in an inconsistent,
corrupted state.
For a mission-critical enterprise application, none of these situations is
acceptable. Mainframe systems and other highly available systems offer
preventive measures to avoid system crashes. In reality, however, nothing is
perfect. Machines, processes, or networks will always fail. There needs to be a
recovery process that can handle these crashes.
In 2.1.1, “Levels of EIS integration” on page 12, we discuss the different levels of
EIS integration and, in particular, focus on level 3 integration where the
application or business processes use an EIS system processes for all of its
back-end integration requirements. In the domain of processes, or more
specifically BPEL and Business Process Choreographer, transactional behavior
depends on the interoperability of the process. (See 2.3, “Key technologies” on
page 58 for definitions of BPEL and Business Process Choreographer.)
Non-interruptible processes execute within a single transaction. In contrast, each
activity within an interruptible process can have its transactional behavior set. In
either case, if a failure is detected, the current uncommitted transaction is rolled
back, and any pending compensation activities are applied.
Interoperability
A major benefit of Web services is interoperability between heterogeneous
platforms. To get the maximum benefit, you want to design your services to be
interoperable with clients on any platform. The Web Services Interoperability
(WS-I) organization helps in this regard. WS-I promotes a set of generic
protocols for the interoperable exchange of messages between Web services.
The WS-I basic profile promotes interoperability by defining and recommending
how a set of core Web services specifications and standards (including SOAP,
WSDL, UDDI, and XML) can be used for developing interoperable Web services.
Using Web services does not imply that you will achieve interoperability by
default. For example, if your EIS system process is exposed as an enterprise
service, then you must consider that consumers of your EIS system service can
run on a .NET platform, or even a Siebel or SAP system for that matter. Your
development tool set, such as WebSphere Studio Application Developer
Integration Edition, has the ability to generate services that are WS-I compliant,
but it can also generate service bindings that are not supported by the WS-I