PhenomeCloud Insights

Workday® Studio Best Practices

Written by PEC | Mar 17, 2016 1:41:05 PM

                                                                               “Good fences make good neighbors.”

- Robert Frost

We love to tell true stories, especially when they help us make a point. This one is about a hapless rookie reports developer. His IT department invested in a low-budget reporting platform for their ERP and didn’t do anything to optimize the integration. The young developer tried to extract a massive dataset covering several years of transactions. Hundreds of people screamed when the ERP slowed to a crawl.

Fortunately, this developer was not in a multi-tenant environment, so he upset only a few dozen people, not thousands.

Workday® File Limits

Multi-tenant SaaS providers like Workday® have put controls in place to prevent tenants from running large, poorly designed integrations that use too much overhead. The safeguards include terminating processes that exceed these limitations:

  • The integration takes more than 2 hours to process.
  • The process generates more than 1 GB of files during the integration run.
  • Any single file is larger than 250 MB during the integration run.
  • It uses more than 1.5 GB of memory during processing.

While these “fences” help us be good neighbors in a multi-tenant environment, there is more we need to do to prevent glitches and support issues in our Workday® Studio integrations. Fortunately, Workday® engineers and customers have already experienced the pain and shared their experience. You can follow a few best practices to make sure your integrations run quickly and smoothly.

Studio

You can handle most of your integrations with Workday® using packaged integrations like  connectors, but situations do occur where a connector doesn’t exist or we have a unique requirement that requires the skills of a developer. For this purpose, Workday® provides Studio, an IDE for integration developers.

The assembly framework in Studio provides all the components you need such as splitting, transforming, aggregating, and streaming. It also provides all the standard transports in addition to the Workday®-In and Workday®-Out transports.

Best Practices

Using these components doesn’t optimize your integration for you. You will also need to follow these best practices.

Service limits. In addition to the restrictions mentioned above, you also need to consider these:

  • XPath operations are limited to a 1MB message size.
  • Custom reports cannot exceed 2GB.
  • Delivery and retrieval services in an integration cannot exceed 100 integration documents per integration run.

Scalability. The simple way to deal with scalability is to make all your integrations scalable. By assuming your data sets will grow to size that will be unmanageable as a single document you will prevent future issues. Workday® recommends you always use the splitter before you process your data, then aggregate it or invoke a paged web service.

Streaming. Some assembly components have streaming turn off by default. If you use them, turn streaming on. For instance, the stream-xpath property provides support for simple XPath expressions to improve performance.

Repetitive Web Services Calls.

There are many ways to deal with repetitive service calls that slow down traffic.

  • Java Hashmaps will reduce processing time for large data integrations in most cases, but they will not be the solution for every case. It depends on the complexity of the integration.
  • Use log files to store errors instead of the Put Integration Message component, which uses a Web service call on each execution.
  • Specify transaction log criteria to reduce overhead.

In-Memory Transformation

XSL and XLST load messages into memory in a Document Object Model (DOM) object. Avoid problems by using Streaming Transformation for XML .

Summary

To prevent future issues, we recommend you use these best practices on every custom integration, no matter how large or small. These general guides will help you know what to look for when you are planning a custom Workday® Studio integration. You can visit the Workday® Community to get the in-depth technical documentation you will need to optimize your integrations.

 

Phenomecloud is a full-service technology company dedicated to helping clients solve business problems, improve the capability of their people, and achieve better results.