Secure mobile enterprise application integration
The RAMP platform is built on top of the Spring framework and uses the core Spring framework and Spring MVC as part of its implementation stack.
Once the RAMP client is installed on a user's mobile device it can invoke services on the RAMP server in order to gain access to enterprise services and data. The communication between the RAMP client and the RAMP server is done via a binary protocol over HTTP so that bandwidth usage is minimized. The RAMP server converts incoming service requests to ServiceRequest objects and the integration plug-ins are able to respond to the service requests via ServiceResponse objects.
The RAMP core is the entry point for all communication between the RAMP client and the RAMP server. Incoming service requests are converted from their binary representations to ServiceRequest objects by the RAMP core. Each service request contains the name of the service that the client wants to invoke along with all parameters and their values.
The RAMP core expects the integration plug-in to provide an implementation of the ServiceRequestManager. The purpose of the ServiceRequestManager is to resolve and return ServiceRequestHandler implementations based on the name of the incoming ServiceRequest.
The purpose of ServiceRequestHandler implementations is to process ServiceRequest objects and to invoke enterprise services or retrieve enterprise data based on the incoming ServiceRequest parameters and values. Once a ServiceRequestHandler implementation has been resolved and returned by the ServiceRequestManager the ServiceRequestHandler implementation is given the opportunity by the RAMP core to process the ServiceRequest. The ServiceRequestHandler responds to the RAMP core with a ServiceResponse after necessary processing has been completed. The RAMP core then serializes the ServiceResponse into a binary format and sends it back to the RAMP client. The ServiceRequest handlers (as well as the ServiceRequestManager) can throw exceptions at any time and these will be passed back to the RAMP client and displayed to the user.
Other useful information on RAMP: