What's new in HCL Link 1.1.1.0
This documentation describes new and changed functions and features in HCL Link version 1.1.1.0.
License management
A licensed LNK Link feature must have a valid license to run. An Link feature license comes from your company’s pool of licenses on the license server (your company’s entitlement).
Registering the host computer with the license server
Before you can run a licensed feature, the computer where the feature is installed must register with the license server. Registering the computer’s host name enables Link to obtain the licenses required to run licensed features on that computer.
License feature names
The license names of the Link features display in the entitlement on the license server and in the messages that the runtime servers log. The feature names are also keywords of the dtxlicutil -view command.
License allocation and persistence
A license is required for each logical processor on the host computer where the licensed feature runs. The number of logical processors is the number of physical processors, or cores, multiplied by the number of virtual processors.
License availability and usage
An entitlement must have enough licenses available for the number of logical processors on the requesting host. If there are not enough available licenses for all logical processors, the request fails and the host does not acquire any licenses.
License status on the host computer
The dtxlicutil -local command displays the licenses that the host computer currently has. The available count and maximum count reflect the number of logical processors on the host computer, so the values for a single host are always the same.
Releasing licenses
Use the dtxlicutil -release command to release the licenses of all features from a host computer. The licenses return to the entitlement pool, where they are available for other hosts to acquire.
Acquiring licenses
After a host computer releases a license, you can request the license again by running the dtxlicutil -acquire command on the host...
The dtxlicutil command
The dtxlicutil command works with the licensed features of LNK Link. Use it to register a computer with a license server, acquire or release licenses, and display details about license usage for an entitlement.
System requirements
Hardware and software requirements for Windows and Linux systems.
Windows system requirements
Hardware and software requirements for Windows systems.
Linux system requirements
Hardware and software requirements for Linux.
Installation Guide
The documentation provide here describes how to install the Design Server, as well as system requirements for both Windows and Linux.
Windows installer
This documentation describes how to install the HCL Link Design Server using the Windows Installer.
Linux installation
You have the choice of two installation types: Native and Docker.
Cache variables
Cache variables provide a means of processing information throughout a flow instance without requiring that the information to be passed through data links.
Cache variables locations
Cache variables can be specified at different locations.
Cache variables scope
Cache variables are name value pairs that exist after the flow instance completes execution. Unlike flow variables, cache variables are shared, and are accessible to other flow instances that are running simultaneously. Cache variables work in the same fashion under both flow engine and non-flow engine contexts.
Design Server
The documentation provided here describes how to use the Design Server.
Projects
This documentation describes Design Server projects.
Flows
A flow node invokes a sub flow within a flow. Sub-flows need not be wired to other nodes; it is valid to have a flow that is comprised of multiple sub-flows that each have listeners.
Using Design Server
How to use the HCL Link Design Server.
Flows
This documentation describes how Flows can be run from REST API, listeners, or they can be scheduled.
Schema designer
Use the schema designer to define, modify, and view schemas. A schema describes the syntax, structure, and semantics of your data.
Flows
This documentation describes how Flows can be run from REST API, listeners, or they can be scheduled.
Listener
A Flow that has a Map node as its first node, and uses a File adapter for an input, can enable that node's input to be a Watch.
Flow audits
Flow audits are a way to retrieve more verbose information about a flow instance.
Flow variables
Flow Variables are process data variables that go along with the flow execution, accessible to all nodes in the flow while it is being executed under flow executor/engine context.
Flow Command Server
Deploy a flow from the HCL Link Design Server to the local filesystem using Execution flow server definition.
Command line arguments
Flow Command Server executable is flowcmdserver.exe on Windows and flowcmdserver on Unix.
Long format options with the value description
Description of both 'required' and 'optional' arguments.
Examples
These examples describe how to use the Flow Cammand Server.
Flow variables
Flow variables provide a means of passing information throughout a flow instance without requiring that the information to be passed through data links. flow variables are name-value pairs that persist, unless deleted.
Flow variables locations
Flow variables can be specified at different locations.
Flow variables scope
Under Flow Engine context, all flow variables (both custom and special) defined for the flow instance, go out of scope when the flow instance completes execution. It does not affect the flow variables of the other instance.
Thread local flow variables
A 'thread local flow variable' is a special variable, in that each thread running under a flow instance gets a copy of the flow variable when referenced. Each thread then works on its own copy during flow execution. Any action (get, set, delete, increment, decrement, resolve), on the thread local flow variable, is performed on the copy of the flow variable associated with that thread.
Service Builder
The definition of a service includes connection properties and a set of endpoints.
Configuring Service Builder
Instructions for configuring Service Builder in the LNK Design Server UI.
Using Service Builder
Follow the procedures in this documentation to perform operations in Service Builder.
Deployment APIs
Deployment in v2 uses SQLite files generated by tx-server during deployment. These files contain all the objects (flows, maps, and files) defined in the definition of the package being deployed.
Map and Flow run APIs
These APIs allow you to run maps or flows that have URLs specified for them in the package definition.
Flow Schedule APIs
Flow Schedule APIs allow you to control the scheduler properties for a flow.
Flow server
This documentation describes the Flow monitoring function of the Flow server.
Configuration variables
A configuration variable defines an alias that resolves at run time to a value that is specific to a deployment environment. A deployment environment is represented by a server group. By associating the values of a configuration variable with different server groups, you can run the same map in different environments, servers, and platforms without changing the map.
Configuration variable alias resolution
When a map that includes an alias deploys to a server, the server where the map runs and the server groups defined in the configuration variable determine how the alias resolves.
Maximum resource lengths after alias resolution
Aliases resolve when a map initializes. The type of resource determines the limit on the length of resource after alias resolution.
Alias expansion in external interface functions
During map execution, alias resolution in an external interface function can expand the string by up to 256 bytes longer than its original length.
Defining configuration variable values with environment variables
You can avoid customizing a configuration variable for specific deployments by defining configuration variable values as operating system environment variables. At run time, the $GETENV() function resolves aliases that are defined as environment variables. The $GETENV() function can be used with or without encryption.
Master key creation to generate a new cipher key for encryption
As configuration-variable values contain sensitive data, they are encrypted with a default cipher key. Sensitive data may include user credentials or database passwords among others. An administrator can choose to not use the default cipher key, and create a new master key file to generate a new cipher key to ensure strict confidentiality of the key. Integration Platform uses the Advanced Encryption Standard (AES) algorithm to encrypt and decrypt configuration-variable values by using a secure encryption key. A single key encrypts all configuration variables during installation of the Integration Platform.
Encrypting configuration variables and creating a new master key file
The Design Server comes with a default master key file (MKF) that contains a cipher key. However, the administrator can create a new MKF to generate a fresh cipher key to ensure that the key is known to none other than only the authorized people.
References to Resource Registry in messages and log files
Some messages and log files refer to the Resource Registry, which resolves configuration variables at run time.
Command Server
To use the Command Server to execute a map, you will prepare the maps for execution.
Overview
Command Server is used to develop, test, and execute maps in development environments. It can also be used to execute commands in production environments.
Executing a map
After a map has been built for a specific execution platform and transferred, the map can be executed using a Command Server.
External interfaces for applications, EXIT and RUN
Maps can interface with other maps, functions in libraries, or programs using the EXIT function, the RUN function or an adapter as a data source or target.
Windows platforms
There are several activities you can do with the Command Server that you have installed on your Windows environment.
Resource adapters
This documenation provides a description of how to use the HCL Link Resource adapers.
Resource Adapters overview
Resource adapters are used to retrieve and route data. They provide access to databases, files, messaging systems, enterprise applications and other data sources and targets.
Apache HDFS Adapter
The Apache HDFS Adapter allows the HCL Link to access the HDFS file system in Apache Hadoop environments.
Apache ActiveMQ Adapter
With the ActiveMQ Adapter, users can access any of the queues of the Active MQ Adapter to send and receive messages. Users can also create a new queue altogether for sending and receiving messages.
Azure SQL Adapter
Microsoft Azure SQL Database is a general-purpose relational database, provided as a managed service. With it, you can create a highly available and high-performance data storage layer for the applications and solutions in Azure.
Azure Blob Storage Adapter
The Azure Blob Storage adapter provides support to perform read and write operations on the blobs in the block storage managed by the Azure Blob Storage cloud service
Apache Kafka Adapter
With the Apache Kafka adapter, maps can connect to a Kafka cluster to consume and produce messages.
Amazon S3 Adapter
With the Amazon S3 or Amazon Simple Storage Service adapter, a user can access S3 buckets to fetch stored data and send new data to S3 buckets for storing.
Amazon SNS Adapter
With the Amazon SNS adapter, a user can access the Amazon Simple Notification Services. This adapter connects to the Simple Notification Services (SNS) topics, using AWS keys. The adapter can fetch and send notifications from and to those AWS SNS topics, to which the user has subscribed.
Batch File and Shell Script Adapters
The Batch File adapter processes a (Windows™) batch file as the data source of an input map card or the data target of an output map card. The Shell Script adapter processes a (UNIX™) shell script as the data source of an input map card or the data target of an output map card.
CICS Adapter
The Customer Information Control System (CICS) adapter allows you to retrieve CICS screen data without the difficulties associated with 3270 "screen scraping."
Cipher Adapter
The Cipher adapter encrypts and decrypts data by using the Advanced Encryption Standard (AES) established by the U.S. National Institute of Standards and Technology (NIST). A single cryptographic key enciphers (encrypts) and deciphers data. The cryptographic key is stored in a master key file (MKF) in an AES-based encrypted format. As long as the MKF is not compromised or lost, the enciphered data is cryptographically secure.
Email Adapters
An email adapter automatically receives email messages as sources of a map or sends email messages as targets of a map.
FTP Adapter
Use the File Transfer Protocol (FTP) Adapter to transport data. When source data arrives at its target, it often must be transformed into a different format for a receiving application to use it successfully.
Excel Adapter
The Excel Adapter reads data from and maps data to a sheet in a Microsoft Excel workbook.
Google Cloud Storage Adapter
The Google Cloud Storage Adapter provides access to Google Cloud Storage buckets and objects in the Google Cloud Platform.
Google Pub / Sub Adapter
The Google Cloud Pub/Sub adapter provides access to Google Cloud Pub/Sub topics and subscriptions in the Google Cloud Platform.
GZIP/ZLIB Adapter
Use the GZIP/ZLIB Adapter to retrieve data in file or memory formats and export data for GZIP, ZLIB and Plain file formats.
HTTP Adapter
The Hypertext Transfer Protocol (HTTP) Adapter provides support for Proxy servers and Secure Socket Layer (SSL) protocol, which is required to process HTTPS (secure) URLs.
IBM MQ Adapter
The IBM® MQ adapter works with IBM MQ to accomplish the task of maintaining data compatibility, handling all kinds of data transformations from the simplest to the most complex.
Java Class Adapter
Use the Java Class Adapter to instantiate a Java™ object and to invoke a sequence of methods on the object.
HL7 MLLP Adapter
The HL7 MLLP adapter uses the MLLP protocol over TCP/IP to pass data to and from HCL Link. The adapter has a listener interface that can detect the arrival of data on a socket and trigger a map to run. With the HL7 MLLP adapter, remote applications can pass data to HCL Link without using additional middleware software.
Microsoft SQL Server Adapter
This documentation discusses the Microsoft SQL Server Adapter. You can use the adapter with the Command Server, or with a map in a map rule.
JAXB Adapter
The JAXB adapter converts Java™ objects to XML and converts XML to Java objects. With the JAXB adapter, you can build Java objects that can be represented with XML, parse the objects, and use them in maps. The JAXB adapter supports all JAXB properties for marshalling and unmarshalling an XML document.
JDBC Adapter
Use the Java Database Connectivity (JDBC) adapter to query or update a database through the appropriate JDBC driver for the database.
JMS Adapter
Use the Java™ Message Service (JMS) Adapter as a client to any JMS-compliant messaging system provider.
JNDI Adapter
Use the Java™ Naming and Directory Interface (JNDI) Adapter to enable maps to look up, add, modify and delete entries in external directories, and retrieve the results that these operations return so that they can be reused in a map.
MongoDB Adapter
Use the MongoDB adapter to create, read, update, and delete single or multiple JavaScript Object Notation (JSON) documents in a MongoDB database.
OData Adapter
The OData (Open Data Protocol) adapter provides support for performing read and write operations on data sources that expose OData interface. OData adapter is an ISO/IEC approved, OASIS standard that defines a set of best practices for building and consuming RESTful APIs.
OpenPGP Adapter
Use the OpenPGP Adapter to exchange information with the GnuPG application.
PDF Adapter
The PDF Adapter works with Acrobat forms and templates to generate a PDF document or extract data from all or part of an input PDF document.
REST Adapter
REST adapter is a solution where Link can readily call any Web/REST API and provide easy mapping to and from the APIs.
Salesforce Adapter
Salesforce Adapter provides support to access Salesforce REST API resource. It is useful for abstracting a piece of information or an action.
ServiceNow Adapter
The ServiceNow adapter provides support for accessing ServiceNow REST API resources.
SFTP Adapter
With the Secure File Transfer Protocol (SFTP) adapter, you can send and fetch files securely to and from an SFTP server.
SNMP Adapter
The SNMP Adapter is used to create and send custom-defined traps to an SNMP manager.
SOAP Adapter
SOAP defines the XML-based message format that applications use to communicate and inter-operate with each other over the Web.
Socket Adapter
The Socket Adapter provides a means of passing data to and from HCL Link through standard TCP/IP sockets.
Archive (Tar) Adapter
This documentation introduces the Archive (Tar) adapter. You can use the adapter with a Command Server, Software Development Kit, or map in a map rule.
Archive (Zip) Adapter
Use the Archive (Zip) Adapter with a Command Server, Software Development Kit, or map in a map rule.
Execution commands
This documentation includes information about the various ways to use execution commands and their options when executing maps. Execution commands are used to specify how to execute a map.
Command Server overview
Use execution commands to override the map settings or card settings in a compiled map when a map is run using one of the following methods:
Using Command Server commands
When you run a map, you can:
List of execution commands
This documentation contains information about the execution commands and associated options, including the syntax of each command and its particular usage.
Examples
This documentation presents a variety of examples involving the execution of maps using various execution commands in a RUN() function and from the command line in UNIX™ and Windows™ environments.
INI commands for debugging maps
This documentation presents the dtx.ini (INI) file commands you can use for the debugging of adapter connections for maps run using non event-driven execution methods.
Functions and Expressions
Use HCL Link functions and expressions to create component rules and map rules.
Expressions and evaluations
The documentation provided here describes HCL Link functions and expressions. Functions and expressions are used to create component rules and map rules.
Using functions
A function is an expression that generates an output by performing a certain operation on one or more inputs.
Syntax of a function
The following is an example of a function:
Function argument syntax
Arguments typically have some restrictions on the expression used for that argument.
Character-set encoding functions
Functions that use the HCL Link EXIT architecture convert data to the native character set of the platform as part of the function call.
General functions
There are several general functions you can call from map rule to process input.
Bidirectional functions
Bidirectional languages such as Arabic and Hebrew are languages in which the text is presented to the user ordered from right to left, but numbers and Latin alphabetic strings within the text are presented left to right.
Bit manipulation and testing functions
You can use this function to manipulate and to test a bit in a binary number.
Cache functions
Use cache functions to specify a value for each of the cache variables defined for a flow, and additionally, to alter an already specified value for a cache variable.
Conversion functions
You can use this function to convert an expression from one datatype to another datatype.
Date/time functions
You can use this function to perform various operations on date and time.
Error handling functions
You can use this function in evaluating the type of error during map execution.
External interface functions
You can use this function to retrieve data from a database from within in a map rule.
Flow functions
Use Flow functions to specify a value for each of the flow variables defined for a flow, and additionally, to alter an already specified value for a flow variable.
Inspection functions
You can use this function to test and inspect the object.
Logical functions
Logical functions provide a way to use logical conditions to display one of several values.
Lookup and reference functions
These function search operates by scanning the appropriate set of items in sequence, attempting to match the logical condition.
Math and statistics functions
Precede all MATHLIB functions with mathlib->
Text functions
These functions are used to convert the text item in a map rule.
XML functions
There are several XML functions that you can call from component rules and map rules to process input XML data.
Custom functions
From the Type Designer or Map Designer, you can create custom functions to call external libraries.
Date and time format strings
You can use the listed format strings for numbers, dates and times in functions such as the CURRENTDATETIME, FROMNUMBER, TONUMBER, FROMDATETIME, and TODATETIME.
Number format strings
You can create custom number formats by using the given format strings.
RUN function return codes
The RUN function return codes and messages might result when using the RUN function.
Character set codes for CPACKAGE, CSERIESTOTEXT, and CTEXT
The second argument of the CPACKAGE, CSERIESTOTEXT, and CTEXT functions specifies the character set of the output of the function. The value of the second argument (the character set of the object content), must be a valid character set code.
Performance recommendations
This documentation contains general performance tips and recommendations to improve performance.
General performance overview
This documentation describes what takes place during product execution and presents performance tips and recommendations regardless of the platform on which a specific HCL Link product is running.
Glossary
Performance related terms and definitions.
Utility commands
You can use the utility commands to do various functions.
Troubleshooting
After executing a utility command, a value is returned into the ERRORLEVEL environment variable indicating the success or failure of the execution. The ERRORLEVEL variable is a Windows™ environment variable that contains the return code of the last DOS command you executed.
LNK APIs
The LNK programming interface includes language-specific methods and objects that provide common functionality across multiple environments.
Link programming interface overview
The Link programming interface is an object-oriented approach that enables applications to invoke HCL Link maps, thus removing reliance on command lines.
C API
The C API enables applications to invoke maps and to develop adapters to use with HCL Link.
Python API
Use the Python API to create, edit, and run maps and schemas from a Python program. For details, see the documentation installed in install_dir/python/api/hip/docs/html/index.html. Examples of the Python API are installed in install_dir/python/api/examples. Documentation for the Python API examples is available in install_dir/python/api/docs/html/examples.html.
Java API
The Java API interfaces enable you to create, edit, and run maps and schemas from a Java™ program.
Java Tools
The Java™ Tools provide objects and JNI utilities that you can use to get information about your map instances.