4-page Case Study
Posted: 5/26/2010
1214
Rate This Evidence:

RedPrairie BPM Solution Provider Significantly Increases Developer Productivity with New Tools

RedPrairie wanted to make several enhancements to its business process management (BPM) solution, one of which was to make the design tools accessible to business users as well as developers. The company is using Microsoft Visual Studio 2010 Ultimate to develop the next version of its software, which takes advantage of the .NET Framework 4 to extend workflow design capabilities to nontechnical users, eliminate performance penalties for frequently persisted workflows, and deliver improved support for long-running workflows. Through its efforts, RedPrairie is enabling more users to harness the power of its software, helping them do so more productively, and increasing the software’s flexibility and performance. What’s more, the company is delivering those customer benefits quickly and effectively, with enhanced software quality and a significant increase in developer productivity.

Situation

RedPrairie provides inventory, transportation, and work force solutions that help manufacturers, distributors, and retailers reduce costs, increase sales, and create a competitive advantage—yet are flexible enough to adapt as business needs change. The company has approximately 1,500 employees in 20 offices around the world, including more than 500 software developers in five locations, and it boasts more than 40,000 customer sites in 50 countries.

One component of RedPrairie’s E2e software suite is its Business Process Platform, which helps companies meet the challenges of orchestrating and executing enterprisewide business processes. For example, coordinating a product recall requires ensuring that stores can’t sell the product, having stores pull the product off the shelf, issuing orders to return the product, and coordinating return transportation, each of which is typically managed using a different system.

“Most integration platforms are not designed to mirror real-world processes, orchestrate interaction between systems, and track the execution of those processes,” says Dan Piessens, Software Architect at RedPrairie. “Our Business Process Platform orchestrates the work done by different components of the E2e suite and integrates the necessary human interactions, such as e-mail notifications, entry of data into Web-based forms, and escalation procedures.”

The current version of the Business Process Platform consists of a server (runtime) component, a workflow design tool, and a monitoring application, all of which were developed using the Microsoft Visual Studio 2008 development system and are based on the Microsoft .NET Framework 3.5. The server component, which runs on the Windows Server operating system environment, uses Web services to coordinate the execution of business processes across systems. The design tool, which is based on Windows Presentation Foundation and runs within Visual Studio 2008, provides an environment for developing the desired workflows. The process-monitoring application, which also is based on Windows Presentation Foundation, provides visibility into workflow execution.

*
* Our new design environment will reduce the time required to develop workflow payloads by at least 50 percent, along with extending that capability to nondevelopers. *

Dan Piessens
Software Architect, RedPrairie

*
In planning for the next version of its Business Process Platform, RedPrairie wanted to make its workflow design tool accessible to business users as well as software developers. “Creating a workflow required using Visual Studio 2008 to open a workflow project, upon which developers could take advantage of the custom workflow activities that we provide,” explains Piessens. “Developers could assemble the main control flow of a workflow graphically but still had to write a lot of code to make it all work.”

RedPrairie also wanted to improve its solution’s support for long-running workflows—for example, it wanted to provide the ability to save a workflow’s state at multiple points and, if necessary, restart a workflow at any one of those points. “With Windows Workflow Foundation in the .NET Framework 3.5, you could save only one snapshot of a workflow,” says Piessens. “This made it harder to handle exceptions, such as when a Web service stopped responding or a person left the organization with an approval request still pending.”

In addition, the company wanted to eliminate potential causes of performance degradation. “The persistence runtime in Windows Workflow Foundation in the .NET Framework 3.5 saved the entire workflow instead of only the required data, which caused workflows that were persisted frequently to slow down the entire runtime,” explains Piessens.

