How to Upgrade CData Arc

Version 22.0.8473


How to Upgrade CData Arc


CData Arc 2022 is the latest version of several earlier application releases, including the following:

  • ArcESB 2020 and 2021

  • RSSBus Connect 2016, 2017, 2018, and 2019

  • AS2 connector V2 (/n software)

  • AS2 connector V3, FTP connector V1, OFTP connector V2, and SFTP connector V1 (RSSBus)

  • IP*Works! EDI AS2 connector V7 (/n software)

Updating from an Earlier Build of CData Arc 2022

Windows

Stop the server (either through the embedded web server UI or in IIS, if applicable) and run setup.exe. The setup will detect the installation path, overwrite the older build, and leave all configuration data intact.

UNIX/Mac

The Java Edition of Arc 2022 is shipped in a compressed setup.zip file. Follow these steps to upgrade an existing installation of Arc 2022 to a newer build:

  1. Stop the Arc server.

  2. Unzip the arc.war file from the setup.zip archive and place it in /opt/arc/webapp/, overwriting the old file.

  3. (Optional) Unzip the arc.jar file from the setup.zip archive and place it in /opt/arc/, overwriting the old file.
  4. Start the server.

Notes for Java users

  • No matter how you choose to deploy Arc, the files and folders that are contained in the application directory (ApplicationDirectory) must be readable and writable by the user running the application. The service.sh script that is included with the Java Edition uses cdataarc as this user.

  • If the application was previously run as a different user and you want to restore the necessary permissions for a cdataarc user to run the application, the command should be similar to the following:

    sudo chown -R cdataarc:cdataarc /opt/arc

Upgrading from ArcESB 2021

Windows

Arc 2022 functions as a drop-in upgrade to ArcESB 2021; simply running the Windows installer for Arc 2022 will upgrade all necessary application resources. Arc 2022 requires new product keys to license the application, and you can request new keys from our sales team at [email protected].

The Windows installer for Arc 2022 attempts to detect existing installations of ArcESB 2021 and preserve the connectors, flows, and settings from the existing installation. If ArcESB 2021 was not installed in the default location, it might be necessary to point the Arc 2022 installer to the folder on disk where ArcESB 2021 was installed.

Arc 2022 can be installed separately from ArcESB by directing the Arc 2022 installer to a different folder than the one in which ArcESB was installed. Installations will not interfere with each other as long as they are installed to different folders.

UNIX/Mac

The Java Edition of Arc 2022 is provided through a setup.zip file. Follow these steps to upgrade an existing installation of ArcESB 2021 Java Edition to Arc 2022:

  1. Unzip setup.zip to /opt/arc/.

  2. Stop the server (for example, sudo systemctl stop arcesb).

  3. If upgrading an installation that utilizes the Embedded Jetty Server, run sudo bash /opt/arc/upgrade.sh, optionally specifying the -InstallDirectory parameter if your previous installation used a non-default path. If upgrading an installation that utilizes an external servlet container (for example, Apache Tomcat or External Jetty), see the instructions for your servlet container.

  4. Start the server either as a service (for example, sudo systemctl start arc) or in-process (for example, java -jar arc.jar).

Notes for Java Users

  • No matter how you choose to deploy Arc, the files and folders that are contained in ApplicationDirectory must be readable and writable by the user running the application. The service.sh script included with the Java Edition uses cdataarc as this user.

  • If the application was previously run as a different user and you want to restore the necessary permissions for a cdataarc user to run the application, the command should be similar to the following:

    sudo chown -R cdataarc:cdataarc /opt/arc

Upgrading from ArcESB 2020

Windows

Arc 2022 functions as a drop-in upgrade to ArcESB 2020. Simply running the installer for Arc 2022 will upgrade all necessary application resources. Arc 2022 requires new product keys to license the application, and you can request new keys from our sales team at [email protected].

The installer for Arc 2022 attempts to detect existing installations of ArcESB 2020 and preserve the connectors, flows, and settings from the existing installation. If ArcESB 2020 was not installed in the default location, it might be necessary to point the Arc 2022 installer to the folder on disk where ArcESB 2020 was installed.

Arc 2022 can be installed separately from ArcESB 2020 by directing the Arc 2022 installer to a different folder than the one in which ArcESB 2020 was installed. Installations will not interfere with each other as long as they are installed to different folders.

