XmlObject - Adaptive Object Model

Better Designs Faster

XmlObject - Home

Hello fellow Adaptive Object Modeler. Hopefully you found your way here because of an interest in Adaptive Object Models. 

If you are brand new to the subject and come from a non-programming background,  I suggest reading the primer

So what is the XmlObject Framework?

It is a framework for building applications based on the Adaptive Object Model Architecture Style.   It has evolved from a single crude application, into a framework anyone can use.  This framework is designed to make it easy to turn any development effort into one capable of utilizing this important architectural pattern.  It is simple and should be easy to implement on the platform/language of your choice. 

If you want to get right to the example, the download link will take you to a page explaining the details.

XmlObject Graphic

XmlObject Framework:

 The XmlObject Framework uses industry standard XML as metadata.  There are no constraints on how the XML is organized beyond that it be well formed.  There are no requirements for specific names, namespaces or structure.  How you organize your metadata is up to you.   Further more, depending on your implementation tools, it is unlikely that you will have to write your own parser.  Industry standard XML parsers are available for most languages and operating systems. 

Here is a block diagram showing a high level view of an application utilizing the XmlObject Framework.  As you can see the XmlObject Framework depends on the system supplied XML parser and other tools for much of its functionality.  The application developer has many alternatives that are not available in more traditional architectural patterns.  He or she can code against the XmlObject Framework, or when appropriate code directly against the underlying system functionality.  This has proven to be very powerful.  Application’s only need use the framework when it adds value.

You can see that the framework is a layer between your application and an XML parser.  As you will see it does not add greatly to an application’s complexity and what it does add, is more than made up for with reductions in complexity elsewhere. 

If you want to just download the source, the download link on the left will take you to a page where some important details for using the framework I have implemented are covered.

I hope that you will find something here of value.  If you have questions, contact information is at the bottom of this page.  All comments, criticism, and suggestions for improvement are welcome.

Thank you for your time,

Michael