Solution
RedPrairie is building the enhancements it wants in the next version of its Business Process Platform by using Microsoft Visual Studio 2010 Ultimate. Scheduled for release in mid-2010, the next version of Business Process Platform takes advantage of enhancements in the .NET Framework 4 to extend workflow design capabilities to nontechnical users, eliminate performance penalties for frequently persisted workflows, and deliver improved support for long-running workflows. RedPrairie also is taking advantage of resources provided by Microsoft Patterns & Practices, including the Microsoft Enterprise Library, Unity Application Block, and Composite Application Guidance for Windows Presentation Foundation and Silverlight (also known as “Prism”).

Building on New Workflow Features
All of the above improvements to the company’s Business Process Platform were made possible—or at least much easier—thanks to enhancements to Windows Workflow Foundation in the .NET Framework 4. “The latest version of Windows Workflow Foundation delivers significant improvements in many areas, including hosting workflows, managing data, and creating custom activities,” says Piessens. “We’re taking advantage of all these capabilities to deliver a better product.”

Continues Piessens, “The most significant new feature of our Business Process Platform is its business user–friendly workflow design experience—made possible because it’s now much easier to rehost the workflow designer that’s within Windows Workflow Foundation outside of Visual Studio. We built our own design application using Windows Presentation Foundation and are taking advantage of the workflow designer’s new extensibility points to host it within that application, thereby delivering a customized user experience. Developers can still use Visual Studio to design new workflows; it’s just not required anymore.”

*
* Windows Workflow Foundation delivers significant improvements in many areas, including hosting workflows, managing data, and creating custom activities. *

Dan Piessens
Software Architect, RedPrairie

*
RedPrairie’s adoption of the latest version of Windows Workflow Foundation also reduces performance penalties for frequently persisted workflows and delivers improved support for long-running workflows. “Developers at Microsoft rewrote the entire workflow persistence layer in Windows Workflow Foundation in the .NET Framework 4, making it much more extensible and efficient,” says Piessens. “Multiple snapshots of a workflow now can be persisted and only the required data is saved, resulting in significantly better performance and flexibility. We’re also using new features such as content-based correlation, which enables the correlation of a message to a given workflow instance based on data in the message, such as an order number.”

Also noteworthy is how RedPrairie is using workflow tracking in Windows Workflow Foundation in conjunction with its rehosted workflow design tool. “We use the rehosted design tool to replay workflows visually, and diagnostic information and execution statistics that are gathered through the use of workflow tracking are overlaid on the workflow diagram,” says Piessens. “One key benefit provided by our software is that we also track the length of time required to complete different versions of the same workflow. For example, we can capture that version 1 of a workflow takes two days, whereas version 2, in which people are notified twice as often, takes only one day to complete.”

Streamlining Application Development
RedPrairie is taking advantage of several resources from the Microsoft Patterns & Practices library to streamline development, including the Microsoft Enterprise Library, Unity Application Block, and Composite Application Guidance for Windows Presentation Foundation and Silverlight.

Enterprise Library. A collection of reusable software components (that is, application blocks) that encapsulate proven practices for application development on the .NET Framework, the Microsoft Enterprise Library assists software developers with addressing common issues such as logging, validation, data access, and exception handling. Application blocks are provided as source code, test cases, and documentation that can be used “as is” or modified by developers.

RedPrairie is using the logging, caching, and exception-handling application blocks on its server code and is using the logging block for its desktop client application. “We’ve used the Enterprise Libraries for several releases, going back as far as version 3.1,” says Piessens. “We’ve extended its application blocks heavily, building custom providers and adding custom design-time support to tailor the prewritten resources to our needs.”

Unity. A lightweight, extensible, dependency-injection container with support for constructor, property, and method-call injection, the Unity Application Block (Unity) helps developers build component-based software applications. “Componentized applications are much easier to maintain, extend, and test—and dependency injection provides a way to handle dependencies between objects in such an application,” explains Piessens. “For example, an object that processes customer information may depend on other objects that access a data store, validate the data, and check that the user is authorized to perform updates. Dependency-injection techniques help ensure that the customer class correctly instantiates and populates all of these objects, especially where the dependencies may be abstract.”

