Page 108 - DCAP312_WEB_TECHNOLOGIES_II
P. 108
Web Technologies-II
Notes 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 is 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.
Solution
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 could not handle that database size, and we did
not think we could change the solution behavior to fit our needs.”
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.
Contd...
102 LOVELY PROFESSIONAL UNIVERSITY