Data Bridge for Heterogeneous Data Sources

Download Report

Transcript Data Bridge for Heterogeneous Data Sources

Data Bridge for Heterogeneous
Data Sources
Presented by
Rahul Vaghela
&
Pravin Vajirkar
Objective

To view all your data -- multi-vendor,
relational, nonrelational, local, remote,
geographic data -- as if it were local.

A single SQL statement should access
and join tables located across multiple data
sources without needing to know the source
location.
Introduction
 Different
databases need federated
results
 Difficult to interoperate due to
heterogeneity and illegible globalschemas
 One Interface – One User SQL
Statement
Problem Domain
Three primary Issues
Heterogeneity
• System
• Semantic
Interoperability
•
•
•
•
Hardware
Operating system
Known RDBMS and legacy systems
Languages
Problem Domain (Contd.)
•
•
•
Physical locations
Relational and Non-relational
Local and remote objects/components
 Global schemas
• Schemas recognizable by all heterogeneous
databases (More later…)
Market Products
(IBM Data – Joiner)
 DB2
Family, Informix, Microsoft SQL
Server, Oracle, Sybase SQL Server,
Teradata, and others.
 Support for non-relational data sources
(through Classic Connect V2.1.1).
 Client access (using DB2 clients) from a
multitude of platforms, including Java™
(using JDBC).
Market Products
(IBM Data – Joiner) contd.

Integrated replication administration
 DDL statements to easily create, drop, and
alter data source mappings, users, userdefined and built-in functions and data types.
 Excellent performance and intelligent use of
pushdown and remote query caching.
 Version 2.1.1 is available for Windows NT,
Sun Solaris Operating Environment, and AIX.
AT&T’s iPROXY
 A cross-platform
middleware
 Access Web services, such as
browsers, search engines, virtual
machines, indexing tools, intelligent
agents, and Intranet applications.
 iPROXY allows accessing, caching, and
processing of Web data.
iPROXY Features
 Accessing
and Caching Web Data
 Processing Web Data
 Accepting Notifications
Few More…
 Easysoft’s Solution
• Windows, Linux and Unix
• JDBC-ODBC Bridge
• Java applications/applets running on any JVM
 Some other research works
• HEROS
• BLOOM
• Research in some Universities
OO – Middleware…
Why CORBA?
 RMI
 (D)COM
?
.NET ?
 Beans
 CORBA
What is CORBA
 It
specifies a system which provides
interoperability between objects in a
heterogeneous, distributed environment
and in a way transparent to the
programmer.
 Its design is based on OMG Object
Model.
CORBA Architecture
The ORB

central component of CORBA is the Object
Request Broker (ORB).
 Identify and locate objects, handle connection
management and deliver data.
 the ORB is not required to be a single
component; it is simply defined by its
interfaces.
 Most crucial part of the Object Request
Broker; responsible for communication of
requests.
Other Components
 Client
 Object
Implementation
 Dynamic Invocation
 Stubs
 ORB Interface
 Skeleton
 Object Adapter
Tools/Technology used
IDE
• JBuilder 5.0
• JDK 1.3
CORBA – OO Middleware
• Visibroker (Inprise)
Tools/Technology used
(Contd.)
 Databases
• DB2 Server
• DB2 Connect personal Edition
• DB2 Application Development Clients V7.1
•
•
•
•
•
Administration Client
Run-Time Client
Application Development Client
Db2 Extenders
Net.Data
• SQL Server 2000
• MS Access
Tools/Technology used
(Contd.)
IBM WebSphere (Web Server)
•
•
•
•
IBM HTTP Administration V3.02
IBM HTTP Server (Apache) V3.02
IBM WebSphere AdminServer V3.02
Administrative Console V3.02
Data warehouse
• OLAP Server
• Hyperion Essbase OLAP Server V6.0
Jbuilder
http://www.borland.com/jbuilde
r/
Jbuilder
• Edition: Personal and Enterprise
• Borland Enterprise Server
• AppServer Edition - J2EE application
• J2EE 1.3, EJB 2.0, JMS 1.02, Servlet 2.3,
JSP 1.2, XML, and SOAP.
• Built on top of Visibroker (CORBA)
• Develop on Windows,® Linux® and
Solaris™
Visibroker for CORBA Objects
 Borland VisiBroker
• CORBA- and IIOP-enabled communication based
on the latest Object Management Group ™
(OMG™) standards.
 open, flexible, and interoperable
 Development C++ and/or Java
 Compliant to CORBA 2.4
 Smart agent architecture, IIOP and advanced
security features
Various Components
 Client.java
 Frame1.java
 AccountImpl.java
 AccountManagerImpl.java
 Server.java
 Federated.idl
User Interface
Schemas
 User
- Local Schemas
 Federated Schemas
 Remote Schemas
 Export Schemas
[ROSC97] Architecture
Class Diagram
Psuedo Code (Client)
public class QueryAppletClient {
public void Applet_init() {
}
public void View_DB2_table_rec() {
}
public void View_SQL_table_rec() {
}
Psuedo Code (Client) contd.
public void ORB_activate() {
}
private String view_SQL_table;
private String view_DB2_table;
private String view_SQL_fields;
private String view_DB2_fields;
private String display_query;
private String display_fed_result;
private QueryServer lnkQueryServer;
private Query lnkQuery;
Psuedo Code (Client) Contd.
private QuerySQLImpl lnkQuerySQLImpl;
private QueryDB2Impl
lnkQueryDB2Impl;
private ViewTableSQL
lnkViewTableSQL;
private ViewTableDB2
lnkViewTableDB2;
}
Psuedo Code (Interface)
public interface Query {
void SQL_Query();
void Db2_Query();
void View_SQL();
void View_DB2();
String Query = Null;
/*#QueryServer lnkQueryServer;*/
}
Psuedo Code (Server)
public class QueryServer {
public void ORB_init() {
}
public void POA_init() {
}
public void Create_instance_SQL() {
}
public void Create_instance_DB2() {
}
Psuedo Code (Server) Contd.
private String POAname;
private String ORBname;
private QuerySQLImpl lnkQuerySQLImpl;
private QueryDB2Impl lnkQueryDB2Impl;
private ViewTableSQL lnkViewTableSQL;
private ViewTableDB2 lnkViewTableDB2;
}
Psuedo Code (Server Impl.)
public class QuerySQLImpl {
public void ExecuteSQLQuery() {
}
private String Query;
private Resultset Results;
}
Psuedo Code (Server Impl.)
Contd.
public class QueryDB2Impl {
public void ExecuteDB2Query() {
}
private String Query;
private Resultset Results;
}
Psuedo Code (View SQL
class)
public class ViewTableSQL {
public void ViewSQl() {
}
private String Rights;
private Resultset View;
}
Psuedo Code (View DB2
class)
public class ViewTableDB2 {
public void ViewDB2() {
}
private String Rights;
private Resultset View;
}
Conclusion
 Many
issues, Many Problems
 Lot of work ahead
 Data-Bridge Solution would Convert &
integrate “data” TO “Information” in real
sense
 All legacy systems would still be
worshiped
 .NET ??A Flyweight??
References

IBM Data-Joiner

http://www4.ibm.com/software/data/datajoiner/index.html

AT&T iPROXY

http://www.research.att.com/~iproxy/intro.html

Client Server Programming (CORBA &
Java) Book by Robert Orfali
http://java.sun.com
