What's the reason for originally deciding to go with object serialization to store configuration *data* instead of some text format, say an XML format?
Sanjiva. On Mon, 2005-05-16 at 08:44 -0700, David Blevins wrote: > Nice spin. Though you're joking around, I'll answer seriously. > > PROJECTS: > Again we are talking about changed class files, which can result from a patch > or upgrade. When people make things serializable, they are only guaranteeing > that data serialized from that class and be deserialized back into that exact > class. They are not making claims of past or future versions of that class. > > USERS: > Users do care about incompatibilities between minor dot and patch releases. > But users do not care about compatibility of private class files between > minor dot and patch releases. But as the storage format for configuration > data is public and private class files, we have made this their problem at > upgrade/patch time. > > -David > > On Sat, May 14, 2005 at 08:14:49PM -0700, Jeremy Boynes wrote: > > <humor> > > Oh, for Pete's sake, this poll is about as Fair and Balanced as Fox News. > > > > How about: > > > > PROJECT POLL: > > [ ] We, ${projectName}, didn't really mean it when we said something > > was Serializable and feel free to change our APIs and > > implementation at any time without telling you. > > > > [ ] We do our best to ensure our public APIs, but use of them is not > > supported by us. Good luck guys. > > > > USER POLL: > > [ ] I am a ${otherProject} user and quite like the incompatibilities > > between even minor dot releases - it gives my admins something to > > do. Please make sure ${projectName} behaves this way as well > > > > [ ] I believe the safest way to upgrade something is to wipe out > > everything that is there and start over every time. That way > > I don't get cooties from old software. > > > > </humor> > > > > OK, so it probably isn't that funny but let's at least have a serious > > discussion about this. > > > > -- > > Jeremy > > > > David Blevins wrote: > > >I really want to get some feedback from the developers, users, lurkers, > > >other projects and everyone on this subject. It shouldn't be a taboo to > > >talk about or considered a "can of worms" or a "hot button." It affects > > >the project at pretty fundamental level, so I think it would be good if we > > >did our best to get feedback. > > > > > >The problem: > > > > > > Upgrading apps between versions of Geronimo and it's integrated projects > > > is not currently possible without a redeploy. > > > > > >The facts: > > > - Our deploy system and storage of deployed apps is serialization based. > > > - At deploy time we build and Jetty web containers, Tomcat web > > > containers, ActiveMQ queues/topics, OpenEJB ejb containers, Axis > > > webservices, TranQL connectors and more > > > - We serialize those objects which include not just what they consider > > > to be their public APIs but also the private implementations of those > > > APIs. > > > > > >The tricky part: > > > - We, qualified in alphabetical order, ActiveMQ, Axis, Geronimo, Jetty, > > > OpenEJB, Tomcat, TranQL, et. al. cannot change our public API *or* > > > private Implementation of our APIs and still deserialize objects from a > > > previous version. > > > - Unless we (the projecst above) agree not to bug fix, optimize, > > > refactor, repackage, or reorganize our code in a way that would break > > > deserialization of objects created with a previous versions of our code, > > > it will not be possible to upgrade applications leveraging these > > > projects without a redeploy. > > > > > > > > >PROJECT POLL: > > > [ ] We will do our best to ensure the implementations of our APIs are > > > serialization compatible to future versions of our code. > > > [ ] We do our best to ensure our public APIs, but use of our > > > implementations in such a way is not supported by us. > > > > > >USER POLL: > > > [ ] I do not mind redeploying my applications on each upgrade of > > > Geronimo et. al. > > > [ ] I do not want to start from scratch on each upgrade of Geronimo et. > > > al. > > > > > > > > > > > >-David > > > > > > > > > > LocalWords: Boynes >