PDSI

PDSI

QuickSilver

A Unified, Standardized, Scalable Micro-Services Delivery Platform

Introduction

There is a need to bridge the disconnection between platforms and service offerings that currently exist in Xerox Services, to enable seamless interoperability between them. This can be achieved by providing a unified and standardized platform to expose isolated service components and research assets as micro-services. These micro-services can be directly deployed on enterprise grade deployment platforms such as Microsoft Azure, OpenStack, Amazon EC2 and others. The platform can also provide an integrated API explorer to facilitate client developers in reading the documentation and exploring various micro-services and their APIs, in a sandboxed environment. Business groups and research teams can quickly realize the commercial value of their service components / research assets at API levels. We hereby propose such a platform viz., “QuickSilver”.

Offerings

QuickSilver platform offers following functionalities.

  1. A service component implementing the core of micro service delivery gateway. This also provides integrated, standardized API Explorer, service catalog and analytics dashboard.
  2. A service component implementing multi-channel authentication system enabling, basic, LDAP/AD and Social network logins.
  3. A service component implementing e-Wallet based, per-API billing and the ability to enable offers and promotions based on customer type.
  4. A set of micro service adapters to seamlessly integrate research assets  which are available in different language implementations such as .NET, Java, Matlab, Python and also, in various build formats such as executables, libraries and application services.
  5. Capability to automatically generate client code for a selected micro service, for popular platforms such as Android, iOS, Tizen, Java and .NET
  6. Capabilities for auto scaling and load balancing of micro services based on demand.

QuickSilver Architecture

Below is the architecture of QuickSilver, showing important components and communication modes.

QuickSilver Components

QuickSilver basically consists of three core service components viz., Suranga, Shulka and Mudra. Each of these are designed to provide specific functionalities, as given below.

Suranga:

  • API Explorer:For client application developers to rapidly develop & test all services available in the sandbox
  • Services Catalog:For exploring available micro services and integration of research assets using service adapters
  • Service Adapters:For easy conversion of research assets to standard, micro service integration layer
  • Services Dashboard:To view micro service transactions, which can be critical inputs for further statistical analysis

Shulka:

  • Charging per-API invocation
  • Supports API level offers and promotions
  • Pre-paid / E-Wallet like facility with transaction statements
  • Recharge using online payment modes (Ex., PayPal)

Mudra:

  • Common authentication service for QuickSilver Platform
  • Supports local, ldap/AD, Facebook, Twitter and Google based authentication
  • Uniform role based authorization for apps linked by the user

Current Status

  • Core of Suranga (PoC) has been implemented
  • Suranga provides API Explorer and client code-generation functionalities
  • Shulka (PoC) has been implemented independently with PayPal as the online recharge method. It needs integration with QuickSilver ecosystem
  • Mudra implementation is in progress
  • Suranga has basic authentication integrated along with user account view, till Mudra is ready to use
  • Suranga supports both secured http and websockets modes of communication with the clients
  • Sample micro service adapters are available for integrating standalone executables, libraries and web applications with Suranga

Research and technical areas to focus on

  • Automatic scaling algorithms for managing micro services based on load
  • Better and error free code generation methodologies for client platforms
  • Auto-recovery of micro services, message brokers and other service components
  • Automated service adapter generation for a given research asset
  • Defining standard practices for research asset creation to facilitate easier commercialization
  • Advanced engineering challenges to integrate with legacy systems