5,448,104 members and growing! (17,540 online)
Email Password   helpLost your password?
Development Lifecycle » Design and Architecture » Application Design     Beginner License: The Code Project Open License (CPOL)

Application framework for enterprise applications

By Alessandro Forte

A description of various framework to develop a complete enterprise .NET applications easier
Javascript, CSS, HTML, Visual Studio (VS2005, VS2008, Visual Studio), ASP, ASP.NET, Ajax, Design, Architect, Dev

Posted: 22 Mar 2008
Updated: 22 Mar 2008
Views: 6,612
Bookmarked: 15 times
Announcements
Want a new Job?



Search    
Advanced Search
Sitemap
6 votes for this Article.
Popularity: 2.41 Rating: 3.10 out of 5
3 votes, 50.0%
1
0 votes, 0.0%
2
1 vote, 16.7%
3
1 vote, 16.7%
4
1 vote, 16.7%
5
Note: This is an unedited contribution. If this article is inappropriate, needs attention or copies someone else's work without reference then please Report This Article


Introduction

In my current job task, I must find a good base framework for develop an Enterprise Solution. Never before now, have I tried to work on this kind of project. I want find a framework that offer some functionality such as MVC Model, Layer Abstraction and GUI facilities, so I can reduce develop time.

Background

In this project we have a lot of services already built, and the major objective we have, is to integrate existent services with custom develop. In details we have some webservices and databases, and we want develop a new WebUi that can communicate with them. The new WebUi must be user-friendly and easy to use for final user. Ideally we want also a set of controls that can made some functions for us. The tools and framework visited during my search are:

  1. ASP.Net 3.5 MVC Framework
  2. Castle Project - Mono Rail
  3. Spring.Net
  4. DotNetNuke
  5. Iron Speed
  6. ASP.Net Maker
  7. Code Smith

ASP.Net 3.5 MVC Framework

On October 6, 2007, Scott Guthrie officially unveiled the ASP.NET MVC Framework at the AltNetConf in Austin, TX. While you’ll find several MVC frameworks in the Java space, ASP.NET has provided Web Forms as the default model. For .NET developers, MonoRail (discuss later), to date, has been the only MVC alternative to Web applications. But what is MVC? Mode-View-Controller is a mature, proven architecture for the presentation layer. It’s applicable in fat client applications as well as Web applications. When applied to Web applications, the twist is that the controller lives for a single HTTP request and then goes away. But what’s wrong with Web Forms? Many developers agree that the Postback and ViewState model employed by Web Forms causes pain and heartache. With event handlers and the page lifecycle, the developer falls into managing state with ViewState and Postbacks, and when employed in the reality of the stateless Web, the model becomes fragile and has problems scaling with complexity.

Castle Project - Mono Rail

Castle is a collection of projects that includes database access layers (using NHibernate to power a ActiveRecord implementation), templating engines (of which NVelocity and Brail are but two examples), and a series of other services geared to rapid application development. MonoRail, a component of the Castle Project, is an open source web application framework built on top of the ASP.NET platform. Inspired by Ruby on Rails Action Pack, MonoRail differs from standard ASP.NET WebForms development by enforcing separation of concerns using a model-view-controller (MVC) architecture. The framework is commonly used in conjuction with Castle ActiveRecord, an ORM layer built on NHibernate.

Prons

Cons

  • Is MVC compliant
  • Is integrate in Visual Studio IDE
  • Use NHibernate as ORM Layer
  • Great variety of View Engine
  • It is in RC3 status
  • View engine are easy to use but devoid of functions
  • Is not possible and/or complex to use existent ASP.Net controls such as GridView, FormView, ecc…

Spring.Net

Spring.NET is an open source application framework that makes building enterprise .NET applications easier. Providing components based on proven design patterns that can be integrated into all tiers of your application architecture, Spring helps increase development productivity and improve application quality and performance.

Prons

Cons

  • It is in stable release 1.1
  • Use NHibernate as ORM Layer
  • Data binding, validation and localization
  • Complex to configure and setup

