Lists Home |
Date Index |
- To: "xml-dev" <email@example.com>
- Subject: RE: [xml-dev] XML Object Serialization
- From: "Phil Fuhlman" <pfuhlman@Dexma.com>
- Date: Tue, 29 Oct 2002 12:58:36 -0600
- Thread-index: AcJ/eOY38XLSq1yjTJauwL+Fe4CKWgAA9r8w
- Thread-topic: [xml-dev] XML Object Serialization
How is an application which 'compiles' classes really different from an
interpreted implementation (ex. ASP)?
If the XML doc changes so much it 'breaks' the former then is rational
to expect it to 'break' the latter, too?
From: Jeff Lowery [mailto:firstname.lastname@example.org]
Sent: Tuesday, October 29, 2002 12:26 PM
To: 'Anthony B. Coates'; xml-dev
Subject: RE: [xml-dev] XML Object Serialization
> Sure, and I've seen enormous problems come out of people
> "compiling" XML
> schemas into classes using the tools that are now available.
> I mean, one of the
> main reasons for using XML is to decouple applications, and
> then people compile
> the XML schemas into code so that they tightly couple their
> applications to this
> week's version of the XML. It can cause *huge* delays for
> projects. People
> don't seem to remember that if you tightly couple some of
> your code to the XML,
> you need to loosely couple those bits of code to the rest of
> your application.
How about instead of generating classes, these code generators generated
interfaces + implementations? Still not perfect, but at least you're
your app to an interface. You can then change the interface, either
extension or dynamic proxies. The implementation classes can also be
extended, or rewritten altogether if needs be.
There are still versioning issues, but I think by coding to interfaces
reduce the impact of minor version changes. For instance, you can
temporarily mask datatype changes by keeping the interface the same and
doing appropriate casting in an extended class of the generated
implementation; it allows the rest of the app code some time to catch up
the latest schema change.
The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
initiative of OASIS <http://www.oasis-open.org>
The list archives are at http://lists.xml.org/archives/xml-dev/
To subscribe or unsubscribe from this list use the subscription