ISO/IEC 23006-1:2011 specifies the MXM Architecture and references the technologies that are part of MXM. The architecture comprises a set of MXM Engines for which application programming interfaces (APIs) are defined, on top of which applications can be developed. The current list of MXM Engines includes functionalities for content creation/search, adaptation, streaming/delivery, domain management, IPMP, rights expression, licensing, metadata, event reporting, security, etc. The Orchestrator Engine plays a special role, providing access to higher-level functionalities by implementing common scenarios utilizing various MXM Engines in a pre-defined way (e.g. adaptation of content according to the usage context). In order to enable interoperable communication between MXM devices, ISO/IEC 23006-1:2011 defines MXM protocols. Only the payload format is specified, which is XML-based and can be delivered using any suitable transport protocol (e.g. HTML, Web Services).
The elements of the MXM Architecture are as follows:
- MXM Engines, collections of specific technologies that it is meaningful to bundle together;
- MXM Engine APIs, APIs that can be used to access MXM Engine functionality;
- Orchestrator Engine, a special MXM Engine capable of creating chains of MXM Engines to execute a high-level application call such as "Play";
- MXM Orchestrator Engine APIs;
- MXM Device, a device equipped with MXM;
- MXM Application, an application that runs on an MXM Device and makes calls to the MXM Application API and MXM Engine APIs;
- MXM protocols for MXM to MXM communications.