Download Enterprise Application Integration (EAI)

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
CSE 300 – 02
Distributed Object Computing
Semester Project Specification
Enterprise Application Integration (EAI) Using XML & EJB
Team members
Prithwis Sett
Mumtaz Lohawala
Nayana Paranjape
Objectives and Goals
The objective of this project is to develop an EAI (Enterprise Application Integration)
application by integrating distributed computing technologies - XML and EJB. We are trying to
construct reusable components in the form of enterprise java beans that can integrate various
applications representing the different business components in an organization. This integration
can be achieved by sharing information in an open data format, which is accomplished using
XML. The main goal of using XML here is to achieve transparency, which is an important aspect
in a distributed environment. This will enable the various business processes of the organization,
running on heterogeneous platforms, using different data formats and databases, to interact with
each other in a transparent manner.
Discussion
Enterprise Application Integration (EAI)
An EAI can be described as making one or more disparate applications act as one single
application. This is a complex task that can be achieved by unrestricted data sharing among
applications or data sources in the enterprise, thus requiring the data to be replicated and
distributed to the right systems at the right time. Design issues involved in developing an EAI
are:

Common, open format document storage

An easy standard data retrieval method from the stored document

A fully documented validating facility against any type of predefined document structure

A configurable software component that provides transparent persistency for the
document

A cross platform solution.
One of the ways of implementing an EAI satisfying the above design issues is by integrating
XML with EJB. Such a system would combine the flexibility of XML with the cross-platform
component-based qualities of Enterprise Java Beans.
When applications communicate with each other there is little chance that they might
share similar data structures. Hence an interim format capable of handling semi-structured data is
needed which can be made possible by using XML markup. Marking up a document or data,
results in the formation of a hierarchical container that is platform-, language- and vendorindependent and separates the content from any environment that may process it. As a result
there is a greater opportunity to reuse this data outside of the application and data sources from
which it was derived.
The role of EJB in an EAI would be to define a model for developing and deploying
reusable java server components, which are application components running in an application
server. These components run on any platform and are completely portable across any vendor’s
EJB-compliant application server.
Java makes an excellent tool for developing EAI applications because the Java platform
support connectivity to a diverse set of middleware services such as databases, transaction
processing monitors, asynchronous messaging systems and object request brokers. Also, XML
helps represent Java object data as it travels in and out of the Java virtual machine and across
non-Java technology based middleware. XML and Java technologies together provide greater
interoperability with other applications both inside and outside of the enterprise.
The implementation of EAI will consist of a reusable XML - EJB component and several
Java clients, each of which will possess this component. This component will have methods for
extracting data from its database through JDBC and converting it to an XML document. It will
also expose remote interface methods for other clients, to retrieve the entire XML document or
its individual elements, parse the document, and store it as persistent data.
Overview of the System
Client 1
Client 2
Get data from Client
2’s database
XML-EJB
bean
XML Document 1
XML-EJB
bean
Send XML formatted
data to Client 1
Get data from Client
3’s database
Send XML formatted
data to Client 1
XML-EJB
bean
XML Document 3
Client 3
XML Document 2
Clients request each other for data when required. Thus, when client 1 needs data from
client 2’s database, it invokes the remote method on client 2’s bean. Client 2 processes this
request and returns the data in the form of an XML document to client 1. Client 1 parses the
document to retrieve the required data.
Phases of the project:
Research: The first phase of our project is to obtain a meticulous and comprehensive
understanding of the various facets of an EAI application including its scope, implication,
technological advances, advantages and drawbacks through journals, papers, and dissertations
written on the subject in recent years.
Learning Technology: The intention of this phase is to get familiarized with various
technologies, namely XML, EJB, UML, and JDBC, which we wish to incorporate in our
application. This will help us obtain a working knowledge of them to be used during the
implementation phase.
Design: The design of the system will include requirement analysis - outlaying the necessary
aspects involved in developing this system. This is to be followed by its realization into
appropriate classes and components, their behavior, and interactions with each other. A
representation of the design will be depicted using UML diagrams that will enable to determine
the quality of the system, reusability of various its components and help in optimizing the
reusability factor of the entire system.
Implementation: This phase involves developing the EJB component, establishing database
connectivity in the component using JDBC, and adding XML functionalities in it.
Testing: The final phase includes testing the entire application to determine whether the design
goals have been fulfilled and appropriate required functionalities have been achieved.
Distribution of Work:
Research and Design of the system will be done by all of us. Specific contributions from team
members will be as follows:
Nayana will be responsible as the bean developer, whose primary responsibility is to provide the
complete functionality of the enterprise bean that include bean creation, instantiation, making
specific functions available to remote clients, and other functions available to the local client
only.
Mumtaz’s primary responsibility will be to provide the functionality to automate the process of
creating an XML document that represents the client data to be exchanged and to send that
document to the client requesting for that data. Also she will write the remote interface methods
for other clients, to retrieve the entire XML document as well as the local methods to parse and
extract data from the document retrieved from the other client.
Prithwis will work on the functionality of the EJB bean to have database connectivity through
JDBC and will be the application assembler – overall application architect, whose responsibility
is to understand how the various elements fit into the entire application and write the application
by integrating the components developed above.
Expected Time Log
09/14/2000 – 09/28/2000: Research on the topic selected
09/29/2000 – 10/15/2000: Learning the technologies to be used
10/16/2000 – 10/24/2000: Designing the system
10/24/2000: Submission of the mid-term project report
10/25/2000 – 12/05/2000: Implementation and testing of the system and exploration of future
work topics.
12/07/2000: Submission of the final project report
12/09/2000: Presentation of work