Before Microsoft delivered Open Database Connectivity (ODBC), jBASE engineers had already built a Database Management System which was completely database independent. Using the jEDI customers could achieve seamless integration with foreign databases. This meant that any jBASE developed application could read and write to whichever database was required for data storage such as the native jBASE database but also Oracle, DB2 and others—a first in the industry.
The jEDI enables applications to achieve seamless integration with foreign databases without changes to the jBASE MultiValue BASIC application code and logic. Some or all of the data can be stored in the external database such as Microsoft SQL Server, Oracle or IBM’s DB2. Other external databases are supported using an ODBC jEDI thereby ensuring that jBASE can be integrated with almost any database that supports ODBC.
The jEDI enables transparent access and updates from an existing BASIC application to the external database. The jEDI architecture is ideal for sites that want to capitalize on their investment in current MultiValue based business critical applications while being able to integrate with SQL Server, Oracle, DB2 or other RDBMS. Standard Edition jEDI provides an off the shelf integration for design studies, proof of concept projects and non business critical applications. While the Business Edition jEDI includes all the facilities to allow the customer to optimize and maintain the interface to meet the needs of the most demanding on-line business application integration with an RDBMS database. This optimization ensures scalability and results in the best-of-breed integration between MultiValue BASIC code and data held in an RDBMS database keeping the customer in control of the interface at all times.
The jEDI interface provides a common set of rules and syntax to access any database or other data source. By means of specific jEDI drivers, jBASE BASIC I/O statements can access other databases, such as Oracle, SQL Server and DB2, as simply as they can jBASE databases. And for databases with embedded SQL pre-compilers, jBASE supports ESQL within the BASIC language.
The jEDI system provides a number of very useful generic facilities to the application developer, such as transaction boundary support across multiple databases and secondary indexing. The Transaction Journaling product uses the jEDI interface to log transactions to just about any device for any and all data sources.
The jEDI architecture is ideal for sites that require their investment in their BASIC application be maintained while being able to work with DB2, Oracle or other RDBMS. The jEDI, in effect, separates the BASIC application from the data source. The interface provides a consistent view of all I/O to the calling program and to the rest of the system. The jEDI then accesses the various data source drivers. jBASE comes with internal drivers for its own file system as well as for the operating systems’ files and directories. For other data sources, customized drivers must be built. For jEDI drivers for specific relational databases, jBASE offers the jEDI Development Kit.
The jEDI Development Kit for Relational Databases is a tool set for generating relational database schema and tables from jBASE dictionary definitions and then producing jEDI drivers for that relational database. The result is your jBASE application using the jEDI driver to run on a foreign relational database.
This manual is split into two main sections. The first section provides generic information that is relevant to all jEDI Development Kits. The second section provides detailed information specific to particular jDK drivers.
This Guide describes how a third party software provider can write a new database driver and interface it to existing jBASE applications through the jEDI API (jBASE External Database Interface).