The new version of the integration platform InterSystems Ensemble 2016.1 has been released. Key innovations: improved functionality of the enterprise service bus (Enterprise Service Bus, ESB), monitoring and working with messages. Details under the cut.
The new release makes it easy to use InterSystems Ensemble as an ESB without having to write your own code. This became possible due to the following functions:
The registry of public services - with a REST API, providing a list of services available in the ESB.
External Services Registry - provides a mechanism for identifying and describing servers implementing services.
Enhanced end-to-end services and operations - provides an efficient way to route service requests from the end user to servers using the External Services Registry.
These features facilitate the development of an Enterprise Service Bus, which efficiently routes service requests and provides a management environment for supporting and documenting buses and services. Using end-to-end services and operations, you can reduce overhead and increase the bandwidth of the solution using non-stored messages instead of stored ones. More details can be found in the documentation, in the “ Using Ensemble as an ESB ” section.
This release includes a new package “Statistics and monitoring of activity volume”, providing improved short-term monitoring of system performance and long-term reporting of message traffic. The main features of the package:
Centralized message statistics storage
DeepSee panel showing the current message speed and response time of each interface
Ability to change the level of detail for long-term and short-term statistics
Long-term repository of message statistics (for building reports)
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 collecting statistics.
Some large solutions built on Ensemble consist of several products that can be run on different Ensemble instances. For example, the InterSystems HealthShare Information Exchange includes many instances of Ensemble that communicate with each other using SOAP. In previous versions, there was no mechanism for tracking a message when it moved from the production of one Ensemble to the production of another. At the same time, it was quite easy to track a message inside one product, since it had a SessionId, which was maintained when a message was transferred between various business operations, services and processes. But as soon as the message left the business operation through a SOAP message, the products that received the message assigned it a new SessionId.
This release introduces a new message header property - SuperSession . Configuring the SendSuperSession outgoing HTTP adapter controls the use of the SuperSession property. If SendSuperSession is enabled, then the outgoing HTTP adapter acts as follows:
Checks whether the Ens.MessageHeaderBase.SuperSession property contains a null value. If the value is empty, then the adapter generates a new value and writes it to the property.
When an incoming HTTP adapter receives a message, it checks the value of the SuperSession property in the header and, if it is non-empty, saves it in the Ens.MessageHeaderBase.SuperSession property.
You can use the value of the SuperSession parameter to match a message from one product to a message to another.
Note: this version does not have tools for automatically tracking messages between products using SuperSession.
Although the SendSuperSession setting is present in the configuration of many Ensemble components, in the current version it is used only in the EnsLib.HTTP.OutboundAdapter.
As part of the upcoming X12 Electronic Data Interchange Standard Support Program, you can view X12 schemes HIPAA_4010 and HIPAA_5010 using the legacy structures viewer.
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.
The management of unprocessed messages during product restart was rethought. The current implementation has significantly accelerated the stopping and restarting of products when hundreds of thousands of messages have accumulated in the queue.
In this release, the Message Bank received the following changes:
The message store recognizes when the Ensemble instance sending the message to the bank has reconnected from the new IP address. If you activate the “Ignore Client IP Changes” setting in the Ens.Enterprise.MsgBank.TCPService component, the Message Store recognizes the Ensemble instance as the same, even if it reconnects from another IP. If this setting remains inactive, the Message Bank will treat the reconnected copy of Ensemble as a new source of messages.
More information can be found in the “ Configuring the Message Bank Service on the Server ” chapter of the Configuring Ensemble Productions section.
A new filter has been added to this release in Message Tracing. Before you apply a filter, you need to select a message, a column (configuration component), ACK or IOLog. Then, from the drop-down list, you can select the values ​​of the “Host” or “Compliant” filter.
If you selected a message, the filter with the value “Host” displays messages with the same source and target as the selected message. A filter with the value of “Compliant” indicates a suitable request or response.
If you select a column (host), the filter with the value “Host” finds all messages that start or end in this column (host).
Details can be found in the “ Tracing the Path to Related Messages ” section of the Monitoring Ensemble section.
New option to restart product component
Now, when you double-click on the active component of a product, you will have the opportunity to choose, disable the component or restart it.
Ensemble 2016.1 is based on Caché 2016.1 DBMS and application server. This means that in addition to all changes in Ensemble 2016.1, the new version also includes all changes to Caché.
About changes in Caché 2016.1 you can read in a recent article on Habré .
Source: https://habr.com/ru/post/305752/
All Articles