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, Interaction.Execution and PublishedObjects), either to persist or publishing using an Apache ActiveMQ message queue.

The sections below discuss these schemas in more detail.