Our current development is focused on Internet and Object Oriented technologies:
  • Java for the development of:
    • sophisticated GUI client applets
    • wireless clients
    • RFID clients
    • client/server TCP/IP communications
    • server side database access
  • Object Oriented Data Base Management Systems (OODBMS) for server storage of persistent business objects
  • XML for data passing and simple data storage where the power and robustness of an OODBMS is not required
  • Apache Web Server for serving the client pages for our applications
  • Appropriate Operating Systems (OS):
    • Linux
    • Solaris
    • VMware & other virtualization technologies

The Framework

We have evolved a client/server application framework that allows us to assemble the entire client/server architectural base of a new application in a matter of hours. Subsequent effort can be spent on the features and functions of the particular application being addressed without worrying about the technical underpinnings.

One of the significant things about this approach is the powerful user interface (GUI) that can be built. Many web applications today have a user interface based on html forms. That is, web pages are constructed by the server and sent to the client browser to be displayed. User interaction consists of filling in the form and pressing a submit button to return the data to the server for processing. Some local processing can be accomplished using JavaScript but this is limited. Apart from the pretty graphical environment for presenting the interface it is really not much of an improvement over the "green screen" on-line mainframe systems of 30 years ago. Eminently suitable for many "shopping cart" applications it quickly becomes cumbersome and tedious for applications with complex data that require making use of local computing power and not continually returning data to the server for processing. Our approach of building Java clients creates systems with a fully functional GUI providing power, flexibility and performance far beyond what can be obtained with html forms. And it can still all be administered and controlled from the server - the application does not need to be installed on the users' workstations. For an in depth discussion of the user interface issues on the web see the white paper by Ramesh Gupta of eNode at http://www.enode.com/whitePaper1.html

A Demonstration Client/Server System

There is a demonstration system set up that can be accessed over the web. The application is a generic Flying Club membership system that allows club members to view and update their own information and, optionally, to share it with other members. In addition, members who are "executives" can view and modify information about other members. For those who are interested in trying this demo you will need to have the latest version of Java installed. You can try the system as a member with a guest account or contact JCST to supply you with a "membership number" and password to connect as an "executive". To see what's involved go to ClubDemo access page. Things to note about the demo:
  • This is a client/server application - the client is a Java application running on your PC accessing an Object Database on our Solaris server although it will run on Linux, HP-UX, Windows, etc. just as easily.
  • The data on the server is stored in an object database for Java from db4objects. Visit http://www.db4o.com/ for more information.
  • In the object world there are no limitions on things like the length of strings. In this demo there is no limit on the length of text entries such as Occupation, Employer or Best Contact.
  • In the comments field, try highlighting a word or phrase then right click to mark up the text.
  • You are not restricted to linear navigation through the system. If you are connected as an "executive" you can have more than one membership detail form open.
  • The system specifically allows you to connect from two different workstations and access the same membership. When you do this make changes in one and press the Perform Update button. Note how the other machine behaves: the system will immediately notify you of changes made by the other user.
  • The system could be easily adapted to meet the needs of other types of clubs. Some underlying code changes might be desirable but all of the labels etc. that appear on the screen can be customized by editing a properties file (with any text editor). The most obvious application of this would be to have the system running with the screen in another language without making code changes. In fact, the same system could run in two languages simply by having two slightly different web pages, one for each language. Contact us if the system is close to what you need and it can be made available.
A Demonstration Standalone System

There is a small system that demonstrates some of the power of building a GUI in Java. This is a Pilot's Logbook application that can be downloaded and installed locally. Some of the things this application shows are:
  • Downloading and installing an application on a local disc (with the user's permission of course)
  • Reading and writing Excel spreadsheets
  • Non-linear access to the system, i.e. having multiple windows open simultaneously
  • Tables with multi-line and multi-column headings

See http://www.jcst.com/logbook/index.html for a description and download instructions. The intention is to open source this application, meanwhile the source code is available on request.