A metadata driven software development system provides various
functionalities related to an entity of an application in the metadata
format. Specifically, the system provides a set of base classes related
to the entity and a set of methods and application programming interfaces
for various operations to be performed on the entities in the metadata
format. Defining such functionalities in the metadata format allows the
system to dynamically generate XML messages matching any customized
schema for that entity. Because such functionality is metadata driven,
this system can be used with customized versions of the application
without requiring any additional code or recompilation.