The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Architecture/technology for moving to a web app

We have a key application that is written in Borland C++ for a Win32 platform. It works well on the desktop, has many users & contains a huge amount of IP & general business knowledge. Classic 'big ball of mud' architecture.

We are finding more clients (or their IT depts) want it to be accessible to users via the web. We do this currently via Citrix/Windows Terminal Services which works but is clunky & doesn't really integrate well into client intranets/websites.

I am looking at ways we can use the Win32 app as a source of data & make it available via a browser. I assume this is a fairly common requirement? (http://en.wikipedia.org/wiki/Web_applications#Business_use)
Best example I have at the moment would be something like Outlook Web Access, attempting to implement a Windows application (Outlook) as a website.

There seems to be a big collection of technologies out there, many of them still very immature & most orientated toward churning out some new website rather than reusing existing code. In our case, sitting down & rewriting in say C# for .NET 3.0 to make a WPF app is not a option right now; it would take years, even if half the MS stuff was not still in beta.

Any ideas on what solutions I should be looking at? Partial/limited functionality would be OK trade off for short term gain.
Grant Black Send private email
Wednesday, August 15, 2007
 
 
I should add:

Currently we do things like export subsets of data via XML into SQLServer & then have some small flex/flash dashboards look at that data, but this loses most of the interactivity & smarts of the desktop app.

My plan for a minimum work solution is to extend the COM/COM+ interface around the legacy Win32 app, so that much more of the functionality can driven remotely. Then extend our HTML/XML export functionality to dump entire views of the data as a .ASP/.ASPX page. Plan is then that we allow a shallow/simple(?) ASP page to get view of data 'x/y/z' and show a dataview. The ASP page generated could also show the buttons & dropdowns on the Win32 form & make them functional so that clicking a 'pivot' button in the program generated .ASP page could drive the Win32 app via the COM interface to return a new pivoted view of the data. 

In the future we could extend this to export the view to some technology like flex or silverlight which would be more desktop like.

Looks feasible to me as I write it, but still working through any roadblocks and looking at all the different options before I try some prototypes.
Grant Black Send private email
Wednesday, August 15, 2007
 
 
How about www.morfik.com?
Mitch
Wednesday, August 15, 2007
 
 
Have you looked at the IntraWeb components that are included with C++ Builder?  I have recently been experimenting with IntraWeb as I in the same position as you with a C++ Builder desktop application that my clients want to access from the web.  Although I have not put anything into production yet, there seems to be a lot of opportunity for code reuse.
DaveW
Wednesday, August 15, 2007
 
 
Thanks. Don't think Morfik is an option as it looks like just another rich web app building tool - and starting from scratch is not an attractive option.

Intraweb comes with BDS2006 ( and has been with Borland tools for years) but I have not really looked further.

Looks interesting, so will investigate further but still not exactly mainstream.

Still surprises me that there is not still more solutions out there; I seem some opportunities out there for some smart developers.
Grant Black Send private email
Thursday, August 16, 2007
 
 
>Still surprises me that there is not still more solutions >out there; I seem some opportunities out there for some >smart developers.

There are no solutions out there because it there is no readily generic solution. Every app of this type is need to basically be done in a custom way.
... Send private email
Tuesday, August 21, 2007
 
 
I know that a generic solution is probably impossible, but what about some decent tools?

For instance the IntraWeb tools are good - from within Delphi I can drop some buttons, edit boxes etc on to a form and churn out a webapplication. Yet, even though I have lots of little apps with simple forms consisting of bunches of basic controls, I have to manually recreate each from scratch rather than import the existing forms and control code.

I think I might have to have a go myself - just something that as proof of concept walks the DFM files in my apps and sticks out a HTML form for each that has any TButtons or similar in the webapp.
Grant Black Send private email
Monday, August 27, 2007
 
 
It depends on just how much of a pile of mud, the application is. If you have a separate model layer, you could start by exposing this through web services (Probably either REST+XML or SOAP based). Then you can write a web application in a dynamic, web centric language, such as PHP.
Troels Knak-Nielsen Send private email
Tuesday, September 11, 2007
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz