Opus-M Application Architecture

What is the Opus-M Core Layer?

The Opus-M Core is a layer that forms the basis of the Opus-M platform. It comprises standard functionality that is common to all upper layer service modules and applications. There are web service endpoints as well as library calls that allow access to the core layer. This design provides the flexibility of connecting to the Opus-M core locally or from different servers and services.

This architecture allows not only existing service modules to use the core functionality but also enables third party developers to build new applications or service modules on top of it. The Opus-M core supports developers in creating new widgets by providing fully functional and ready-to-use modules such as billing, device recognition, messaging, and user framework. The resulting widgets can either be standalone or seamlessly integrated into the Opus-M system.

There are 9 modules in Opus-M Core: Billing, Content Provisioning, Device Recognition, Image Resampling, Messaging Framework, Security, Transaction History, User Framework and Video Transcoding.

What is the Opus-M Service Layer?

The Opus-M Service Layer modules provide functionality for the purposes of Sales and Marketing, Customer Relationship Management, Content Management, Business Intelligence, Support, and Innovation topics such as Augmented Reality and Social Communities.

All of these modules are built on top of and rely on the Opus-M Core. This design allows not only for fast extensibility of new modules by providing a framework, but also ensures that all existing modules can leverage core functionality such as storing user specific data, working with PCI data, sending messages, and rendering information for specific target devices. Implementing on the Opus-M Core framework also simplifies maintenance related overhead.

What is the Opus-M Application Layer?

Based on the available modules of the Core Layer and the Service Layer, the Application Layer is where interaction occurs between different applications and value-added services. The marketplace for applications and media/content services where end-users can easily discover and purchase content exists as an application (web-based or rich client running on a mobile device).

The application layer is the presentation of information from the back-end to the user. Any markup language may be used in the presentation of data but normally it consists of HTML, JavaScript and CSS. Rich clients are cross-compiled to the target platforms/architectures. The applications implement additional business logic to call the service modules when needed and to visualize any datasets retrieved.

Application layer interconnectivity is provided by a set of API stacks that expose Core and Service layer functionality through Web Service end-points. All web service calls pass through the Application Adapter which delegates and routes valid requests from authenticated and authorized requests. Authentication and authorization overhead is mitigated through the use of a token system so an authenticated application may continue to communicate with the application adapter without the need to re-authenticate on every request, so long as a valid token is presented as part of the request parameters.