Obsydian for Java

This article was written for your reading pleasure by
Shirley Foster, Director, Obsydian Development and Mike Cahill, Senior Software Engineer

Overview

Obsydian for Java enables you to design and deploy Obsydian models as JAVA applications. Due to the rapidly emerging standards for JAVA GUI support, Synon has initially focused on supporting applications comprising C++ (Windows) clients with JAVA servers and database access through Java Database Connectivity (JDBC). We are currently researching the competing GUI technologies from Sun and Microsoft before finalizing our JAVA Client strategy.

The Obsydian for Java Runtime Architecture

The Obsydian for Java runtime architecture is capable of running generated applications stand-alone or as a client/server implementation over a TCP/IP based network, including the Internet.

The Obsydian generated C++ client function connects to a port on a server machine, which will be running the Obsydian Java Dispatch Service, configured to listen on that port.

Multiple clients connect to the dispatch service on the same port and the dispatch service creates a new thread of execution for each connected client.

Configuration Options

Obsydian provides a high degree of flexibility at design, deployment and runtime with regard to application partitioning. Like the existing platform runtimes, the Obsydian for Java runtime supports the notion of abstract location names for deployed functions. The user can specify a ‘location name’ for a particular function e.g. SystemX. In the deployment configuration file, SystemX can be defined to reference an actual machine (e.g. ‘SYNON.COM on port 1998’). In addition, this location definition can be changed at runtime to connect to a different server machine and/or a different port without needing to re-generate the client function.

Following are some examples demonstrating the partitioning possibilities

Figure 2. Single client, multiple servers

Figure 3. Multiple clients, single server

Figure 4. Multiple n-tier servers

The Obsydian for Java Dispatch Service

The Obsydian for Java Dispatch Service is a pure JAVA program distributed with the runtime that, once started, will listen for client connections on a user defined port number. This program has various settings that can be configured via a ‘properties file’ - the JAVA equivalent to a Windows ‘ini’ file. A server machine can run more than one instance of this program and can therefore listen on multiple ports simultaneously therefore allowing many clients to be serviced at any one time.

Deployment Options

Even with a C++ client, there are a number of deployment options available for Obsydian generated JAVA applications. As with other non-Web based applications, the client portion can be pre-installed. However there are additional scenarios where client machines can connect to WWW servers and download the C++ programs, allowing for remote deployment on demand. Of course, in the future, a complete JAVA client and server solution will enable direct access to Client and Server components via the Web.

Zipped Client combined with FTP

One (free) solution would be to zip the client program and place it on an FTP server for the client to pull down. The client could be pre-configured to connect to a completely different server machine to the one from which the client software was pulled. On the downside, end users would need knowledge of zip files and FTP.

Install from the Web

A more sophisticated solution is to use ‘Install From The Web’ from InstallShield which packages up the client program and carries out the type of installation you would normally see when installing from CD or diskette but over the Internet. As the Obsydian C++ runtime would need to be installed on client machines, it would make sense for users to have a separate installation program for this portion so it only has to be installed once and then each client application can be retrieved separately as and when required.

The future of Application Development with Obsydian for Java

Availability of Obsydian for Java marks a new era in applications development. Using the Remote Build Manager, applications can be generated, built and deployed across the Internet or Intranet to a remote server running any JAVA VM. For example, a bug fix could be made to a server application in a remote location with nothing more that a PC, Obsydian and a modem.


©1995-98 Synon Corporation. All rights reserved.
Synon and Obsydian are registered trademarks of Synon Corporation.
Other product and company names herein may be the trademarks or registered trademarks of their respective owners.