io.mosip.registrationprocessor:registration-processor-message-sender-impl

Parent project of MOSIP Registration processor


License
MPL-2.0

Documentation

Maven Package upon a push Quality Gate Status

Registration Processor

Overview

This repository contains source code and design documents for MOSIP Registration Processor which is the server-side module to manage ID lifecycle. The modules exposes API endpoints.

Overview of Registration Processor

The front end UI application called Registration Client is available in a separate repo here

Registration stages and pipeline

Staged architecture:

The control and data flow in the stages is controlled by Workflow engine

Other services:

  • Packet Server
  • Registration status service
  • Notification service
  • Transaction service

Registration flows

An overview of various enrollment scenarious (or flows) is described in ID Lifecycle Management. Registration Processor recognises the following flows:

  • New
  • Update
  • Child
  • Correction
  • Lost
  • Activate/deactivate
  • Reprint

The stage sequence against each flow refer here

Vertx

Vertx is a framework for stages. Stages run as Vertx.

Kafka

Regprocessor stages are connected with eventbus. MOSIP supports two types of eventbus:

  • Vertx Eventbus
  • Kafka (default) - provides persistence across restarts (more robust), throttling capacity, better debugging

Kafka offers certain advantages over Vertx eventbus hence it is recommended as the default eventbus mechanism. All events between stages pass through Kafka queues. There is a separate Kafka topic for each stage.

One of the power features is to enable throttling in the pipeline. See Throttling

Hazelcast

Distributed cache - for packetmanager

Database

See DB guide

Registration Packet Structure

Packetmanager

Build & run (for developers)

The project requires JDK 1.11.

  1. To build jars:
    $ cd registration
    $ mvn clean install 
    
  2. To skip JUnit tests and Java Docs:
    $ mvn install -DskipTests=true -Dmaven.javadoc.skip=true
    
  3. To build Docker for a service:
    $ cd <service folder>
    $ docker build -f Dockerfile
    

Deploy

Registration processor in sandbox

To deploy Registration Processor services on Kubernetes cluster using Dockers refer to Sandbox Deployment.

Configuration

Refer to the configuration guide.

Test

Automated functional tests available in Functional Tests repo

APIs

API documentation is available here

License

This project is licensed under the terms of Mozilla Public License 2.0.