integrating digital libraries by corba, xml and servlet integrating digital libraries by corba, xml...

2
Integrating Digital Libraries by CORBA, Integrating Digital Libraries by CORBA, XML and Servlet XML and Servlet Wing Hang Cheung, Michael R. Lyu and Kam Wing Ng {whcheung, lyu, kwng}@cse.cuhk.edu.hk FIR EW ALL ServerSide C O RBA Enclave C lientSide C O RBA Enclave Shadow Server Shadow Server Mediator D igital Library D atabase Servlet C om ponent U serInterface IIOP IIOP XML+ HTTP 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. 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. Databas e storing video or text data Support General Calls: 1.At the client side, the Shadow Server converts client’s IIOP requests into XML-based messages and send them to server side via HTTP. 2.The Servlet component associated with the target server object will parse the XML-based request messages to extract necessary information. It then issues ordinary calls to invoke the target object. 3.When the server object has finished the computation and responded to the Servlet component, the Servlet component will convert the In Server Side: Each server object, which is ready for outside calls, will have a corresponding 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. 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 Various user interfaces generate query statements

Upload: loren-stone

Post on 03-Jan-2016

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Integrating Digital Libraries by CORBA, XML and Servlet Integrating Digital Libraries by CORBA, XML and Servlet Wing Hang Cheung, Michael R. Lyu and Kam

Integrating Digital Libraries by CORBA, XML and ServletIntegrating Digital Libraries by CORBA, XML and ServletWing Hang Cheung, Michael R. Lyu and Kam Wing Ng

{whcheung, lyu, kwng}@cse.cuhk.edu.hk

FIREWALL Server Side CORBAEnclave

Client Side CORBAEnclave

ShadowServer

ShadowServer

Mediator DigitalLibrary

Database

ServletComponent

User Interface

IIOP

IIOPXML+HTTP

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.

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.

Database storing video or text data

Support General Calls:1.At the client side, the Shadow Server converts client’s IIOP requests into XML-based messages and

send them to server side via HTTP. 2.The Servlet component associated with the target server object will parse the XML-based request

messages to extract necessary information. It then issues ordinary calls to invoke the target object.3.When the server object has finished the computation and responded to the Servlet component, the

Servlet component will convert the responses to XML and return them back to client side by HTTP. 4.Shadow Server will then immediately return the results to the client objects, with the returned data in

the same type and format as the actual server would return.

In Server Side:Each server object, which is ready for outside calls, will have a corresponding 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.

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

Various user interfaces generate query statements

Page 2: Integrating Digital Libraries by CORBA, XML and Servlet Integrating Digital Libraries by CORBA, XML and Servlet Wing Hang Cheung, Michael R. Lyu and Kam

Integrating Digital Libraries by CORBA, XML and ServletIntegrating Digital Libraries by CORBA, XML and ServletWing Hang Cheung, Michael R. Lyu and Kam Wing Ng

{whcheung, lyu, kwng}@cse.cuhk.edu.hk

create create

ShadowServer

ShadowClient

ServerObject

ClientObject

ServletComponent

ServletComponent

FIREWALL Server Side CORBAEnclave

Client Side CORBAEnclave

Callback SupportMany 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.

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.

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.

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.

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.

XML+HTTP

IIOP

IIOP

JCDL’2001 June 2001, Roanoke, VA, USA