refactor an existing monolithic API to a client / server architecture


We have a C++ API with 3 classes, which only use POD types and std::strings to pass arguments: when complex objects have to be passed, we serialize them with JSON (each JSON message has an associated JSON schema).

Most of the methods are synchronous, with 3 exceptions (for these three, there is a facility to define callbacks). Additionally, two synchronous methods take as parameter a file name and output some data (the first one a binary file, and the second one a text file).

The API is configured to be statically linked with a C++ driver to obtain a local, monolithic application.

Now we need to refactor the API and the driver into a client-server application, using JSON over WebSockets as the RPC mechanism (to get a background, read this [url removed, login to view]). All calls will then be asynchronous by default over the communication channel, but the client-side API only the three that already are asynchronous will need to be exposed as such; for all the others, hide the callback in the client-side stub implementation.

Both the server and the client should be console applications written with Qt 5.2 + QJsonRpc & QWebSockets.

Our preferred development environment is 32-bit Debian 8 (Jessie); you can use other platforms if you wish.

Attached you will find the header files, the C++ test driver and the JSON schemas. On project award, we will supply the implementation in source code form so that you can throughly test.

Let me know if there are questions (I **do** expect questions).

Skills: C++ Programming

See more: client server APPLICATION, wp client, synchronous programming, rpc over http, programming test questions, programming data types, json calls, find binary, find a project to do in programming, c programming find output, cplusplus strings, client side code, channel 5 programming, bit binary, binary to text, binary test questions, binary code test, binary bit, asynchronous programming, architecture define, refactor code, qt api, json programming, wp-types, wp-client

Project ID: #5047783

5 freelancers are bidding on average $689 for this job


Dear sir! I'm very skilled C/C++ programmer. Familiar with JSON, QT, and developed applications using JSON format for communication with servers on iOS and PC. I can do it perfectly.

$721 USD in 3 days
(11 Reviews)

Hi, i went through your spec and the QRPC blog to understand your requirement. one question i have in mind is how to implement those 2 functions that need to input files(names) as parameters. does QJsonRPC provide any More

$1000 USD in 14 days
(1 Review)

Hello! I have strong experience with C++ and worked with Qt in my past projects. The whole task looks pretty clear, however I have some development-related questions: * Will Linux be the only target platform or the More

$611 USD in 12 days
(1 Review)

Hi, I have experience of development in qt of 3 years. I looked into your requirement and attached headers and sample code. Here I would like to describe what I have got from your specification. All we need to More

$777 USD in 10 days
(0 Reviews)

Dear Client, Upon learning of your requirement for an application developer, I am submitting my résumé for your consideration. Thank you for considering my qualifications. As you can see from my profile, I posses More

$500 USD in 14 days
(0 Reviews)

Hi, We are Bangalore based company specializing in software consulting services for consumer electronics, automotive, mobile, medical and embedded & Web based systems. Claysol has extensive experience in the Dig More

$555 USD in 3 days
(0 Reviews)