Skip to main content

Introduction to InterSystems External Servers

See the Table of Contents for a detailed listing of the subjects covered in this document.

InterSystems External Servers provide instant, fully integrated bi-directional connections between InterSystems IRIS and external language platforms. External servers support these fast, simple, powerful features:

Instant access

The $system.external interface makes all of your Java, .NET, and Python objects effectively part of the ObjectScript language. External servers start automatically when you issue an command, providing instant access to your external language platforms without any preliminary setup.

Shared sessions

Shared sessions let ObjectScript and external applications work within the same context and transaction, sharing the same bi-directional connection.

Remote object control

Proxy objects allow either side of a shared session to control target objects on the other side in real time. ObjectScript can create and control Java, .NET, and Python objects, and those languages can create and control ObjectScript objects.

Fully reentrant bidirectional connections

The normal one-way client/server relationship is no longer a barrier. With bidirectional reentrancy, new objects or method calls on either side can enter an existing shared session at any time. This allows applications on either side of a shared session to act as both server and client, initiating client queries and serving requests from the other side.

Reentrant Native SDK methods

Native SDK methods are also fully reentrant and can be included in shared sessions, giving external applications direct access to a huge array of InterSystems IRIS resources.

This document describes how to work with InterSystems External Servers in ObjectScript. The section on “Working with External Languages” provides most of the information you will need to use external servers in your ObjectScript code. See the “Quick Reference for the $system.external Interface” for detailed information on all methods covered here. See “External Server Requirements” for software requirements and optional setup instructions.

External servers use an enhanced and simplified form of the older Dynamic Object Gateway technology. All Object Gateway features are still available, so upgrading your code is a simple matter of replacing certain class and method references (see “Upgrading Object Gateway Code” for details).

The rest of the document describes optional methods for controlling and configuring external servers. See “Managing External Server Connections” for information on how to view external server activity in the Management Portal, and how to control connections in ObjectScript. The section on “Customizing External Server Definitions” discusses advanced options that allow you to define new external server configurations for special purposes.

The InterSystems Native SDKs are a vital part of the InterSystems External Server environment. They provide the Java, .NET, and Python frameworks that allow your applications to take full advantage of external server connections. See the following documents for detailed information:

Feedback