|
|
|
|
         |
 |
 |
 |
|
|
|
|
| |
|
The choice of the Technology & Solution Framework is more important for the total cost, development time, and success of a project than using low rate offshore/onshore developers, Software Development Life Cycle methodology, or project management process.
The difference in productivity and ROI can be drastic. It is not uncommon to see a case where Web business application was developed in 6 months by one architect and 4 senior designers/developers, but could not be developed in 12 months by 20 low rate offshore developers. The difference in productivity was 8 times and difference in cost was more than 2 times.
The chosen Technology & Solution Framework has to provide best ROI. To estimate the best ROI you have to compare the productivity and development time (based on estimated lines of application code for the same functionality and complexity of design patterns), systems performance, and a new application maintenance cost.
To compare the productivity (based on estimated lines of developed code for the same functionality), and systems performance we will compare Sun's®' primary J2EE Blueprint best-practice sample business application, the Sun Java Pet Store, functionally identical Microsoft .NET application, and functionally identical PIE Systems .NET application. In addition, we compare the architecture and programming models of each solution to evaluate relative developer productivity.
The "lines of developed code" metric is used to measure the productivity of developers creating the application and how easy it is to maintain the application. Another reason this metric has relevance is that in general applications contain less bugs and perform better the fewer the lines of code they have.
Microsoft .NET best practice reference application has 2.5 times more lines of code for the same functionality than PIE Systems .NET best practice reference application. J2EE Blueprint application has 7 times more lines of code for the same functionality than Microsoft .NET application and 17 times more lines of code for the same functionality than PIE Systems .NET application.
|
|
The Java Pet Store is a reference implementation of a distributed application according to the J2EE Blueprints maintained by Sun Microsystems. The Java Pet Store was created by Sun to help developers and architects understand how to use and leverage J2EE technologies, and how J2EE platform components fit together. The Java Pet Store Blueprint includes documentation, full source code for the Enterprise Java Beans™ (EJB) architecture, Java Server Pages (JSP) technology, tag libraries, and servlets that build the application. In addition, the Java Pet Store Blueprint demonstrates certain models and design patterns through specific examples. The Java Pet Store is a best-practices reference application for J2EE, and is redistributed within all J2EE-based application server products: IBM® Websphere® 4.0, BEA® WebLogic® 6.1 & 7, Oracle® 9i Application Server, Sun Microsystems iPlanet®, others.
The Java Pet Store application is designed as a J2EE "best-practices" application. The application provides an emphasis on the features and techniques used to show real world coding examples for business and financial applications.
|
|
The application reproduces the functionality of the Java Pet Store application and allows you to compare and contrast the architecture, programming logic and overall code size of this best-practice application between the .NET and J2EE implementations.
The application represents a complete logical three-tier implementation using .NET and illustrates coding best-practices by Microsoft for .NET platform.
It has better design patterns and is coded much better then an average .NET Web business application developed by offshore/onshore consultants or in-house.
|
|
The application reproduces the functionality of the Microsoft .NET Pet Shop and allows you to compare and contrast the architecture, programming logic and overall code size of this best-practice application.
The application represents a complete logical N-tier implementation using .NET & Elite.NET and illustrates coding best-practices for the Microsoft .NET platform.
The major benefit over the Microsoft design patterns is the use of XML meta-objects to define Business Entities, Business Services, UI Form binding to Business Entities, and Business Entities/Objects Storage binding to relational tables.
|
|
To get an understanding of the relative developer productivity we will compare the lines of implementation code in the three versions of the application. Microsoft .NET best practice reference application has 2.5 times more lines of code for the same functionality than PIE Systems .NET best practice reference application. J2EE Blueprint application has 7 times more lines of code for the same functionality than Microsoft .NET application and 17 times more lines of code for the same functionality than PIE Systems .NET application.
The following tables give a more complete break down by tier.
|
|
| 674 | 1002 | 5567 |
| 5 | 795 | 6187 |
| 5 | 197 | 197 |
| 41 | 102 | 2053 |
|
Table 1. Lines of code broken down by tier.
|
|
|
Figure 1. Lines of code broken down by tier.
|
|
The PIE Systems .NET Pet Shop uses more advanced architecture and design patterns than the Microsoft .NET Pet Shop or the Java Pet Store. The major benefit over the Microsoft or SUN design patterns is the use of XML meta-objects to define Business Entities, Business Services, UI Form binding to Business Entities, and Business Entities/Objects Storage binding to relational tables. Application components manipulate XML business objects and are isolated from relational tables or UI forms. Use of meta-objects significantly simplifies the design of business model and business process and reduces application coding.
The Java Pet Store contains several complex design patterns that result in making the J2EE Blueprint application very challenging for developers to reuse. The uses very heavy middle-tier objects. The use of the J2EE-recommended bean managed persistence and other EJB functionality adds to the complexity of the design. The Microsoft .NET Pet Shop has smaller, light-weight objects that take advantage of several .NET features that reduce the overall code size and increase developer productivity. For example, the use of ASP.NET Server Controls and ASP.NET Web Forms help reduce the server-side and client-side programming burden on developers significantly. In addition, the Java code has to manually update pages using its Model View Controller design pattern as opposed to the .NET code that uses DataBinding with ASP.NET Server Controls like the DataGrid.
However Microsoft ASP.NET still requires a significant application coding to map/update business entities from Web controls. Elite.NET framework encapsulates all these UI functions and application developers do not have to code processing of Grids, textbox, drop-down-lists, checkboxes, labels, repeaters, nested grids and repeaters, etc.
|
|
PIE Systems solution based on Elite.Net framework and Microsoft .NET platform provides better ROI than J2EE or Microsoft .NET solutions.
Elite.NET Framework enhances Microsoft .NET platform productivity, performance, and security. For larger applications with more complex business rules and business services the difference in the productivity can be even greater and in some projects productivity was 10 times better then standard .NET implementations.
|
|
|
| |
|
|
| |
| |
|
|
|