Marketing flyers are available for download in .pdf format in our Marketing Library.  You may also request a marketing kit be mailed to you by contacting marketing@jBASE.com.
jBASE

At the highest level, jBASE can be considered to consist of three components, each of which may be used separately or together to solve application development issues.

Application Development Environment
The first component is the Application Development Environment. This consists of several products. First and most importantly is the Basic language (jBC). This is the traditional language for developing applications in jBASE. The language, while loosely based on Dartmouth Basic, has been greatly enhanced and includes syntax that deals efficiently and powerfully with the benefits of the multidimensional database architecture. In addition to jBC, we also offer several interface products, which provide similar capabilities to jBC but can be used from different development environments. These products, known generically as jBASE OBjEX, provide an interface from two environments, Microsoft's COM and Java. The COM based OBjEX allows access to the jBASE database and application development environment from such products as Visual Basic and Delphi as well as products that support Visual Basic for Applications (VBA) including members of the Microsoft Office Suite. jBASE OBjEX provides a similar capability for Java based development tools, such as JBuilder, Visual Age for Java, Cold Fusion, etc. Using these tools a developer can take advantage of all the functionality of the jBASE database management system as well as the additional benefits of the jBC language. Modules written in jBC, perhaps existing business rules, can be called from Java and COM based applications. 

Middleware
The second component is Middleware. This component takes software developed in an ADE, (not necessarily jBC), and provides the ability to access a database, which may not necessarily be the jBASE database. The most important part of the jBASE middleware component is the jBASE External Device Interface (jEDI). The jEDI is a layer of software that is used by all Input and Output operations within the jBASE system. No matter what method an application uses to access the jBASE I/O mechanism the code used is identical. The jEDI itself can be thought of as having two parts. The first is the interface between the application and the jEDI. Every time an application accesses data from the jEDI interface, whether using Java, jBC, ODBC or directly from a 'C' program, the program will end up calling the same functions. This interface converts the I/O operation into what is known as a canonical form. The second part of the jEDI is the interface from the canonical form to the database itself. This interface, again a formal interface, can be thought of as a series of database drivers.

The jBASE middleware component provides the ability to access any type of data source using this mechanism. When the application requests data from the data source, the jEDI turns that request from a language dependent form into the canonical form and then into a form the data source can understand. These data sources are usually databases, but can be of different types. If there is a well-defined method of getting data out of an environment, a jEDI can be written to access the data and provide the interface to jBASE.

The standard jBASE product has jEDIs provided for the jBASE database. There are several types of jBASE files, j1 through j5, (j5 to be in a future release) and each of them has their own jEDI. Also included are jEDIs for the operating system files (e.g. directories and text files).

To further understand the power of the jEDI architecture, let's examine a real software application, T24, the world's premier Banking Software, from TEMENOS. This product currently runs on jBASE and uses the standard jBASE database. The plan is to also offer T24 on DB2 and Oracle. This will be accomplished by writing a jEDI for each of these two databases. The jEDI will translate the T24 request for data, or the request to write some data, into the comparable operation for DB2 or Oracle.

This means that no matter where the data resides, jBASE, DB2 or Oracle, the T24 application code will remain exactly the same, obviously benefiting application development schedules, maintainability and flexibility.

Currently, the T24 application takes advantage of the multivalue capabilities of the jBASE database (a Non First Normal Form database). This functionality is not supported by flat databases such as DB2 and Oracle, therefore the jEDI must also convert the sophisticated multidimensional architecture of the jBASE database into the multiple joined tables of the flat relational model.

The question that everyone has about this architecture is how it will affect performance. The answer is that jEDI architecture does not. This is not to say that T24 will perform the same using the jBASE database versus using DB2. This is not the case; the performance characteristics will be completely different for each scenario. However, assuming that a jEDI is written efficiently, the source code is simply compiled into an application calling the native database access methods, in exactly the same way as it would be done by any other Application Development Environment.

The jEDI architecture also provides several other benefits. The first is that application specific logic can be added to the jEDI. A very good example of this is the sophisticated security model of T24. This security model prevents unauthorized access to sensitive banking operations and data. This is currently done at the application level, so any access to the T24 database must go through the application. This is not a ideal situation since it would be much more efficient and useful if clients could access T24 data directly from analysis products such as Microsoft Excel or reporting tools such as Crystal Reports without having to go through intermediary steps. If the security model were implemented within the jEDI, all accesses would implicitly use this security model and could be accessed using whatever standard tools are required. (This functionality is planned for a future release of T24).

The jEDI interface proves beneficial in the way it is used by other products in the jBASE product suite. A good example is Transaction Journaling. Transaction Journaling records every time the database is updated and can be used to maintain a hot standby system. This is accomplished by passing the journal entry to another process, which applies that journal entry to another separate database. These journal entries are created at the jEDI level and are therefore database independent. This means that jBASE can mirror different types of databases, ensuring that a jBASE, Oracle or DB2 system are replicated quickly and efficiently using data written to any one of them from the T24 application.

Another part of the jBASE middleware component is the jBASE Data Provider (jDP). This provides a standards based interface to the jBASE database (or more correctly to the jEDI). Any products adhering to the ODBC, OLE DB, JDBC or ADO standards can retrieve data from the jEDI interface and of course, therefore, from the jBASE database.

Database Management System
The third and final component of jBASE is the Database Management System. It is a Non First Normal Form database. This means tables can be embedded within other tables. This removes the necessity of having to perform the extremely resource hungry joins of the traditional Relational model.

jBASE provides very efficient support for multi-user applications. It has a locking mechanism that prevents users from overwriting data that is being updated by another user. It provides transaction management facilities where the application can be split into units of work, transactions, that group database activities together. An example in the banking world would be grouping a debit and credit together, ensuring that either both updates are done or neither.

Physically j1 through j4 jBASE files are hashed files. This is a very efficient way of ensuring a uniform distribution of data throughout the database, providing very fast access to all data held by jBASE. This method, however, needs a significant of administration and maintenance in a very volatile environment, where data is being added, removed or changed significantly over short periods of time. To improve on this potential inefficiency, we are introducing the j5 file system that will be a hybrid journaled and logged file system. This file system will provide self sizing and enhanced resilience, as well as being a 64 bit file system which removes any file size limit.

Summary
So jBASE is really three separate parts that can be used independently but when used together provide a superb technological platform on which to base future application development. With its openness, flexibility and power, the jBASE product meets or surpasses the requirements for world-class business applications.

 

 
 
 
 
Copyright ® 2005 jBASE International.  All rights reserved.
Trademarks & Copyrights