views:

159

answers:

2

We're looking at moving our multiple database applications to a single platform - possibly web based.

The Model that we've been thinking of is to have a number of nested applications something like this:

1) Have a "Side bar" which manages the basic navigation of the applications, searching, etc.

2) Making a selection in the sidebar loads the appropriate application in the main portion of the display. Links within each of these applications may call other applications as if changing web pages.

However looking around I can't see a straight forward way of implementing this in either IntraWeb (our first choice - hosted in a browser) or Delphi, short of having coding it all as a single application.

Any advice?

+1  A: 

Rather than looking at the environment and language you want to develop the nested application in, look at the functional units you need to make it work. Try to write mock-ups of that in Delphi and intraweb.
Functional parts that are normally common to all applications is menus, security and UI, add that to the core "Manager".
Split the Business logic from the UI.

Have a look at how CMS system like Joomla, Drupal and others are built. Especially in managing units of functionality. Overtime some of them have evolved into full program containers.

Create a small cgi app that can load a dll and add functionality to the first app.

Schalk Versteeg
+2  A: 

Does web-based imply a browser? Depending on the type of application, it may be better to write a conventional Delphi client-side application that simply uses the internet for communication. One example of the two approaches is email: Outlook vs Gmail. They both (obviously) use the internet, but one of them runs client-side, and the other in the "cloud". Of course it can be argued that both are technically running client-side.

Based on your description of your plan, one very easy means of achieving your goal with Native Delphi alone:

  • Each application is a separate EXE
  • There is a "parent" launcher EXE
  • The launcher lists the available applications
  • When an application is launched, it is parented by (say) a TPanel in the launcher EXE
cjrh
Web-based kind of implies a browser.The perceived application logic requires forwards, back, link and bookmark type behaviour.One possibility is rather than re-invent the browser specifically for the app, have something that the users are used to.However that involves skill sets we don't have in house at the moment - delphi we do.
Dan Kelly
I would rather say that the browser is a reinvention of the rich client-side experience that Delphi has provided since the early 90s. And there is something else to consider as well. It is trivially easy to embed a TWebBrowser control directly into a Delphi form, so you could capture any part of a browser experience within your app, as per your need.
cjrh