BBj Provides Components for End Users, Developers and Third-Party Access
By Brian Hipple
y now you've probably heard a lot about BBj®, but maybe you're just a little unsure about the many different components of
BBj that are available. Whether you're an end user, developer or third-party application provider, BBj probably offers a
component that your company can't live without.
BBj Services: BBj Services is the heart and soul component of BBj. It provides for central control and access to all data and
BBj programs. A lot of first-time BBj users might try to equate BBj Services with the PRO/5 Data Server®, which is really like
comparing my bank account to Bill Gates' account. Whereas the PRO/5 Data Server only provided for remote file access, BBj
Services provides local and remote file access, SQL processing, administration, user access, interpreter access and thin
client support. In order to accomplish these tasks, BBj Services is broken down into two servers: the BBj Data Server and the
BBj AppServer.
BBj Data Server: The BBj Data Server knows and coordinates who and what can connect to data and
program files. We combined three servers to create the BBj Data Server: the file system server, SQL server and the admin
server. The file system server handles all file access, both local and remote. The SQL server does all the SQL processing,
which is far more efficient than PRO/5 Data Server where the client, either ODBC or interpreter, does the processing. In
client-side SQL processing, the server must transfer all data records to the client first. But in server-side SQL processing,
the server sends only the records that meet the query criteria to the client, which is much more efficient. The admin server
is the server that (1) interacts with the BBj Enterprise Manager; (2) allows for configuration of BBj Services, such as
ports to use and logging information; and (3) provides database configuration and user administration.
BBj AppServer: The BBj AppServer knows what and how application code can execute. The BBj
AppServer is comprised of four servers: Thin Client server, Thin Client proxy server, terminal server and interpreter server.
All of these servers have two basic purposes:
- Start an interpreter session on a client's behalf
- Run all of the interpreter sessions in one Java Virtual Machine (JVM)
In Thin Client mode, the Thin Client server runs the application specified by the client and keeps in communication with the
thin client for user activity and additional processing. Speed is the primary goal in running all of the interpreter sessions
in one JVM. It would be very inefficient to run a JVM for each session because the majority of the speed loss in Java occurs
in the loading of the JVM.
BBj Enterprise Manager: The task of managing the number of servers that make up BBj Services
could make any system administrator cringe. But to make it easy for the system administrator, BBj has a new tool called the
BBj Enterprise Manager. A system administrator can use the Enterprise Manager to configure and manage any of the BBj Services
running on a network from any location.
BBj Interpreter: The BBj Interpreter is the parser and interpreter of the BBj language. The BBj
Interpreter improves on the previous releases of BBx interpreters by allowing multiple-line IF statements, non-line number
programs, embedded Java code, reserved words, register/callbacks, dynamic limits and memory allocation, and ASCII programs.
BBj Thin Client: BBj Thin Client connects to BBj Services and requests a BBj program be run on
its behalf. BBj Thin Clients keeps in communication with BBj Services and displays the requested program's interface, either
CUI or GUI, on the client machine. With BBj Thin Client, BBj users can now run any BBj program in thin client mode! You can
also use this interface in a Web browser. You can use it on any machine that has a Web browser, a Java Runtime Environment
(JRE) version 1.3 or higher and TCP/IP installed. In this type of configuration, you can run any BBj application over the
network without even having BBj installed on the user's machine!
BBjIDE: The BBjIDE is a set of tools for the BBj developer that
allows for rapid development, debugging and maintenance of BBj applications. Because we wrote BBj in Java, the BBjIDE can run
on any platform with a JRE 1.3 or higher, a GUI environment and TCP/IP support. You can view the display of the BBjIDE in
Windows, Metal or Motif - your choice. The BBjIDE contains an editor/interpreter that allows for multiple-line editing. The
BBjIDE allows for cut/copy/paste actions and has a find/replace utility for finding and/or replacing occurrences of a string
in a BBj program. A developer does not have to put an ESCAPE into a program to debug a program. With the BBjIDE, setting a
breakpoint is as easy as a click of a mouse. And for those developers that like the command line interface, you still have a
command line processor in the BBjIDE. The History tab shows all commands executed at the command prompt, and we've added a
Watch tab to allow for watching program variables.
ResBuilder®: ResBuilder allows developers to create and maintain ASCII (.arc) resource files
for use with BBj GUI applications. In future releases of BBj, the BBj AppBuilder will replace ResBuilder, which we will
incorporate into the BBjIDE.
Utilities: The ResConverter utility converts existing binary (.brc) resource files into ASCII
(.arc) resource files for use with BBj GUI applications. Two other utilities, the BBj Compiler (BBjCPL) and the BBj Lister
(BBjLST), respectively, convert BBX or ASCII programs into BBj tokenized code and convert BBj tokenized code into ASCII
listings.
BBj ODBC Driver: The BBj ODBC driver provides an SQL interface to the BBj file system for
third-party applications running on Microsoft Windows. In previous releases of the ODBC driver, the SQL process took place on
the client. With the BBj ODBC driver, the SQL engine is now part of BBj Services, which makes the driver very thin (small).
BBj JDBC Driver: The BBj JDBC driver provides an SQL interface to any third-party Java
application running on any platform BBj supports.
CLIB: The CLib is C language API (Application Programming Interface) that enables a C program
access to the BBj file system.
JLIB: The JLib is Java API that enables a Java program access to the BBj file system.
With components for developers, end users and third-party access, we created BBj to be a flexible, modular, computing
solution. This overview gives you a good starting point in determining which components are right for you and your
Customers.
|