Skip to main content

57 docs tagged with "ODF 2"

View All Tags

Add BCB module

In some cases, designing a project requires an approach different from what Full Archetype suggests. For example, you want to automate the user interface (UI) in your internal applications via RPA bots. At the same time, you'd like to keep each RPA automation in a separate Maven module and check in each module into a separate Git repository so that you can grant Git access and share specific RPA application automations with specific teams, enabling them to reuse your code and contribute.

Adopt ODF 2

Assuming you are a part of a successful team given the time, resources, and tools to build and ship enterprise-grade software building standards, focusing on quality.

Configure AI Agent

A crucial aspect of installation and further support is implementing a Use Case so that you can change any setting outside of the implementation code without recompiling, updating, or re-deploying your Use Case. Typically, this is achieved by making your configuration external to the source code.

Create Bot Task

Before getting into the details, let's take a quick overview how a simple Bot Task looks like in terms of the ODF 2 framework:

Debug Bot Task

ODF 2 doesn't add anything special to the existing ways of debugging Bot Tasks.

Deploy Asset Bundle

After creating an ODF 2 project from the Full Archetype, deploy it to a Control Tower instance.

Explore Data Model

In the article, the standardized Data Store schema is understood as equivalent to the ODF 2 Full Archetype’s Data Store schema. With few exceptions, it utilizes concepts from Transaction and Multi-process layers of the ODF 2 architecture. If you do not use the Multi-process layer, you can ignore some entities, and this won't impact the framework integrity. In extreme scenarios, when even the Transaction layer is not used, the Data Store schema should be designed from scratch.

File storage

ODF 2 can work with Amazon S3-compatible file storages. Under the hood, it uses AWS Java SDK, though with a more convenient high-level API.

Full Archetype

The article dwells on the structure of a project created from the ODF 2 Full Archetype. For more details on creating a new project, see Start Maven project.

Generate ODF 2 project

Maven archetypes are templates enabling to create projects based on a set of core files quickly. The article contains information on the ODF 2 Full Archetype.

Get started as Automation Engineer

When you need to automate a scenario of high complexity, make your automation robust, and allow it to run unattended, you have to dive into Automation Engineering. Intelligent Automation Cloud Developer offers Automation Engineers a set of tools to write, test and deploy a code that can run on a server installation of Intelligent Automation Cloud Enterprise unattended.

Handle exceptions

As you probably know, if a Bot Task throws an exception, the platform stops the execution of the entire Business Process (BP). In most real-life scenarios, such behavior is unacceptable. Instead, you would usually react to the exception by retrying the attempt, asking a human operator to intervene, trying to proceed with other records, or using any combination of these strategies.

Implement Analytics for AI Agents

For Use Case implementation, ODF 2 employs a standardized extendable Data Model. The model features a list of tables with dynamically defined names and specified naming conventions, enabling ETL (extract, transform, load) procedures to manage data properly. All pre-defined columns in these tables are set to be processed by WorkFusion Analytics automatically.

Implement CI/CD with Git and Jenkins

The guide details how you can create three basic Jenkins jobs to implement a continuous integration and continuous delivery process. These jobs are as follows:

Implement Data Stores with ORMLite

ORMLite is a framework that provides lightweight Object Relational Mapping between Java classes and SQL databases. There are certainly more mature ORMs that provide this functionality, including **Hibernate** and **iBatis**. However, ORMLite is a simple yet powerful wrapper around the JDBC functions.

Manage Data Model with Liquibase

With ODF 2, we encourage you to use Data Stores as a universal and effective way to have different steps of Business Processes within your Use Case exchange data. The section provides a reference on how to organize your Data Model through Use Case automation.

Manage isolated third-party dependencies

In versions 10.1.7 and 10.2.4+, IA Cloud offers a new approach allowing smooth and flexible incorporation of user-defined Java libraries into BEP Workers. The approach enables the isolation of BCB classes from the application ones. If BCB classes use a library packaged together with the BCB, the BCB class loader loads the library classes from the BCB even if the Worker app contains the library as well.

Manual Task

The guide explains how to add a Manual Task to a Business Process based on ODF 2. When working with Manual Tasks, consider the following aspects:

Migrate from ODF to ODF 2

You don't need to migrate existing BPs from ODF to ODF2 if you haven't faced any ODF limitations impacting BP quality. The Product supports the execution of BPs created on both versions of ODF.

Multi-document Manual Task

A multi-document Manual Task enables automation for the cases when you process multiple documents as a part of a single transaction or in a batch, both manually and using machine learning. For more details about multi-document Manual Tasks, refer to Multi-document IE Manual Task.

OCR

In ODF 2, there are two levels of API you can use to interact with the OCR service. The high-level API is a couple of Bot Tasks to submit documents and receive OCR results. It is the primary solution in most cases. When it is not enough, the low-level API is a service used to make calls directly to OCR.

ODF 2

Major technical concerns of Use Case delivery

Orchestrate AI Agent

The instruction describes running, stopping, and scheduling Business Processes based on the ODF 2 Full Archetype.

Perform automated testing

ODF 2 as a framework is designed to increase the quality of solutions. Testability is one of the main design goals.

Predefined task types

There are some useful prepackaged task types not associated with any APIs. You can use them in the standard cross-process flow.

Secrets Vault

ODF 2 provides SecretsVaultService to isolate operations with Secrets Vault.

Set up AI Agent configuration wizard

Intelligent Automation Cloud provides a centralized place to configure Use Cases. The feature is optional, and you can still develop Use Cases as previously. For pre-packaged Use Cases, the requirement is to be distributed via the Solution Catalog and allow intuitive and effective configuration from a centralized location.

Simplify project

There are certain situations where the four-business-process design is an unwanted complication. In the case of simple PoC or an educational project, it can be time-saving to simplify a project generated from the ODF 2 Archetype.

Soft-stop Business Process

The monitor design assumes continuous managed loops generation during a scheduled period of time. For certain business needs, you may require to stop your Business Process (BP) immediately upon some trigger. Moreover, it is desired that the BP does not ruin transactions that already came out of the monitor's loop and are processed further.

Split and join Transactions

ODF 2 allows splitting a Transaction into multiple sub-transactions so that each resulting sub-transaction contains a single data entity derived from the data stored in the original Transaction. After that, such sub-transactions are processed the same way as common Transactions. At some point, you must join them back to the original one.

Use Maven plugins

To ease interaction with a Control Tower instance, a set of Maven plugins support the ODF 2 framework. The page describes working with these plugins.

Version Data Model

You can version Data Stores that make your Data Model just like all other Assets of your project. However, increasing a Data Model version each time you release a new Use Case version means that your Intelligent Automation Cloud environment ends up having many Data Store instances.

View compatibility matrix

The ODF team releases a new ODF 2 framework version for each IA Cloud Enterprise release. See the version compatibility matrix in the table below.

Waiting for Transactions

A commonly encountered task in ODF 2 is waiting for the completion of all transactions in a given Business Process. There is no out-of-the-box solution that fits all use cases. For example, a Monitor Task often serves as the source of transactions, making it impossible to know when new ones appear. However, once all requirements are known, such a feature is quite easy to implement.

Work with Transactions

To illustrate how user Transactions are created and processed, let's simulate a simple scenario for a Business Process (BP) consisting of two Bot Tasks:

Write Bot Task JUnit tests

Bot Task JUnit is a JUnit 5 API for running and testing Bot Tasks. You can use it for running Tasks locally from an IDE of choice during development or for executing tests in a continuous integration and continuous delivery pipeline.