Adeptia supports UDP (User Datagram Protocol) and has the ability to capture and send binary message streams via UDP.
For example, let's take NATO STANAG Standard.
The sample input binary data is NATO STANAG 4607 JAS 3 GMTI (Ground Moving Target Indicator) data.
Additional documentation can be found here:
http://www.nato.int/cps/en/natohq/topics_69269.htm
In this example data, we start off with Packet header (section 2.1 of the standard)
Field Name Bytes Form Value Translation
Version ID 2 A 31 Version 3.1
Packet Size 4 I32 0x00000020 32 bytes
Nationality 2 A US United States
Security Classification 1 E8 5 Unclassified
Class System 2 A US U.S. security classification
Security Code 2 FL 0 no special handling
Exercise indicator 1 E8 0x82 130
Platform ID 10 A Sample “Sample”
Mission ID 4 I32 0x00000000 0
Job ID 4 I32 0x00000000 0
The next thing that follows is a Segment Header (section 2.2)
Field Name Bytes Form Value Translation
Segment Type 1 E8 6 Free Text Segment
Segment Size 4 I32 0x000000a0 160
Next is the Text Segment (section 2.8) itself
Field Name Bytes Form Value Translation
Originator ID 10 A Tester “Tester”
Recipient ID 10 A User “User”
Free Text (160–5-20) A (text)
Note that we must read the data to the end. There may be zero or more Segments in the packet.
Here are the steps on how to build the orchestration that receives an incoming UDP message and parses it into another format (such as XML etc).
A. Design a process flow that takes a stream from a source, sends the contents to a custom plugin and converts it into a SOAP Request XML format. Please use the attached deployable UDP_Process_Flow.zip and deploy it in your local Integration Suite. Use the deploy option in the Migration Utility.
B. Install the UDP Utility in any Linux machine where Adeptia Integration Suite is running. Unzip the attached zip file and give executable permission to the shell
script files. Now go to the "etc" folder of the extract file and you will see "config.properties" file.
C. In this file put the value for ProcessFlowID of the process flow that is deployed in Step A above. This value is available in the Adeptia application (from the browser, login with admin/indigo1, and go to Develop > Process Flows. Right click on the process flow we created earlier and go to view and copy this value. It's a 30 digit number.)
D. Under the extracted folder that was created in Step B run the command to start the listener to receive UDP messages
>> ./udp-server.sh
E. Place the attached structure.txt and BinHexReader.jar in the ServerKernel > customClasses folder. This class and the structure file is used to parse the binary into a specific format, such as STANAG GMTI. Restart the Integration Suite.
E. You are all set. The data received from UDP is automatically streamed into the process flow which parses the file and converts it into an XML output.
Make sure to edit the source file trigger, filename and target location defined in the deployable process flow so that it matches your local environment.
If you need help on how to use the plugins or the process flow to handle UDP data, please contact sales@adeptia.com or support@adeptia.com
Comments
0 comments
Article is closed for comments.