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:
- 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
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:
and for LightWave ClientTM here:
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:
- Request / response inter-process messages (IPM).
- HTTP protocol information
- HTTP request / response payloads
- User data
- Request metadata
The collector process can use this information for any purpose, including:
- To store message traffic for compliance purposes
- To implement custom message logging
Full details on Message Logging are available for LightWave ServerTM here:
and for LightWave ClientTM here:
To assist customers in developing their own collector, a sample project is available on GitHub here:
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:
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 firstname.lastname@example.org. Thanks for reading!