Project Partners Blog


Going Serverless with Oracle Primavera P6 EPPM – PART 2

Project Partners Blog Author:
Sachin Gupta | Oracle Primavera Solution Architect – Application Integration Specialist

In the previous article, we touched upon utilizing AWS serverless architecture with Oracle Primavera P6 EPPM Cloud. You can reference the article here.

In this article, we will see how to utilize AWS serverless architecture to cut down on processing time for a large volume of transactions, when importing them to Oracle Primavera P6 EPPM cloud using P6 web services.

One of the customers had the requirement of importing, roughly 50,000 financial transactions from their ERP application to Oracle Primavera P6 EPPM Cloud on a weekly basis. Additionally, they wanted to perform validation based on a pre-defined set of rules, for each transaction, during the import and capture of the information in UDF fields. This resulted in importing transactions individually instead of in a batch of 1000, as allowed by P6 web services.

This had a significant impact on the overall time required to process 50,000 transactions. With an average of 1 second per transaction, it required around 14 hours to import 50,000 transactions in Oracle Primavera P6 EPPM Cloud.

At 1 second per transaction –
50,000 transaction = 50,000 seconds or
(50,000/60) = 833.33 minutes or
(50,000/60/60) = 13.89 hours

This was a huge problem.

With the use of the AWS serverless architecture model and carefully choosing services to fit the requirement, the processing time was reduced considerably. All of this, without worrying about the additional cost of infrastructure or fluctuation in the volume of transactions in the future.

The transactions from ERP application were uploaded to Amazon DynamoDB.

AWS Lambda was configured to trigger when new data was inserted in DynamoDB. It was configured to trigger up to 10 Lambda functions concurrently. With 10 instances of lambda function processing the transactions concurrently at any given time, the overall time came down drastically from 14 hours to under 2 hours.

Previously, (50,000/60/60) = 13.89 hours
Now, (50,000/60/60/10) = 1.39 hours

Note: The distribution of data among instances of the Lambda function is not the same so the time will almost always be a little higher than the above (theoretical) calculation.

The above approach is just one way to reduce overall processing time. A carefully designed solution with a serverless approach can go a long way. Customers with on-premises integration solutions, who are constrained due to existing hardware configuration or otherwise, can also benefit by moving to a serverless architecture.

If you have a similar requirement and want to discuss how serverless architecture can be utilized effectively, then leave a message or drop an email directly to sgupta@projectp.com.

Project Partners is a long-standing Oracle Partner and global leader in optimizing business processes and IT investments within project-driven organizations.

www.projectp.com