Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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