Methods and apparatus, including computer program products, for developing
an application. The development includes the use of a data model (e.g., a
metamodel represented using UML) from which an API is derived. The API
can include features derived from customizable extensions within the data
model.