Customer story: Using Boomi to facilitate ERP migration
There are a lot of moving parts when it comes to migration and integration projects, and each one has its own unique roadmap that requires specialization. For more than twenty years, Apps has been helping customers achieve their business goals with technology solutions that help streamline and enhance their processes.
In this customer story, we replaced a pharmaceutical industry client’s outdated legacy ERP system with Oracle Cloud ERP and used Boomi as the middleware platform.
As with any growing business, they realized their legacy ERP system was falling short for their business needs. The procurement and self-service requisition processes had no governance, which caused bad data and out-of-synch system data. The business needed a fully integrated global ERP solution.
Apps Associates helped the client assess various middleware technologies and decided to use Boomi as the middleware platform to pull, transform, implement business rules and load transactional data in Oracle Cloud ERP.
Development approach for Oracle Cloud ERP implementation
As with any implementation project, strong project management and a strategic foundation is essential to success. That foundation helps us create a solid development plan to execute for our customers.
The target system, Oracle Cloud ERP, exposes web services for all the data objects that integrate with the external systems. First, Apps identified the web services needed for loading the necessary data objects in the target system and tested it using Postman and Google REST Clients. We established working payloads to create and/or update all the data objects within the scope of the implementation.
The following Oracle Cloud ERP modules were implemented:
- Financials: General Ledger, Accounts Payable, Accounts Receivable, Fixed Assets (FA), CASH/ Purchasing and self-service requisitions
- Supply Chain Management: Planning Central, Manufacturing, Inventory, complex global transfer pricing, and COGS (Cost of Goods Sold) accounting configurations
Mapping Sessions
Mapping sessions are integral to the success of any data-heavy project. We conducted extensive mapping sessions with the client’s business users to build mappings between the source and the target systems, gathered and validated the business rules identified for each integration and documented the rules in the technical specifications document.
Testing Sessions
We built Boomi processes for happy path scenarios, then tested and reviewed them with business users and functional leads before working on all the use cases and test scripts defined for the integrations. We expanded the Boomi processes to include error handling and email notifications before UAT (User Acceptance Testing). We have subjected the integrations through rigorous testing cycles before UAT and production deployment.
Oracle Cloud ERP Integration Architecture Diagram
The client has business relationships with multiple 3PLs (3rd Party Logistics) and CMOs (Contract Manufacturing Organizations). The 3PLs and CMOs are the source systems that send transactional data to be loaded in Oracle Cloud ERP.
The 3PLS sends Customers, Account Receivables Transactions, and Inventory Movement transactions on a daily basis to be loaded into Oracle Cloud ERP.
Here is one challenge we addressed. These multiple 3PLs and CMOs each post data to their own SFTP servers. The client has the option to connect to each of the 3PL SFTP servers and pull data to process and load in Oracle Cloud ERP. This approach requires maintaining separate SFTP connections in Boomi for each of the 3PLs. (An expensive approach as it would end up consuming the Boomi connections as one connection each per 3PL and CMO.) We worked with each of the 3PL technical teams and convinced them to post data onto the client’s SFTP server instead. Now, the client can create just one SFTP connection and consume data from all the 3PLs.
Multiple SOAP Webservices? Try HTTP connections
This technical implementation involved dealing with multiple SOAP (Simplified Object Access Protocol) Webservices. We have an option to use a SOAP Client connection in Boomi for each SOAP Webservice. The SOAP client requires an independent connection for each endpoint. This approach would consume a lot of Boomi connections. Instead, we created HTTP connections to work with Oracle Cloud Webservices. With HTTP connections, you only need a unique connection for each unique host URL. The same HTTP connection could be used for multiple endpoints. This approach reduced the number of connections needed for the implementation from 12 to 4.
Sometimes you need a SOAP Client Connection
We ran into a web service that would send response payload back encoded in Base 64 format. The Boomi process was not able to correctly decode the response payload coming back from the web service when connected using the HTTP Client option. After multiple unsuccessful attempts to leverage the HTTP client connection instead of the SOAP Client connection, we created a SOAP Client connection for this specific Webservice.
Reusable Processes
We also built the following reusable components that can be used across multiple integrations.
File Validation Utility: All integrations involved at the client were file-based integrations and we built a generic File validation utility that validated the file name format and file format.
Email Notification Utility: We built a generic Email notification process to send Success, Error, or Info Email notifications with attachments where necessary.
Oracle Organization IDs Utility: We built a generic process to fetch Legal Entity IDs, Business Unit IDs, Organization IDs, and Inventory Organization IDs as required by various integrations.
Conclusion
By implementing the above approach we had a very successful go-live of the integrations mentioned and we set the stage for them to add on other integrations as needed in the future.
Apps Associates can be a life-long partner, assisting your business with everything from advisory services to implementations and ongoing managed services. To learn more, contact us today.