jEDI Development Kit Gets a Turbo Boost
The jEDI (jBASE External Device Interface) enables applications to achieve seamless integration with foreign databases without any changes to the jBASE MultiValue BASIC application code and logic. Data can be stored in an external database such as Microsoft SQL Server, Oracle or IBM's DB2. Other external databases are supported using an ODBC jEDI ensuring that jBASE can be integrated with any database that supports ODBC.
This means that any jBASE application can read and write to whichever database is required by the customer. A customer can select their preferred database vendor or environment to suit their needs whether this is low cost, high performance, local support or any other factor. In the future, and if the need arises, they can switch database vendor without altering the jBASE MultiValue application.
The jEDI separates the BASIC application from the data source and provides a consistent view of all I/O to the calling program and to the rest of the system. jBASE comes with drivers for its own file system. jEDI drivers relating to the relational databases are available as a jEDI Development Kit (jDK).
It would be reasonable to assume that native jBASE file I/O is faster than manipulating RDBMS tables, e.g. when a jBASE query (jQL) is executing on a large RDBMS data set the response times would be slower than a query against the native jBASE file. The reason being that the jDK was designed as a generic tool set to work on many different RDBMS. However improvements to the query architecture in jQL and the jDK have allowed the jEDI developer to intercept the jQL query and perform some or all of the work involved. In a nutshell, this means translating the jQL to SQL and returning a result set (typically a set of record IDs or a count depending on the jQL statement). It also means that the developer can enhance the jDK for the specific application concerned.
Recently a major South American Software House evaluated options for migrating their application from UniVerse to products that enabled their application to use a relational database. For the evaluation a section of the application was migrated to jBASE
and other vendors' products. Initial results indicated that all of the products in the evaluation were slower when writing to a relational database. While each vendor was able to improve their performance, the jBASE
delivered significantly faster performance. Final results demonstrated that jBASE
was manipulating SQL faster than the other products and the improvement to the jBASE
was so profound that the query response times were in many cases faster on the relational database than on native jBASE
j4 files! The South American Software House is now a new jBASE International