20 likes | 221 Views
Database storing video or text data. IIOP. XML+ HTTP. IIOP. Project Objectives: Building a mediator-based architecture for integrating digital libraries. Using XML and Java Servlets to simulate CORBA calls, in order to get rid of the firewall blocking problem during integration.
E N D
Database storing video or text data IIOP XML+ HTTP IIOP • Project Objectives: • Building a mediator-based architecture for integrating digital libraries. • Using XML and Java Servlets to simulate CORBA calls, in order to get rid of the firewall blocking problem during integration. • Extending our mechanism to support bi-directional CORBA callbacks. • Mediator-based Architecture: • Mediators are the middleware between the clients and the digital libraries, where clients can be end users, other digital libraries or another mediator. • They forward the client queries to the appropriate digital libraries, and then integrate the returned answers and forward them back to the clients. • They abstract multiple digital libraries into a single conceptual interface to the users. In Client Side: There is a shadow server to serve the purpose of connecting to another object in a server enclave behind a firewall. From the viewpoint of the objects in the client enclave, the shadow object is the same as the target object in the server enclave, as they implement the same interface In Server Side: Each server object, which is ready for outside calls, will have acorresponding Servlet component associated with it. It is responsible to handling requests in HTTP in convert them into IIOP protocols. Also, it will perform XML data parsing and writing. Various user interfaces generate query statements • Support General Calls: • At the client side, the Shadow Server converts client’s IIOP requests into XML-based messages and send them to server side via HTTP. • TheServlet component associated with the target serverobjectwill parse the XML-basedrequest messages to extract necessary information.It then issues ordinary callsto invoke the target object. • When the server object has finished the computation and responded to the Servlet component, the Servlet component will convertthe responses to XML and return them back to client side by HTTP. • Shadow Serverwill then immediately return the results to the client objects, with thereturned data in the same type and formatas the actual server would return.
Callback Support Many new features requires callbacks, such as information subscription. Callbacks are bi-directional calls and we extend our mechanism to support them. In the figure, the client first gets a reference to the shadow server in the client-side enclave. Then the shadow server creates a Servlet component immediately in the client enclave for the server side to callback. The shadow server sends information, such as IP address and port number, of the newly created Servlet to server side. At the server enclave, a shadow client is created automatically at that time. The server uses an array to store all shadow clients that require callbacks. Whenever the server is updated, it calls the shadow clients to notify the client objects. XML+ HTTP IIOP IIOP To better help the users in getting information, we allow users to subscribe to various information topics The system informs subscribed clients immediately when there is an update. It will be done by callback Mechanism. Recent Work: The system is not limited to CORBA objects because as long as the syntax of transmission messages is agreed, any kind of implementations can be used in clients and servers. Right now, our XML message schema is based on CORBA IDL. Based on OMG specifications of mapping between COM/CORBA and Java/CORBA, we can extend our system to DCOM and Java RMI platforms, with the same mechanism. • Weakness: • HTTP calls is slower than IIOP. • We need extra workload to initialize and use the Java Servlet objects. • Shadow objects also give overhead to system • Nevertheless, the overhead time is negligible comparing with average Internet access delay. • Strengths: • It solves the incompatible firewall problem. • Security can still be maintained, as objects outside the CORBA enclave can only call the objects integrated with Servlet. • System transparency is increased, as internal objects notice no difference in calling the target object and the shadow Gateway. • System interoperability is enhanced, as using XML can well represent the transmitted messages. JCDL’2001 June 2001, Roanoke, VA, USA