Subject | RE: RES: [firebird-support] How to Network |
---|---|
Author | Lee Jenkins |
Post date | 2004-11-06T16:25:59Z |
>IMO, two good options for this are going to be:
> > If multiple store owner wish to buy my application, how would I
> > integerate.
> >
> > For example:
> >
> > If a store owner buys 4 piece of my software and runs in all his
> > four stores, later he might ask me, how to network all his four
> > stores database. He is happy with the individual store databases
> but
> > if he wants to view the four store database as a unified one
> single
> > database, then how could I provide this solution.
> >
> > Any ideas is highly appreciated.
> >
A) Use a middleware layer to a central database over the internet that
provides encryption and compression or use a tunneling protocol such as
zebedee (http://www.winton.org.uk/zebedee/). The problem with this option
is that you have to account for internet drop off's and outages. In which
case, you would have to implement functionality to fall back to a local
database and reconcile the data in your local database to your central HQ
database when the internet connection is available again. IMO, very doable,
but quite a bit of work.
B) Create a separate application that "pushes" aggregated (or detail level
data if you so choose) to a central server at regular intervals. This is
what we did for our restaurant POS application. Its not "real time", but
real time enough for the customers he have beta testing/using it right now
since the interval can be set every minute to once a day. You don't have to
worry about internet connectivity going down, because the applicaton at the
remote store can just "keep trying" to push data up to the server and the
amount of data that is pushed up to the server is "cumulative" or in other
words, whatever data that has not been pushed up at the time the push
starts, gets pushed up and marked as having been pushed. With our solution,
we ended up having 3 separate applications to handle the "enterprise" stuff.
1. Local store software that pushes data up to the central server.
2. A central server software that can either accept TCP connections from
local stores or poll an FTP site for "push packets" uploaded from stores.
3. A web based presentation layer for users (Delphi/Intraweb) thats used to
control just about everything as well as provide reporting,
product/inventory management, payroll, Store, District and Regional Level
Alerts, etc, etc.
Keep in mind that I am no expert. Heck I didn't even sleep in a Holiday Inn
Express....
Hope it helps though
Lee