----- Original Message ----- From: "Rajal Shah" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, December 19, 2002 15:51 Subject: RE: Design question on using Java classes v/s hashes or arrays
> I see your point.. If business functionality changes though, then maybe you > need to change the method name or something and deprecate the old method.. > to solve the issue you bring up. (and work on your SLAs with the clients to > make them understand the new behavior or provide both business logic > options). > > I am referring to the versioning of services for extending the functionality > of a data object. And having 2 end points can serve the needs to backward > compatibility and avoid me to define my objects as hashes. If you use doc/lit messaging rather than rpc/enc, you can add new stuff to a message (But obviously these need to be optional additions, you cannot subtract, and you need to keep semantics 100% consistent. Even so, it does give doc/lit a bit of flexibility. And equally importantly, shows up versioning issues in API signatures fast. >> I talk about versioning a bit in http://iseran.com/Steve/papers/wstw/ > > Your document is pretty comprehensive and well thought out! I still have doubts there. There are lots of issues we are let to learn, and only that trial and error will find. I sort of wrote that paper as I was going along, but decided it was time to get stuff out the door. with my current project I wrote the proto server, then did the client (swing based), and soon redid bits of the api for ease of programming and long haul perf. For example one call returned #of items in a queue, another listed the queueID of all elements, and the third took one queueID and returned info about that element. Now what do I do for long haul? Do I boost throughput with a message that lets you specify a list of queue items. Good for http1.0 nagling, saves on net sockets used (good for the server),... But it could make the UI less responsive. Right now I can fill the list in one at a time, with a worker thread to talk to the server. But with a bulk call I dont get an update till the update is complete. I dont see any 'best answer' here. I'll probably add the bulk call for when somebody wants it, but maybe only fetch small chunks, say 4 items at a time, for responsiveness. -steve