Title: Data Bridge for Heterogeneous Data Sources
1Data Bridge for Heterogeneous Data Sources
- Presented by
- Rahul Vaghela
-
- Pravin Vajirkar
2Objective
- 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.
3Introduction
- Different databases need federated results
- Difficult to interoperate due to heterogeneity
and illegible global-schemas - One Interface One User SQL Statement
4Problem Domain
- Three primary Issues
- Heterogeneity
- System
- Semantic
- Interoperability
- Hardware
- Operating system
- Known RDBMS and legacy systems
- Languages
5Problem Domain (Contd.)
- Physical locations
- Relational and Non-relational
- Local and remote objects/components
- Global schemas
- Schemas recognizable by all heterogeneous
databases (More later)
6Market 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).
7Market Products (IBM Data Joiner) 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.
8ATTs 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.
9iPROXY Features
- Accessing and Caching Web Data
- Processing Web Data
- Accepting Notifications
10Few More
- Easysofts 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
11OO MiddlewareWhy CORBA?
- RMI
- (D)COM
- ? .NET ?
- Beans
- CORBA
12What 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.
13CORBA Architecture
14The 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.
15Other Components
- Client
- Object Implementation
- Dynamic Invocation
- Stubs
- ORB Interface
- Skeleton
- Object Adapter
16Tools/Technology used
- IDE
- JBuilder 5.0
- JDK 1.3
- CORBA OO Middleware
- Visibroker (Inprise)
17Tools/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
18Tools/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
19Jbuilderhttp//www.borland.com/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
20Visibroker 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
21Various Components
- Client.java
- Frame1.java
- AccountImpl.java
- AccountManagerImpl.java
- Server.java
- Federated.idl
22User Interface
23Schemas
- User - Local Schemas
- Federated Schemas
- Remote Schemas
- Export Schemas
24ROSC97 Architecture
25Class Diagram
26Psuedo Code (Client)
- public class QueryAppletClient
- public void Applet_init()
-
- public void View_DB2_table_rec()
-
- public void View_SQL_table_rec()
-
27Psuedo 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
28Psuedo Code (Client) Contd.
- private QuerySQLImpl lnkQuerySQLImpl
- private QueryDB2Impl lnkQueryDB2Impl
- private ViewTableSQL lnkViewTableSQL
- private ViewTableDB2 lnkViewTableDB2
29Psuedo Code (Interface)
- public interface Query
- void SQL_Query()Â
- void Db2_Query()Â
- void View_SQL()Â
- void View_DB2()Â
- String Query Null
- /QueryServer lnkQueryServer/
-
30Psuedo Code (Server)
- public class QueryServer
- public void ORB_init()
-
- public void POA_init()
- Â
- public void Create_instance_SQL()
- Â
- public void Create_instance_DB2()
- Â
31Psuedo Code (Server) Contd.
- private String POAname
- private String ORBname
- private QuerySQLImpl lnkQuerySQLImpl
- private QueryDB2Impl lnkQueryDB2Impl
- private ViewTableSQL lnkViewTableSQL
- private ViewTableDB2 lnkViewTableDB2
-
32Psuedo Code (Server Impl.)
- public class QuerySQLImpl
- public void ExecuteSQLQuery()
- Â
- private String Query
- private Resultset Results
33Psuedo Code (Server Impl.) Contd.
- public class QueryDB2Impl
- public void ExecuteDB2Query()
- Â
- private String Query
- private Resultset Results
- Â
34Psuedo Code (View SQL class)
- public class ViewTableSQL
- public void ViewSQl()
- Â
- private String Rights
- private Resultset View
- Â
35Psuedo Code (View DB2 class)
- public class ViewTableDB2
- public void ViewDB2()
- Â
- private String Rights
- private Resultset View
-
36Conclusion
- 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??
37References
- IBM Data-Joiner
- http//www-4.ibm.com/software/data/datajoiner/inde
x.html - ATT iPROXY
- http//www.research.att.com/iproxy/intro.html
- Client Server Programming (CORBA Java) Book by
Robert Orfali - http//java.sun.com