Search

About Jiffy

Last Updated: Apr 15, 2020

Articles

What is JIFFY.ai?

JIFFY.ai enables the automation of entire complex business processes and empowers your teams to do what they do best - innovate, but faster. JIFFY.ai uses bots to automate the repetitive tasks and schedules the tasks to run at a specific time with minimum or no human intervention. It is an advanced robotic process automation (RPA) web-based solution with integration of Artificial Intelligence (AI), Machine Learning (ML), Natural Language Processing (NLP), Analytics, and cognitive automation capabilities with Human-in-the-loop (HITL).

What is a Bot?

A Bot is equivalent to a full-time employee. Once started on a machine, it performs any number of tasks assigned to it. Technically, it is the JIFFY.ai Service which runs on a Windows machine to manage all the executions at the Client side. This assists in executing the tasks involving User Interface (UI) applications like Web, Desktops, SAP, Mainframe, Excel, Java, putty applications, and few non-UI tasks like email, document processing, etc.
The communication happens between the bot and JIFFY.ai core server using gRPC with SSL/TLS (Secure Sockets Layer/Transport Layer Security) which ensures communication security over a network. gRPC is a Remote Procedure Call developed by Google. It enables client and server applications to communicate transparently and makes it easier to build connected systems.

How does JIFFY.ai Work?

JIFFY.ai Components

The Bots establish a connection between the Client and the Server and executes the tasks. The JIFFY.ai database stores all the crucial information like the bot execution results, bot tasks/scripts, a repository of UI elements, and reusable components.

The Browser acts as an interface for the user to design, execute, and view the automation processes. Google Chrome™ is the supported/recommended browser for JIFFY.ai.

JIFFY.ai Server is installed in a Linux™ environment for hosting the application files, logs, and folders. The following are the key components of Server:

  • Core server: The Core JIFFY.ai engine enables automation across various applications. The Core module is used for designing and executing the tasks. The Execution engine in the Core server handles the task execution. It allows the designer to schedule the tasks to execute at a specific time. The user can define the Bot Clusters within the JIFFY.ai core to execute the task. Each block of steps inside a task could be picked by any of the bots in the bot cluster. This enables huge scalability and robustness in case of bot failures. It contains the execution details that include input, output, and a screen capture of each step (node) in the task execution. During the task design, the user may need to record the UI elements on the application to be automated. For this, the UILearn module is used. The familiarised/recorded UI element controls are stored in the JIFFY.ai database.
  • Cognitive server: It enables the bots to do self-learning using historical data that is captured dynamically. It uses technologies such as natural language processing, image processing, pattern recognition, and most importantly contextual analyses (to make more intuitive perceptions and judgments). For example, during document processing the critical information from the pdfs is identified and extracted automatically by the application of ML (Machine Learning) models.
  • Analytics engine: It handles data visualization and processing. It allows the users to create Presentations. A Presentation is a graphical representation of data for the business user as per the requirement.

JIFFY.ai Windows Client application is installed in the client machine (Windows desktop/Windows server/VDI). JIFFY.ai client includes Bot Manager and two types of bots namely Developer bots and Execution bots.

  • Developer bot: It is started from Bot Manager using JIFFY.ai username and password. Developer bots allow familiarization of any application using the floating window of UILearn and execute the tasks from the design canvas (Trial Run). Multiple bots cannot run at the same time from the same user.
  • Execution bot: JIFFY.ai uses the IP address and the available port to create execution bots based on the Windows machine name. Multiple execution bots can be run at the same time.
  • Bot Manager: Upon Client installation, a Bot Manager icon is displayed in the task bar. It allows the user to do the following:

    • To start a developer bot. Right-click on the Bot Manager icon on the taskbar and then click on the Start Developer BOT option to register the machine.
    • To check for the Client version upgrades. If there is any mismatch in the Server and Client version, the user can upgrade the Client version using Bot Manager. Right-click on the Bot Manager icon on the taskbar and then click on the Check for updates option.
    • To register the client machine in the server. To establish a connection between client and server, the client machine must be registered in the server. If the Client machine is not registered but the user tries to add an execution bot, then the automatic registration happens. If the machine is not registered but the user tries to execute any task using a developer bot, an error is displayed and the user can register the machine using Jpopeye. Right-click on the Bot Manager icon on the taskbar and then click on the Register option..
    • As there are chances that client machines can have the same machine name, there is a facility to have the machine name concatenated to the Unique ID of the machine to identify the machines. The Machine Details option is provided to view the Unique ID of the machine and FQDN (Fully Qualified Domain Name) from the Bot Manager options. This machine name is listed in the Machines drop-down in the Add Bot for users to select appropriate machines while adding a new bot and also on in the Machine column present on the Bots home screen. Right-click on the Bot Manager icon on the taskbar and then click on the Settings -> Machine Details option to view the Unique ID of the machine and FQDN (Fully Qualified Domain Name).
    • Set Jiffy URL: A facility to change Jiffy URL from one instance to another instance (like from QA to DEV) without modifying the Config.yaml file. Right-click on the Bot Manager icon on the taskbar and then click on the Settings -> Set Jiffy URL option. Replace the existing Jiffy URL with the Jiffy URL of the respective environment. Click on the Update button to update the Config.yaml file. Upon clicking on the Update button, a message is displayed prompting the user to restart the machine.
  • Secure Vault is a utility for securely accessing secrets. A secret is anything that the user wants to tightly control access to, such as API keys, passwords etc. Vault provides a unified interface to any secret, while providing tight access control and recording a detailed audit log.

Similiarly, Secure Vault in JIFFY.ai is used to store sensitive information which needs to be provided during the task execution process. All secure data is stored in the Vault as keys. Vault encrypts these keys before writing them to persistent storage. Secure vault variables are also maintained at an App level and the scope is limited to an App.

The JIFFY.ai Database is the most critical component which stores the information like the bot execution results, bot tasks/scripts, a repository of UI elements, and reusable components. JIFFY.ai has its own instance of MongoDB and PostgresDB which enables the processing of high-volume data required for cognitive/ML processing. Information is not stored in the bot machine or on the designer machines but only in the JIFFY.ai database.

Did you find what you were looking for?