New Features in Ensemble 2010.2
Ensemble 2010.2 introduced the following new features:
Enterprise Message Bank
Ensemble and Mirroring
Caché 2010.2 Features
Ensemble 2010.2 provided enhancements to the following features:
Improved HL7 and X12 Host Wizards
Large Object (LOB) Support of Input Parameters for the SQL Outbound Adapter
SSL/TLS Support on Inbound (POP3) and Outbound (SMTP) Email Adapters
Additional Configuration Settings for Inbound Adapters
Compatibility Issues for Upgrades to Ensemble 2010.2
The following changes in the 2010.2 release may affect the operation of your existing system. Review the following issues before upgrading a previous instance of Ensemble:
Also review the Caché Release Note and Upgrade Checklist Archive.
Remove Support for HL7v2 Framing with XML Text
This release of Ensemble removes support for all HL7 framing options that involve XML text being detected or generated in between successive HL7 message bodies in an HL7 data stream. This is an undocumented feature InterSystems believes no one is using. If you are using any of these options, contact the InterSystems WRC.
Update Error Handling on HTTP Outbound Adapter
This release of Ensemble updates HTTP outbound adapter processing to return an error status code (<Ens>ErrHTTPStatus) if the HTTP status it receives is something other than 200 (OK). Also, the adapter now sets the retry flag if it receives a status of 503 (Service unavailable due to a temporary overloading or maintenance of the server). The introduction of the new status code makes error handling more accessible to the Reply Code Actions setting feature. See “Reply Code Actions” in the reference section of Configuring Ensemble Productions.
This change also updates the HL7 HTTP outbound adapter to return the indicated ACK commit code according to the HTTP status conditions shown in the following table.
|ACK commit code||HTTP status condition|
|AA||200 — OK code|
|AR||503 — Service Unavailable due to a temporary overloading or maintenance of the server|
|AE||All other non-OK codes|
See “HL7 Acknowledgement (ACK) Mode” in the Ensemble HL7 Version 2 Development Guide for more information.
If you have code that expects a $$$OK status returned from methods of the HTTP outbound adapter even when the remote HTTP server returns a non-OK status, you may need to update the code to either change the error handling or configure the Reply Code Actions setting to recognize the new error code.
Update Error Processing in File Outbound Adapter
This release of Ensemble improves the error status checking and error trapping in the PutStream() method of the EnsLib.File.OutboundAdapter.
Change Return Status on HTTP Inbound Adapter
This release of Ensemble changes the HTTP inbound adapter return status to a server error instead of OK if the ProcessInput() method returns an error status.
If you have clients invoking an Ensemble service that uses the HTTP inbound adapter you may now see an HTTP error status code (500) when an error occurs in the Ensemble service, when formerly you saw an HTTP OK (200) status. This does not disrupt normal operation because it only affects behavior when the HTTP service fails. Additionally, Ensemble still returns its non-standard <error> block body. It is unlikely that your service has customized behavior based on this returned status; however, this change may trigger a different code path in your error handler and therefore you should review this code.
Add Requirement to Subclass Message Bank Production
This release of Ensemble changes the Ens.Enterprise.MsgBank.Production class to be an abstract class and adds a requirement that you must subclass it and copy the ProductionDefinition XData block, to run a Message Bank instance. This allows you to run multiple message banks in separate namespaces on the same instance, and it prevents future upgrades from deleting your configuration setting changes. It also removes an obstacle to allowing you to mark your ENSLIB database as read-only.
If you are an early adopter of the Message Bank from a previous release, you must copy your Message Bank production class (Ens.Enterprise.MsgBank.Production) to a subclass before upgrading. If you do not, the upgrade will overlay your configuration changes, and will not allow you to restart the common Message Bank production or reapply your configuration settings.
Update Disable Behavior of Business Processes
This release of Ensemble refines the behavior of disabling a business process. The behavior depends on the private Pool Size configuration setting of the business process:
Business process Pool Size > 0:
The business process only uses jobs from its private pool; you can disable just this process by clearing the Enabled check box on the configuration page of the business process.
Business process Pool Size = 0:
The business process shares the public actor pool job queue (Actor Pool Size) with all other business processes with a Pool Size = 0. Disabling one such business process, disables the Ens.Actor queue, effectively disabling all business processes that use the actor pool. If you clear the Enabled check box of a business process that has a Pool Size = 0, you receive the following message:
WARNING: 'Enabled' is not checked and 'PoolSize' is 0. If you save these settings, the Ens.Actor shared actor queue will become disabled, effectively disabling all other business processes that also use the shared queue. If this is not what you want, you can still disable this business process, but first set 'PoolSize' > 0 so that this business process uses its own dedicated queue. Then you can safely disable it. Are you sure you want to disable all business processes?
If you upgrade to this release and your production contains a business process with Pool Size = 0, disabling the process now has different behavior.
For a detailed discussion of pool sizes, see “Pool Size” in Configuring Ensemble.