[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnue-dev] Appserver Interface Issues
From: |
Jan Ischebeck |
Subject: |
[Gnue-dev] Appserver Interface Issues |
Date: |
Sat, 26 Oct 2002 13:19:57 +0200 |
User-agent: |
Mutt/1.4i |
While writing a gnue forms client in javascript (look at
http://www.gnuenterprise.org/~jan/jsclient/gnue-forms.html),
I discovered some big drawbacks in the forms <-> appserver
communication.
1. PERFORMANCE: for a simple form with 4 entries, 10-12 rpc calls have to be
executed just for initialisation and loading the first record.
Because most of the rpc calls have to be called sequentaly, the whole
initialisation takes ca. 10 sec on a LOCAL connection. Loading a new
record takes 5 rpc calls.
2. OVERHEAD+UNCONVINIENCE: In the actual implementation we use a list
of instances on the appserver side. But this list is not really navigatable,
we just can fetch one element after the other. Because of this, the whole
list has to be stored on client side too. and prev, next functionality
has to provided on client side. It would be good to define the role of
the geasList class more concrete. So we can decide if we keep it as
lean as now, or if we add some navigation functionality. Another option
is to add the navigation functionality to the instances. a geasList
could also be similar to java iterator. ...
a possible RESOLUTION for the PERFORMANCE problem:
1. combine some calls, like:
a) reqeuestNewSession+login(user,pass) ->
reqeuestNewSession(user,pass)
b)
createList(table)+setPrefetch()+setConditions+setSort+populate ->
createPopulatedList(table,prefetch,conditions,sort)
2. provide functions to load more then one record, and to load all
fields of a record:
geasList.loadNextInstances(maxRecords=5)
geasInstance.getAllFields()
I think especially the second problem should be discussed on the
european gnue conference in frankfurt on the 31th.
Jan
- [Gnue-dev] Appserver Interface Issues,
Jan Ischebeck <=