Terry Wiechmann's blog

Announcing the Release of EsiObjects V4.2.1.0

I would like to announce the release of EsiObjects V4.2.1.0. Go to http://www.esiobjects.org for information regarding EsiObjects as well as instructions on downloading.


EsiObjects (pronounced ‘easy objects’) is an class based object oriented system that runs on ANSI, FIPS and ISO standard MUMPS (M) systems GT.M and Cache. EsiObjects is an implementation of an object model and communications packages. The object model is implemented using M associative arrays and routines. The M language is extended to include object commands, special variables and functions. They are implemented via the EsiObjects compiler that is written in the M language. To expose database objects to the enterprise, a TCP/IP Bridge has been implemented. Various communications approaches are supported such as the Java Gateway, Java Proxies, COM Bridge and CORBA ORB.


EsiObjects contains all the features for an Object Store.

  1. An object model implementation based on the Smalltalk class model.
    This model implements all the concepts required of a full object oriented system, particularly, encapsulation, inheritance and polymorphic behavior.
  2. A compiler that implements the 1995 ANSI standard M language and EsiObjects language extensions in support of the object model.
  3. Numerous linguistic enhancements that evolve the M language into an object oriented language that supports persistent or non-persistent objects.
  4. Concrete and virtual libraries that partition classes for convenient access, storage and transfer.
  5. Full support for the Class model including single and multiple inheritance as well as Nested Classes.
  6. Class services partitioned by specific interfaces. Method, Property, Relationship and Event object services that can be used to implement a new applications based on real or virtual objects that wrap existing M data structures.
  7. Variable scoping that enforces encapsulation, a fundamental requirement of object orientation.
  8. Use of associative arrays within the context of an object.
  9. Bi-directional message service that permits communication between objects. These services include all public class interfaces that allow access to an object’s methods, properties and relationships.
  10. An event handling model that permits objects to watch for events and property changes that are fired by other objects. The event-handling model is based on a built-in callback mechanism that is available to the programmer as well.
  11. Numerous predefined classes such as Collections (Lists, Arrays, Set, etc.), Immutables (time and date stamps), Data Manager, etc. that accelerate development through reuse.
  12. Block Transfer Objects designed to maximize the speed of object transfer between the client and server.
  13. A Windows based Interactive Development Environment (IDE).
  14. Generation of Java Proxies is supported with all communications to the EsiObjects system built in.
  15. The TCP Bridge implements an object oriented API into the EsiObjects Runtime Module. It supports all valid message protocols needed to invoke an object’s services. It provides the foundation support needed to implement the more sophisticated forms of connectivity such as the Java Gateway, Java Proxies and Microsoft COM.
Syndicate content