UNIX/Mac

The Java Edition of Arc 2022 is provided through a setup.zip file. Follow these steps to upgrade an existing installation of ArcESB 2020 Java Edition to Arc 2022:

  1. Unzip setup.zip to /opt/arc/.

  2. Stop the server (for example, sudo systemctl stop arcesb).

  3. If upgrading an installation that utilizes the Embedded Jetty Server, run sudo bash /opt/arc/upgrade.sh, optionally specifying the -InstallDirectory parameter if your previous installation used a non-default path. If upgrading an installation that utilizes an external servlet container (for example, Tomcat or External Jetty), see the instructions for your servlet container.

  4. Start the server either as a service (for example, sudo systemctl start arc) or in-process (for example, java -jar arc.jar).

Notes for Java users:

  • No matter how you choose to deploy Arc, the files and folders that are contained in ApplicationDirectory must be readable and writable by the user running the application. The service.sh script included with the Java Edition will use cdataarc as this user.

  • If the application was previously run as a different user and you want to restore the necessary permissions for a cdataarc user to run the application, the command should be similar to the following:

    sudo chown -R cdataarc:cdataarc /opt/arc

Arc 2022 includes several improvements that might cause the application to behave differently from an ArcESB 2020 installation:

  • Arc 2022 manages users within the application rather than through server configuration, so some user settings may not transfer.

  • Arc 2022 does not automatically preserve subfolder structures found on FTP and SFTP servers.

  • Arc 2022 does not require Windows administrator privileges to run by default, so some folder permissions may need to be updated.

User Management

Previous versions of Arc managed users via the server configuration XML files (for example, Web.Config or server.xml). Arc 2022 brings user management within the application itself, introducing a Users tab in the Settings page.

Users configured in previous versions will not persist in the new installation of Arc 2022 and should be re-created as necessary within the Users tab. More information about user management can be found in the User Roles page.

Subfolders in File Based Connectors

Note: This section is relevant only for users with file-based connectors (including File, FTP, and SFTP) that preserve the folder structure from remote file systems.

Previous versions of Arc exhibited the following behavior:

These file-based connectors target a single folder on a remote server from which to upload or download files. When files should also be downloaded from subfolders within this target folder, this same subfolder structure was re-created locally in the connector’s Output directory. Likewise for uploads, these connectors treated a file being in a subfolder of the Input directory as an indication of the subfolder the file should be placed in on the remote file system. This recreation of subfolder structure is what is meant by “preserving subfolder structures”.

Arc 2022 requires the use of the File connector to mirror folder structures on remote systems. These file based connectors add a subfolder header to downloaded files if the file was stored in a subfolder of the target folder on the server. This subfolder header is used to automatically reproduce the subfolder structure when files are uploaded to remote file systems.

Overriding Local Folders

In versions of Arc earlier than Arc 2021, you could override the Send, Receive, and Sent folders for individual connectors by using Connector Settings. Starting with Arc 2021, these options are no longer available in the interface, and direct overrides of connector folders are discouraged. Instead, it is recommended to use a File connector to manage local file systems.

If necessary, you can still manually override the SendFolder, ReceiveFolder, and SentFolder properties of connectors in Connector Settings by using the field under Advanced > Miscellaneous > Other Settings. If these settings were overridden for a connector in a previous release, the configured settings will be present here.

If you choose to use this method to override local folders for the connector, it is recommended that you set the value under Advanced > Processing Delay to a non-zero value in seconds (for example, 10) to prevent Arc from processing files that are still being written by an external process.

Windows Application Directory

The Windows edition of Arc 2022 stores the Application Directory (which holds the data for flows, connectors, profile settings, and so on) in the C:\ProgramData folder by default. Previous versions of Arc used the C:\Program Files folder to house ApplicationDirectory. This change helps ensure that Arc 2022 can run without administrator privileges by default.

When you upgrade from Arc 2020 to Arc 2022, the application re-uses ApplicationDirectory from the previous (2020) installation, but it still attempts to run without administrator privileges by default. As a result, it might be necessary to set the access permission rules on ApplicationDirectory within C:\Program Files to allow Arc access with lower running permissions.

Upgrading from RSSBus Connect 2016, 2017, 2018, or 2019

This section describes the process of upgrading from an earlier release of Arc or RSSBus Connect.

