Requests by 90 Percent Overview Country or Region: nited States Industry! Professional services" Software en#ineerin# Customer Profle Epicor develops software solutions for more t$an %0,000 customers worldwide& '$e company, w$ic$ $as %,(00 employees, was t$e %009 )icrosoft Partner of t$e *ear for +lobal ,S- .ine of /usiness& Business Situation ,ncreasin#ly, Epicor customers as0ed for more 1e2ibility in t$e company3s main solution, Epicor 9& Epicor also wanted to simplify development and reduce )icrosoft S4. Server database requests& Solution Epicor deployed beta versions of t$e )icrosoft -isual Studio %050 development system and t$e )icrosoft &6E' 7ramewor0 8& Benefts Supports lar#e data models Simpli9es development Reduces server requests by 90 percent Saves time and money :'$e improvements in t$e )icrosoft &6E' 7ramewor0 8 will $elp our pro#rammers do fewer tas0s in less time t$an before& '$at means we can #o to mar0et faster, and wit$ more features&; Eri0 <o$nson, -ice President, Product Researc$, Epicor Epicor is a #lobal software company t$at creates enterprise resource plannin# =ERP> solutions for manufacturin# 9rms and ot$er customers& ? #rowin# number of Epicor customers wanted a more 1e2ible version of Epicor 9, t$e company3s 1a#s$ip ERP solution& Epicor also sou#$t to reduce t$e time it spent on framewor0 development and wanted to lower t$e tra@c to its )icrosoft S4. Server database& '$e company too0 advanta#e of t$e )icrosoft -isual Studio %050 development system and t$e )icrosoft &6E' 7ramewor0 8, w$ic$ includes a new version of t$e )icrosoft ?DO&6E' Entity 7ramewor0& '$is software, w$ic$ supports lar#e data models, $as #reatly eased development for Epicor pro#rammers and reduced S4. Server database requests by 90 percent& Epicor also saves time and money on development and can deliver products to its customers faster&
)icrosoft -isual Studio %050 Customer Solution Case Study Situation /ased in ,rvine, California, Epicor is a )icrosoft +old Certi9ed Partner t$at develops innovative enterprise resource plannin# =ERP> solutions for small and midsiAe businesses and +lobal 5000 companies in more t$an 5B0 countries& )ost of t$e or#aniAation3s %0,000 customers wor0 in t$e manufacturin# distribution, $ospitality, retail, and business services industries& '$e or#aniAation3s most widely used ERP solution is Epicor 9, a serviceC oriented arc$itecture =SO?> product t$at is based on t$e )icrosoft -isual Studio %00D development system and t$e )icrosoft &6E' 7ramewor0& Epicor 9 also uses )icrosoft S4. Server %00D data mana#ement software to support its data repository& '$e product $as separate client, business lo#ic, and database layers& '$e solution is desi#ned to #ive employees t$e data t$ey need to ma0e t$e ri#$t business decisions& :Epicor 9 $andles all t$e critical business processes in an or#aniAation, suc$ as orderin#, inventory, purc$asin#, 9nancials, and $uman resources,; says Eri0 <o$nson, -ice President, Product Researc$, Epicor& Recently, many Epicor customers e2pressed a need for additional functionality and 1e2ibility in Epicor 9& 7or e2ample, customers wanted to be able to perform database queries wit$ compiler support, so if pro#rammers misspelled a S4. Server table name, t$e lan#ua#e could still $elp t$em write #ood queries& :7or t$at to wor0, you need a data model,; says <o$nson& :ntil recently, our customers built t$eir own data models& /ut t$ere was no application pro#rammin# interface for t$e database besides S4. Server itself&; '$is was problematic for many customers& :People were as0in# us $ow to #et t$eir own code to mirror t$e be$avior of Epicor 9 wit$ re#ard to updates,; says <o$nson& :'$eir pro#rammers wanted to do t$in#s t$e same way as our application code did t$in#s& ,t became clear to us t$at we needed to #ive our customers a certi9ed data model t$ey could use&; ?lso, Epicor 9 uses .an#ua#eC ,nte#rated 4uery =.,64>"a )icrosoft &6E' component t$at adds native queryin# functionality to &6E' lan#ua#es"w$ic$ Epicor $as provided to its customers for t$eir S4. Server databases& :Ee do a lot of framewor0 development, but our obFective is to avoid customiAin# t$e tec$nolo#ies we wor0 wit$,; <o$nson says& :Ee did not want to $ave to be .,64 providers&; ?dditionally, Epicor wanted to $elp reduce tra@c to t$e S4. Server database& :Ee saw t$at for eac$ line item of a sale, for e2ample, customers want to verify t$e department or s$ippin# date, and many of t$ose database queries are t$e same for eac$ of t$ose items,; says <o$nson& :,t3s di@cult to do t$ose queries once across all line items, so t$ere was a lot of tra@c to S4. Server and t$at aGected scalability&; Epicor also sou#$t to simplify development for its team of 800 developers& :Durin# development, we often $ad to wor0 wit$ t$e same table in multiple data models, w$ic$ was confusin# because our developers often $ave to 0eep trac0 of w$ic$ model $as c$an#es in it durin# updates,; <o$nson says& Solution ,n early %009, Epicor started searc$in# for a new &6E' data access ?P, t$at its customers could use& However, t$e company could not 9nd a $i#$Cperformin# solution t$at would support t$e lar#e data model siAe needed for Epicor 9& :Epicor 9 $as 5,I00 S4. Server tables,; says <o$nson& :Ee loo0ed at solutions t$at Fust couldn3t $andle t$at database siAe, and we didn3t t$in0 we could c$an#e t$e solution be$avior to 9t our needs&; '$e company considered creatin# its own solution& However, Epicor c$an#ed its mind w$en it learned about t$e features in )icrosoft -isual Studio %050 and t$e )icrosoft &6E' 7ramewor0 8& ,n particular, t$e &6E' 7ramewor0 8 includes t$e )icrosoft ?DO&6E' Entity 7ramewor0 8, w$ic$ $elps developers create data access applications by pro#rammin# a#ainst a conceptual application model& Eit$ t$e ?DO&6E' Entity 7ramewor0 8, developers can reduce t$e amount of code and maintenance needed for dataC oriented applications& '$e tec$nolo#y also features en$anced performance and better support for lar#e data model siAes& '$e Entity 7ramewor0 8 includes templates for code #eneration based on t$e '8 codeC#eneration tec$nolo#y in -isual Studio %050& Developers can customiAe t$ese templates to provide ric$er functionality, suc$ as implementin# custom interfaces& ?lso new in t$e &6E' 7ramewor0 8 is a pro#rammin# model for writin# multit$readed code, w$ic$ can simplify application development& Developers can use t$is model to create scalable parallel code wit$out t$e need to wor0 wit$ t$reads or a t$read pool& ,n addition, t$e &6E' 7ramewor0 8 provides en$ancements in Eindows Communication 7oundation, suc$ as a simpli9ed con9#uration model and t$e inclusion of a routin# service wit$ w$ic$ developers can create a sin#le upC front layer for accessin# bac0Cend services& Epicor implemented beta versions of -isual Studio %050 and t$e &6E' 7ramewor0 8 in late %009& '$e company used t$ese products to develop Epicor 9&0B, t$e latest version of its 1a#s$ip ERP solution& /ene9ts /y usin# )icrosoft -isual Studio %050 and t$e )icrosoft &6E' 7ramewor0 8, Epicor $as support for its lar#e data models and created a new version of its 1a#s$ip product& '$e company $as also #reatly simpli9ed development and reduced tra@c to S4. Server by 90 percent& ?dditionally, Epicor $as lowered its overall development costs and can brin# products and features to customers more rapidly& Supports Large Data Models /ecause t$e ?DO&6E' Entity 7ramewor0 8 can support lar#e data model siAes, Epicor could use t$e tec$nolo#y to create Epicor 9&0B& :'$e earlier version of t$e Entity 7ramewor0 did not $andle our data model siAe very well, and we e2perienced delays in testin#,; says <o$nson& :'$ose problems $ave all been solved wit$ t$e ?DO&6E' Entity 7ramewor0 8&; ?s a result, Epicor did not $ave to create its own inC$ouse data access solution& :,nitially, we planned to write our own data access layer because of our data model siAe and t$e unique be$avior of our application, w$ic$ we needed to replicate in our data access tier,; says <o$nson& :'$e ?DO&6E' Entity 7ramewor0 8 #ave us t$e data model siAe support and performance we needed, so we did not $ave to spend time and eGort writin# our own solution&; Simplifes Development Eit$ -isual Studio %050 and t$e &6E' 7ramewor0 8, Epicor developers too0 advanta#e of t$e 1e2ibility of t$e '8 codeC#eneration templates w$en creatin# Epicor 9&0B& :'$e ?DO&6E' Entity 7ramewor0 8 separates t$e data model from t$e code t$at it #enerates,; says <o$nson& :'$e '8 templates drive w$at t$e code loo0s li0e, and t$at made it easier for us to edit t$ose templates so t$e code turned out e2actly t$e way we wanted it to loo0&; Epicor developers also made use of t$e new parallel pro#rammin# model in t$e &6E' 7ramewor0 8 and t$e new features in Eindows Communication 7oundation to furt$er simplify development of Epicor 9&0B& :sin# parallel e2tensions in t$e &6E' 7ramewor0 8, we can do batc$ processin# on t$e database by readin# records and t$en creatin# tas0s t$at can be $andled in t$e bac0#round,; says <o$nson& :Our developers no lon#er $ave to create and mana#e t$reads to do t$at&; Eit$ t$e simpli9ed con9#uration made possible by t$e new version of Eindows Communication 7oundation, developers can also create Eeb services more easily& :Ee $ave about 5,000 Eeb services in Epicor 9, and our developers used to create 5,000 entries in a con9#uration 9le to create t$e endpoints,; says <o$nson& :Eit$ Eindows Communication 7oundation in t$e &6E' 7ramewor0 8, only one entry is required for all of t$ose Eeb services in Epicor 9&0B&; Reduces Server Requests by ! Percent /y usin# t$e new '8 codeC#eneration templates, Epicor could modify templates and build a new ?P, into its solution& :Ee combined t$e idea of :'$e ?DO&6E' Entity 7ramewor0 8 #ave us t$e data model siAe support and performance we needed, so we did not $ave to spend time and eGort writin# our own solution&; Eri0 <o$nson, -ice President, Product Researc$, Epicor :Ee conducted some performance tests recently wit$ e2istin# code, and we were able to reduce t$e requests to S4. Server by 90 percent& '$at is because of t$e ?DO&6E' Entity 7ramewor0 8&; Eri0 <o$nson, -ice President, Product Researc$, Epicor compilin# queries and cac$in# query results because of t$e template 1e2ibility,; says <o$nson& :6ow, we can loo0 in t$e ?DO&6E' Entity 7ramewor0 8 obFect state mana#er to c$ec0 if a row was already t$ere, or if it was already retrieved usin# t$e e2act same query wit$ t$e same parameters&; Eit$ t$ese new streamlined development processes, Epicor $as reduced t$e load on S4. Server and increased t$e overall application responsiveness& :Ee conducted some performance tests recently wit$ e2istin# code, and we were able to reduce t$e requests to S4. Server by 90 percent,; says <o$nson& :'$at is because of t$e ?DO&6E' Entity 7ramewor0 8&; Saves "ime and Money E$en Epicor realiAed it did not $ave to write its own new data access layer, t$e company 0new t$at it would be able to reduce development costs& :/ecause of t$e ?DO&6E' Entity 7ramewor0 8, we no lon#er $ave to be in t$e .,64 provider business,; says <o$nson& :Ee can oJoad framewor0 development, and as a result we do not spend time and money trainin# our developers&; Epicor $as also e2perienced stron# compiled query performance, w$ic$ will lead to furt$er cost savin#s& :Ee noticed immediately t$at t$e ?DO&6E' Entity 7ramewor0 8 is e2tremely fast at row materialiAation,; says <o$nson& :Overall, t$e perCrow development cost was lower in t$e Entity 7ramewor0 8 t$an in all of t$e ot$er tec$nolo#ies we evaluated&; #elps $picor Speed "ime%to% Mar&et' ()er *e+ ,eatures Eit$ its new solution, Epicor can deliver products and features to its customers faster t$an before& :Ee do a compre$ensive costCbene9t analysis of every sin#le tas0 we #ive to a pro#rammer,; says <o$nson& :Eit$ t$at in mind, t$e improvements in t$e )icrosoft &6E' 7ramewor0 8 will $elp our pro#rammers do fewer tas0s in less time t$an before& '$at means we can #o to mar0et faster, and wit$ more features&; ,n addition, Epicor customers can use t$e new routin# service in Eindows Communication 7oundation to create new customer features more easily& :)any of our customers $ave multiple o@ces and manufacturin# plants all over t$e world,; says <o$nson& :Eit$ t$e routin# service in Eindows Communication 7oundation, we can en$ance our application to $elp t$ese customers brin# t$ose sites to#et$er and ma0e sure t$eir distributed processes are easily resolved&; )icrosoft -isual Studio %050 )icrosoft -isual Studio %050 is an inte#rated development system t$at $elps simplify t$e entire development process from desi#n to deployment& nleas$ your creativity wit$ powerful prototypin#, modelin#, and desi#n tools t$at $elp you brin# your vision to life& Eor0 wit$in a personaliAed environment t$at $elps accelerate t$e codin# process and supports t$e use of your e2istin# s0ills, and tar#et a #rowin# number of platforms, includin# )icrosoft S$arePoint Server %050 and cloud services& ?lso, wor0 more e@ciently t$an0s to inte#rated testin# and debu##in# tools t$at you can use to 9nd and 92 bu#s quic0ly and easily to $elp ensure $i#$Cquality solutions& 7or more information about -isual Studio %050, #o to! www&msdnµsoft&comKvstudio 7or )ore ,nformation 7or more information about )icrosoft products and services, call t$e )icrosoft Sales ,nformation Center at =D00> 8%IC9800& ,n Canada, call t$e )icrosoft Canada ,nformation Centre at =D((> BIDC %89B& Customers in t$e nited States and Canada w$o are deaf or $ardCofC$earin# can reac$ )icrosoft te2t telep$one =''*K'DD> services at =D00> D9%CB%L8& Outside t$e B0 nited States and Canada, please contact your local )icrosoft subsidiary& 'o access information usin# t$e Eorld Eide Eeb, #o to! wwwµsoft&com 7or more information about Epicor products and services, call =989> BDBC8000 or visit t$e Eeb site at! www&epicor&com '$is case study is for informational purposes only& ),CROSO7' )?MES 6O E?RR?6',ES, ENPRESS OR ,)P.,ED, ,6 'H,S S))?R*& Document publis$ed ?pril %050 Software and Services )icrosoft -isual Studio O)icrosoft -isual Studio %050 'ec$nolo#ies O)icrosoft ?DO&6E' Entity 7ramewor0 8 O)icrosoft &6E' 7ramewor0 8 OEindows Communication 7oundation