Connectivity Options
Ensemble enables you to define inbound and outbound connections to a wide variety of technologies. There are three general categories of options:
Many of these tools are built on the Caché tool set, which also includes many options that Ensemble does not use.
If the built-in Ensemble tools do not meet your needs, you can create your own components based on any suitable combination of Caché and Ensemble tools. For a compact, combined list of Caché and Ensemble tools, see the table of contents of the InterSystems Technology Reference.
Adapter Library
Ensemble provides many adapters, and you can define your own. Ensemble provides adapters for the following scenarios:
Receives email messages via the POP3 protocol and sends email messages via the Simple Mail Transfer Protocol (SMTP).
Reads and writes files on the local network. Able to open, create, delete, modify, and move files. The file content can be character or binary data.
See Using File Adapters with Ensemble.
Also see “Business Host Classes That Use File Adapters,” later in this chapter.
Receives and sends files between local and remote systems via the File Transfer Protocol (FTP). The file content can be characters or binary data. The adapters support FTP over SSL and SFTP.
See Using FTP Adapters with Ensemble.
Also see “Business Host Classes That Use FTP Adapters,” later in this chapter.
Provides an HTTP listener for custom port listening, XML listening, or raw HTML handling. Supports the standard HTTP operations Post, Get, Put, and Delete. Allows the use of proxy servers.
See Using HTTP Adapters with Ensemble.
Also see “Business Host Classes That Use HTTP Adapters,” later in this chapter.
The outbound LDAP adapter can send requests to an LDAP server and receive responses.
See the EnsLib.LDAP.OutboundAdapterOpens in a new tab entry in the Class Reference.
Receives and sends messages in IBM WebSphere MQ (MQ Series) format. Message content can be a specific data type or a binary data stream. The adapter can simply send the message, or send it and then pull the corresponding response from the message queue.
Able to execute a shell command and communicate with it via pipes. Capable of handling character data or a binary data stream.
See the EnsLib.Pipe.InboundAdapterOpens in a new tab and EnsLib.Pipe.OutboundAdapterOpens in a new tab entries in the Class Reference.
Allows Ensemble to interface with the SAP Java Connector (SAP JCo).
See Using the SAP Java Connector with Ensemble for details.
A subclass of the HTTP adapter that sends requests to a Siebel server and returns responses.
See the EnsLib.Siebel.HTTPOutboundAdapterOpens in a new tab entry in the Class Reference.
Listens for SOAP requests on a local TCP port or via a standard web server. Dispatches outbound requests by acting as a SOAP client to an external SOAP server. In this special case, adapters are not necessarily involved.
See Creating Web Services and Web Clients with Ensemble.
Also see “Business Host Classes That Use SOAP,” later in this chapter.
Executes SQL statements against a remote database via an ODBC-defined or JDBC-defined connection.
Manages an incoming or outgoing TCP connection. Allows simultaneous handling of multiple connections. Supports character and binary data streams, and counted data blocks. The adapters also supported framed protocols.
See Using TCP Adapters with Ensemble.
Also see “Business Host Classes That Use TCP Adapters,” later in this chapter.
Directly initiates and manages a Telnet connection.
See the EnsLib.Telnet.OutboundAdapterOpens in a new tab entry in the Class Reference.
To use an adapter, you define a business host class that uses the adapter class. For a general description of this process, see Developing Ensemble Productions. The books in the previous list provide details that apply to the specific adapters.
As noted previously, you can also define your own adapters. For information, see Developing Ensemble Productions.
Business Host Classes That Use Adapters
For specific scenarios, Ensemble provides specialized business service classes and business operation classes that already use specific adapters:
-
SOAP (in this special case, adapters are not necessarily involved)
To use these business hosts, it is not generally necessary to perform any coding.
For practical reasons, the following sections might not cover all the specialized business host classes that Ensemble provides. To find all the specialized business host classes that specify an adapter, perform a search in Studio, and look for Parameter ADAPTER within the EnsLib package. Studio then displays the names of the classes, which generally indicate which adapter they use.
Business Host Classes That Use File Adapters
Ensemble provides business host classes that use the file adapters. The following table summarizes the content types that Ensemble supports and indicates where to find information.
File Contents | See |
---|---|
ASTM documents | Ensemble ASTM Development Guide |
DICOM documents | Ensemble DICOM Development Guide |
EDIFACT documents | Ensemble EDIFACT Development Guide |
HL7 version 2 messages | Ensemble HL7 Version 2 Development Guide |
X12 documents | Ensemble X12 Development Guide |
XML documents | Ensemble XML Virtual Document Development Guide |
Any | “Using the File Passthrough Service and Operation Classes” in Using File Adapters with Ensemble |
Business Host Classes That Use FTP Adapters
Ensemble provides business host classes that use the FTP adapters. The following table summarizes the content types that Ensemble supports and indicates where to find information.
File Contents | See |
---|---|
ASTM documents | Ensemble ASTM Development Guide |
EDIFACT documents | Ensemble EDIFACT Development Guide |
HL7 version 2 messages | Ensemble HL7 Version 2 Development Guide |
X12 documents | Ensemble X12 Development Guide |
XML documents | Ensemble XML Virtual Document Development Guide |
Any | EnsLib.FTP.PassthroughServiceOpens in a new tab and EnsLib.FTP.PassthroughOperationOpens in a new tab in the Class Reference |
Business Host Classes That Use HTTP Adapters
Ensemble provides business host classes that use the HTTP adapters. The following table summarizes the content types that Ensemble supports and indicates where to find information.
File Contents | See |
---|---|
EDIFACT documents | Ensemble EDIFACT Development Guide |
HL7 version 2 messages | Ensemble HL7 Version 2 Development Guide |
Business Host Classes That Use SOAP
Ensemble provides business host classes that communicate via SOAP (in this special case, adapters are not necessarily involved). The following table summarizes the content types that Ensemble supports and indicates where to find information.
File Contents | See |
---|---|
HL7 version 2 messages | Ensemble HL7 Version 2 Development Guide |
Business Host Classes That Use TCP Adapters
Ensemble provides business host classes that use TCP adapters. The following table summarizes the content types that Ensemble supports and indicates where to find information.
File Contents | See |
---|---|
ASTM documents | Ensemble ASTM Development Guide |
HL7 version 2 messages | Ensemble HL7 Version 2 Development Guide |
X12 documents | Ensemble X12 Development Guide |
Any | EnsLib.TCP.PassthroughServiceOpens in a new tab and EnsLib.TCP.PassthroughOperationOpens in a new tab in the Class Reference |
Gateways
Caché and Ensemble both provide the SQL Gateway, which provides access from Caché to external databases via JDBC and ODBC. You can, for example, link to tables and views in external sources and access the data in them in the same way you access any local data. See Using the SQL Gateway.
Ensemble provides the following additional gateways:
-
The Object Gateway for .NET provides an easy way for Ensemble to interoperate with Microsoft .NET Framework components. The .NET Gateway can instantiate an external .NET object and manipulate it as if it were a native object within Ensemble.
-
The Java Gateway provides an easy way for Ensemble to interoperate with Java components. The Java Gateway can instantiate an external Java object and manipulate it as if it were a native object within Ensemble.
The Java Gateway also allows Ensemble to interact with JMS (Java Message Service) systems.