gnue-dev
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]