For help with upgrading from an earlier version than RSSBus Connect 2016, see Upgrading from AS2 Connector.

Drop-In Upgrade

Windows

Upgrading to Arc 2022 from RSSBus Connect 2016, 2017, 2018, or 2019 can be a one-step in-place upgrade. Simply run the Arc installer to update application resources (EXE, DLL, JAR, and WAR files) without disturbing configuration data.

If the Arc installer detects an RSSBus Connect installation, the installer uses this same installation path to store configuration data (profile, connectors/ports, certificates). Thus, the settings from older versions are used automatically by the new Arc installation.

UNIX/Mac

The Java Edition of Arc 2022 is provided through a setup.zip file. Follow these steps to upgrade an existing installation of RSSBus Connect Java Edition to Arc 2022:

  1. Unzip setup.zip to /opt/arc/.

  2. Stop the server (for example, sudo systemctl stop rssbus).

  3. If upgrading an installation that utilizes the Embedded Jetty Server, run sudo bash /opt/arc/upgrade.sh, optionally specifying the -InstallDirectory parameter if your previous installation used a non-default path. If upgrading an installation that utilizes an external servlet container (for example, Tomcat or External Jetty), see the instructions for your servlet container.

  4. Start the server either as a service (for example, sudo systemctl start arc) or in-process (for example, java -jar arc.jar).

Notes for Java users:

  • No matter how you choose to deploy Arc, the files and folders that are contained in ApplicationDirectory must be readable and writable by the user running the application. The service.sh script that is included with the Java Edition uses cdataarc as this user.

  • If the application was previously run as a different user and you want to restore the necessary permissions for a cdataarc user to run the application, the command should be similar to the following:

    sudo chown -R cdataarc:cdataarc /opt/arc

Arc 2022 includes several improvements that might cause the application to behave differently from an RSSBus Connect installation:

  • Arc 2022 manages users within the application rather than through server configuration, so some user settings may not transfer.

  • Arc 2022 does not automatically preserve subfolder structures found on FTP and SFTP servers.

  • Arc 2022 does not require Windows administrator privileges to run by default, so some folder permissions may need to be updated.

Transferring Configuration Data Manually

If an in-place upgrade is not possible, configuration data can still be transferred easily from previous versions of Arc/RSSBus Connect.

The first transfer method is to export connector (port) settings from the older version and import these connectors (ports) in the new version. Connectors (ports) can be exported from the Ports tab by clicking Settings (the gear icon) in the upper right of the window and selecting Export Port Settings. In later versions of RSSBus Connect, connectors (ports) can be exported from the Flows tab by right clicking the connector (port) in the flow and selecting Export Port Settings. Connectors can be imported from the Flows tab of Arc by clicking Settings and selecting Import Workspace.

The second method transfers all configuration data at once by managing folders on disk. All configuration information is held in the data folder of the installation directory. Copying the data folder from a previous version into the same folder in the latest version effectively copies the entire application configuration.

The default installation directory for Arc is as follows:

  • Windows: C:\Program Files\CData\CData Arc

  • Java: /opt/arc

The default installation directory for RSSBus Connect is as follows:

  • Windows: C:\Program Files\RSSBus\RSSBus Connect

  • Java: ~/rssbus/connect

On a UNIX system, ‘~’ resolves to the home directory of the user where the Java servlet is installed. On a Windows system, ‘~’ resolves to %ProgramData%.

Note: If you do not see the Arc installation directory, check for the RSSBus Connect default installation directory. The Arc installer attempts to detect RSSBus Connect installations and use the pre-existing folder structure from RSSBus Connect.

Upgrading Application-Data Source Connectors

Arc introduced a new approach to connecting to external data sources that are applications rather than traditional databases (for example, Salesforce, NetSuite, QuickBooks, and so on). In RSSBus Connect, each external data source application required a dedicated connector (port) to interface with the application. In Arc, a single connector called the CData connector is used to connect to each application data source.

CData Drivers

The CData connector uses CData drivers to connect to a specific data source. CData Software provides the ADO.NET and JDBC drivers that enable connectivity to hundreds of cloud and on-premises applications, databases, and more. These drivers were used beneath the surface in previous RSSBus Connect connectors (ports), so the interface and approach to accessing data in these application data sources has not changed.

