Powerful new feature provides extensive data manipulation options, including ISO8583 Support
uLinga for Kafka, widely recognised as the best solution for integrating NonStop applications with Kafka, and uLinga Gateway, the newest product in the uLinga suite, have recently been enhanced to add powerful data transformation capabilities. This article gives an introductory overview to these capabilities, and then takes a deep dive into one possible use case – transforming the venerable ISO8583 standard into JSON.
uLinga Gateway – Introduction
uLinga Gateway, recently added to the uLinga suite, provides a wide range of network protocol handling and message manipulation services that can be used in a number of applications and use cases. uLinga Gateway can handle any combination of TCP/IP, TLS, HTTP, Pathway, Guardian IPC and more, allowing you to connect almost any NonStop application with any endpoint via simple configuration.
Now, with Data Transformation, uLinga Gateway capabilities are extended to allow easily configured data transformation and message manipulation. uLinga’s Data Transformation can handle any combination of binary and JSON messages for any input or output messages, with additional message formats in development.
uLinga Gateway can apply Data Transformation to any message that it handles, be that from one endpoint to another, or even to a message that is sent by an application to uLinga Gateway to be transformed and returned back to the same application, for example:
In the above diagram we have a NonStop application sending a DDL-formatted binary message to uLinga Gateway, via a simple Guardian WRITEREAD. uLinga Gateway applies its preconfigured Data Transformation to transform the binary message to JSON, returning the JSON payload back as part of the WRITEREAD completion. The same functionality could be invoked via PATHSEND or over TCP/IP or HTTP.
Use Case – ISO8583 Data Transformation
The primary focus of this article is a very common use case in NonStop circles, involving messages using the ISO8583 standard. ISO8583 has been in very wide usage in the NonStop financial transaction processing space for decades, courtesy of its broad adoption between financial institutions, switches and card brands such as Visa and Mastercard. While ISO8583 is undoubtedly powerful and very capable in this space, it is not a simple protocol, and developing new applications to support this standard can be a challenge.
uLinga’s Data Transformation now supports ISO8583 messages, and can transform them into a format more easily supported by external entities, such as JSON, allowing REST endpoints to access traditional transaction processing mechanisms.
ISO8583 messages have a number of aspects that can take some time to learn and understand, including bitmaps and variable length fields. A standard ISO8583 message looks something like this:
![](https://connect-converge.com/wp-content/uploads/sites/4/2024/05/ulingaPicture3.png)
The Message Type Indicator (MTI) indicates what type of message this is, and bitmaps are used to indicated which fields are present in the message. The fields themselves can be fixed format, or variable with a two- or three-digit length (LLVAR and LLLVAR). The entire message can be in ASCII or in binary/binary-coded decimal. There is a good primer on ISO8583 message formats available in Wikipedia.
An example use case would be where a NonStop application processes incoming ISO8583 requests to allow access to the financial transaction processing services it provides (for instance, balance enquiries). Traditional clients would access this service using ISO8583 requests sent directly into the NonStop, as depicted below.
![](https://connect-converge.com/wp-content/uploads/sites/4/2024/05/ulinga4.png)
Providing this balance enquiry transaction as a REST service would make it much more easily accessible for a variety of new applications, such as web applications, mobile phone apps and so on.
uLinga Gateway can facilitate this capability, by accepting incoming JSON messages and converting them on the fly to ISO8583 to present to the financial transaction processing application. The NonStop application requires no changes in this scenario, and continues to process the ISO8583 requests as it always has done.
![](https://connect-converge.com/wp-content/uploads/sites/4/2024/05/uligaPicture5.png)
The JSON request does not need bitmaps, and variable length fields are handled simply through the JSON formatting – no need for LLVAR and LLLVAR fields. uLinga Gateway adds these elements as part of building its ISO8583 request.
A similar transformation takes place with the response, allowing the client to once again deal with simple JSON.
uLinga Gateway’s Data Transformation GUI (built into the WebCon UI) allows you to easily build your data transformation, mapping fields from input to output via drag and drop.
![](https://connect-converge.com/wp-content/uploads/sites/4/2024/05/ulingaPicture6.png)
uLinga Gateway Data Transformation can also transform other types of binary messages into JSON, and even convert between formats – binary to binary or JSON to JSON for instance. When combined with uLinga Gateway’s protocol transformation capabilities you have an extremely powerful tool to address virtually any application connectivity requirement.
Do you have a data transformation need in your environment? Chances are the uLinga Gateway’s new Data Transformation feature can help. Get in touch with us at productinfo@infrasoft.com.au to arrange a demo so you can see for yourself.