Discussion:
building client/servert apps / distributed apps in smalltalk
(too old to reply)
Sanjay Jain
2011-07-29 16:56:38 UTC
Permalink
am looking for some guidance to approach this issee,


for a small desktop app with say 10 users over a LAN, I am planning to
put a "Data Server" which will actually manage the storage, update and
retrieval of data.


(this is so that we can tweak only this portion to adapt to any data
storage / file storage mechanism and also handle some specific rules
on copies / backup etc)


In Dolphin Smalltalk online help in Software Patterns>> New
Application under "Consequences" I find a discussion around client /
server models.


The questions we have are:
1. Is such a thing do-able / and will it be scaleable
2. Are any models / examples available to understand how it could
work
3. what are the key words we have to understand to create a solution
e.g. Sockets, ...
4. somewhere i read that there is something called proxy or that its
possible to build distributed systems in Dolphin / Smalltalk ... if
thats relevant


I know I may sound naive and vague but thanks for your patience and
please guide me into a track


regards
Sanjay
Bruno
2011-08-02 13:04:01 UTC
Permalink
Hi,

You can use OmniBase (an object oriented database) or ReStore (object
database mapping framework) with Dolphin.

1. Scalable in what sense ? number of concurrent users, model
complexity, etc. I do not see any problem here. But much of the
scalability depend in design of your model and how you solve the
persistence issue (OmniBase or ReStore)
2. You should try to build a small systema and ask in the dolphin
list, you will approch all these issues.
3. I think your keys are: OmniBase, ReStore, and the design of your
model.

My advice is to you is try to build a small system then start to add
functionality and use the Dolphin list to resolve your issues.

Regards,
Bruno
James Foster
2011-08-08 23:09:19 UTC
Permalink
Sanjay,

Rather than isolating your data abstraction layer onto a separate machine with a separate application and introduce a new custom communications protocol with your data server, I'd suggest that your encapsulate your data abstraction layer into custom objects in the primary application and then provide a new version of the primary application if your database changes. It seems almost certain that you will be releasing updates to the application (were your planning on getting everything perfect in the first release?), and for a small number of users on a small LAN, this should be much easier.

James

Loading...