Short Version: I have a large nested object graph.
1) When GWT does serialization/deserialziation on the client side does
it do it incrementally?
2) Do I chance running into "The script is not responding" warnings
while it works on serializing/deserialzing a large object payload?
3) Is there a way to ask GWT to do incremental serialziation/
deserialization or do I have to roll my own via JSON?


I am working on prototyping a GWT app. The app will display an
interactive representation of an XML file similar to the way WYSIWYG
editors visualise HTML (note, I am not making a WYSIWYG editor in GWT
-- was just trying to come up with a somewhat close known comparison).
I already have the code done server side that reads this XML and
translates it into POJOs after doing validation/parsing/etc.

I was thinking of having my data model as follows:
-1 Object per tag
-One object attribute per XML tag attribute (all primitives)
-Each object has a reference to its parent element
-Each object that contains child elements has an ArrayList<> of its
child elements.

Data flow as follows:
-Server reads the requested XML from the database, parses it, turns it
into POJOs.
-Server sends POJOs to GWT.
-GWT uses incremental processing to build the UI.
-User edits pojos via UI.
-User presses save and GWT sends back the entire object graph to
server.
-Server validates the POJO structure and re-serializes the POJOs back
to XML.

Right now my largest XML file is about 500k, but I fear with the
adoption of this new easier to use method of creating/editing files
the files will become as large as 1MB. I know these sizes include the
bloat of XML (open/close tags, white space, new lines, etc) but there
are still a large number of tags involved.

I could split the payload going down to the client by just making
multiple calls to the server that has the in cache POJO representation
of the XML file. The issue comes in sending the entire graph back to
the server for the Save operation. The server needs the entire object
graph to validate the input + write to server. I planned on using a
load balancer for my server side, so two connection to the same
address may end up at two different physical servers.

Any ideas? Am I over thinking this?

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to