Kitting Structures

 

 Packaging

EsiObjects is comprised of both client and server modules. In order to operate, most configurations will require both a client and a server component. The server component of EsiObjects requires a MUMPS server to run on.  The following is a summary of the current packages:

Server Packages:

esiobjects-server-cache

The EsiObjects Server environment packaged as Cache Databases.

esiobjects-server-dsm

The EsiObjects Server environment packaged as DSM volume sets

esiobjects-server-gtm-linux

The EsiObjects Server environment packaged in an .RPM for linux. Installs database & routines.

esiobjects-server-msm

The EsiObjects Server environment packaged as MS volumes groups.

Client Packages:

esiobjects-client

The main EsiObjects development. The Windows installation kit and the C++ source code for the client GUI.

esiobjects-java-gateway

The EsiObjects Java gateway.

esiobjects-tcp-bridge

The EsiObjects TCPBridge.ocx

esiobjects-java-client

The EsiObjects Java client (EOJ) project is designed to replace the current Windows based EsiObjects client. EOJ is built using the NetBeans V3.6 Platform, which is a framework for Java applications.

General Packages:

Documents

All documents that relate to the EsiObjects system. they include the EsiObjects V4 White Paper, EsiObjects Conventions, etc.

Guides

All guides that are a part of the entire EsiObjects system. These are maintained separately to avoid creating a new client kit every time a change is made.

Tutorial

The EsiObjects tutorial is released separately to avoid creating a new client kit when updates are required.

Foundation Classes

The EsiObjects Base library is released separately from the client kit to accommodate quick releases and to avoid releasing all server kits.

 Application Packages

EsiDoc

A general-purpose Document Management package consisting of the document management and tutorial libraries. The EsiDoc package is currently specialized to handle XML documents in concert with the XML parser that is a part of the Base library. Because it is an abstract implementation, other document representations can be implemented.

EsiORB

An implementation of the OMG's CORBA communications standard.

EsiQuery

An implementation of the ODMG's Object Query Language specification. This package implements an SQL like language that provides full query capability to an EsiObjects object store.

EsiParser

ANTLR V2.7.2 (Another Tool for Language Recognition) is a parser and translator generator that is available through an Open Source License. The EsiParser kit contains a set of java files that implement EsiObjects code generation classes for ANTLR.

Additionally, the EsiParser kit contains the oql.g grammar file that contains the grammar specification for the ODMG's Object Query Language. It is used to by ANTLR to generate the EsiQuery lexer and parser for the OQL specification.

EsiProxy

EsiProxy V1.0.0.1 contains the software used to handle incoming (client) TCP connections and makes appropriate server side connections. Its purpose is to provide better support for making and establishing connections to an EsiObjects session or an EsiORB CORBA connection by hiding some of the underlying shortcoming of the host MUMPS system. It handles two basic types of services: EsiObjectsService, and EsiCorbaService.

Features of EsiObjectsService are:

- Caches connections. For example, server connections are kept active. This eliminates a delay (M Job startup) on new connections.

- Supports SSL connections

Features of EsiCorbaService are:

- Enables the use of a single port for connections, which is usually defined in an IOR and stored on a Naming Service. Only one IOR needs to be defined. No special support on client or server is required like ensuring that multiple CORBA services are running on predefined ports.

- Fail over is insured. If a listener dies for some reason, a new one will be created without intervention of a new connect.

Generally, once a user has determined the type of MUMPS system they are using they would download the correct server package and the esiobjects-client package. For example a user with a DSM server would download two packages: esiobjects-server-dsm for the DSM server and esiobjects-client to install the development client on their Windows workstation.

Versioning 

All EsiObjects components use a common versioning scheme that consists of four numbers;  Major.Minior.Release.Build.

Major

The main version number. Denotes major changes to the product functionality and capabilities.

Minor

The revision within the Major release. Even numbered minor releases are production releases. Odd numbered minor releases are development releases and should be considered experimental.

Release

A packaging number within the Major and Minor release. Incremented when a package is tested and assembled.

Build

The build number within the version. Reset when the Major & Minor numbers change.

For example, Version 4.0.0.204 is the first full production release of EsiObjects in Version 4 and is Build 204. Likewise Version 4.1.2.22 would be the third experimental release of the Version 4.1, build number 22.

New production releases will integrate the prior experimental releases, and cause a new experimental version to be started. Thus there will always be two active versions at any given time - the current production release, and current experimental release.

Once a production release is produced, the only changes to be made to it are those that correct problems. All enhancements and revisions are to be placed in the current experimental version.