4-page Case Study
Posted: 4/11/2010
Rate This Evidence:

Epicor Software Corporation Software Company Eases Development, Reduces Server Requests by 90 Percent

Epicor is a global software company that creates enterprise resource planning (ERP) solutions for manufacturing firms and other customers. A growing number of Epicor customers wanted a more flexible version of Epicor 9, the company’s flagship ERP solution. Epicor also sought to reduce the time it spent on framework development and wanted to lower the traffic to its Microsoft SQL Server database. The company took advantage of the Microsoft Visual Studio 2010 development system and the Microsoft .NET Framework 4, which includes a new version of the Microsoft ADO.NET Entity Framework. This software, which supports large data models, has greatly eased development for Epicor programmers and reduced SQL Server database requests by 90 percent. Epicor also saves time and money on development and can deliver products to its customers faster.


Based in Irvine, California, Epicor is a Microsoft Gold Certified Partner that develops innovative enterprise resource planning (ERP) solutions for small and midsize businesses and Global 1000 companies in more than 150 countries. Most of the organization’s 20,000 customers work in the manufacturing distribution, hospitality, retail, and business services industries.

* The improvements in the Microsoft .NET Framework 4 will help our programmers do fewer tasks in less time than before. That means we can go to market faster, and with more features.  *
Erik Johnson
Vice President, Product Research
The organization’s most widely used ERP solution is Epicor 9, a service-oriented architecture (SOA) product that is based on the Microsoft Visual Studio 2008 development system and the Microsoft .NET Framework. Epicor 9 also uses Microsoft SQL Server 2008 data management software to support its data repository. The product has separate client, business logic, and database layers.

The solution is designed to give employees the data they need to make the right business decisions. “Epicor 9 handles all the critical business processes in an organization, such as ordering, inventory, purchasing, financials, and human resources,” says Erik Johnson, Vice President, Product Research, Epicor.

Recently, many Epicor customers expressed a need for additional functionality and flexibility in Epicor 9. For example, customers wanted to be able to perform database queries with compiler support, so if programmers misspelled a SQL Server table name, the language could still help them write good queries. “For that to work, you need a data model,” says Johnson. “Until recently, our customers built their own data models. But there was no application programming interface for the database besides SQL Server itself.”

This was problematic for many customers. “People were asking us how to get their own code to mirror the behavior of Epicor 9 with regard to updates,” says Johnson. “Their programmers wanted to do things the same way as our application code did things. It became clear to us that we needed to give our customers a certified data model they could use.”

Also, Epicor 9 uses Language-Integrated Query (LINQ)—a Microsoft .NET component that adds native querying functionality to .NET languages—which Epicor has provided to its customers for their SQL Server databases. “We do a lot of framework development, but our objective is to avoid customizing the technologies we work with,” Johnson says. “We did not want to have to be LINQ providers.”

Additionally, Epicor wanted to help reduce traffic to the SQL Server database. “We saw that for each line item of a sale, for example, customers want to verify the department or shipping date, and many of those database queries are the same for each of those items,” says Johnson. “It’s difficult to do those queries once across all line items, so there was a lot of traffic to SQL Server and that affected scalability.”

Epicor also sought to simplify development for its team of 400 developers. “During development, we often had to work with the same table in multiple data models, which was confusing because our developers often have to keep track of which model has changes in it during updates,” Johnson says.


In early 2009, Epicor started searching for a new .NET data access API that its customers could use. However, the company could not find a high-performing solution that would support the large data model size needed for Epicor 9. “Epicor 9 has 1,600 SQL Server tables,” says Johnson. “We looked at solutions that just couldn’t handle that database size, and we didn’t think we could change the solution behavior to fit our needs.”

* The ADO.NET Entity Framework 4 gave us the data model size support and performance we needed, so we did not have to spend time and effort writing our own solution.  *
Erik Johnson
Vice President, Product Research
The company considered creating its own solution. However, Epicor changed its mind when it learned about the features in Microsoft Visual Studio 2010 and the Microsoft .NET Framework 4.

In particular, the .NET Framework 4 includes the Microsoft ADO.NET Entity Framework 4, which helps developers create data access applications by programming against a conceptual application model. With the ADO.NET Entity Framework 4, developers can reduce the amount of code and maintenance needed for data-oriented applications. The technology also features enhanced performance and better support for large data model sizes.

The Entity Framework 4 includes templates for code generation based on the T4 code-generation technology in Visual Studio 2010. Developers can customize these templates to provide richer functionality, such as implementing custom interfaces.

Also new in the .NET Framework 4 is a programming model for writing multithreaded code, which can simplify application development. Developers can use this model to create scalable parallel code without the need to work with threads or a thread pool. In addition, the .NET Framework 4 provides enhancements in Windows Communication Foundation, such as a simplified configuration model and the inclusion of a routing service with which developers can create a single up-front layer for accessing back-end services.

Epicor implemented beta versions of Visual Studio 2010 and the .NET Framework 4 in late 2009. The company used these products to develop Epicor 9.05, the latest version of its flagship ERP solution.


By using Microsoft Visual Studio 2010 and the Microsoft .NET Framework 4, Epicor has support for its large data models and created a new version of its flagship product. The company has also greatly simplified development and reduced traffic to SQL Server by 90 percent. Additionally, Epicor has lowered its overall development costs and can bring products and features to customers more rapidly.

