Management and SMI Services

Analysis & Design

Get Supported Adaptors

Description : With the help of this Processor user can get list of all the Supported Adaptors in the workflow.

Input : No Input Required

Output : FlowFile which contains Serialized List of Adaptors supported by the UCOM Nifi Workflow as it's content.

Design : As of now the approach is to keep static list of supported Adaptors in the UcsControllerServiceImpl which is accessible by getSopportedAdaptors() method of UcsControllerService. 

Get Service Status

Description : With the help of this Processor user can get over-all service status including Status of each individual Adapter.

Input : No Input Required

Output : FlowFile which contains Serialized UCSStatus as it's content.

Design : For holding and updating the Status data we created separate Controller Service (ServiceStatusControllerService), where we store the status data in the form of Map which will be persisted for the single session of Nifi Workflow. This Controller service provides methods to update and fetch the status map. All our generic Processors we created like SendSMS, SendEmal, SendVOIPMessage, SendDirectChatMessage, SendDynamicGroupChatMessage and SendGroupChatMessage have to use this Controller Service to update the Status as Available or Unavailable depending upon their working state. Now UCS Controller service will use this service to fetch the Adapter status map and calculate over all service status and wrap each adapter service status into UCSStatus model. Finally the UCSStatus is returned by getServiceStatus method of UcsControllerService, which in turn gets processed by UCSGetServiceStatus processor to wrap the data into flow-file content and make it available in the Nifi Workflow.