Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Delphi Application over the web

Possible Duplicate:
What Web Application Framework for Delphi is recommended?

We have a Delphi 2007 desktop application which we have hosted using Citrix. Now we want to get rid of Citrix and somehow web-enable it.

I have done bit of research and found that it is possible by using the uniGUI.

http://www.unigui.com

Conclusion: Can be done, but would require a re-write and only a subset of components are supported. Serious questions remain are the monolithic application structure in a web environment.

There are two more options morfik and atozed and they also require a re-write.

I want to know if there is any other option which requires a very less re-write work and how fragile is it?

like image 222
A J Qarshi Avatar asked Oct 24 '11 08:10

A J Qarshi


2 Answers

How fragile it is, is based on the quality of your code. If you have a good structured application, with business logic and data access fully separated from the GUI, it will be pretty safe, although you still have to rewrite mostly all your GUI. If there's logic in your forms, and the code that talks to the GUI components is intwined with the code that checks your input and stores the data, then you have a big problem.

In that case, this is a great opportunity to refactor large portions of your app and do it better this time. ;)

like image 69
GolezTrol Avatar answered Nov 08 '22 00:11

GolezTrol


Since there is no "silver bullet" here, it doesn't matter much which product you use. You have the same challenges with any of them. I would recommend spending a few days on a Proof-of-Concept (PoC) re-write of 2-3 typical screens. Implement the POC for each "finalist" product, and see how it works out. Keep track of how long it took for each one, things that were easier/harder, and how the end result appears to the end-user (performance, good/funny-looking, robustness, "feel").

As for the actual re-write, I would recommend the following:

  1. Re-factor existing application to remove business logic from the UI.
  2. Full Regression testing, and push that into production.
  3. NOW proceed with conversion to one of the web tools.

Oops - I left out a step. Step 0: FREEZE all features/fixes. If fixes are needed to current production, they'll need to be done in a separate branch, and then rolled-up into this project later.

Note that this type of work lends itself nicely to outsourcing, as the work is straightforward and the requirements are simple. Especially if it can be delivered one form at a time, so progress, timelines, and $$$ can be measured in small chunks.

Another preliminary step is to develop a "cook book" for stripping the business logic from the existing GUI layer. It should identify naming conventions, common libraries (for code that should have been shared all along but wasn't), and should describe the conversion methodology.

like image 26
Chris Thornton Avatar answered Nov 08 '22 01:11

Chris Thornton