Skip to main content

63 docs tagged with "ODF 2"

View All Tags

Add BCB module

In some cases, designing a project requires an approach different from what Simple 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 an AI Agent so that you can change any setting outside of the implementation code without recompiling, updating, or re-deploying your AI Agent. Typically, this is achieved by making your configuration external to the source code.

Connect to external database

The ODF 2 provides the built-in ORM layer and comes with OrmLite as the default ORM framework used primarily to access Data Store data.

Create Bot Task

Before getting into details, let's take a quick look at a simple Bot Task within the ODF 2 framework:

Debug Bot Task

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

Explore Data Model

In the article, the standardized Data Store schema is understood as equivalent to the ODF 2 example project'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.

Generate ODF 2 project

Maven archetypes are templates that let you quickly generate projects from a predefined set of core files. The guide describes how to use the ODF 2 Simple Archetype to generate a new project.

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

ODF 2 provides a standardized extensible Data Model for all AI Agent implementations. The model includes a set of tables with dynamic, convention-based names that enable ETL (extract, transform, load) processes to manage data consistently. All predefined columns in these tables are automatically processed by WorkFusion Analytics.

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.

Import Asset Bundle via Control Tower UI

With the Asset Bundle import feature, everything required for a Business Process (BP) delivery is now conveniently wrapped in a self-sufficient package, which can be ported to a target environment in few simple steps. The import mechanism supports large files and is less error-prone than traditional methods. Successful import is asynchronous—meaning fast—and verified by a checksum. This accelerates BP delivery, decreases the total cost of development, and eventually contributes to continuous integration.

Learn SDLC basics

Consider the following three patterns of how to build Software Development Life Cycle (SDLC) for WorkFusion deliveries based on the complexity of automation solutions.

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 AI Agent exchange data. The section provides a reference on how to organize your Data Model through AI Agent automation.

Manage isolated third-party dependencies

Work.AI offers the 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

ODF 1 is not supported in Work.AI v10.3, and you are encouraged to fully transition to ODF 2. For the ODF documentation, refer to the v10.2.9 user guide.

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. The instruction describes the ODF 2 built-in API to prepare and process data for multi-document Manual Tasks.

OCR

The article dwells on the obsolete approach of OCR usage in the scope of the ODF 2 framework.

ODF 2

ODF 1 is not supported in Work.AI v10.3, and you are encouraged to fully transition to ODF 2. For the ODF documentation, refer to the v10.2.9 user guide.

Orchestrate AI Agent

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

Package AI Agent Asset Bundle

The article describes an AI Agent Asset Bundle. For details on the structure of an AI Agent Variation Asset Bundle, refer to Package assets into AI Agent Variation Asset Bundle.

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.

Retry failed Transactions

To use the ODF 2 framework more conveniently, you can apply the following techniques when working with transactional tasks and retrying failed Transactions.

Review example project

The ODF 2 example project is created to demonstrate key features of the framework. It contains four simple Business Processes that operate on a mock data model. While functional, these processes do not perform anything practically useful.

Run integration tests with Spoke

Spoke is a tool for end-to-end Business Process testing. It provides fluent APIs for a developer to achieve typical testing goals. The framework is built on the JUnit 5 + AssertJ ecosystem, but the core module does not depend on it and can be used as a pure Java library.

Secrets Vault

ODF 2 provides SecretsVaultService to isolate operations with Secrets Vault.

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 and joining them back. This is usually done to process some data from the original Transaction in parallel.

Use Apache HttpClient

The instruction contains the best practices of the Apache HttpClient usage in the ODF 2 framework scope.

Use Maven plugins

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

Use migration templates

For Data Model management, the ODF 2 framework provides an integrated migration mechanism based on Liquibase.

Use OCR Bridge step

The article is an example of the OCR Bridge step usage in the scope of the ODF 2 framework. The Bot Tasks used in the example are a part of Processing Business Process from the example project.

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 AI Agent version means that your Work.AI platform environment ends up having many Data Store instances.

View compatibility matrix

The ODF team releases a new ODF 2 framework version for each Work.AI platform 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:

Workspace

ODF 2 provides WorkspaceClientService to retrieve a page with assignment information, such as the link and status.

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 and/or for executing tests in a CI/CD pipeline.