Desktop applications can perform complex tasks but were only designed to be used via their Desktop OS user interface. I want to create an API to automate common tasks (file submission, processing, response retrieval and storage) with 5 specific applications (mostly designed in Delphi and MFC for Microsoft Windows 98 or greater) to allow their use via the Web.
The applications will be running on cloud or virtual server environment -- possibly Amazon AWS/EC2 or ProfitBricks.
A request queuing and process management system will need to be designed.
Preferred programming framework is Microsoft .NET -- either C# or VB.NET. If you feel it can be done faster or cheaper (but still stable) with another language, let me know and I'll consider it.
A similar, simple task, would be to:
1) User accesses a web page. A UUID is generated. User fills in a text box, and presses submit.
2) Upon submit, web server launches Word Pad. After launch is complete, the submitted text is "typed" into the main window.
3) The File menu is selected, then Save As. Once the Save As dialog is loaded, the filename is set to the generated UUID. The File Type dropdown is set to ODT (OpenDocument Text). The Save button is clicked.
4) Once the file save process is complete, WordPad is closed.
5) While this is occurring, the webpage display a status of what is occurring on the server - WordPad being launched, Typing, Opening Save dialog, File saving, WordPad exiting.
6) Once the Save process is complete, the webpage displays a link to download the .ODT file.
7) Within 24 hours, the old file(s) are purged.
NOTE: As this needs to be a scalable solution, multiple requests need to either be processed simultaneously, or in a managed queue.
I am envisioning that interaction would be via interaction/automation framework (either standardized or homebrew) based on Win32 API calls. Will require mapping of Delphi and Microsoft interface controls -- dropdowns, buttons, radios, checkboxes, tabbed windows, group boxes, etc. If you feel you have a better method to accomplish this type of interaction, feel free to let me know.
It is expected that 5 applications with relatively simple file submission, processing, and result reporting tasks can be automated in less than 30 hours.
Are you interested? Do you have experience?