RedPrairie is using Unity for both components of its Business Process Platform. “Unity is core to both our client and server code, and we’ve extended it pretty heavily,” says Piessens. “Some may question the use of Unity for server code, but we’ve found it to be up to the task, giving us the high performance we required as well as a highly modular and testable application. In fact, we tested Unity in comparison to an activator class and found very little difference.”

Prism. The Composite Application Guidance for Windows Presentation Foundation and Silverlight (“Prism”) helps developers manage the complexity of large applications by breaking the applications down into smaller, simpler, individually evolvable pieces that come together at runtime. The guidance includes a reference implementation, reusable library code (named the Composite Application Library), documentation, “quickstart” tasks, and hands-on labs.

*
* The entire Visual Studio IDE seems more flexible—it’s easier to get it to do what I want. *

Dan Piessens
Software Architect, RedPrairie

*
“We used Prism as the user interface framework for our client—again taking the base library and extending it significantly,” says Piessens. “Prism provides us with a consistent, reliable base architecture for our presentation layer and allows us to focus on the development of the actual UI rather than the underlying infrastructure. Automatic event wiring, command support, and view presentation allow us to test our UI code more thoroughly and to create modular code that can be shared between the process monitor and process designer.”

Enhancing Software Quality
RedPrairie also is taking advantage of new and improved capabilities within Visual Studio 2010 Ultimate itself, such as its features for helping to ensure code quality. “Visual Studio 2010 delivers significant improvements in its integrated testing and code coverage tools,” says Piessens. “We’re using the unit test features extensively. We also like the automated user interface tests, which reduce manual test time and help ensure a consistent user experience, even at the display level. The test coverage tools and metrics provided in Visual Studio 2010 are also great—not only do they show what we’re testing but, more importantly, they show what we’re not covering and thus help us guarantee that critical areas of code have been tested.”

Piessens also likes the Architecture Explorer feature. “We use it to visualize the architecture and make sure the coupling points are correct,” he says. “This helps ensure that we’re following our own design guidelines.”

Detachable windows, improved multimonitor support, and other improvements in Visual Studio 2010 also are proving to be useful. “I use the window-docking features a lot,” says Piessens. “The entire Visual Studio IDE seems more flexible—it’s easier to get it to do what I want. It’s also more responsive and stable, which is great for developer productivity.”

Benefits
Through its use of the latest Microsoft development tools and technology, RedPrairie is delivering a new version of its Business Process Platform that empowers nondevelopers to design new workflows, increases productivity when using those workflow design tools, and improves performance and flexibility. What’s more, the company is delivering those customer benefits quickly and effectively, experiencing high developer productivity, and enhancing software quality overall.

Improved User Experience and Functionality
RedPrairie’s use of the rehostable workflow designer in Windows Workflow Foundation is giving business users of Business Process Platform a powerful visual design environment that eliminates the need to write code. Developers will benefit from the same improvements to the company’s tool set, which will increase developer productivity yet allow them to continue using the same, familiar tools.

“Our new design environment will reduce the time required to develop workflow payloads by at least 50 percent, along with extending that capability to nondevelopers,” says Piessens. “We’re achieving this improvement because the design tool completely eliminates the need to write code. Users see a list of resources, activities, and helpers instead of a list of code files, and they can choose services from a catalog that shows what’s running in our Business Process Platform.”

*
* Our move to the latest Windows Workflow Foundation in the .NET Framework 4 has increased developer productivity significantly. *

Dan Piessens
Software Architect, RedPrairie

*
RedPrairie also is improving its product’s support for long-running workflows and reducing performance penalties for frequently persisted workflows, both of which will make the company’s product more useful to customers. “It’s always a good thing when customers don’t need to worry as much about performance or inherent system limitations,” says Piessens. “Instead, they can focus on using our software to build workflows that model their complex, real-world business processes.

