Caché Release Notes and Upgrade Checklist Archive
New and Enhanced Features for Caché 2015.1
[Back] [Next]
Go to:

The following major, new features have been added to Caché for this release:

Furthermore, this version of Caché has been improved and enhanced in the following areas:
In addition, many more localized improvements and corrections are also included. In particular, if you are upgrading an existing installation, please review the detailed list of changes in the Upgrade Checklist.
Major New Features
Improved Database Scalability
This version of Caché has important changes specifically targeted at improving performance and scalability on large multi-core systems. Initial benchmarks show near-linear scalability from 16- up to 64-core systems. From a performance standpoint, InterSystems has simplified the database engine, and introduced more effective data usage algorithms, improving performance for a variety of application access patterns. Most applications will benefit from these changes, but those who desire to take advantage of scaling from between 16 - 64 cores will experience benefits that previously were out of reach.
Rapid Application Development
Stateless Service Requests
The new Stateless Service Request capability of the Java Gateway enables simple and efficient calls out to any running Java service that implements the new com.intersys.gateway.Service interface. In addition to performance gains, this gateway feature is not dependent on any saved state for the way Ensemble proxies are mapped to their corresponding Java counterparts. Arguments and results are represented as %Strings on the Ensemble side and byte arrays on the Java side. This allows ANY serialized value to be passed to and from the underlying engine; the actual wire format used for data transport is JSON.
Support For XSLT2
In the previous release, InterSystems provided support for XSLT Version 2 as an Experimental Technology Preview feature. This release now provides full support for XSLT Version 2 as a standard part of Caché. XSLT 2 provides a significant advance in capability over XSLT Version 1; among its new features are:
These, and many other improvements/new features significantly increase the productivity of any XSLT programmer. Strong typing allows many errors to be caught at compile time and to be corrected immediately.
XSLT Version 2 functionality is available via the classes in the %XML.XSLT2 package. For details, see Performing XSLT Transformations in Using Caché XML Tools.
XSLT2 functionality is not available on the OpenVMS platform.
DeepSee Improvements
This release contains many corrections and improvement to DeepSee. Among the more important are:
Soft Modal Dialogs
Caché 2012.2 included a new feature called Soft Modals. Instead of popping up a new window for dialogs, the code instead simply draws a <div> layer on top of the current page DOM and displays the dialog there. Once the dialog is satisfied the <div> is cleared. This feature gives much better behavior especially on tablets and mobile devices where a pop up opens a new tabbed browser instance.
In version 2012.2, this was introduced but not enabled by default. With this release, this switch has been reversed and soft modals is now the default behavior. This can be overwritten by changing the global node at ^%ISC.ZEN.useSoftModals, or by overriding the default behavior of the %OnUseSoftModals() to return false. The change can be done in a base class or on a page by page basis as needed by the customer.
Zen Mojo
Zen Mojo was first released in March of 2014 as a standalone kit that could be installed on 2013.1 and later versions of Cache and Ensemble. Beginning with this version, the latest supported version of Mojo will be shipped pre-installed as well. The standalone kit will continue to be made available and will continue to be updated independently of the major platform releases.
For information on Zen Mojo, see the books Using Zen Mojo and Using Zen Mojo Plugins.
Performance and Scalability
This release introduces semaphores to Caché applications. Semaphores provide a fast, efficient mechanism for signaling, control and synchronization among processes, especially between those running on an ECP system. For more about the use of semaphores, consult the class documentation, %SYSTEM.Semaphore, or the technical article on the subject.
Support For NGINX Web Server
This release includes support for new Web Server platform for CSP, Zen and Zen Mojo: the NGINX Web Server. NGINX is a high-performance, event-driven web server technology and it is available as another option along with IIS and Apache.
Reliability, Availability, Maintainability, Monitoring
More Robust Mirroring
In this release, the mirroring capability now employs a separate system called the arbiter. This significantly increases availability and simplifies configuration by supporting safe, built-in, automatic failover under failure scenarios where it was not previously possible: when the primary’s host has failed completely or become isolated. When this occurs, the backup can take over because the arbiter confirms that it too has lost contact with the primary; the primary, if it is up, stops acting as primary, eliminating the possibility of both failover members acting as primary.
Furthermore, this release contains the following in a series of ongoing improvements to simplify mirror configuration, deployment, and management:
Multiple Database Encryption Keys
Starting with this release, InterSystems customers may employ multiple encryption keys. This enhancement enables customers that require different databases to have different encryption keys. This capability will also allow database re-encryption in a future release.
Early Adopter Features
This category intended as a way of introducing and providing access to new software capabilities that InterSystems believes will be useful in enhancing the effectiveness of existing and future applications.
The capabilities listed here are ready for use by customers, but they are not yet complete in functionality and design. Customers who take advantage of these capabilities must understand:
InterSystems strongly encourages those who incorporate these items in their software to provide feedback on their experiences.
Enterprise Manager
InterSystems will not release an updated version of the Enterprise Manager with Caché and Ensemble 2015.1. Enterprise Manager 2014.1 continues to be available, as an early adopter application, with Caché and Ensemble 2014.1.
If you would like to participate in the early adopter program for Enterprise Manager to exercise its new capabilities such as namespace service, automatic data movement on mapping changes, multi-stage approvals, export/import, and so on, please contact Andreas Dieckow (
Predictive Analytics
This release of Caché introduces runtime support for predictive models defined using the PMML (Predictive Modelling Markup Language) standard, version 4.1. Data scientists or analysts creating predictive models through third-party tools (such as KNIME, R, SAS, SPSS, and others) for data mining and modelling can now import the PMML representation of these models into Caché. Upon compiling them, code will be generated automatically so that applications (or business processes) can invoke the compiled models directly from with Caché without need for a connection or reliance on the third-party tool. The PMML runtime support introduced by Caché enables customers to leverage their existing predictive modelling activities in a Caché-powered production environment.
More about PMML can be found here as well as in the Technical Article accompanying this release.
Text Categorization
Text Categorization allows computers to assign labels or invoke actions based simply on a text fragment. This release of Caché introduces a framework to build and execute Text Categorization models. Users can build categorization models based on a set of already categorized text fragments known as the training set. By selecting key features of the text as identified by iKnow and choosing a model type, they can automatically generate the model. These models can then be deployed to a production environment independently of the training set and subsequently invoked from ObjectScript or SQL from a business process or custom application.
User who wish to learn more about text categorization can begin with this key research paper.