How to Integrate AS/400 with Salesforce – Real World Examples

In the following post I will examine some of the ways I have seen customers integrating AS/400 applications with Salesforce applications.

We shall examine the following scenarios:
1. Integrating at the data layer
2. Real time integration using APIs & Connectors
3. Using .NET as a bridge between Salesforce & AS/400
4. Enterprise Mashups with Salesforce & AS/400 applications
5. Integrate AS/400 apps and Salesforce using Salesforce Connect
6. Integrate + Migrate Data from AS/400 Application to Salesforce


1. Integrating at the data layer

Integrate AS400 and Salesforce without using any middleware connector


Periodic Batch Updates

Transfer data from AS/400 to Salesforce

Step 1. From AS/400 publish CSV file

Step 2. Run a script (e.g. php script via cron job) to parse that csv file and upsert Salesforce

Transfer data from Salesforce to AS/400

Step 1. From Salesforce export csv file using export or Data Loader

Step 2. Import data from csv file to AS/400


Integrate AS400 and Salesforce using middleware connector


Customer case study

Update Salesforce based on changes in AS400:
Using Jitterbit connector with ODBC/JDBC to connect to AS400 & poll for changes – then upload these to Salesforce.

Update AS400 when records change in Salesforce:
Use Outbound Messages to send changes from Salesforce to Jitterbit server and then to AS400.

Notes about data layer integration with Salesforce

As in the above example, to connect to AS/400 several middleware (webMethods & Tibco) have created adapters. Many connectors (e.g. Jitterbit, Cast Iron, Boomi, Mulesoft, Informatica, Jitterbit, OSB & others) enable direct connection to database (AS/400 DB2)

These connectors also provide other features like mapping of data between DB2/400 & Salesforce, transformation, duplication management, securely exposing on-premise DB2/400 data to cloud, and other services.


2. Real time integration using APIs & Connectors

For the real time Salesforce integration, there can also be a business use-case to invoke CICS and COBOL programs. Oracle Tuxedo, Software AG EntireX and similar programs  can be used for such use cases. Apache has open source programs to run service layer on AS/400. These can be used to expose web services for AS/400 applications. Middlewares can then call these web services in real time.

Bidirectional real time sync plus batch integration customer example

Customer case study – MoMA

MoMA (Museum of Modern Art) integrates Salesforce with AS/400 to get a single view of donors, visitors and customers. The integration was completed in 14 weeks using Cast iron.

Integration to Salesforce could be real-time using SOAP or REST services as well as batch using bulk operations.


3. Using .NET as a bridge between Salesforce & AS/400


Customer case study

You can create your own middleware connector too! One of the customers I worked with used .NET to create a bridge between DB2/400 & Salesforce. .NET applications could connect to DB2 using AS400 .Net data provider. These .NET applications could also connect to Salesforce using Salesforce Toolkit for .NET

Salesforce Toolkit for .NET:

AS400 .Net data provider:

More information about .NET to AS/400 connection:


4. Enterprise Mashups with Salesforce & AS/400 applications


Salesforce Canvas SDK allows you to embed other applications in Salesforce UIs. As an example the credit information for a customer may exist in AS/400 app. Within the Salesforce account page you can embed the AS/400 app page such that credit information for each account is accessible to the Salesforce user (say a financial analyst), right from the account page itself.

Salesforce Canvas works with web apps as it uses JavaScript SDK. I see customers who have web front-ends to their mainframes (i.e., for auxiliary purposes) so they can re-use or create new ones off those web servers.

Customer Example

YouTube Video showing AS/400 app embedded inside Salesforce using Salesforce Canvas:

Ask the PM – What is Canvas?


5. Integrate AS/400 apps and Salesforce using Salesforce Connect

Salesforce allows you to connect to external systems and pull data from these systems into Salesforce in real-time. The external data is pulled into Salesforce and stored in memory only and is not stored in Salesforce objects. Salesforce can connect to external systems which expose their data as OData endpoints.

If an application does not natively expose its data as an OData endpoint then an OData adapter can be used to convert the legacy systems data into OData webservice endpoint and expose it over the web.


Customer Example

A customer had JDE E1 application running on DB2 database in AS/400. The challenge was that the JDE E1 did not natively expose its data as OData web service.

Progress Software’s OData adapter was used to expose the DB2/400 data as OData endpoint. This OData adapter sits in the middle and allows Salesforce Connect to get data from DB2/400.

Once the data is in Salesforce, it can then be displayed, say, as a related list in accounts – and even more excitingly this DB2 data is also available on mobile devices for your field people


6. Integrate + Migrate Data from AS/400 Application to Salesforce

Customer Example

Slide 54 in this guide shows the migration of a customer data from InforERP System 21 to Salesforce:

The accounts data from the from the customer’s legacy CRM was migrated to Salesforce using Cast Iron Integration Appliance. The sample orders from Infor was integrated into Salesforce.

The full integration was completed in 10 days.

In Conclusion

There are many ways to integrate with Salesforce. Your integrations can range from traditional data migration, data integration & data cleansing to more sophisticated composite and service oriented platforms. With the help of pre-built connectors as well as programmatic APIs you should be able to quickly integrate your business applications running on AS/400 with Salesforce for a unified view of your business.