To upgrade this set of connectors (ports) to Arc, you must install and configure the appropriate CData driver in a CData connector. See the CData Connector documentation for details on installing CData drivers. Once the CData driver is installed and selected within the CData connector’s settings, the CData connector can be configured with the same connection settings and credentials that were used in RSSBus Connect connectors (for example, the Salesforce connector, the HubSpot connector, and so on).

Upgrading External Connectors

A small number of connectors that were previously external are now embedded in Arc 2022:

  • SQL Server

  • Oracle

  • PDF

These connectors are installed appropriately along with the rest of the application, and they no longer require additional downloads.

Overriding Local Folders

In versions of Arc earlier than Arc 2022, you could override the Send, Receive, and Sent folders for individual connectors by using Connector Settings. Starting with Arc 2022, these options are no longer available in the interface, and direct overrides of connector folders are discouraged. Instead, it is recommended to use a File connector to manage local file systems.

If needed, the SendFolder, ReceiveFolder, and SentFolder properties of connectors can still be overridden manually in Connector Settings by using the field under Advanced > Miscellaneous > Other Settings. If these settings were overridden for a connector in a previous release, the configured settings will be present here.

If you choose to use this method to override local folders for the connector, it is recommended that you set the value under Advanced > Processing Delay to a non-zero value in seconds (for example, 10) to prevent Arc from processing files that are still being written by an external process.

Upgrading from AS2 Connector

This section also applies to upgrading from FTP Connector, OFTP Connector, and SFTP Connector.

Installing CData Arc

Windows Users

The Windows installation of Arc targets a different installation path than earlier versions of the product, and it listens on a different port. This change ensures that both releases can be run side-by-side without conflicting with one another. Simply run setup.exe and follow the prompts to install the application on the machine.

Java Users

As with previous versions of the AS2 connector (and other releases in the connector family), the application is provided as a distributable arc.war file. If you distribute this WAR file to your Java server by using the server’s built-in deployment wizard, this replaces your existing installation of the AS2 connector in its entirety, including trading partner profiles.

If you want to perform an in-place upgrade of the AS2 connector and still preserve your profile settings between installations, create a copy of your previous installation’s data folder before you deploy the new package. This data folder is located in /WEB-INF/data/ under the existing web application folder. Once you copy this folder into a new location, deploy Arc in place of the existing installation. When you launch the application for the first time, the connectors (ports) are not configured. Click Import Profiles to specify the location where you copied your data folder to restore your profiles.

Alternatively, you can rename the arc.war file that is provided with Arc to install this version of the application as a parallel application.

Importing Profile Information

If you are upgrading from an earlier version of the AS2 connector, SFTP connector, or other previous versions, there are several methods available to detect and import your existing partner profile configurations.

Import Automatically

If you install the Windows edition of Arc on a machine where a previous version of the application was installed, the installation program attempts to detect the installation of the previous version, and it can import the profile settings from it. If a partner profile is detected that has the same name as one already configured in Arc, this process creates a duplicate entry with a number appended to the identifying field to ensure that it is unique. You can safely delete duplicate profiles after they are imported.

Import Using the Admin API

Arc’s Admin API includes an import action that you can use to import settings from previous versions. The import action requires three parameters:

  • Arcflow - The base64-encoded string containing the flow data. This string can be generated by base64-encoding the entire file contents of a .arcflow file.

  • Overwrite - How Arc should respond if an imported profile/partner configuration causes a conflict with the current configuration. If the value is True, the existing configurations are overwritten. Otherwise, an error is generated.

  • WorkspaceId - The workspace into which the flow will be imported. If this parameter is unspecified, the application attempts to determine which workspace to import into (based on workspace values within the flow that is being imported) and fall back to the default workspace if necessary.

All requests to the import action must be sent as HTTP POST requests.

For more information about the Admin API, see Admin API.

Configuring a Transparent Upgrade

After you run the installer for Arc and import partner profiles from a previous installation of the application into Arc, the new version has backwards compatibility for receiving URLs in the old version. However, there are two key differences:

  • Arc uses a different local port than the application server that hosted the previous installation of the application. This behavior avoids conflicts with the installation of a previous version of the AS2 connector so that you can maintain both versions of the application and transfer partners to the new version at your own pace.

  • The Incoming, Outgoing, and Sent folders from the previous installation of the AS2 connector are not imported automatically into the profiles that are used in Arc. By default, the application uses its own local file resources, so it does not interfere with the currently running instance of the application. This also ensures that, if automation is enabled in the previous profile, the application does not immediately begin sending files that are waiting to be sent in the older version of the AS2 connector.

