Software Architecture

This diagram shows the AgilePoint NX software architecture.

Figure: AgilePoint NX Software Architecture
AgilePoint NX Software Architecture

eForm Builder

The eForm Builder is an integrated visual tool that lets you build anything from simple forms with just a few form controls to complex, multi-tabbed forms. The eForm Builder provides more than 50 control types, and lets you build business logic into the form, enabling dynamic restructuring of the form based on form user input. You can use your eForms within an app, share your eForms across apps, or even use eForms with external applications.

Process Builder

The Process Builder is a visual tool where you can create workflows and the logic for processes and apps with a simple drag-and-drop interface.

Application Test and Deployment

You can export or import your application as a set of JSON files, or publish your application. For more information, refer to:

Team Work Management

The Work Center is a component where you can access to the information about the work you care about, and the apps that are available for your use This component also lets supervisors manage the work of their subordinates.

Application Versioning

This component lets you check in, check out, or publish an applications in the AgilePoint system and manage the versions.

Data Modeling

This component lets you configure the different data sources and data source types for your application. The data source for an eForm is created dynamically as you add form controls. In addition, you can add external data sources to supported third-party systems.

Analytics Center

The Analytics Center can create, run, and configure reports and reports settings related to data in your apps.

Note: The Report Center component (sometimes referred to as AgileReports) can only be used by customers who purchased this component before April 1, 2020. This version is no longer available for purchase, including by current and previous purchasers of AgilePoint NX or the Report Center component. In AgilePoint NX v8.0 and higher, Report Center has been replaced with the Analytics Center component.

User, Group, and Role Authorization

AgilePoint NX uses an authorization system based on access rights that can be applied to a user, group, or role.

Process Model Management

This component lets you manage the process models in your environment.

Tenant Provisioning

This component lets you provision a tenant in a multi-tenant AgilePoint NX environment.

Process and Activity Monitoring

You can see information about your process instances, such as template name, status, start date, due date, and completion date and about the system activities in your process, such as the start date, completed date, and status.

Application Configuration

Lets you manage app permissions, create access tokens, and configure the settings for the App Builder.

Dashboard (System Management)

Shows a summary of your system data and business data..

For more information, refer to System Overview.

Form Engine

The runtime engine for the eForm Builder. It uses HTML5 and jQuery to render the eForm.

Process Engine

The main component of AgilePoint Server the lets you run, pause, stop, and change processes live without writing software code.

Multi-Tenant Management

You can configure AgilePoint NX to run in a multi-tenant environment.

For more information, refer to Multi-Tenant Configuration

License Management

An internal service manages which components of AgilePoint NX to which you have access, based on your license key.

Exception Handler

You can create a custom AgileConnector to handle exceptions and take specific actions when an exception occurs. Each activity also has configuration properties that let you specify what happens when an exception occurs. You can specify the action to take when an exception occurs, the amount of detailed process-related data that is recorded to the AgilePoint workflow database, and a process data variable to store information about the error.

Process Swapping Management

Lets you configure the amount of time an system activity is loaded in memory. This is to improve the efficiency of the memory usage.

For more information, refer to Configuring the Swap Out Time

Process Instance Management

Lets you start, pause, cancel or move a process instance in a process.

Caching and Clustering, Process Load Balance Management

The AgilePoint clustering functionality within the AgilePoint Server Windows service works as an event dispatcher using .NET Remoting. This service records information from the AgilePoint Servers track which process instances are running on each of the AgilePoint Server machines. When a process instance is created, the first event is load balanced by the NLB. After that, the clustering feature dispatches events to each of the AgilePoint Servers in the cluster, ensuring that all events associated with the same process instance lifecycle are processed on the same AgilePoint Server machine. When a new database event is triggered, the AgilePoint Server machine picks up the event, it uses the clustering feature to determine whether the event is currently being handled by any of the AgilePoint Servers in the NLB based on the associated process instance ID. If the event is associated with a Process Instance ID that is already running on a different server, the AgilePoint Server clustering component will re-route the event to be processed on the AgilePoint Server that is currently dedicated to processing events associated with that process instance.

Security Service (Authentication)

The service that manages the authentication in AgilePoint Server.

For more information, refer to Authentication.

Logging Service

The logging service lets you see errors and events that are recorded in log files in various locations. Logs show informational, warning, and error messages about the AgilePoint Server, the process engine, execution of activities, and errors that occur in network connection.

For more information, refer to I Need Help with AgilePoint Logs.

Event Service

The event service is a set of options that let you start a process-based app when a specified event occurs.

Integration Service

You connect AgilePoint NX applications to over 30 different third-party services out of the box. You can also add your own integrations with custom AgileConnector.

Timer Service

You can set the time for different actions in your process. For example, you can pause for a specified time before process continues, specify a time limit for the session to complete an activity, or set a limit on your expiration to your hours of operation.

Process Archiving Service

You can archive a process instance and all its related data to an archive database when the completed or canceled date for the process instance exceeds a specified number of days.

Data Population Service

The data population service lets you store the values for specified process data variables in a database. You can use this data for reports.

Data Tracking Service

The data tracking service monitors process data variables based on specified conditions. You can see the audit history report of the tracked data in the Manage Center on the Data Tracking tab if the value of the tracked variable meets the condition

Notification Service

This services sends a notification when an event occurs in a process. Notifications can send through apps such as e-mail, Microsoft Teams, Yammer, or Salesforce Chatter.

For more information, refer to Notification.

Multi-Tenant Architecture

The AgilePoint NX multi-tenant architecture is a platform that can run more than one tenant from one AgilePoint Server instance. In a multi-tenant environment, each tenant has its own, self-enclosed database.

Embedded Hosted Application

You can use AgilePoint NX components like eForm Builder and Manage Center in your own portal. It is not necessary to use the AgilePoint NX Portal application.

Windows Service (WCF)

WCF is a Microsoft framework for building service-oriented applications.

SQL Server

AgilePoint Server stores data in Microsoft SQL Server.

For more information, refer to System Requirements for AgilePoint Server.

Microsoft .NET Framework

AgilePoint NX is built on the Microsoft .NET Framework.

For more information, refer to System Requirements for AgilePoint Server.

IIS

Some web-based components of AgilePoint NX, such as AgilePoint NX Portal, require IIS.

For more information, refer to System Requirements for AgilePoint Server.

Messaging Service

The Messaging Service sends messages from applications with SMS.

Microsoft Operating System

AgilePoint Server runs on a Microsoft Operating System.

For more information, refer to System Requirements for AgilePoint Server.