InterSystems IRIS Data Platform 2019.2  /  Using TCP Adapters in Productions

Using TCP Adapters in Productions
Special Topics
Previous section           Next section
InterSystems: The power behind what matters   

This chapter discusses the following additional topics:
For general information on customizing the callback methods of adapters, see “Less Common Tasks” in Developing Productions.
InterSystems IRIS™ also provides specialized business service classes that use TCP adapters, and one of those might be suitable for your needs. If so, no programming would be needed. See “Connectivity Options” in Introducing Interoperability Productions.
Adding a TCP Status Service
The EnsLib.TCP.StatusService class parses an incoming text string to determine what type of production status information is being requested, and then produces a reply string suitable for writing out to the console screen. A user can interact with the status service directly, or write a command script that contacts the status service, issues commands, and writes the replies to a text file for later analysis.
A developer enables interactions via the status service as follows:
  1. Add an instance of EnsLib.TCP.StatusService to the production.
  2. Configure the instance of EnsLib.TCP.StatusService to accept communications via a particular TCP port. Set a Port number and a list of Allowed IP Addresses from which to accept connections. These are only two of the several settings that are available to configure the TCP text line inbound adapter associated with the status service. For details, see “Reference for Settings.”
Once you have completed these steps, any time the status service is enabled and running, a user or command-line script can initiate a Telnet connection to the configured Port and send commands to the status service. Each command must be a text string that ends with the newline character (ASCII 10). The reply strings will also terminate with a newline.
The following table describes the supported command lines and the contents of the text string returned in each case.
Command Line Text String Returned
build The full name of the InterSystems IRIS software version.
configitemstatus name
When you enter this command with the configured name of any business host in the currently running production, the status service returns a string that expresses the current state of that business host.
A host that has currently running jobs, or active connections, records those activities in the returned string. If the identified host is not a member of the currently running production, the returned string indicates this.
exit No string is returned. This command disconnects from the status service. You may enter x instead of exit
localstarttime If InterSystems IRIS is running, this returns the start time of the currently running production, expressed in local time coordinates. Otherwise, it returns a string with the message <UNDEFINED>
localtime The current time, in local time coordinates.
namespace The interoperability-enabled namespace where the currently running production resides.
production The configured name of the currently running production.
quit No string is returned. This command disconnects from the status service. You may enter q instead of quit
utcstarttime If InterSystems IRIS is running, this returns the start time of the currently running production, is expressed in universal time coordinates (UTC). Otherwise, it returns a string with the message <UNDEFINED>
utctime The current time, in universal time coordinates (UTC).
version The abbreviated name of the InterSystems IRIS software version, for example 2018.1.0.514/2171
x Same as exit
Creating Custom TCP Adapter Classes
To create a custom subclass of a TCP adapter class, do the following in Studio:
  1. On the File menu, click New, and then click the General tab.
  2. Start the New Class Wizard by clicking InterSystems IRIS Class Definition and clicking OK.
    1. Enter a package and class name and click Next.
      Be sure to avoid reserved package names; see “Reserved Package Names” in Developing Productions.
    2. Click Extends for the Class type.
    3. Click Browse next to Name of super class and navigate to the class that you want to subclass.
    4. Click OK.
    5. Click Finish.
    The result is a template class like the following, depending on the class you chose:
    Class MyTest.NewClass1 Extends EnsLib.TCP.InboundAdapter
  3. You can override any property, method, class parameter, or other class member inherited from the class or its parent classes, or you can add new class members. The only requirements are as follows:
  4. Compile the class, which also saves it.
Common Customizations in TCP Adapter Subclasses
The following list suggests some common customizations in TCP adapter subclasses, in addition to implementing the methods that the adapter needs:

Previous section           Next section
Send us comments on this page
View this book as PDF   |  Download all PDFs
Copyright © 1997-2019 InterSystems Corporation, Cambridge, MA
Content Date/Time: 2019-10-14 06:57:37