To replace your instance of the AS2 connector:

  1. Determine whether you want to use the old folder structure from the previous installation of the AS2 connector or use the Arc default folder structure.

  2. Determine whether you want to use your existing receiving URL or a new one.

Keeping Your Previous Folders

Arc 2022 adds a new File connector that enables you to interact with external folders in the file system as a separate logical step in your message flow. This process enables you integrate with the local file system by using the same resources that you used previously. However, if you add additional connectors in the future, the application creates these in a different data folder by default.

The following image shows an example of a flow that uses File connectors in this way:

See Interacting with the Local File System for information about how to configure File connectors for this purpose.

Advantages

The existing back-end business logic is preserved for configured trading partners.

Disadvantages

Additional connectors use a different data folder by default.

Switching to Use the New Folders

If you plan to add more partners or configure additional connectors in Arc, it might be best to switch to the new folder structure that Arc uses by default. This structure is described below.

The Arc ApplicationDirectory contains all connector and profile configuration data. Each configured connector in Arc has its own folder within the data folder (for the default workspace) or appropriate workspace folder within the workspaces folder. The connector-specific folder contains the following folders:

  • Logs - A folder where the connector writes connector-specific logs.

  • Pending - Connectors that wait for a partner response store pending messages in this folder (only certain connector types require this).

  • Receive - Connectors that receive or download files from an external source place those files in this folder. Connectors that operate on local data (without sending or receiving from an external source) place files here after they are processed.

  • Send - Files that are placed in this folder are slated to be processed, sent, and uploaded by the connector.

  • Sent - The connector places a copy of processed, sent, and uploaded files in this folder.

For AS2 connectors, place files that should be sent to external trading partners in the connector’s Send folder, and pick up files that are received from external trading partners in the connector’s Receive folder.

Advantages

A consistent folder structure is maintained if additional trading partners are configured.

Disadvantages

Business logic may need to be reconfigured to use the new folder structure.

Using a New URL

The server provided with Arc listens on different ports and uses different URLs for receiving AS2 transmissions than earlier releases. After you import your profiles into Arc, you must update your trading partners so that they are sending to your new Receiving URL.

By default, the server provided with Arc listens in plaintext on port 8001 and uses SSL/TLS on port 8401. You can find the Receiving URL by clicking Profile > AS2.

Advantages

  • Trading partners transition at their own pace.

  • There is no downtime.

Disadvantages

  • Trading partners need to change your URL in the profile configuration on their end.

  • An additional port must be opened on the firewall.

  • Both versions of the application are maintained.

Using the Existing URL

To receive requests on the same URL that is used by the previous version, stop the server hosting the previous version so that the same port can be assigned to Arc. You also need to assign the server to the same port that you were using for the previous version. You can configure the port by right-clicking the icon in the system tray and then clicking Server Options. The application automatically recognizes requests to resources that were supported in previous versions of the application (/as2connector/pub/ReceiveFile.rsb and /Receiver.aspx, for instance) and forwards them to the appropriate resources in Arc.

Advantages

  • Trading partners do not need to change profiles.

  • Maintain one system.

Disadvantages

  • Downtime while old server is stopped to free up a port for the new server.

  • Existing profiles must first be imported.

Note: If the port that you configure is an SSL/TLS-enabled port, you also need to configure the same SSL/TLS certificate that is used for the previous version of the AS2 connector on this port. If you previously hosted an SSL/TLS port in Arc, the same certificate store is the location of SSL/TLS certificates in Arc (the local machine’s personal account).

After you configure Arc to use the same port that you used in older versions of the application, you start receiving incoming transmissions at the folders configured above.

Upgrading an Amazon AMI

Arc 2022 has a dedicated AMI in the AWS Marketplace that you can use to create a new EC2 instance running Arc. To preserve all application data, follow the instructions in Manual Backup for how to copy application folders directly from the file system. To make a persistent copy of the relevant folders, they must be copied from the Amazon VM to a local machine via a transfer protocol like SFTP or SCP; then, the same folders must be transferred to the new EC2 instance created from the latest AMI.