Release of the Ensemble 2016.1 integration platform
InterSystems Ensemble 2016.1 Integration Platform Released Key innovations: improved functionality of the enterprise service bus (Enterprise Service Bus, ESB), monitoring and messaging. Details under the cut.
Service registry and enhanced tools for using Ensemble as an ESB
The new release makes it easy to use InterSystems Ensemble as an ESB without having to write your own code. This is made possible thanks to the following functions:
Registry of public services - with a REST API that provides a list of services available in the ESB.
Registry of external services - provides a mechanism for identifying and describing servers that implement services.
Improved end-to-end services and operations - provides an effective way to route service requests from the end user to servers using the External Services Registry.
- Processing without saving data of synchronous "end-to-end" requests.
These features facilitate the development of an Enterprise Service Bus that efficiently routes service requests and provides a management environment for supporting and documenting the bus and services. Using “end-to-end” services and operations, you can reduce overhead and increase the throughput of a solution using non-stored messages instead of stored ones. More details can be found in the documentation under “ Using Ensemble as an ESB ”
Statistics and activity volume monitoring
This release includes a new package “Statistics and activity volume monitoring”, which provides improved short-term monitoring of system performance and long-term reporting of message traffic. Key features of the package:
Centralized message statistics repository
DeepSee panel showing the current message speed and response time of each interface
Ability to change the granularity for long-term and short-term statistics
Long-term storage of message statistics (for reporting)
Custom statistics collection using application specific metrics
Statistics is stored in a compact and efficient way and does not require a lot of disk space even after a long period of statistics collection.
- The built-in monitor makes it possible to view current statistics in the context of various time periods, however, statistics stored in the database provide a richer data set.
SuperSessionID
Some of the great solutions built on Ensemble consist of several products that can be run on different copies of Ensemble. For example, InterSystems HealthShare Information Exchange includes many Ensemble instances that communicate with each other using SOAP. In previous versions, there was no mechanism for tracking a message when it moved from the products of one instance of Ensemble to the products of another instance. At the same time, it was quite easy to track a message inside one product, since it had a SessionId, which was saved when the message passed between different business operations, services and processes. But as soon as the message left the business transaction through the SOAP message, the products that received the message assigned it a new SessionId.
This release introduces a new message header property - SuperSession . The SendSuperSession setting of the outgoing HTTP adapter controls the use of the SuperSession property. If SendSuperSession is enabled, the outgoing HTTP adapter acts as follows:
Checks if the Ens.MessageHeaderBase.SuperSession property contains a null value. If the value is empty, the adapter generates a new value and writes it to the property.
- Stores the value of the SuperSession property in the private HTTP header InterSystems.Ensemble.SuperSession of the outgoing message.
When an incoming HTTP adapter receives a message, it checks the value of the SuperSession property in the header and, if the value is not empty, saves it in the Ens.MessageHeaderBase.SuperSession property.
You can use the value of the SuperSession parameter to map a message from one product to a message in another.
Attention: in this version there are no tools for automatically tracking messages between products using SuperSession.
Despite the fact that the SendSuperSession setting is present in the configuration of many Ensemble components, in the current version it is used only in EnsLib.HTTP.OutboundAdapter.
Other important changes
Better X12 Support
As part of the upcoming X12 Electronic Data Interchange Support Program, you can view the X12 HIPAA_4010 and HIPAA_5010 schemes using the inherited structure viewer.
Graphic editors Ensemble
The interface of the Data Transformation Language editor has undergone many minor changes for greater user convenience. For example, if you add a function to a rule, the editor will show its optional and required parameters.
Product restart
Raw message management during product restart has been rethought. The current implementation has significantly accelerated the shutdown and restart of products in the event that hundreds of thousands of messages have accumulated in the queue.
Message Bank improvements
In this release, Message Bank received the following changes:
The message store recognizes when an Ensemble instance that sends messages to the message bank has reconnected from the new IP address. If you enable the “Ignore Client IP Changes” setting in the Ens.Enterprise.MsgBank.TCPService component, the Message Bank recognizes the Ensemble instance as the same, even if it reconnects from a different IP. If this setting remains inactive, Message Bank will consider the reconnected instance of Ensemble a new message source.
- XML messages are serialized to the stream before being sent to the Message Bank. In previous versions, the Message Bank viewer displayed such messages without indentation or line breaks. In the current version, messages are displayed with the correct XML formatting.
See the Configuring the Message Bank Service on the Server chapter in the Configuring Ensemble Productions section for more information .
New filter in Message Tracing
A new filter in Message Tracing has been added to this release. Before you apply a filter, you need to select a message, column (configuration component), ACK, or IOLog. Then, from the drop-down list you can select the values of the filter “Host” or “Matches”.
If you select a message, a filter with a value of “Host” displays messages whose source and target are the same as the selected message. A filter with a value of “Matches” shows a suitable request or response.
If you select a column (host), a filter with a value of “Host” finds all messages beginning or ending in this column (host).
- If you select ACK or IOLog, a filter with a value of “Matches” will find the corresponding request or response.
Details can be found in the “ Tracing the Path of Related Messages ” chapter of the Monitoring Ensemble section.
New option for restarting the product component
Now, when you double-click on the active component of the product, you will have the opportunity to select, disable the component or restart it.
All changes to Caché 2016.1
Ensemble 2016.1 is built on the basis of the DBMS and application server Caché 2016.1. This means that in addition to all changes to Ensemble 2016.1, the new version also includes all changes to Caché.
About changes in Caché 2016.1 can be read in a recent article on Habré .
