Dev Muse

"Any sufficiently advanced technology is indistinguishable from magic."  Arthur C. Clarke

Saturday, September 30, 2006

XML Everywhere

As you may imagine, in the service oriented, information integration and sharing business, data flows, work flows and business processes are where it's at. In this context, everything we touch relates in one way or another to XML. Often XML is used in conjunction with Web Services - but that's another topic.

XML is the currency in this world. Passed up and down layers and hierarchies of systems and code. Being complex and structured, XML is not to be looked upon simply as collections of 'data'. That is, XML implies 'objects'. And the objects we deal with are being passed around, serialized and deserialized, everywhere.

XML begats Objects and Objects begat XML. Up and down round and round... We end up doing some novel and downright cool stuff with this XML/object currency. One of the things that enables us to get funky with XML/objects is the idea of Reflection.

Reflection is all about MetaData. Data about data. Attributes are a way to add this metadata to your methods, classes, events, programs and other assembly targets. In a nutshell, Reflection allows a running program to discover its own metadata and modify its behaviour accordingly.

XML, client dependent data say, is passed around and instantiated as objects. These objects are then acted upon via reflection at runtime. Our client data has come alive! This is powerful stuff. More about relection later.


Post a Comment

<< Home