Architectural Overview

The framework consists of a set of loosely coupled components presented in the form of static libraries.


Architectural Overview

Core Extensibility Library

The MAF Core Extensibility library is required for building, arranging, and displaying configuration-based UIs and subviews.

The MAF Core Extensibility library includes:
  • MAFCore component – exposes APIs that initialize the framework and access additional functionality provided by internal components.
  • MAFConfiguration component – reads and parses all metadata required by the app, such as UI definitions, data bindings, UI elements and controls, events, and actions (built-in and custom).
  • MAFUI component – encapsulates the metadata-driven view, controller, and data binding generation functionalities.
  • MAF Logic component – following the MVC pattern in internal implementation, the UI and its controlling logic are separated. “MAF UI Component” is a high level term referring to both the UI and its logic. MAF Logic Component refers to the controller logic of the UI elements, such as view controllers for the views
  • MAF Data component – provides a single access point for the framework to the underlying data layer and the Data Source Adapter.

DataSource Adapter

The DataSource Adapter provides unified access to business objects, independent of the data model. This layer also converts between generic business objects and specific model objects. MAFSDMDataSourceAdapter is the default implementation provided for OData, but you can replace this with a custom DataSourceAdapter.

DataSource

The DataSource component is a wrapper on top of a specific data model. The default MAFSDMDataSourceAdapter uses the SDMDataSource library, which is included with SAP Mobile Platform, and acts as a facade on top of the platform connectivity library and the OData parser library.  

Although this document includes detailed descriptions of the framework, SAP recommends that you refer to the API descriptions (see the public headers) for complete descriptions of functionality. All APIs are thoroughly documented, including usage examples and further instructions.