No announcement yet.

A hybrid (windows) to web application approach ?

  • Filter
  • Time
  • Show
Clear All
new posts

  • A hybrid (windows) to web application approach ?

    Hey Everybody,

    Has anyone attempted the following.

    I was thinking of a hybrid application (windows application) that uses a webserver to communicate through a CGI executable to access a database and do other server related stuff.

    Using SocketTools (e.g.) one could call the webserver's CGI exe with parameters e.g. http://mywebserverlocation/CGIAPP.EX...ID&PW=PASSWORD.... (Ok, one should use SSL so the password is not send over in plain-text....)and then do what the application should do. What's the benefit ? Well there is no need to set up a port to be open in your firewall since port 80 is available. The only thing is that you would have to keep track of state, by which I mean that one should log whether the windows application is authorized through it's user ID. One could do this using the
    MAC address of the network card but with each request you would need to send it over so maybe a better approach would be that the CGI returns an identifier to the calling application indicating that this user has logged on. Then for each request the CGI should receive this identifier along with whatever you want the CGI do do. The identifier is stored in a field of
    a database table.

    This is actually some sort of approach to client/server without the need for multi-threading. Now, there is another problem and this problem is logging into a database for each request that'been made. There is something like Connection Pooling but other than with Java I haven't played around with the on a Windows machine.

    So, has anybody attempted something like this before. I think this is a pretty neat approach to allow users the benefit from the internet. (e.g. the application could be downloaded from a link on a webpage, unzip the application to a directory and start using it. No installation
    necessary plus in the end, when the need falls through to have a web-presence for that application one could still use the same CGI (albeit with different parameters).

    Any thought are welcome ?

    So here we are, this is the end.
    But all that dies, is born again.
    - From The Ashes (In This Moment)

  • #2

    I'm not sure if this is what you're after, but a database like SQLite, or Tsunami (with Don's TTDS code) allows you to centralize your database on any TCP/IP available device, including a PC on the Internet. Your Win32 applications can then connect to it just like any other database location.

    Leveraging this, I have a couple of applications that work this way that also have Web applications. Both sets of programs access the same database.

    For example, one of my customer's runs a shuttle service (people going to and from the main airport 100 miles away). The general public can go to their web site and create a reservation for one of the shuttles. The 'Office' staff uses a Win32 application (with much more power and features) to manage the reservations and other tasks. Both the Win32 and Web applications access the exact same database which is located on their server which hosts the Web site. This way, no matter who is accessing/updating the data, all of the various programs are current.

    Short of this idea, I'd need a better idea of what you're thinking of doing. There aren't a lot of similarities between a Win32 app and a CGI app. Both have strengths and weaknesses, and both have to be developed for specific purposes which places constrains on one over the other.
    Software makes Hardware Happen


    • #3
      Hi Joe,

      The idea is to allow a user to download an application from the website. Install it, connect to a certain URL on the internet and retrieve and update information.

      Consider an employee working from home who needs to access information located in a database app located on a server at his company. Instead of using a vPN, one could use HTTP and a CGI application to 'feed' the windows application (showing data, allowing to update etc).

      instead of using a TCP multi-threaded server one can use a CGI app to access a database on a remote site.

      Furthermore, the Windows application could use the QHTM control to show HTML pages so in the end you would have the best of both worlds. The Windows controls that can be used to deal with data entry, a QHTM control to show HTML pages, a CGI app linked to the Windows application to handle the 'in-between'-communication with the Windows application an the database over a generic HTTP GET/POST


      So here we are, this is the end.
      But all that dies, is born again.
      - From The Ashes (In This Moment)