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.
