New Features in Ensemble 2017.2
Ensemble provides the following new features and enhancements
Improved XML Performance
If you are creating XML Virtual Documents where most of the contents of the XML document are included in the virtual document, you can often obtain substantial performance improvements by converting the XML Virtual Document to an XML-enabled persistent object. This release includes the EnsLib.XML.Object package, which provides utility routines to convert an XML document to an XML-enabled persistent object and to convert this object back to an XML document. For details, see “XML-Enabled Objects Compared to XML Virtual Documents” in the Ensemble XML Virtual Document Development Guide.
In this release Ensemble has the following DICOM enhancements:
New AsyncRouter DICOM sample production. This production demonstrates how to asynchronously route DICOM documents through Ensemble. This production provides a template to build custom productions that asynchronously route DICOM messages. The production is define in the class Demo.DICOM.Production.AsyncRouter in the ENSDEMO namespace.
The DICOM dictionary now conforms with the DICOM Standard 2016E. No existing tags were removed. The changes include new tags, tags with new enumerated values, and two new Value Representations, UC (Unlimited Characters) and OL (Other Long).
XSLT2 Activity in BPL
In this release, you can include an XSLT2 activity in BPL. Set the activity attribute to 2.0 to allow use of XSLT2. You must configure the XSLT2 Gateway in the Ensemble Management Portal.
Ensemble is now compatible with Disabling Caché Global Kill
In some environments, you need to disable Caché top-level global kills for security reasons. In previous releases, this change was not compatible with installing and running Ensemble. In this release, you can install and run Ensemble with top-level Caché global kill disabled.
This release also includes the following minor enhancements:
When you deploy a production, Ensemble automatically includes generated classes for Record Map and Complex Record Maps. In previous releases, you had to manually add these classes.
Delimited Record Maps have a new option to output records where all fields are quoted with the quoting character whether or not they contain separator characters.
The HTTP outbound adapter now has the capability to use a tunnel to connect through a proxy. In previous releases, this feature was available in the SOAP outbound adapter, but not the HTTP outbound adapter.
The HL7 HTTP business service can now use the CSP port or a special port. In previous releases, it could only use a special port.
Caché 2017.2 Features
Ensemble 2017.2 runs on top of Caché 2017.2. This means that, in addition to changes in Ensemble between 2017.1 and 2017.2, the new Ensemble release includes a large number of updates in the underlying Caché technologies.
Caché 2017.2 has the following important new features described in the Caché Release Notes and Upgrade Checklist:
Parallel dejournaling for mirroring and journal restore
DeepSee Folder Manager and improvements to dashboard filters
iKnow coocurrence search improvements and iKnow performance improvements
SQL improvements: query auditing, POSIX timestamp, query optimization, optional ANSI SQL operator precedence, and frozen plan evolution
To learn about these and other Caché changes that may relate to your Ensemble environment, see “New and Enhanced Features for Caché 2017.2” in the Caché Release Notes and Upgrade Checklist.
Compatibility Issues for Upgrades to Ensemble 2017.2
Before upgrading Ensemble, first review the product changes in this release that could affect the operation of your existing system. The following sections list the compatibility issues for this and previous releases of Ensemble. In addition to the issues in this release, be sure to also review the issues for each intervening release since you last installed Ensemble:
The following changes in this release may affect the operation of your existing system. Review these following issues before upgrading a previous instance of Ensemble.
Do not use JMS Gateway as Message Listener
In this release the JMSGateway class has been deleted from the Java Gateway. This class was intended as an example on how to use the JMS listener in Ensemble. If you have used this class to implement a JMS listener, you should replace this with the mechanism demonstrated in the EnsLib.JavaGateway.JMSTest class.
Custom RecordMap Batch Classes may need to be Modified to get Fix
This release fixes a problem where Ensemble would not remove temporary files under certain failure conditions. If you have a custom subclass of EnsLib.RecordMap.Batcher or EnsLib.RecordMap.Operation.BatchStandard and have implemented the OnFailureTimeout() method, you can add a call to ##super() in that method to get this fix.
BPL xslt Activity Provides More Information in Error Messages
The BPL activity can now handle XSLT 2.0 transformations. If using XSLT 1.0 there may be more information in any error messages.
Business Service Time to Wait Changes
Ensemble Business Services calculation of time to wait for next call interval now discounts any fractional part that is 1/10th second or less. This has been done since a positive wait for next call interval time is rounded up to the next second. For example 0.000001 will not lead to a wait of 1 second.
Ensemble Include File Includes Definitions from %sySystem
The include file Ensemble.inc now includes %sySystem. If you define any macros custom code, you should check for macro name collisions.
Changes may be Required in PassthroughService Subclass
If you have a custom subclass of EnsLib.File.PassthroughService with an override of CONTAINERCLASS or with an override of the adapter you may need to override the new removeStreamFromInput() method within the subclass.