58 Managing Information Access to an EIS Using J2EE and Services Oriented Architecture
2.3 Key technologies
The architecture discussion up to now has focussed mainly on architectural
issues, patterns, components, services, and processes for creating an EIS
integration architecture.
Of course, any architecture that you create must have a detailed design and
must be implementable. Otherwise, what would be the purpose of creating an
architecture that cannot be implemented?
Some of the discussions in the architecture chapter have mentioned
technologies or specifications, most notably J2C and JMS. You would also have
noticed the architecture chapter suggesting a services-based style of
architecture, commonly referred to as SOA. Of course, SOA is not an
implementation architecture but rather a style of architecture.
You can assert that calling CICS / COBOL routines on your EIS from your
desktop C/C++ application is a services-based architecture. The fact that you
could have used proprietary technologies, such SNA / APPC, and your own
proprietary protocol does not suggest that you do not have a services-based
architecture. Your services (in this example scenario, your CICS / COBOL
routines) might not pass an interoperability test. However, that is another
discussion and technical challenge.
Our architecture discussion mentions a lot of catchy phrases used by software
architects like interoperability, components, loose coupling, adaptability, scalable
flexible on demand solutions, services, and so on. The following sections discuss
some of the key technologies that you can use to implement this architecture.
Java 2 Platform, Enterprise Edition (J2EE) is a set of coordinated specifications
and practices that together enable the development, deployment, and
management of multi-tier, server-centric applications. J2EE builds on top of the
Java 2 Platform, Standard Edition (J2SE) platform with additional capabilities
that are necessary to provide a complete, stable, and secure environment for an
enterprise level application.
The J2EE platform provides a reusable component model, using a suite of
technologies, such as Enterprise JavaBeans, JavaServer Pages (JSP), Java
Servlets and so on, to allow application developers to build and deploy multi-tier
J2EE applications that are platform and vendor-independent. The J2EE platform
shares the "Write Once, Run Anywhere" approach of the Java platform and has
gained significant industry support.
Chapter 2. Architecture 59
More information of J2EE can be found at:
Web services
The W3C Web Services Architecture Working Group has provided the following
definition for Web services:
A Web service is a software application identified by a URI, whose interfaces
and bindings are capable of being defined, described, and discovered as
XML artifacts. A Web service supports direct interactions with other software
agents using XML-based messages exchanged via Internet-based protocols.
The primary technologies that make up Web services consist of:
򐂰 Extensible Markup Language (XML)
A specification developed by W3C that provides a generic language for
describing content in a structured way to facilitate data interchange between
computer applications.
A XML-based protocol that is used to facilitate exchange of information in a
decentralized, distributed environment. It is used in combination with a variety
of other standard Internet technologies such as SMTP, HTTP, and FTP.
򐂰 Web Service Description Language (WSDL)
A XML-based language that provides a standardized way of describing the
interface of a Web service.
򐂰 Universal Description, Discovery, and Integration (UDDI)
A worldwide registry of Web services to facilitate advertisement, discovery
and integration.
The following is a list of key characteristics of Web services:
򐂰 Web services are language independent and interoperable.
The core technologies of Web services, such as XML, SOAP, WSDL, and
UDDI , are built using open source projects, promoting vendor independence
and interoperability. In addition, the use of technologies allows the service
provider and service requester to communicate without knowing the platforms
and languages that the other is using. This language and platform
independence in turn facilitates interoperability.
򐂰 Web services are loosely coupled
Traditionally, application design depended on tight interconnections at both
ends. In Web services, a consumer of a Web service is not tied to the service
provider directly. Instead, the service provider can change its interface over

Get Managing Information Access to an Enterprise Information System Using J2EE and Services Oriented Architecture now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.