Skip to main content

Integration Overview

There are four mechanisms of integrating with Eclipse/Eclipse Pro.

  1. Flat ASCII Files
  2. SQL Tables (not just SQL Server)
  3. JSON API (in progress)
  4. Directly

Flat ASCII / SQL Tables (Eclipse Pro and Eclipse Classic)

Flat ASCII files and SQL tables share the same data structures. The only difference is the interface mechanism. The ASCII file is CSV (comma separated value) table without headers. The processing logic is identical after reading either the ASCII file or the SQL table. Therefore, we will refer to both methods as Table Import.

Concurrency Differences Between File and SQL Interfaces

When importing data through files, managing concurrency is crucial to ensure data integrity. Unlike SQL interfaces, which handle concurrency inherently, file-based importing requires that only one system accesses a file at a time.

To safely import data into Eclipse:

  1. Use Buffer Files for Writing: Always write data to a temporary buffer file. For instance, if your target import file is named OrderIn.del, the system should write to a temporary file named OrderIn.temp.

  2. Rename After Completion: After writing to the buffer file, check if the target file (OrderIn.del) already exists. If it doesn't, rename the buffer file from .temp to .del. This makes the file available for Eclipse to process.

  3. Eclipse's File Processing: When Eclipse processes an import file, it first renames it (e.g., from OrderIn.del to another name) before starting the import process. This ensures no other system can access the file while it's being processed.

Exporting Data: Similarly, when Eclipse exports data, it writes to a buffer file (e.g., export.buf). Once the export is complete, Eclipse checks if the external system has removed the previous export file (export.del). If the file does not exist, Eclipse renames export.buf to export.del. Otherwise, it continues writing to export.buf until the previous export is processed.

Eclipse is known to work with the following SQL databases:

  • Microsoft SQL Server (all versions and editions)
  • Oracle
  • PostgresSQL
  • MySQL
  • AS/400 / DB2
note

Eclipse Classic should be able to work with any 32-bit ODBC driver. If your database is not on the list and you run into problems, contact AMS as we might need to create formatting rules (for example, Oracle requires a different date format than SQL Server).

We have no plans on deprecating the table based interfaces, even as we develop newer mechanisms.

JSON API (Eclipse Pro)

This will be where more advanced interactions are possible. The current interface is limited, but we can add new data endpoints as requested by customers. In addition to the transactional data that the table interface exposes, APIs can be used to access real-time status.

Directly (Eclipse Pro)

With Eclipse Pro, we have more ability to interface with external systems directly. So far, we have used the capability to interface with NetSuite. Each implementation of this interface has been unique and requires custom development work.

General

These mechanisms can be used concurrently. For example, Eclipse Pro can be configured to import from ASCII files and export to SQL tables.