Metamug Features

Metamug uses REST, SQL, JSON and XML to deliver a platform to build secure, and a scalable backend. The objective of Metamug is to minimize the server-side code needed to be written by the developers so that they can focus on building outstanding UI/UX for their apps.

Marshalling

SPA's do not use entity objects instead they use data formats like JSON/XML. Parsing to entity objects is not required. Marshalling data is done on objects. Metamug converts SQL results straight to JSON/XML as desired.

Request Mapping to SQL

Mapping request parameters to SQL query allows us to define mandatory fields implicitly. The resource file doesn't need to explicitly define the parameter or the NOT NULL property. The non-mandatory parameters sent can be used to use a switching between multiple SQL statements. Since roughly 80% of the requests are CRUD operations. Mapping HTTP requests straight to SQL cuts the long route.

Request Pre-processing

The parameters sent to the server can be configured to be validated in same resource XML before the query is executed.

Live Documentation

As soon as a resource file is updated, its documentation is generated. The generated API document contains parameters to be sent, HTTP methods status codes and validations performed on the server. This helps the app developers consume the API better.

Hot Deployment

Changes applied to resource XML are propagated immediately to the API. This enables quick fixes to SQL, validations and helps change the request handling as business requirement changes immediately.

API Versioning

Versioning allows the API developer to maintain multiple copies of the same resource with changes. Every version of the resource can handle requests separately.

Database Connection

The app backend can be connected to any SQL database and REST APIs can be developed on the database quickly.

External API Requests

HTTP requests to third party APIs can be made using the XRequest feature which allows communication between multiple APIs.