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
   103   104   105   106   107   108   109   110   111   112   113