Supports Large Data Models

Because the ADO.NET Entity Framework 4 can support large data model sizes, Epicor could use the technology to create Epicor 9.05. “The earlier version of the Entity Framework did not handle our data model size very well, and we experienced delays in testing,” says Johnson. “Those problems have all been solved with the ADO.NET Entity Framework 4.”

As a result, Epicor did not have to create its own in-house data access solution. “Initially, we planned to write our own data access layer because of our data model size and the unique behavior of our application, which we needed to replicate in our data access tier,” says Johnson. “The ADO.NET Entity Framework 4 gave us the data model size support and performance we needed, so we did not have to spend time and effort writing our own solution.”

* We conducted some performance tests recently with existing code, and we were able to reduce the requests to SQL Server by 90 percent. That is because of the ADO.NET Entity Framework 4.  *
Erik Johnson
Vice President, Product Research

Simplifies Development

With Visual Studio 2010 and the .NET Framework 4, Epicor developers took advantage of the flexibility of the T4 code-generation templates when creating Epicor 9.05. “The ADO.NET Entity Framework 4 separates the data model from the code that it generates,” says Johnson. “The T4 templates drive what the code looks like, and that made it easier for us to edit those templates so the code turned out exactly the way we wanted it to look.”

Epicor developers also made use of the new parallel programming model in the .NET Framework 4 and the new features in Windows Communication Foundation to further simplify development of Epicor 9.05. “Using parallel extensions in the .NET Framework 4, we can do batch processing on the database by reading records and then creating tasks that can be handled in the background,” says Johnson. “Our developers no longer have to create and manage threads to do that.”

With the simplified configuration made possible by the new version of Windows Communication Foundation, developers can also create Web services more easily. “We have about 1,000 Web services in Epicor 9, and our developers used to create 1,000 entries in a configuration file to create the endpoints,” says Johnson. “With Windows Communication Foundation in the .NET Framework 4, only one entry is required for all of those Web services in Epicor 9.05.”

Reduces Server Requests by 90 Percent

By using the new T4 code-generation templates, Epicor could modify templates and build a new API into its solution. “We combined the idea of compiling queries and caching query results because of the template flexibility,” says Johnson. “Now, we can look in the ADO.NET Entity Framework 4 object state manager to check if a row was already there, or if it was already retrieved using the exact same query with the same parameters.”

With these new streamlined development processes, Epicor has reduced the load on SQL Server and increased the overall application responsiveness. “We conducted some performance tests recently with existing code, and we were able to reduce the requests to SQL Server by 90 percent,” says Johnson. “That is because of the ADO.NET Entity Framework 4.”

Saves Time and Money

When Epicor realized it did not have to write its own new data access layer, the company knew that it would be able to reduce development costs. “Because of the ADO.NET Entity Framework 4, we no longer have to be in the LINQ provider business,” says Johnson. “We can offload framework development, and as a result we do not spend time and money training our developers.”

Epicor has also experienced strong compiled query performance, which will lead to further cost savings. “We noticed immediately that the ADO.NET Entity Framework 4 is extremely fast at row materialization,” says Johnson. “Overall, the per-row development cost was lower in the Entity Framework 4 than in all of the other technologies we evaluated.”

Helps Epicor Speed Time-to-Market, Offer New Features

With its new solution, Epicor can deliver products and features to its customers faster than before. “We do a comprehensive cost-benefit analysis of every single task we give to a programmer,” says Johnson. “With that in mind, the improvements in the Microsoft .NET Framework 4 will help our programmers do fewer tasks in less time than before. That means we can go to market faster, and with more features.”

In addition, Epicor customers can use the new routing service in Windows Communication Foundation to create new customer features more easily. “Many of our customers have multiple offices and manufacturing plants all over the world,” says Johnson. “With the routing service in Windows Communication Foundation, we can enhance our application to help these customers bring those sites together and make sure their distributed processes are easily resolved.”

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:

For more information about Epicor products and services, call (949) 585-4000 or visit the Web site at:

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: 

This case study is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.
Document published April 2010
Solution Overview

Organization Profile

Epicor develops software solutions for more than 20,000 customers worldwide. The company, which has 2,700 employees, was the 2009 Microsoft Partner of the Year for Global ISV Line of Business.

Business Situation

Increasingly, Epicor customers asked for more flexibility in the company’s main solution, Epicor 9. Epicor also wanted to simplify development and reduce Microsoft SQL Server database requests.


Epicor deployed beta versions of the Microsoft Visual Studio 2010 development system and the Microsoft .NET Framework 4.

  • Supports large data models
  • Simplifies development
  • Reduces server requests by 90 percent
  • Saves time and money
  • Helps Epicor speed time-to-market, offer new features

Software and Services
  • Microsoft Visual Studio 2010
  • Microsoft ADO.NET Entity Framework
  • Microsoft .NET Framework 4
  • Windows Communication Foundation

Vertical Industries
Architecture, Engineering & Construction

United States

Business Need
  • Business Productivity
  • Collaboration
  • Cost Containment

IT Issue
  • Development
  • Personal Productivity