Discussion Lists

Here's selection of discussion lists that you might want to join. You may or may not already know about them, but they contain active discussion of topics close to the hearts of us Slipstream aficionadi:

And, for those that know what to do with them, some Twitter tags:

  • #NoSQL
  • #gtm
  • #gtm_ja

If you know of others that should be on this list please let me know and I'll update it.

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.

M/DB:X now morphs into a JSON/XML Hybrid Database

The new Build 4 of M/DB:X transforms it into something very exciting and wholly unique. M/DB:X is now not only a Native XML Database. By now also supporting JSON strings as inputs and optionally outputting its responses as JSON strings instead of XML, M/DB:X is now a JSON/XML hybrid database.

What's the significance of this? Well there are several important consequences:

If you feed a JSON string into M/DB:X's Parse Action, it will convert the JSON object into a corresponding XML DOM and store it. Now in XML DOM format, all the standard M/DB:X XML DOM API methods can be used to modify and manipulate what was originally a Javascript object, and the XML DOM can be searched using XPath. This is a very cool capability and extremely powerful.

The DOM can be returned in JSON format: M/DB:X will convert any XML DOM into a corresponding JSON object.

This now places M/DB:X in esteemed company: for example CouchDB and Persevere. JSON is increasingly being used as the lingua franca for describing objects, not just Javascript objects.

And unlike CouchDB which is still an alpha-grade Apache project, M/DB:X is underpinned by the tried and tested GT.M database with its solid commercial pedigree in the demanding banking industry.

The M/DB:X documentation will be updated to reflect the new JSON capability as soon as possible, but Build 4 is available for immediate download and use.

Watch this space for the next step which will be a mechanism for requesting a temporary secure token to allow restricted access to M/DB:X directly from a browser. This will allow M/DB:X to act as a persistent Javascript object store without the need for an intermediate proxy layer (except to make the authenticated request for a token). This is what CouchDB is aspiring to be but they're still struggling, it seems, with the security layer!

Oh and just for good measure, if you add the name/value pair OutputFormat=JSON to M/DB, it too will output its responses as JSON rather than the standard Amazon SimpleDB format XML !

See http://www.mgateway.com/mdbx.html for full details and documentation.

Furthermore, renowned XML database guru Ronald Bourret has added M/DB:X to his definitive list of Native XML Databases.

Denbies Cancelled

Due to weak demand we have regrettably decided to cancel the Denbies 2009 Out of the Slipstream conference.

All those who have registered will be notified in due course and will receive a full refund of their conference fee.

The Slipstream Workshop will still be held but will now be on Thursday 2nd July rather than Friday 3rd July. The venue is unchanged, George James Software's offices in Shepperton. There is no charge for this event and anyone who signed up for the Slipstream conference may like to come to the Slipstream Workshop instead.

Syndicate content