DevWebProFrance News Archives About Us Feedback
SES Paris: The Intersection Of Search,
Marketing & Commerce - Register Now

Web News

France Telecom's Orange Strikes U.K. WiFi Deal...
France Telecom's (FTE) U.K. mobile division Orange Tuesday said it has struck a deal with wireless broadband provider The Cloud to offer business customers access...

Bombardier selects Sepura digital radios
Sepura Tetra digital radios have been chosen by train manufacturer Bombardier Transportation for use at its factory in the north of France. Sysoco, Sepura's partner in France, secured the order for SRH3500 handheld...

Europe - Telecoms, Mobile and Broadband in France...
This report covers France and Switzerland, both key telecom markets in the forefront of emerging technologies and deployments, and closely involved...



Recent WebProNews Articles

Unvalidated Robots.Txt Risks Google Banishment
The web crawling Googlebot may find a forgotten line in robots.txt that causes it to de-index a site from the search engine. Webmasters welcome being dropped...

Making Link Bait Work For You
Link baiting. You've heard of it, most likely, but maybe are at a loss as to how it works or how to make it work for you. In this article, we explore both the search and...

Budget Crunches Nudge Shoppers Online
Although many shoppers will have less to spend during this holiday season, some of that money will find its way to online retailers. More than a quarter of holiday...


11.21.07


Website Architecture's Backwards

By Mads Kristensen

Any application ever build have an architect designing it. That architect could be a software architect, lead developer or just a regular code monkey and probably all of them at some point or the other.

The point is that someone has made a lot of important decisions on how an application is structured. For me, that's the best part of the project life cycle - the challenge to make qualified decisions that has to withstand time and changes.

For a regular component library, business- or data logic layer, service endpoints etc. this is very challenging but there is a lot of written material you can look to for help until you get it down. Dare I mention design patterns? In my experience, the initial design and architectural phase of a component or class library project is highly prioritized by managers and project leads. That's good, because if the overall architecture is wrong, the project will ultimately fail.

ASP.NET web projects are a little different when it comes to architecture. First of all, the initial architecture doesn't get as highly prioritized as it needs. Secondly, there are very different rules that apply to web projects. They are hard to impossible to unit test without spending and insanely amount of time writing click-test scripts etc. The output also varies from browser to browser, which can cause trouble for even the most experienced web developer and ultimately prolong the development.

SES Paris: The Intersection Of Search,
Marketing & Commerce - Register Now

When the ASP.NET developers start hammering on their keyboards things start to get complicated again. For every little feature there has to be made decisions to optimize the implementation. If you are adding a business object to your business layer it is much simpler. You "just" need to create a class derived from your business base class, add some properties and persist its state to the data base. I'm simplifying this but a lot of times that's all you need to do if you have a decent base class. That's because the architecture was done up front.

A new feature to a web project on the other hand, needs much more architecting by the individual developer. Will you use user controls, server controls and AJAX? If you use AJAX, will it be most optimal to use Prototype with an HttpHandler, ASP.NET AJAX or client-callbacks? Will you lazy load your page/control and what about caching? Will you store state in ViewState, session or the cache? How will you handle exceptions since you can't bubble them up the stack and what about usability and accessibility? Will you use a Repeater or manually write out HTML to a PlaceHolder and what do you do to mitigate SQL injection and cross site scripting attacks? These decision and many more have to be made for every new feature.

It seems that the ASP.NET architecture is backwards from conventional software architecture. You spend fewer hours up front but for every little feature you need to spend a lot of time architecting. It's totally opposite from conventional development in that regard and it leaves the decisions in the hand of the
developers instead of the architect. The more time you get from management to architect your ASP.NET project, the more control you'll have over the end result implemented by the developers, but in the end it might just be enough with thorough guidelines and accept that a lot of decisions are left in the hands of the
developers.

I've done both conventional architecture and ASP.NET architecture over the years and my experience tells me that ASP.NET is more prone to diversity in implementation because of all the decisions that are left with the developers. Maybe it's just the nature of web development.

Comments

About the Author:
Mads Kristensen currently works as a Senior Developer at Traceworks located in Copenhagen, Denmark. Mads graduated from Copenhagen Technical Academy with a multimedia degree in 2003, but has been a professional developer since 2000. His main focus is on ASP.NET but is responsible for Winforms, Windows- and web services in his daily work as well. A true .NET developer with great passion for the simple solution.

http://www.madskristensen.dk/

About DevWebProFrance
DevWebProFrance is for professional developers ... those who build and manage applications and sophisticated websites. DevWebProFrance delivers via news and expert advice New Strategies In Development.

DevWebProFrance is brought to you by:

SecurityConfig.com NetworkingFiles.com
NetworkNewz.com WebProASP.com
DatabaseProNews.com SQLProNews.com
ITcertificationNews.com SysAdminNews.com
LinuxProNews.com WirelessProNews.com
CProgrammingTrends.com NetworkNewz.com


-- DevWebProFrance is an iEntry, Inc. publication --
iEntry, Inc. 2549 Richmond Rd. Lexington KY, 40509
 © 2007 iEntry Inc.  All Rights Reserved  Privacy Policy Legal  
 

archives | advertising info | news headlines | free newsletters | comments/feedback | submit article


New Strategies In Development
DevWebProFrance Home Page About Article Archive News Downloads WebProWorld Forums Jayde iEntry Advertise Contact