Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / Databases / November 2005

Tip: Looking for answers? Try searching our database.

Opinions: client, embedded offline database and synchrony with backend

Thread view: 
David Shorthouse - 09 Nov 2005 07:37 GMT
Hello folks,

   First, excuse my ignorance. I am writing to inquire if the idea I have
in mind is possible, then I will jump into the solution or find/hire someone
to do it for me.

Here's the goal:

I want to design a platform-independent client front-end that has its own
database (embedded or otherwise) with the capability to synchronize records
with a client-owned table in a backend. In other words, each client has a
table in the backend and their front-end app should permit synchronization
with their backend table with the click of a button. I only want one
solution for all clients, i.e. depending on initial set-up of
username/password in the client's front-end, this will dictate the table in
the backend for which they can append or update records. I don't want to
have to design a slew of solutions for all clients but a one-size-fits-all.
The front-end should also have the ability to locally import and export text
files into their local database. The front-end must also have the equivalent
of Access' pass-through queries whereby clients can run pre-configured
queries to the backend. Of course, the client must not be able to view or
manipulate any of the connection strings to the backend so the solution must
be compiled. Finally, if and when I make changes to the client front-end, I
would like to be able to have clients download and install a new front-end
without doing anything to the contents of their local database.

I merely want to know if the above is possible, but if anyone can offer a
place to start with such a solution, I would be greatly appreciative. I have
an Access *.mde solution that does exactly the above and works great, but I
am desperate to get a platform-independent solution and making updates to
the front-end is a pain in the neck because it means I have to force the
client to jump through hoops.

Dave

Signature

______________________________
Remove "_SPAM" to reply directly.

Alex Molochnikov - 10 Nov 2005 02:18 GMT
It appears to me that in your quest to make the 2-tier fat-client work to
your satisfaction, you are missing the advantages of the 3-tier
client-server architecture.

Here is what you could have with the backend server handling the database
access and business logic:

1. The client could be synchronized (assuming that this means loading some
or all of the table's rows into the client's volatile memory) automatically,
by a callback from the server. This callback would come if and when and the
table's content changes, forcing the affected clients to re-synchronize,
without bothering the user. This, of course, is beneficial only in the
multi-user environment, with multiple clients accessing the same database
concurrently. If all your client needs is its own private database, then why
worry about synchronization in the first place?

2. The database connection, login and password, as well as formatting and
submitting the queries to the database, can be handled by the server, with
the client sending the initial request (not necessarily in the form of an
SQL statement) to, and getting the results back from the server. In this
case, the sensitive login info is never exposed to the client.

3. Updating the client's front-end could be handled by the server, again in
a fully automated way. The client would check with the server at the launch
time, if the client's executable files (JARs in the case of Java) are
obsolete, and if yes, then download the updated JARs from the server and
restart.

These concepts, along with other things, have been implemented in our
product, STEP FORWARD. If you are interested, have a look at
www.gestalt.com.

Alex Molochnikov
Gestalt Corporation
403-252-3282

> Hello folks,
>
[quoted text clipped - 34 lines]
> ______________________________
> Remove "_SPAM" to reply directly.
David Shorthouse - 15 Nov 2005 08:10 GMT
Alex and others,

   Indeed, I understand your suggestions. In doing a bit of reading these
past few days, I have crystallized my needs. What I want is a Java-based
smart client with an embedded database because:

1. clients need to work offline
2. clients need to upload records to backend when online (synchronization is
not needed, merely the ability to upload new or changed records via simple
sql queries; i.e. the client need not receive anything in the way of data
from the backend)
3. from my perspective, being able to push UI updates or announcements from
an application server is certainly attractive

Can anyone point me in a direction where something like this can be done. I
came across Servoy (www.servoy.com), which is exactly the sort of thing I
would like to use because of its simplicity, but the offline smart client
capabilities mention using that development package are cryptically
described at best.

Signature

______________________________
Remove "_SPAM" to reply directly.

> It appears to me that in your quest to make the 2-tier fat-client work to
> your satisfaction, you are missing the advantages of the 3-tier
> client-server architecture.


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.