Download Data Bridge for Heterogeneous Data Sources

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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
