Information Searching and Retrieval from Distributed Databases using Mediators, CORBA and XML Presented by:Vincent Cheung Supervised by:Prof Michael Lyu,

Slides:



Advertisements
Similar presentations
General introduction to Web services and an implementation example
Advertisements

SOAP.
RPC Robert Grimm New York University Remote Procedure Calls.
CORBA Architecture Nitin Prabhu. Outline CORBA Object Model CORBA Architecture Static Invocation Dynamic Invocation CORBA Communication Model.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Techniques for Information Searching and Retrieval of Web-based Multimedia Digital Library Presented by:Vincent Cheung Supervisors: Prof. Michael Lyu Prof.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
LYU9901-Travel Net LYU9901-Travel Net Supervisor: Prof. Michael R. Lyu Students: Ho Chi Ho Malcolm Lau Chi Ho Arthur (Presentation on )
Internet Telephony Helen J. Wang Network Reading Group, Jan 27, 99 Acknowledgement: Jimmy, Bhaskar.
II. Middleware for Distributed Systems
Project Title: Cobra Implementation on Association Service.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 6: Resolving Heterogeneity Dr. Michael R. Lyu Computer Science &
.NET Mobile Application Development Remote Procedure Call.
Service Broker Lesson 11. Skills Matrix Service Broker Service Broker, provides a solution to common problems with message delivery and consistency that.
A Web Services Based Streaming Gateway for Heterogeneous A/V Collaboration Hasan Bulut Computer Science Department Indiana University.
Enterprise Resource Planning
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus.
Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.
DP&NM Lab. POSTECH, Korea - 1 -Interaction Translation Methods for XML/SNMP Gateway Interaction Translation Methods for XML/SNMP Gateway Using XML Technologies.
Outline  Enterprise System Integration: Key for Business Success  Key Challenges to Enterprise System Integration  Service-Oriented Architecture (SOA)
第十四章 J2EE 入门 Introduction What is J2EE ?
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
CSCI 6962: Server-side Design and Programming Web Services.
Cli/Serv.: rmiCORBA/131 Client/Server Distributed Systems v Objectives –introduce rmi and CORBA , Semester 1, RMI and CORBA.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Lecture 15 Introduction to Web Services Web Service Applications.
1 Technologies for distributed systems Andrew Jones School of Computer Science Cardiff University.
Information Management NTU Interprocess Communication and Middleware.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
XML & Mediators Thitima Sirikangwalkul Wai Sum Mong April 10, 2003.
Abhishek Bachchan Vishal Patangia
CORBA IS 8030 – Integrated Computing Environments Dr. Hoganson CORBA Common Object Request Broker Architecture Published by Object Management Group (OMG)
Introduction to CORBA University of Mazandran Science & Tecnology By : Esmaill Khanlarpour January
Integrating Digital Libraries by CORBA, XML and Servlet Integrating Digital Libraries by CORBA, XML and Servlet Wing Hang Cheung, Michael R. Lyu and Kam.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
RMI remote method invocation. Traditional network programming The client program sends data to the server in some intermediary format and the server has.
Data Access and Security in Multiple Heterogeneous Databases Afroz Deepti.
An Adaptive Communication Mechanism for Heterogeneous Distributed Environments Using XML and Servlets Presenter: Vincent Cheung Supervisors: Prof. M R.
Scaling Heterogeneous Databases and Design of DISCO Anthony Tomasic Louiqa Raschid Patrick Valduriez Presented by: Nazia Khatir Texas A&M University.
CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.
3-Tier Architecture Chandrasekaran Rajagopalan Cs /01/99.
CS551 - Lecture 11 1 CS551 Object Oriented Middleware (III) (Chap. 5 of EDO) Yugi Lee STB #555 (816)
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
1 Web Servers (Chapter 21 – Pages( ) Outline 21.1 Introduction 21.2 HTTP Request Types 21.3 System Architecture.
1 Engineering Web Based Legacy Systems By Kanchana Eramudugoda Distributed Computing – CS843.
Preliminary Ocean Project Page 1 WGISS SG May 15, C. Caspar G. Tandurella P. Goncalves G. Fallourd I. Petiteville Preliminary Ocean Project Phase.
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
Kemal Baykal Rasim Ismayilov
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
An Introduction to Web Services Web Services using Java / Session 1 / 2 of 21 Objectives Discuss distributed computing Explain web services and their.
Objektorienteret Netværkskommunikation (ITONK1) CORBA Introduction.
CORBA AND SOAP Unmesh Kulkarni i2 Group Ashish V. Tendulkar Directory Database integration group ( Persistent Systems Pvt. Ltd.
(C) 2003 University of ManchesterCS31010 Lecture 14: CORBA.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Topic 5: CORBA RMI Dr. Ayman Srour
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
VoIP ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts.
Servlets.
CORBA Alegria Baquero.
CORBA Alegria Baquero.
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
AGENT FRAMEWORK By- Arpan Biswas Rahul Gupta.
Presentation transcript:

Information Searching and Retrieval from Distributed Databases using Mediators, CORBA and XML Presented by:Vincent Cheung Supervised by:Prof Michael Lyu, Prof K. W. Ng Dec 18, 2000

Research objectives  Address the Use of XML in enhancing Data Representation and System Communication  Address the Use of Mediator Architecture for Searching in Distributed Environment  Address the Use of XML and HTTP to simulate CORBA IIOP calls  We have developed a CORBA-based mediator system which can overcome the limitation of firewall problem to achieve a worldwide system

Presentation outline  What is Mediator?  Using XML  Implementation with CORBA  CORBA vs. Firewalls  Overcome the Firewall  Evaluation  Future Work  Conclusion  Demonstration

Searching in distributed sources  To integrate different components in the systems, there are three approaches:  CORBA  Mediators  Agents  They are not orthogonal, e.g.:  Implement mediators by CORBA  Agents may use mediators

What is mediator?  A middle layer for forwarding clients queries to appropriate sources, and integrate the data before returning to users Database Engine Database Engine Database Engine mediator Client UI Clients UI query result

Using XML  We need a COMMON format of information in order to let distributed heterogeneous components for data exchange.  XML provides a good solution because:  XML is semi-structured and highly flexible in data representation. Highly structured traditional relational and object-oriented data schema can be mapped to XML schema without losing information.  A common XML schema for heterogeneous system can be achieved  Hence, we use XML data schema in our system.

A piece of XML data South China Morning Post April 15, 2000 Press warning appropriate, says Beijing Kong Lai-fan Greg Torode Beijing yesterday defended remarks made by senior SAR-based official Wang Fengchao that local media should avoid reporting separatist views.

XML-QL  To query semi-structured data, traditional query languages may not be adequate  We use XMLQL, which is designed for semi- structured XML data  An example: where $B in ‘’news_db.xml’’, in $B construct $B

Why use CORBA?  Common Object Request Broker Architecture  Designed for application development within distributed heterogeneous environment  We use CORBA to build our mediator system.

Architecture of our system Web-base UI 1 st tier Servlet Interface Mediator (forwarding queries and integrating results) 2 nd tier Data Source Mediator Data Source 3 rd tier UI Queries and Results QueriesResults … N th tier

Handling some special cases  Some special cases: Infinite loops, broken connection and too many layer of traversal.  Infinite loops: mediator Solution: To give each query a unique ID, and mediators will keep track all query IDs which have no replied answers yet. Duplicated IDs would indicate an infinite looping has occurred. qid = 123

Special cases  Broken connection Solution: Use a timeout parameter to specify the maximum amount of time that we are willing to wait.  Too may layers of traversal Solution: use a maximum layer parameter to specify the maximum number of layers that we want to go. mediator Timeout = Max_layer = 3 Timeout = Max_layer = 2 Timeout = 5000 Max_layer = 1

IDL design of our system  IDL (Interface Definition Language) defines export interface of CORBA objects  Our IDL design:  The parameter type for special cases handling Struct SysPara { long qid; long timeout; short maxlayer; }

IDL design of our system  Mediator may make queries to Databases or Mediators  Hence, we want Databases and Mediators can be very similar objects  Now, both of them are implementing QueryEngine Interface Interface QueryEngine { String query(in SysPara para, in string xmlquery); } QueryEngine QueryDB QueryMed Implemented by

QueryDB Object  Directly connects to the data source  Caller calls query()  It takes the query statement parameter and make query to related data source  Returns answer in XML string stream format

QueryMed Object  Same invoking method, query()  Besides QueryEngine, it implements another interface, QueryMediator public interface QueryMediator { public QueryEngine[] qelist(); public void qelist(QueryEngine[] arg); public void append_result(String res); }  qelist holds a list of QueryEngine objects, i.e. QueryMed or QueryDB objects, which will be called by that mediator.  It starts a thread for each target QueryEngine object, and the thread will call append_result() to integrate results from various sources

Problems with CORBA firewall  We cannot achieve a worldwide query system because of the firewall.  CORBA uses Internet InterORB Protocol (IIOP) for communication.  Message body of IIOP is encoded in Common Data Representation (CDR), which translates IDL data types into a byte-ordering independent octet string.  Firewalls cannot decode the message body of IIOP in application level.  But we have application level gateways for telnet, FTP, and HTTP

CORBA firewalls  We do have some firewalls which are dedicated for CORBA communications  E.g. IONA Orbix WonderWall and Visibroker Gatekeeper  They have limitations:  Vendor dependent: Orbix firewalls must use Orbix developed client and server objects  Not all features of CORBA can be used: Callbacks may not be used  Not commonly used  Extra purchase, etc …

CORBA and firewalls  IIOP cannot pass firewall, but HTTP can CORBA enclave IIOP HTTP Servlet XML firewall  A real worldwide CORBA system can be achieved

Solution to firewall problem  HTTPGateway is also implementing QueryEngine.  HTTPGateway is a virtual query engine to forward the query to the target systems QueryEngine QueryDB QueryMed Implemented by HTTPGateway

Simulated Call Mediator M HTTP Gateway H firewall Servlet Mediator SM DB Object CORBA Enclave

Sample XML message in parameter passing } \$B in "database.xml" satellite in \$B construct \$B

Its DTD <!DOCTYPE parapassing [ ]>

Evaluation ADVANTAGES:  It can overcome the CORBA IIOP vs. firewalls problem by using HTTP calls,XML, and servlet.  Security issue can still be maintained. External CORBA objects can call only the objects combined with Servlet  Both primitive data types, like String, or complex classes, SysPara, can be well represented by XML in parameter passing

Evaluation  It is not limited for the clients and servers must be CORBA implementation.  Internal CORBA objects would not notice the difference of calling an external objects when comparing to callings of internal objects  With sharing the same XML and IDL standards, we can easily achieve a worldwide query system.

Evaluation WEAKNESS:  With using HTTP calls to simulate IIOP is relative slower than using firewalls dedicated for CORBA, as we need to do many extra works to initialize the servlet, to convert parameters to XML format, invoke the servlets to work, etc.

Future Work  Generalize the IIOP simulation  For all kinds of objects, parameter types, return types, etc  Direct code generation from IDL  Design the mechanism that supports CALLBACKS  When callback can be simulated, we can enhance the features of our mediator system

Conclusion  Using Mediators in querying distributed sources  How to use CORBA and XML to integrate the system  Cooperation between XML and CORBA in simulation of IIOP calls

Demonstration  Aim to show the mediator system can:  make queries to varies sources in parallel  go beyond firewalls User Interface (SHB 1027) Servlet Mediator H111, Kuomao Hall Data Source 1 H111, Kuomao Hall HTTP Gateway H111, Kuomao Hall FI R E W A L L Servlet Mediator (SHB 913, pc90003) Data Source 2 (SHB 913, pc90003)

Q & A Session Welcome to Give Questions and Comments

Thank You