New Features in Ensemble 2017.2
Ensemble provides the following new features and enhancements
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).
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.
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.
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
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.
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.
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.
The BPL activity can now handle XSLT 2.0 transformations. If using XSLT 1.0 there may be more information in any error messages.
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.
The include file Ensemble.inc now includes %sySystem. If you define any macros custom code, you should check for macro name collisions.
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.