Metamug Features

Metamug Console is a REST API development platform which makes use of XML to expose secure REST APIs over SQL databases. 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 REST API driven Apps.

Open-source Mason Runtime

The REST API backends created using Metamug Console make use of Mason, an open-source Java based REST API library.

Marshalling

Single Page WebApps and Mobile Apps 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.

Plugins

Plugins can be developed using Java and Maven for mapping business logic functions to a request. I. Result Processing The default behavior of generating JSON/XML can be overridden to send the custom response using code. II. Request Processing The default behavior of generating JSON/XML can be overridden to send the custom response using code.

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 REST API 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.

Request Analytics

Metamug Console provides a statistics panel which displays request count and other data related to requests hitting the REST API backend.

Backend Export

The REST API backend developed using Metamug console can be exported for use in production environment. The exported backend is in the form of a Java Web Archive (WAR).