Subject Re: Remote db handling using broadband
Author Adam
--- In firebird-support@yahoogroups.com, "Sudheer Palaparambil"
<sudheer.clt@...> wrote:
>
> Hi,
>
> One of my client is having a Server machine at their Head Office
> with 4 client machine attached to it. Now from another branch office
> he wants to connect 3 client machine to the Server at the Head Office
> using a broadband line.
>
> How this can be accompblished?

Describe the application.

Most client-server applications require constant query, response,
query, response with the database server. These applications do not
scale well. A reasonably fast ADSL connection (1.5Mbps) is nearly 10
times SLOWER than a poor 10 speed network. How does your application
work on a 10 speed network? It will work even slower across the net.

If your application is some automated background task with no user
waiting for a response, it will probably work fine (just takes longer).

To deliver an application over the internet, it needs to be designed
with a mindset to that delivery model. It needs to expect high latency
connections, high connection dropout rates, long periods of no access
to the database server, limited bandwidth and competition for
bandwidth. Part of our application that requires a degree of
redundancy if the comms is down has been written as an n-tier
application. The rest of our application where lack of comms is
acceptable is a standard client-server model delivered over terminal
services.

Port 3050 on the firewall at your headoffice can be forwarded to the
database server, then your remote clients can just use the hostname or
IP address of the headoffice in the connection string. Of course this
is bad practice to expose the firebird service to the internet.

> What type hardwares are required at
> the branch office (like switches/NIC etc)? Do I have to use a
> tunneling software?

You don't have to to get it working, but it has two advantages.
Firstly it goes a long way to mitigating the security issues about
exposing the database server to the internet. Secondly, tunnelling
software such as Zebedee performs on-the-fly compression which helps
to improve performance (but don't expect miracles).

> And what about the connection string ?

The hostname becomes the dns record or IP of the firewall instead of
the computername which is only visible inside the LAN.

Alternatively you can create a VPN and connect your remote computers
over this.

>
> OS - XP and 2000 (Server)
> Firebird - 1.5.3

I would consider using Terminal Services to deliver the applications
to the remote sites. It requires no change to your code and performs
acceptably even on a dialup connection. Of course it requires a
working connection (but so does a client-server model). It also opens
up the door for cross platform as official rdp clients are available
for windows and mac and unofficial clients are available for linux.
There are some licensing costs for this model.

Adam