Updated on 1/13/2017
Direct link to topic in this publication:
BaaS Guide
BaaS Introduction

BaaS Introduction

BaaS is a service offered for the native applications and other services running in some servers elsewhere  that want to integrate some service offered by AppsFreedom. Each BaaS service is developed with the Integration builder as business objects (BOS) and deploying the business objects. A URL can be associated to these deployed objects to access them as services. The access requires a key and a secret that can be generated in the AppsFreedom platform.

BOS Development

Business objects are built using the builder according to some business logic. The input and output parameters defined with a BOS can be accessed as part of the BOS metadata. The names of these parameters are used to assign the input and output values during the data transmission and the service execution.

The parameter names are visible in the builder. They are also made available through an API for other tools.

BOS Deployment

A BOS that needs to be accessed as BaaS service must be deployed. The usual process of the deployment will publish the BOS and make it available for execution. The published BOS will be available in the BaaS store.

URL

The URI required to access the BaaS consists of the BOS name prefixed with the string “BOS”. For example the BOS Accounts will be accessed as “/BOS/Accounts”.  This is the URI to be used with the host and protocol information.

API Key

Access to the BaaS service is authorized using an API key and a secret. The API key and secret is provided for every tenant. Freedom manager tenant configuration provides the API key and secret for the tenant. API key will be passed as part of the HTTP(s) header and the secret will be used to generate the signature.

HTTP & parameters

The service execution is invoked by the HTTP POST method. The required input will be in the body of the message and the format used is JSON.

Following are the required header fields:

Header FieldValue
Content-TypeMIME
Content-LengthLength in Octets
X_AF_USERUser id as per the Freedom Manager
X_AF_KEYRegistered API key
X_AF_SIGNSignature as explained below