New in InterSystems IRIS 2019.1
This page describes the 2019.1 release of InterSystems IRIS®.
This release includes new capabilities and enhancements in the following areas:
Extended Maintenance and Continuous Delivery Releases of InterSystems IRIS
InterSystems IRIS 2019.1 is an extended maintenance delivery release of InterSystems IRIS in contrast with InterSystems IRIS 2019.2, which is a continuous delivery release. There are now two streams of InterSystems IRIS releases:
-
Continuous delivery releases — These releases provide access to new features and are ideal for developing and deploying applications in the cloud or in local Docker containers.
-
Extended maintenance releases — These releases are less frequent than the continuous delivery releases but provide the increased stability of maintenance releases. These releases are ideal for large enterprise applications where the ease of getting fixes in maintenance releases is more important than getting early access to new features.
Continuous delivery releases are provided in container format and are available on Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure, Docker Hub, and the InterSystems WRC download site. You can run a continuous delivery release on any of these cloud platforms or a local system using Docker container. InterSystems does not provide maintenance releases for continuous delivery releases, but instead fixes issues in subsequent continuous delivery releases.
The initial major extended maintenance release is provided on all InterSystems IRIS Supported Platforms, including UNIX, Windows, the cloud platforms, and the Docker container. Following maintenance releases are provided on all server and cloud platforms in the InterSystems IRIS Supported Platforms, but are not provided on the Docker container. If you are on a Docker container, you can upgrade to a continuous delivery release.
If your application runs on a non-container platform, you can only use an extended maintenance release for that application but can consider using the continuous delivery releases for:
-
Evaluating new features and testing your custom code — this will reduce your upgrade costs when you upgrade to the next major release.
-
Using it for new projects that can be deployed in the cloud or in local containers.
In addition to providing fully-suppported releases, InterSystems provides access to preview software for developers who want to get an early look at new features.
InterSystems Cloud Manager Enhancements
InterSystems Cloud Manager (ICM) provides you with a simple, intuitive way to provision cloud infrastructure and deploy services on it. In this release ICM has the following enhancements:
-
Availability Zone Support — This enhancement allows you to span multiple zones within a given region with cloud providers that provide this facility. For more information, see Deploying Across Multiple Zones in the InterSystems Cloud Manager Guide.
-
Asynch Mirror Support — This enhancements lets you configure asynch mirror members. For more information, see Mirrored Configuration Requirements in the InterSystems Cloud Manager Guide.
-
Containerless Support — This enhancement allows you to use ICM to deploy noncontainerized InterSystems IRIS instances from installation kits. For more information, see Containerless Deployment in the InterSystems Cloud Manager Guide.
-
Service Discovery — Service Discovery mode gives multiple users in any networked locations management access to a single ICM deployment. For more information, see Sharing ICM Deployments in the InterSystems Cloud Manager Guide.
Client Languages Enhancements
This release contains the following enhancements and performance boosts to access InterSystems IRIS using client languages:
-
IRIS Native API for .NET — Provides low-level access to the underlying global storage from .NET applications.
-
Relational access for Python.
-
Dynamic Java Gateway.
-
Shared memory support for Java Gateway — Support for shared memory connections has been extended to Java Gateway. For more information, see Using Shared Memory Connections in Using Java with the InterSystems JDBC Driver.
-
Hibernate — This release is compatible with Hibernate 5.2 or 5.3. For more information, see Hibernate Support in the InterSystems Implementation Reference for Java Third Party APIs.
-
Bulk loader in Java — The bulk loader is a new utility that can be used for massive data transfer from one data source to another.
Improved Scalability and Operations for Sharded Clusters
An InterSystems IRIS® sharded cluster partitions both data storage and caching across a number of servers, providing flexible, inexpensive performance scaling for queries and data ingestion while maximizing infrastructure value through highly efficient resource utilization. This release provides improved scalability and operations for sharded clusters including the following:
-
Scalability Enhancements — Support a broader set of scalability scenarios for SQL. Data nodes can be now be added to a sharded cluster at all times, irrespective of the database schema and shard keys used. Furthermore, after nodes are added, data can be rebalanced across the available nodes to ensure an even distribution of data and, subsequently, work to improve overall cluster performance. For more information, see Rebalance Sharded Data Across Additional Shard Data Servers in the Scalability Guide.
-
Management Portal Enhancements — New page to review and configure the sharded cluster’s layout.
-
API for Backups — A new API for coordinating the creation of backups of a sharded cluster’s data. For details, see Coordinated Backup and Restore of Sharded Clusters in the Scalability Guide.
-
Bulk Loader Support — New Bulk Loader client utility also optimizes ingestion of large datasets into a sharded cluster.
SQL Enhancements
This release contains significant enhancements to SQL usability and performance including the following:
-
Auto-parallel queries — This release provides improved efficiency by automatically using parallel queries where appropriate, significantly improving throughput for machines with many CPU cores. For more information, see System-Wide Parallel Query Processing in the InterSystems SQL Optimization Guide.
-
SQL Usability Enhancements — The new TUNE TABLE command tunes a table based on the data currently in the table and is available from the SQL shell. For more information, see TUNE TABLE in the InterSystems SQL Reference.
In addition, this release includes several other SQL shell enhancements, such as the ability to browse the schemas, tables, and views defined in or accessible from the current namespace. For more information, see Using the SQL Shell Interface in Using InterSystems SQL.
ShowPlan function and EXPLAIN command — Now display sub-plans for composite plans such as parallel and/or sharded queries. For details, see Show Plan.
-
Comment Options — This release supports Comment Options specified in the SQL code that cause the Optimizer to override a system-wide compile option for that query. For more information, see Comment Options in the InterSystems SQL Optimization Guide.
-
General performance enhancements — With each release, InterSystems includes various enhancements to its SQL engine that are 100% transparent from the application’s perspective. For 2019.1, an especially broad array of improvements went into the query optimizer and subsequent code generation that define your SQL query performance. Combined with the now automated parallel query execution, InterSystems IRIS SQL users should see a noticeable to significant improvement in throughput, depending on their query set.
Analytics Enhancements
This release contains the following analytics enhancements:
-
Partial Date type in Business Intelligence — Partial dates allow you to specify incomplete dates, such as just a year or a year and a month. For more information, see Partial Dates in Defining Models for InterSystems IRIS Business Intelligence.
-
%SQLRESTRICT dimension for cubes — This new cube dimension allows run-time restrictions on an MDX query via a SQL SELECT statement or WHERE clause. For more information, see %FILTER Clause in the InterSystems MDX Reference.
-
Pivot Table Headers — When a large pivot table requires scrolling to see all columns and/or rows, the header columns and rows remain in place so that the labels continue to be visible as you scroll.
-
Work Queue Manager replaces Agents — The Work Queue Manager is used in InterSystems IRIS Business Intelligence to distribute work to multiple concurrent processes in order to manage performance. The Work Queue Manager is a standard component of InterSystems IRIS. For more information on the Work Queue Manager, see Using the Work Queue Manager.
Interoperability Enhancements
This release contains new interoperability capabilities that speed configuring and troubleshooting of productions. These include the following:
-
Interface Maps — Users can search for and view all the routes that a message can take within a production. See Viewing Interface Maps in Monitoring Productions for details.
-
Search for Interface References — Users can search to find where production components are referenced by other production components. See Finding Interface References in Monitoring Productions for details.
-
Data Transformation Testing Enhancements — When testing data transformations, users can unit test record maps in the Data Transformation Editor by allowing raw text input in the Test Transform dialog and can enter values for aux, context, and process system objects as if the data transformation was invoked with these objects instantiated. See Using the Transformation Testing Page in Developing DTL Transformations for details.
-
DTL Editor Enhancements — The usability of the Data Transformation Editor has been enhanced with the addition of switch/case actions, the ability to group actions together, the ability to collapse/expand groups, and the ability to add comments to the data transformation. See Adding a Switch Action, Working with Groups of Actions, and Adding a Comment Action in Developing DTL Transformations for details.
-
Unit Testing of Routing Rules — This enhancement introduces a unit testing capability to the Rule Editor, whereby a user can feed a message through a business rule and view rule execution results without having to run the message through the entire production. See Testing Routing Rules in Developing Business Rules for details.
-
Download Multiple Messages to Local Computer — Users can select multiple messages in the Message Viewer and download them to their local computer. See Exporting Messages in Monitoring Productions for details.
-
Download Event Logs to Local Computer — Users can download event logs to their local computer. Previously event logs could only be downloaded to the server. See Introduction to the Event Log Page in Monitoring Productions for details.
-
Rule Editor Enhancements — The usability of the Rule Editor has been enhanced with the ability to add comments to a business rule and the ability to view and edit a Data Transformation (DTL) directly from the Rule Editor when the given DTL is used in a business rule. See Selecting the Transformation and Target of a Send Action in Developing Business Rules for more details about opening the DTL from the Rule Editor.
-
Queue Wait Alert Modification — The Queue Wait Alert setting now specifies the length of time that a message can wait in the business host’s queue or be the active message before an alert is triggered. Previously, the setting only applied to messages in the queue, not the active message. See the Queue Wait Alert setting in Configuring Productions for details.
-
Restrict Access to System Default Settings — Administrators can control whether users can create, edit, or delete system default settings. See Security for System Default Settings in Managing Productions for details.
-
Export Productions to Local Computer — Users can export productions to their local computer. Previously productions could only be exported to the server. See Exporting a Production in Configuring Productions for details.
-
Deploy Productions from Local Computer — Users can deploy productions from their local computer. Previously productions could only be deployed from the server. See Deploying a Production on a Target System in Developing Productions for details.
-
Enhanced Navigation from Production Configuration Page — Links have been added to the tabs of the Production Configuration window to quickly open related items in a separate window. On the Queue tab, clicking the message ID opens a window to display the visual trace for the message. On the Messages tab, clicking the Session ID opens a window to display the visual trace of the message. On the Jobs tab, clicking the message ID opens a window to display the visual trace for the message, and clicking the Job ID opens a window to display the Process Details for the job.
-
Business Host Wizard Enhancements — To enhance user productivity, additional options have been added to the wizards used to create business hosts. Users can use the business host wizards to automatically assign system default values when fields are left blank and to define a package prefix for auto-generated routing rules. See Wizard Options in Configuring Productions for details on new options in the business host wizards.
System Performance and Capabilities
This release contains the following system security, performance, and efficiency enhancements:
-
Substantial scalability and performance improvements, particularly for large-scale Non-Uniform Memory Access (NUMA) systems. This includes changes to improve scalability in statistics tracking and global buffer management, performance improvements in use of subscript level mapping, and more effective optimizations to avoid traversing global pointer blocks. To enable these improvements there are minor changes to memory utilization and system statistics described in the Incompatibility HistoryOpens in a new tab document.
These enhancements increase the amount of memory allocated for global buffer metadata by 64 bytes per buffer on Intel systems and by 128 bytes per buffer on IBM Power systems. For example, with 8K buffer sizes, the shared memory allocated for a global buffer increases by 0.75% on Intel systems and by 1.5% on IBM Power systems. These enhancements also cause minor changes is in statistics displayed by utilities and the Management Portal.
-
Key Management Interoperability Protocol (KMIP) — In this release, InterSystems IRIS® can be a client to an enterprise key management server and use the Key Management Interoperability Protocol (KMIP) to store and retrieve keys on the server. KMIP, an OASIS standard, gives you the power of centralized key management. You can use keys from a KMIP server to encrypt data at rest — for both database encryption and data-element encryption. They are available for all the same activities as keys from key files, such as journal file encryption. InterSystems IRIS also allows you to copy keys from the KMIP server to local files, so that there can be local backup copies. For more information, see Managing Keys with the Key Management Interoperability Protocol (KMIP) in the Encryption Guide.
Note:InterSystems IRIS does not support KMIP on the macOS platform.
-
DataMove — Enables you to move data from one database to another, revise the mappings to access the data, and delete the data from its old location.
-
Support for large JSON strings.
-
IRIS Studio support for other InterSystems products.
-
Support for Microsoft Integrated Windows Authentication for HTTP Connections (SPNEGO) — This new enhancement allows %Net.HttpRequest to use windows based authentication over HTTP 1.1 to establish a connection to a secure server. Users can provide credentials or, if no credentials are provided, the system will try to authenticate using the current logged in context. Client may initiate a connection to the server with an "Authorization" header or try to establish a connection without that header and process the 401 status code with its associated with WWW-Authenticate header and then respond with the appropriate authentication mechanism. The supported authentication schemes are Negotiate (Kerberos & NTLM), NTLM, and Basic. For more information see Providing Authentication in Using Internet Utilities.
-
Journaling efficiency improvements.
-
Async I/O efficiency improvements.
New Features in 2019.1.1 Release
This section describes new features that are only available in the InterSystems IRIS 2019.1.1 maintenance release and later maintenance releases. If you are running release 2019.1.0, you do not have these features.
In-Place Conversion from Caché and Ensemble
This release of InterSystems IRIS allows you to convert an existing instance of Caché or Ensemble to InterSystems IRIS. The conversion process may require some changes to application code, configuration scripts, and other procedures, but will be relatively easy for the majority of cases. As with any major upgrade, you should thoroughly test your custom code, including any production business services, processes, and operations, in a test environment before deploying to a live production environment.
Before performing an in-place conversion, it is important that you read the IRIS In-Place Conversion Guide and the InterSystems IRIS Adoption Guide for background information on the differences between Caché or Ensemble and InterSystems IRIS. You can download these documents from the InterSystems Worldwide Response Center documents distribution pageOpens in a new tab.
InterSystems IRIS does not support the HL7 and DICOM features and the X12 health schemas that are available in Ensemble. This support is included in the HealthShare Health Connect and InterSystems IRIS for Health products. Consequently, if your Ensemble productions use HL7, DICOM, or the X12 health schemas, you should not perform an in-place conversion to InterSystems IRIS. If you are using Ensemble as an integration engine, you should first upgrade to HealthShare Health Connect 15.03x built on the Caché/Ensemble platform and then perform an in-place conversion to Health Connect 2019.1 on the InterSystems IRIS platform. If you are using Ensemble as a general-purpose data platform for health care, you should wait for the release of InterSystems IRIS for Health that supports in-place conversion. In order to ensure that the in-place conversion is relatively easy, InterSystems performs significant testing, including test conversions at customer sites. We are deferring support of in-place conversion to InterSystems IRIS for Health until after we have completed this testing.
InterSystems API Manager
This release includes the InterSystems API Manager (IAM) enabling you to monitor and control traffic to and from your web-based APIs.
If you are building service-oriented application layers, you are very likely to find the number of APIs you are using quickly rise. The more distributed your environment the more critical it becomes to properly govern and monitor your API traffic. The API Manager enables you easily route all your traffic through a centralized gateway and forward API request to appropriate target nodes. This enables you to:
-
Monitor all your API traffic in a central spot.
-
Plan, document, and update the list of APIs you are using and the servers that provide them.
-
Identify issues before they become critical.
-
Control API traffic by throttling throughput, configuring allowed payload sizes, whitelist and blacklist IP addresses and domains, and quickly taking an endpoint into maintenance mode.
-
Onboard internal and external developers by providing interactive API documentation through a dedicated and customizable developer portal.
-
Secure your API's in a central place.
The API Manager is interoperable, reliant, intuitive, and scalable. You can perform all configuration using a simple web-based user interface, but can also configure the API Manager using API calls, which makes it easy to perform remote deployments,
The API Manager is released in its own container. You can configure the API Manager as a cluster of multiple nodes, but even a single node can handle the load of multiple tens of thousands of requests per second.
For more information, see InterSystems API Manager.
The API Manager is only available in a Docker container distribution. You can use it with an InterSystems IRIS system that is installed on any of the InterSystems IRIS Supported Platforms, including UNIX, Windows, the cloud platforms, and the Docker container.
X12 Element Validation in Interoperability Productions
This release provides enhanced X12 validation. In previous releases, you could only validate that the required segments are in the correct order and that there are no segments present that are prohibited, but there was no mechanism to validate the contents of the segment. This enhancements enables you to validate that:
-
Required fields are present and that all fields are allowed by the schema.
-
Number of fields within a segment and how they are repeated are allowed by the schema.
-
Datatypes for fields and components are correct.
-
Field values conform to the code tables specified.
-
Field and components conform to length restrictions.
For details, see Validation in Routing X12 Documents in Productions.