United States Argentina Australia Austria Belgium Canada Chile Colombia Costa Rica Dominican Republic France Germany Bangladesh/India Italy Kenya Mexico Netherlands Puerto Rico South Africa Sweden Switzerland Venezuela
BASIS International Ltd.
Home | Site Map | Contact Us | Partner Login  

 








Tech Resource Zone

Today's application developer must balance the task of creating new applications using new technology while ensuring that the coexisting applications still work. Our Customers will often ask BASIS Support Analysts if they can take advantage of features of BBj®, without upgrading their existing PRO/5® or Visual PRO/5® applications. Following are questions that are often presented to our Technical Support Analysts, along with the corresponding answers that we have provided:

Question:
Can I access BBx® data files simultaneously from BBj and any one of the PRO/5 family of products?

Answer:
The simple answer is, yes. However, you must route all of your file access from BBj through a PRO/5 Data Server.

One of the differences between BBj and the products prior to BBj is the handling of file locking since BBj was written in the Java language. PRO/5 and Visual PRO/5 use operating system (OS) level file locking.

When BBj is run with a 1.3 Java Virtual Machine (JVM), the file locking is handled by the BBj file system using a semaphore file. BBj handles file locking internally because the 1.3 JVM does not support OS level file locking. As a result, no one outside the BBj file system knows how the file is locked. If BBj and PRO/5 write to the same file at the same time, the file may become corrupted because information in the file must be written by only one process at a time.

When BBj is run with a 1.4 JVM, all file locking occurs at the OS level, negating the need for semaphore files. The release of the 1.4 JVM introduced support for OS level file locking, and BBj 2.0 takes advantage of this new capability. It's important to note that even though BBj 2.0 will use OS level locks when possible, it still uses a different locking scheme compared to the PRO/5 family of products. Although the file locking in BBj is not compatible with that of PRO/5 using the PRO/5 Data Server, it does prevent any file corruption because it physically prevents BBj and PRO/5 from accessing the file at the same time. If you attempt to access a file directly from BBj that is already opened in PRO/5, you will get a "Busy" error in BBj. Conversely, if you try to access a file from PRO/5 that is already opened directly in BBj, your PRO/5 application will eventually time out and issue an !ERROR=0. In either case, using a PRO/5 Data Server will ensure that your data files are accessible simultaneously to BBj and PRO/5.

Question:
Is the BBj Data Sever the same as the PRO/5 Data Server?

Answer:
No. The BBj Data Server is an integral and necessary component of BBj Services. The PRO/5 Data server is a separate product from PRO/5 and can optionally be used in conjunction with PRO/5. In the past, the PRO/5 Data Server was primarily used for ODBC or Visual PRO/5 connectivity from a Windows platform to data residing on a UNIX platform. Its current role has expanded to include connectivity from BBj, and it allows both BBj and PRO/5 to access the same data files without file corruption and locking issues. In short, the PRO/5 Data Server is a separate version of the PRO/5 filesystem that handles remote file access. In BBj, all file access goes through the BBj Data Server.