Most applications need to integrate with other apps in the enterprise. To facilitate such integration scenarios, Apache Isis defines a number of standard XSD schemas:
the metamodel schema, which allows the internal metamodel to be exported in a canonical fashion
the command schema, which captures the intention of a user to invoke an action or edit a property
the interaction execution schema, which captures the actual execution of an action invocation/property edit
the changes schema, which captures which objects have been created, updated or deleted as the result of an execution of an action invocation/property edit
These each use XSD types defined by the common schema (most notably the
oidDto complex type which identifies a domain object).
The Command Log extension and Outbox Publisher implementation use these schemas to reify corresponding applib objects (Command,
PublishedObjects), either to persist or publishing using an Apache ActiveMQ message queue.
The sections below discuss these schemas in more detail.