Universal Agent for SOA 7.4.x Licensing

Authorizing Execution Based on Web Service Protocol

Prior to Universal Agent 6.9.0.0, the following parameters were used to enforce SOA connector licenses (with uacs.conf keyword):

  • HTTP connections (license_http_end_points)

  • JMS connections (license_jms_end_points)

  • Inbound JMS connections (license_jms_inbound_end_points)

  • SOAP connections (license_soap_end_points)

  • Inbound SOAP connections (license_soap_inbound_end_points)

  • XD SOAP connections (license_xd_soap_end_points)

  • MQ connections (license_mq_end_points)

  • Inbound MQ connections (license_mq_inbound_end_points)

If any of these parameters had a value greater than 0 (zero), the protocol was authorized for use, up to that number of connections (based on unique endpoints).

The 6.9.0.0 release removes the requirement to enforce licenses based on end point counts.

License enforcement is based solely on the following supported protocols:

  • HTTP

  • JMS

  • SOAP

  • XD SOAP

  • IBM WebSphere MQ

A value of TRUE authorizes the protocol for use. A value of FALSE prohibits use of the protocol. If the protocol is licensed, the SOA connector is authorized to create an unlimited number of inbound or outbound connections using that protocol.

The JMS, SOAP, and MQ protocols control inbound (file listener) and outbound (Web service execution) connections.

The SOA connector uses the HTTP and XD SOAP for Web service execution (outbound connections) only.

Mapping of Locally-Configured License Information

Starting with Universal Agent 6.9.0.0, the Universal Broker will map any locally-configured license information to the values that match information that it would expect to receive from a Universal Controller license (see Licensing). This allows for a common downstream implementation, where Agent components do not care if a license was obtained remotely or locally.

For the SOA Connector, the license_*_end_points values (see above) are mapped to the protocols specified by Controller-obtained licenses. Any end point count greater than 0 (zero) is mapped to TRUE. Any missing end point count (or any end point counts of 0 (zero)) will be mapped to FALSE. 

For protocols that have inbound and outbound configuration file options, a value greater than 0 for either of them is sufficient to enable the protocol for both types of requests after mapping. For example, if license_jms_end_points is 0 but license_jms_inbound_end_points is greater than 0, the JMS protocol is authorized for inbound or outbound requests after the mapping. The converse is also true.

Handling Expired Licenses

Universal Controller-Obtained Licenses

UCMD Server will prevent the Web service request if a Universal Controller-obtained license is expired. The UCMD Manager that initiates the request causes a UCMD Server to be spawned on the target system (i.e., the one where SOA resides). This UCMD Server executes the uai script (.bat or .sh) that executes what is essentially the UAC client.

Starting with 6.9.0.0, UCMD Servers will also adhere to a Controller license’s expiration date. So, if the Controller license is expired, UCMD Server will stop after issuing the following error:

UNV0506E Error receiving READY message: ReceiveReadyMsg, 29, the Universal Controller license used by UCMD Server has expired

This message is visible in the UCMD Manager’s output (stderr).

Locally-Obtained Licenses

It is possible for the expiration date specified in a local configuration file to elapse while UAC Server is running. For compatibility with pre-6.9.0.0 implementations, UCMD Server is not under any license enforcement schemes when local licenses are used. With nothing to stop a request beforehand, UAC must know when a local license is expired.

The 6.9.0.0 Universal Agent for SOA will issue the following message if a request is made against a license whose expiration date has elapsed:

UNV: 5025 - com.stonebranch.uac.license.LicenseException: License is expired. Contact Stonebranch, Inc. for license renewal.

This message is visible in the UCMD Manager’s output (stderr).

Note

A UAC Server is allowed to continue running even if the license is expired. Stopping the UAC Server process would kill any work initiated prior to the license expiring. The intent only is to prevent new work from executing, so expiration dates are only enforced when new requests are issued.