4
votes

I'm a hobby programmer trying to build a client/server application suite, using Delphi XE.

I write stand-alone applications occasionally, for my personal use. The problem is I don't know ANYTHING when it comes to networking / multi-tier. I am willing to learn though.

I looked for ways to do this and DataSnap and IntraWeb jump out as the most likely candidates for the job. But, before I start using one or the other, I would like to know a few info I wasn't able to find on the web:

  1. If I build an IW stand-alone app and deploy it on my site (as server) will I be able to connect to it/retrieve data with a client application? I need to do that within my Delphi written app, without using a browser and without using HTML (I know very little HTML and I'm not eager to learn). I know IntraWeb isn't meant for this, but will it work?

  2. If I go with DataSnap and build a server app, will I be able to deploy it to my website? Or do I have to make a computer on the network the server?

In case anyone wants to know, I want to connect 5 computers(from different cities), to exchange information between them, if at all possible using ADO, as I'm very familiar with it.

1
There aren't too many hosting providers that allow ISAPI dll's or other server/service type executables on a shared hosting account, which is what you are looking at when you go the DataSnap route. You would have to find an ISP that allows those, or you would have to go for a dedicated server. Cloud hosting might be an option. I don't have any experience with those myself, but they were looked into at work and it seems that it isn't exactly like running your own server in terms of what you are allowed to install/run.Marjan Venema
I am sure that Windows/IIS hosting where you can run your own services and where you can run CGI/ISAPI DLLs is possible it's just more money than the ones where you can't do that. Anyways, what it costs is not exactly programming related. If you want to do a web-service implementation that has an SQL DB backend that is running with a connection to your own SQL db, then colocation, cloud hosting, or dedicated servers are probably what you're looking at, and yes, DataSnap is the right tool for that kind of middleware. Recently they've added DataSnap connectors for mobile platforms too.Warren P

1 Answers

1
votes

Intraweb is a server based tool for building web sites, accessed via a browser. It is not "proper" multi-tier, and it sounds like it isn't what you need.

DataSnap is designed to do what you want I think. First, the ADO part would be on the server, and you would define an interface that the server offers to do tasks. Then your clients would call that interface over the internet to get data or do those tasks etc.

As for whether they will work on your web server, that depends on what your server is, and the access that is provided to it. A web server is just a PC, but typical hosting is fairly restricted to running "scripted" languages on that server, which reside in the hosting directory. A Delphi server would be a running executable (usually a Windows Service), listening on a port, and needs much more access to the computer than typical. You would need at least a virtual Windows server with administrator access to the desktop to allow it to work. In the first instance though, you could happily run the server on a DSL line or similar and make it work just fine. You can worry about hosting it on the net when you have customers paying for it.