DotNetNuke

DotNetNuke is an open source web application framework written in VB.NET for the ASP.NET framework. The application's content management system is extensible and customizable through the use of skins and modules.

Prons

Cons

  • It is in stable release 4.8
  • Data binding, validation and localization
  • Easy to use and MVC compliant
  • Store all non relevant information such as Pages in Database.
  • Is oriented to CMS use

IronSpeed


Iron Speed Designer is a Rapid Application Development (RAD) tool developed by Iron Speed Inc.

Prons

Cons

  • It is in stable release 5.0
  • Data binding, validation and localization
  • Quickly and efficient on CRUD operations
  • Pages with custom logic are difficult to manages.

ASP.Net Maker

ASP.NET Maker 3 is a powerful yet easy-to-use ASP.NET code generator for ASP.NET 2.0. It can create a full set of ASP.NET 2.0 pages quickly from Microsoft Access, Microsoft SQL Server, MySQL, Oracle and other ODBC data sources. You can instantly create Web sites that allow users to view, edit, search, add and delete records on the Web.
ASP.NET Maker 3 offers numerous useful features, including 3-Tier Architecture, ASP.NET AJAX, Extended Quick Search, Drill-down Master/Detail, Advanced Security, User Registration System, Custom View, Report, Export, File uploading, etc. It is a tool that can save you tons of time and is suitable for both beginners and experienced developers alike.

Prons

Cons

  • It is in stable release 3.3
  • Data binding and validation
  • Quickly and efficient on CRUD operations
  • Generate native ASPX controls
  • Pages with custom logic are difficult to manages
  • With GUID type as PK require some changes
  • Not simple to customize the GUI

CodeSmith


CodeSmith is a software development tool to help you get your job done faster. Technically speaking it is a template driven code generator that automates the creation of common application code for any language (C#, Java, VB, PHP, ASP.NET, SQL, etc.).

CodeSmith includes many useful templates as well as entire sets of templates for generating proven architectures (.netTiers, CSLA, NHibernate, PLINQO, Wilson's ORMapper, APOSA, and more). You can easily modify any templates or write your own to generate your code exactly the way you want it.

CodeSmith can help you produce higher-quality, more consistent code in less.

NetTiers Template

.netTiers is a set of open source code generation templates that simplify the tasks of creating customized Application Tiers for your Microsoft.Net applications in just a few minutes and is FREE.

Prons

Cons

  • It is in stable release 2.2
  • Generate a reusable code
  • Generate code from template
  • Generate native ASPX controls
  • Quickly and efficient on CRUD operations
  • Highly customization of template

Conclusion

Make a good choice from frameworks showed is very difficult.
The better choice is the framework that better maps your problem and resolves it. Some frameworks propend for GUI facilities, other for Abstracting Layer, other then for DI.

Bibliography

http://www.code-magazine.com/Article.aspx?quickid=070173
http://www.castleproject.org/monorail/index.html
http://www.codeproject.com/KB/aspnet/spring-asp.aspx

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Alessandro Forte


Alessandro live in Naples, now in Bologne, and was graduated in Computer Science. I'm 24 yrs old. My "speciality" are VB.NET,VB and database! I'm consultant for some industry in Naples and Bologne.
Occupation: Software Developer (Senior)
Company: Is better hide
Location: Italy Italy

Other popular Design and Architecture articles:

Article Top
Sign Up to vote for this article
You must Sign In to use this message board.
FAQ FAQ Noise ToleranceSearch Search Messages 
 Layout  Per page   
 Msgs 1 to 2 of 2 (Total in Forum: 2) (Refresh)FirstPrevNext
Subject  Author Date 
GeneralBusiness Objectmembertocik22:25 24 Mar '08  
GeneralRe: Business ObjectmemberAlessandro Forte3:15 25 Mar '08  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 22 Mar 2008
Editor:
Copyright 2008 by Alessandro Forte
Everything else Copyright © CodeProject, 1999-2008
Web07 | Advertise on the Code Project