data bridge for heterogeneous data sources presented by rahul vaghela & pravin vajirkar
Post on 28-Dec-2015
218 Views
Preview:
TRANSCRIPT
Data Bridge for Heterogeneous Data Bridge for Heterogeneous Data SourcesData Sources
Presented by
Rahul Vaghela
&
Pravin Vajirkar
ObjectiveObjective
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.
IntroductionIntroduction
Different databases need federated results
Difficult to interoperate due to heterogeneity and illegible global-schemas
One Interface – One User SQL Statement
Problem DomainProblem Domain
Three primary IssuesHeterogeneity
• System • Semantic
Interoperability• Hardware• Operating system• Known RDBMS and legacy systems• Languages
Problem Domain (Contd.)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 Market Products (IBM Data – Joiner)(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 Market Products (IBM Data – Joiner) (IBM Data – Joiner) contd.contd.
Integrated replication administration DDL statements to easily create, drop, and
alter data source mappings, users, user-defined 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 iPROXYAT&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 FeaturesiPROXY Features
Accessing and Caching Web Data Processing Web Data Accepting Notifications
Few More…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
What is CORBAWhat 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.
The ORBThe 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 ComponentsOther Components
Client Object Implementation Dynamic Invocation Stubs ORB Interface Skeleton Object Adapter
Tools/Technology usedTools/Technology used
IDE• JBuilder 5.0• JDK 1.3
CORBA – OO Middleware• Visibroker (Inprise)
Tools/Technology used Tools/Technology used (Contd.)(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 Tools/Technology used (Contd.)(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
JbuilderJbuilderhttp://www.borland.com/http://www.borland.com/
jbuilder/jbuilder/ 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 ObjectsVisibroker 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 ComponentsVarious Components
Client.java Frame1.java AccountImpl.java AccountManagerImpl.java Server.java Federated.idl
Psuedo Code (Client)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)Psuedo Code (Client) contd. 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)Psuedo Code (Client) Contd. Contd.
private QuerySQLImpl lnkQuerySQLImpl; private QueryDB2Impl
lnkQueryDB2Impl; private ViewTableSQL
lnkViewTableSQL; private ViewTableDB2
lnkViewTableDB2;}
Psuedo Code (Interface)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)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)Psuedo Code (Server) Contd. Contd.
private String POAname;
private String ORBname;
private QuerySQLImpl lnkQuerySQLImpl;
private QueryDB2Impl lnkQueryDB2Impl;
private ViewTableSQL lnkViewTableSQL;
private ViewTableDB2 lnkViewTableDB2;
}
Psuedo Code (Server Impl.)Psuedo Code (Server Impl.)
public class QuerySQLImpl {
public void ExecuteSQLQuery() {
}
private String Query;
private Resultset Results;
}
Psuedo Code (Server Impl.) Psuedo Code (Server Impl.) Contd.Contd.
public class QueryDB2Impl {
public void ExecuteDB2Query() {
}
private String Query;
private Resultset Results;
}
Psuedo Code (View SQL Psuedo Code (View SQL class)class)
public class ViewTableSQL {
public void ViewSQl() {
}
private String Rights;
private Resultset View;
}
Psuedo Code (View DB2 Psuedo Code (View DB2 class)class)
public class ViewTableDB2 {
public void ViewDB2() {
}
private String Rights;
private Resultset View;
}
ConclusionConclusion
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??
top related