The Latest on LightWave Server and LightWave Client

Posted by Dave Belliveau on Thu, Jul 30, 2020

The LightWave solution suite, LightWave ServerTM and LightWave ClientTM, have been helping NonStop users quickly and easily integrate their NonStop applications with REST environments for a number of years now.  

LightWave ServerTM easily makes your NonStop applications available as REST services, with no change to those  applications.  Customers are using it to integrate with API Gateways, to simplify access to their valuable NonStop applications, and to move towards microservices-based architectures, among other things.

LightWave ClientTM can be used to bring the wide array of available REST services into your NonStop environment.  Customers use LightWave ClientTM to access corporate API Gateways, and to work with a variety of external REST webservices to extend their NonStop applications’ capabilities.

At NuWave we are always refining and enhancing our products.  We’ve been hard at work producing some exciting new features and we thought it might be a good idea to summarize them for you.

New features that apply to both products are as follows:

Custom Measure Counters

User-defined custom measure counters allow users to gather Measure data that can be specific to their application and LightWave implementation.  These can be analysed to determine LightWave product performance in your own environment.  Measure counters can gather data such as:

LightWave ServerTM

  • Time spent processing SSL/TLS handshake for a connection
  • Amount of time spent deserializing the request payload (JSON) into the server IPM request
  • Total number of requests processed
  • Total number of bytes sent/received over the network
  • Amount of time spent signing an API request, where required
  • Amount of time spent serializing the API request (converting from IPM to JSON format)
  • Total amount of time processing the request and the response
  • Request / response inter-process messages (IPM).
  • HTTP protocol information
  • HTTP request / response payloads
  • User data
  • Request metadata
  • To store message traffic for compliance purposes
  • To implement custom message logging

LightWave ClientTM

And many others.  The complete list of counters is summarized in the LightWave product documentation available here:

LightWave ServerTM - https://docs.nuwavetech.com/display/LWSERVER/Using+MEASURE+Counters

LightWave ClientTM - https://docs.nuwavetech.com/display/LWCLIENT/Using+MEASURE+Counters

Sensitive Data Masking

This feature allows message fields to be designated as holding sensitive data.  Where a field is marked as sensitive it will be masked in the diagnostic and HTTP logs, and in internal memory.

Example LightWave ServerTM schema:

would show in diagnostic log as follows:

More detail on sensitive data masking in LightWave ServerTM is available here: https://docs.nuwavetech.com/display/LWSERVER/Sensitive+Data+Masking

And for LightWave ClientTM here: https://docs.nuwavetech.com/display/LWCLIENT/Sensitive+Data+Masking

International Character Support

Both LightWave products default to ISO-8859-1 character encoding when copying “string” fields between JSON or XML message elements and IPM fields.  Both products have been enhanced to allow another type of encoding to be specified, at the level of the element, the API, or the entire process.  The enhancement uses the IBM International Components for Unicode (ICU) which supports more than 1100 character sets.  This allows string fields to be encoded in virtually any type of international character set.

For example, a request or response containing the following schema structure:

Would be serialized/deserialized using the SHIFT_JIS encoding, producing the following JSON and IPM data:

Full details on international character support are available for LightWave ServerTM here:

https://docs.nuwavetech.com/display/LWSERVER/Character+String+Encoding

and for LightWave ClientTM here:

https://docs.nuwavetech.com/display/LWCLIENT/Character+String+Encoding

Message Logging (Beta Available Now, GA in September)

With this enhancement, LightWave ServerTM and LightWave ClientTM can be configured to collect and forward Web service data and statistics to a customer-provided collector process.  Information forwarded can include:

The collector process can use this information for any purpose, including:

Full details on Message Logging are available for LightWave ServerTM here:

https://docs.nuwavetech.com/display/LWSERVER110/Message+Logging

and for LightWave ClientTM here:

https://docs.nuwavetech.com/display/LWCLIENT120/Message+Logging

To assist customers in developing their own collector, a sample project is available on GitHub here:

https://github.com/nuwavetech/lw-message-logging

LightWave ServerTM BLOB support

With this enhancement, LightWave ServerTM now supports upload/download of any type of content to/from the NonStop server.  This feature was added at the request of a customer who required the ability to upload PDF files, but the feature allows any type of content received by LightWave ServerTM to be sent to a backend application or written to an Enscribe file.  LightWave ServerTM can also retrieve content of any type from a backend application, or from Enscribe file, and return it to the REST client.  (Note that a similar capability exists in LightWave ClientTM.)

Complete details for LightWave Server here: https://docs.nuwavetech.com/display/LWSERVER110/Using+BLOBs

and for LightWave ClientTM here:

https://docs.nuwavetech.com/display/LWCLIENT/Using+BLOBs

LightWave ClientTM XML Payload Support

Most REST services are implemented using JSON payloads, but some only support XML payloads.  One of NuWave’s customers works with a REST service provider that falls into this category, so LightWave ClientTM was enhanced to optionally support XML payloads.  XML is configured simply through the LightWave ClientTM Console when setting up the API.

More detail is available in the LightWave ClientTM documentation available here:

https://docs.nuwavetech.com/display/LWCLIENT/Working+with+Schema

More Information

We’re in the process of making short YouTube videos of some of these enhancements.  To see them in action, please check out our YouTube channel at https://www.youtube.com/user/NuWaveTech.

For more details on any of these enhancements, or on LightWave ServerTM and LightWave ClientTM, please get in touch with us at info@nuwavetech.com.  Thanks for reading!

Topics: Modernization, Middleware