Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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