2. Connectors

← Previous

Connectors


Architecture Overview

CFMumps connectors are the mechanism by which CFMumps provides a consistent and identical interface to disparate MUMPS implementations, also allowing new MUMPS implementations and connection methods to be supported without breaking compatibility with the CFMumps APIs. The Basic API is provided as a ColdFusion Component (CFC), lib.cfmumps.Mumps(), which will instantiate a CFMumps connector based on the configuration specified in cfmumps.ini. Each connector implements the IMumpsConnector interface, and implements the code required to connect to a particular MUMPS implementation. The Globals API in turn calls into the Basic API (or directly into the connector, for connectors that themselves provide their own optimized getObject() and setObject() implementations).

Aside from providing transparent and consistent access to multiple MUMPS implementations, different CFMumps connectors can support different application deployment strategies, depending on the application's performance and scalability requirements. There are two basic types of connectors: those which provide an in-process interface to the MUMPS engine being used, and those which provide a network interface. In general, in-process connectors are faster, but require the MUMPS database to run on the same server as the ColdFusion application server, while network connectors are slower, but provide more scalability by allowing the MUMPS database and ColdFusion application server to run on different host machines.

Choosing a Connector

In this table, we will provide a list of connectors and their various performance, scalability, ease of deployment, and compatibility characteristics.

ConnectorPerformanceScalabilityEase of DeploymentRelease QualityYottaDB/GT.MCacheMUMPSV1Other MUMPS
GTMJI ConnectorVery GoodFairFairProductionYesNoNoNo
M/Wire ConnectorVery PoorGoodGoodProductionYesYesAlphaNo
REST ConnectorGoodVery GoodVery GoodProductionYesYesYesYes