“For instance,” explains Piessens, “if a workflow step fails because of a Web service that is not responding, the user can see this failure and choose to reexecute the step after the Web service is active again. Or, if a user has been sent an approval request but leaves the organization before responding, the business process administrator can restart the workflow to send a new request to that person’s replacement.”

Increased Developer Productivity
RedPrairie’s use of the latest Microsoft development platform is increasing developer productivity. “Windows Workflow Foundation in the .NET Framework 4 uses Extensible Application Markup Language instead of code to author workflows, which enables developers to work in a declarative environment versus one that’s type compiled,” says Piessens. “Our move to the latest Windows Workflow Foundation in the .NET Framework 4 has increased developer productivity significantly. It enables developers to focus on the business logic aspects of the code—and to complete projects faster and under budget.”

The company’s use of Patterns & Practices also helps to reduce time-to-market. “The Patterns & Practices libraries handle a lot of code infrastructure, enabling us to focus on higher-level functionality,” says Piessens. “Unity provides a great foundation for delivering a loosely coupled application, with modules that are easy to extend, replace, and test. The Enterprise Libraries and Prism also provide a lot of code that we don’t need to build ourselves. Without Patterns & Practices resources, our development times would be at least 30 percent longer.”

High Software Quality
The development framework and tool set that the company chose is helping to ensure software quality in several ways. For one, they are enabling RedPrairie to focus on writing high-quality code without having to purchase third-party tools. “The Patterns & Practices resources we’re using definitely help improve software quality because they enable us to more easily build applications that are modular and easy to test,” says Piessens. “Similarly, the Architecture Explorer, code analysis, unit test, and code coverage tools in Visual Studio 2010 are all of great benefit when it comes to quality. Developers have confidence that their code is correct and meets design expectations, and product managers have greater confidence in the reliability of the code base. Given all the other benefits of our move to Visual Studio 2010, the fact that it also helps us to build applications that are easier to test and more robust is icing on the cake.”

Microsoft Visual Studio 2010
Microsoft Visual Studio 2010 is an integrated development system that helps simplify the entire development process from design to deployment. Unleash your creativity with powerful prototyping, modeling, and design tools that help you bring your vision to life. Work within a personalized environment that helps accelerate the coding process and supports the use of your existing skills, and target a growing number of platforms, including Microsoft SharePoint Server 2010 and cloud services. Also, work more efficiently thanks to integrated testing and debugging tools that you can use to find and fix bugs quickly and easily to help ensure high-quality solutions.

For more information about Visual Studio 2010, go to
www.msdn.microsoft.com/vstudio

For more information about Patterns & Practices, go to
http://msdn.microsoft.com/practices        

For More Information
For more information about Microsoft products and services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada Information Centre at (877) 568-2495. Customers in the United States and Canada who are deaf or hard-of-hearing can reach Microsoft text telephone (TTY/TDD) services at (800) 892-5234. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information using the World Wide Web, go to:
www.microsoft.com

For more information about RedPrairie, visit the Web site at:
www.redprairie.com

Solution Overview



Organization Size: 1500 employees

Organization Profile

RedPrairie provides software solutions for managing inventory, transportation, and work forces. The company has approximately 1,500 employees and is headquartered in Milwaukee, Wisconsin.


Business Situation

For the next version of its software, RedPrairie wanted to extend workflow design capabilities to business users, improve performance for frequently persisted workflows, and provide improved support for long-running workflows.


Solution

The company is meeting its goals by using Microsoft Visual Studio 2010 Ultimate to develop the next version of its software and taking advantage of enhancements to Windows Workflow Foundation in the .NET Framework 4.


Benefits

  • Improved user experience and functionality
  • Significant increase in developer productivity
  • High software quality


Software and Services
  • Microsoft Visual Studio 2010 Ultimate
  • Microsoft .NET Framework 4
  • Windows Workflow Foundation

Vertical Industries
High Tech & Electronics

Country/Region
United States

Languages
English

RSS