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