Communications Infrastructure - C I
The Standards-Based, Message-Oriented-Middleware, Application Development Platform

The Communications Infrastructure (CI) is a cross-platform, client-server/peer-to-peer application-enabling platform supporting the development of distributed, inter-operating, high performance, web-protocol-based applications.

Primary Functions

CI's primary functionality includes:
  • Platform Independant Communications API
  • Process Startup/Shutdown Synchronization
  • Remote System Control and Status Visibility
  • Remotely Accessible Internal Process Diagnostics
  • Coding-Free Message Testing Facility
  • Compilation-Free HTML-Based Screens
  • REXX Server-Side Scripting Support (Not cgi-bin)
  • Thread-Specific Heaps Implicitly Free Memory

Utility Functions

CI provides various support functions including:
  • Configuration file parsing
  • Process execution and notification
  • Serial communications support
  • Dynamic arrays and buffers
  • High performance hash tables
  • Usage-tracked private heaps
  • Platform-independant Semaphores
  • Platform-independant Threads


Application Control and Status Monitoring

CI includes a "Master Control Process" (MCP) which is responsible for activating the application processes across multiple machines and maintaining a constant view of the total system status. MCP is configured with a list of processes to execute along with the required sequencing for system startup and shutdown.

Using the CI's HTML interface, any web browser can view the current system status. Suitably authorized users can initiate complete system startups and shutdowns. The controlling MCP will synchronize the operation with the MCPs on each configured machine accomplishing truly distributed application system management.

In the event that an unexpected error occurs within a process, that process will be "bounced" and restarted. For many data-specific errors, this can restore nominal system operation without support staff involvement. After the problem has been corrected, new software can be delivered via the MCP and placed into operation.

HTML User Interface

CI provides the latest approach to Graphical User Interface (GUI) implementation. A User Interface Server (UIS) is supplied that allows all screens and reports to be generated using industry standard HyperText Markup Language (HTML RFC 1866) making them immediately available to any platform on the network with a compliant browser. Per the HTML RFC1866:

          The HyperText Markup Language (HTML) is a simple data format used to create hypertext documents that are portable from one platform to another. HTML documents are SGML documents with generic semantics that are appropriate for representing information from a whide range of domains.          

UIS also provides server-side scripting using the REXX language. REXX code is embedded directly within HTML source files and is interpretted by UIS when pages are requested by a browser client. UIS directly executes the REXX scripts without spawning a separate process like cgi-bin scripts. UIS also provides the ability to track a "golden thread" of client interaction without the use of browser-based "cookies".

HTTP Communications

CI uses the HyperText Transfer Protocol standard (Internet Draft 5 of the HTTP Working Group within the IETF) for all inter-process communications. HTTP is designed to deliver far more than simple HyperText documents coded using HTML. In fact, the draft itself states:

          The Hypertext Transfer Protocol (HTTP) is an application-level protocol with the lightness and speed necessary for distributed, collaborative, hypermedia information systems. It is a generic, stateless, object-oriented protocol which can be used for many tasks, such as name servers and distributed object management systems, through extension of its request methods (commands). A feature of HTTP is the typing of data representation, allowing systems to be built independently of the data being transferred.          

All inter-process communications within the CI are delivered via the HTTP protocol. The messages are delivered in pure binary form with endian-neutrality included only where required by the operating platform.


CI's HTML-based diagnostic pages provide visibility into the internal workings of remote processes. Each CI-based process is a complete web server offering pages reflecting the current state of the process. Application-specific diagnostic pages can be added with ease to view pertinent data structures or decision paths.

CI-provided default diagnostic pages include the ability to view current connections, event and mutual exclusion semaphores, hash table sizing and contents, performance statistics, executing threads, and scrolling log information.

Of particular use during product development, CI provides sizing and usage statistics for various memory heaps. This information, when coupled with detailed contents viewing capability, provides an invaluable tool to detect and correct memory leaks in applications before they are deployed.

CI also provides a message testing facility that allows any request to be initiated from a suitably authenticated browser. Application implementers can now test their services without writing a single line of throwaway testing code.


For additional information, please contact:


Compass Solutions, Inc.
P.O.Box 100199
Palm Bay, FL 32910-0199
Phone: (321) 768-1260

E-mail: Compass@CompassSolutions.com
WWW: www.CompassSolutions.com

Copyright © 2000 Compass Solutions, Inc.