Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 9 of 9 total
Thread General Question about how to run DBs remote
Mon, Feb 19 2007 8:38 AMPermanent Link

adam
This is a general question, I'm hoping I might get a few replies with differing opinions I
can explore.

I have a client based on 2 sites. About 12 users on 1 about 3-4 on another, plus several
users wanting to work from home.

They already have a DBISAM v4 CS DB app, written in D6.

They want an extension to it that allows all the remote users to work "as if they were in
the office" (i.e. start & run the DB app with all its functionality, ideally fast enough
not to notice a difference compared with working in the office ... hopeful? (Wink

I don't have experience of stuff like VPNs, WANs etc.

However the app is already using the DBISAM CS Server in "IP" / remote mode, with an IP
Address.

--

Should I:

1. Put the whole DB on some remote server farm & connect everyone to that. No real change
to the base application except changing the IP address.

... reasons for: Hopefully easy & I can ask a private contractor to set up the DB on the
remote server, set up its IP address etc., etc.
... reasons against: everyone would have to access via WAM / VPN ... which might cause
network bottle-necks at the larger office.
... possibly not "best" solution in terms of efficiency of the app.

2. Ask someone who knows how to do it to set up the main office as a remote server with an
IP address accessible from the other sites.

... reasons for: All of the advantages of 1., plus the main office would run unchanged,
with the same excellent speed of DBISAM.
... reasons against: If set up like this would I be putting my client at risk of hacking??
Something which I am not knowledgeable enough to really advise them on.

3. Rewrite the application using some form of Middleware / Three tier architecture.

... reasons for: might be the only way to get "really good" performance.
... reasons against: lots of work (Frown ...

--

The app is pretty big: about 50 DB entities with quite a lot of relationships & fairly
complex SQL returning views etc.

On a LAN running DBISAM CS V4 no view (even though a few return 1000+ records) takes
longer than 2-3 seconds to return, & most are far faster. I am guessing that the customer
would be happy with performance of 50% this level for the remote offices ...

--

What do people think I should do??
What do you do yourselves??


Adam
Mon, Feb 19 2007 9:08 AMPermanent Link

"Jose Eduardo Helminsky"
Adam

> They want an extension to it that allows all the remote users to work "as
> if they were in
> the office" (i.e. start & run the DB app with all its functionality,
> ideally fast enough
> not to notice a difference compared with working in the office ...
> hopeful? (Wink

What you need is Terminal Server. This is a product from Microsoft that you
install into Windows 2003 Server. Your application will act exactly in the
same way as a workstation in your LAN. I have been using this solution since
last year and I have some customers with almost 50 remote users.

My suggestion to a best solution is two machines: one to store the data and
another to hold clients remote connections. You can use Windows 2000 but
2003 offers much more stability and performance than the first.

Only one machine is not a good solution.

Eduardo

Mon, Feb 19 2007 9:32 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

adam


You missed out Citrix / WTS

Roy Lambert
Mon, Feb 19 2007 10:31 AMPermanent Link

"David Farrell-Garcia"
Roy Lambert wrote:
> You missed out Citrix / WTS

We actually have a few clients using WTS and Citrix with a D1 BDE app
which is about the only thing that saved that app as their data got
bigger over the years.

There sure were some issues to overcome before it would work properly
(especially 16 bit BDE issues with WTS)  and printing was complex to
setup but it worked.  Not my first choice, however as there were some
security issues as well, but it was the only way to run that app, even
on a LAN as the database grew.

--
David Farrell-Garcia
Whidbey Island Software, LLC
Mon, Feb 19 2007 1:10 PMPermanent Link

adam
OK Citrix & Windows Terminal Server seem v. useful options for remoting where you have a
few staff ... I have checked the web sites & that looks clear enough. Citrix isn't too
pricey either (about $17 per month per seat) though it still costs.

However, no one has said whether they use DBISAM on a remote server, with direct access
via the IP Address ... I am curious about this, as it seems so clearly how the system is
intended to operate, are there reasons why people aren't using it like that?

Adam
Mon, Feb 19 2007 7:47 PMPermanent Link

"David Farrell-Garcia"
adam wrote:
> However, no one has said whether they use DBISAM on a remote server,
> with direct access via the IP Address ... I am curious about this, as
> it seems so clearly how the system is intended to operate, are there
> reasons why people aren't using it like that?

I am sure quite a few are using Dbisam on a remote server. Our
application supports that and a number of our clients are using it
successfully that way, however, bandwidth is everything.  A slow
Internet connection can make the application look real bad.  You also
must build your application with that in mind, like how you handle
lookups etc. Really most of the same issues exists on a LAN but any
deficiencies in your archtecture will be maginfied over a WAN.

But yes, the short answer is yes, Dbisam C/S works on a remote server.

--
David Farrell-Garcia
Whidbey Island Software, LLC
Mon, Feb 19 2007 8:38 PMPermanent Link

Jason Lee
We use it this way, but your application must be designed to minimize
"chattiness" to the server and have the server do as much work as
possible. IMO, you'll never get to the same experience as in-house, but
you might come close. It all comes down to bandwidth and latency of LAN
(>= 100 Mbps, same network) versus WAN (DSL/Cable/T1, <= ~10 Mbps, route
hopping several networks).

Regards,

Jason Lee

adam wrote:
> However, no one has said whether they use DBISAM on a remote server, with direct access
> via the IP Address ... I am curious about this, as it seems so clearly how the system is
> intended to operate, are there reasons why people aren't using it like that?
Tue, Feb 20 2007 5:37 AMPermanent Link

adam
>Jason Lee <computerguy@wavecable.com> wrote:

>We use it this way, but your application must be designed to minimize
>"chattiness" to the server and have the server do as much work as
>possible. IMO, you'll never get to the same experience as in-house, but
>you might come close. It all comes down to bandwidth and latency of LAN
>(>= 100 Mbps, same network) versus WAN (DSL/Cable/T1, <= ~10 Mbps, route
>hopping several networks).

Thanks for this Jason,

All my clients (at the moment) are UK based with DSL modems (mostly claiming 2 - 8 mbps
... sometimes running a bit slower than this in practice).

It sounds as though, if my app is reasonably designed I could at least test  it "as is",
running remotely & then try to tweak a version for the remote user (i.e. local lookup
tables etc.) this is a good 'path of least resistance' for me, so I will try it & maybe
post back findings, if other users might find them useful.

Thanks for the advise.

Mon, Mar 5 2007 8:06 AMPermanent Link

Setting things up to test the app "as is" could not be much easier given
that you are already using a server accessed via IP address.

1. You need to set up the router at the "main" office so that any incoming
traffic on ports 12005 or 12006 are routed to the server machine by using
the port forwarding facilities of the router.  Ensure you have
un-guessable passwords to log in to the server as you are now open to the
world of hackers.

2. Find out the IP address of the router as seen from outside.

3. Tell the remote clients to use this IP address.

That's it!

If the IP address of the router is not fixed, set up a free dynamic DNS
account with www.dyndns.org to "follow" the changing IP address.

I do this with one of my customers, but the app is really slow due to the
latency of the Internet.

--Bill Sparrow--


In article <23C0451E-FDD9-4328-BF6D-CDDA53767513@news.elevatesoft.com>,
adam@nospamplease.fmfoods.co.uk (adam) wrote:

> *Subject:* Re: General Question about how to run DBs remote
> *From:* adam <adam@nospamplease.fmfoods.co.uk>
> *Date:* Tue, 20 Feb 2007 05:37:17 -0500
>
> >Jason Lee <computerguy@wavecable.com> wrote:
>
> >We use it this way, but your application must be designed to minimize
> >"chattiness" to the server and have the server do as much work as
> >possible. IMO, you'll never get to the same experience as in-house,
> but >you might come close. It all comes down to bandwidth and latency
> of LAN >(>= 100 Mbps, same network) versus WAN (DSL/Cable/T1, <= ~10
> Mbps, route >hopping several networks).
>
> Thanks for this Jason,
>
> All my clients (at the moment) are UK based with DSL modems (mostly
> claiming 2 - 8 mbps
> .. sometimes running a bit slower than this in practice).
>
> It sounds as though, if my app is reasonably designed I could at least
> test  it "as is",
> running remotely & then try to tweak a version for the remote user
> (i.e. local lookup
> tables etc.) this is a good 'path of least resistance' for me, so I
> will try it & maybe
> post back findings, if other users might find them useful.
>
> Thanks for the advise.
>
>
>
Image