FinTP – Configuration Wizzard


This is my second post for RSoC. Last time i was telling you how vast this project is and how many things are involved to create a secured and reliable product which can be used by financial institutions.

Until now i have been working on the core part of it and i wrote cpp unit tests for some of the methods that the Transport library contains. This library have all the functions necessary to manage message queueing. As a side note, C++ is incredibly fast but sometimes it’s a bit difficult to read because all that boilerplate code.

As i was telling you in the end of my first post , I was going to work on a GUI for FinTP. A very important part of FinTP are the connectors which put messages in a local queue to be sent to a remote queue manager.
Here is an easy to understand schema i recieved from my mentor.

This application will be dinamically configured through an XML file. The main usage scenario will be something like this:

a. Application -> Load FinTPGui.config: contains user interface components description ( tab, labels, fields… )
b. User -> Choose configuration file type to be generated: read from FinTPGui.config ( tags)
c. User -> Fill in all generated fields
d. Application -> Validate fields (using xmlschema)
e. Application -> Save field values to FinTPGui.config
f. User->Confirm to generate FinTP.config file
g. Application -> Validate section constraints (eg. if last filter for Fetcher has type WMQ)
h. Application -> Save final config file to disk

The first problem I have encountered was how to parse an XML file ? Luckily the qt library already had a class for it called QXmlReader. With it I could parse an XML and generate separate fields in GUI for all xml section/tags.
I use qt 5.x and i have to say i’m impressed of the capabilities of Widgets .

Until next time i will develop some more features for this app, and in the future it will also be available on mobile devices. See you soon.

Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>