Latest Software Article


MVC and Your Resume

Written May 27, 2009 by Jason Jordan

Microsoft’s ASP.Net MVC Framework was released in March 2009.  Like most…


Read More

Latest Design Article


Navigate with style

Written January 13, 2009 by Joshua Giblette

Navigation has to be by far the most important piece…


Read More

Latest Aptera News


Aptera to Host Monthly Tweetup on Thursday, June 25

Written June 12, 2009 by bfrancesi

Aptera is excited to announce that it will host a…


Read More

Jun

12

Aptera to Host Monthly Tweetup on Thursday, June 25

Written by bfrancesi

Aptera June Tweetup

Aptera is excited to announce that it will host a Tweetup on June 25, 2009 at its downtown offices on the corner of Main and Harrison. A Tweetup is an event where people with a Twitter account can meet face to face. Since Twitter makes it possible to meet friends online without ever meeting in person, a Tweetup gives friends a chance to put faces with names and communicate outside the boundaries of a 140 character Tweet.

Anyone from Fort Wayne or the surrounding regions is invited to attend. Refreshments will be provided by Aptera. To encourage interaction, we will introduce a theme based on the unique knowledge of each person and what we can learn from each other. The Tweetup will begin at 5:00 p.m.  A short welcome speech and introduction will be given at 5:30 p.m.

Stay updated by following Aptera on Twitter at: www.twitter.com/apterasoftware

RSVP for the event online at: www.apterainc.com/rsvp


Hey, speak up! See what others have said:

Reader Comments (0)

I belong to these categories:

Aptera News

Here are my tags:

, , , ,


May

27

MVC and Your Resume

Written by Jason Jordan

Microsoft’s ASP.Net MVC Framework was released in March 2009.  Like most software developers, I always want to get my hands on the latest and greatest.  The MVC architectural pattern has been around forever (Wikipedia says 1979), but Microsoft’s implementation for ASP.Net is new.  So, I’ve been itching to get a project to use ASP.Net MVC with.

Me 10 years ago, would want to dive in and rewrite the last few projects I’d worked on, and insist my next project use ASP.Net MVC.  10 years and several projects later, I’ve learned that you can’t ”Put your Resume Ahead of the Requirements“.  The architecture has to fit the project’s requirements, not the other way around.

So before I put MVC on my resume, what is the right situation to use it? 

Let’s start with a very brief explanation of what ASP.Net MVC is. For more information check out www.asp.net/mvc

There are 3 functional areas of an MVC application - Model, View, and Controller.  The Model contains the domain objects, rules, and properties.  The Controller classes perform the mapping between the web request and the corresponding Model operation.  Finally, the View is the HTML representation of how the web response data should be displayed.  

Because the Controller class is performing URL routing, we can have friendly URLs that reflect the intent of the request. The URL to Edit Employee 1 could be… http://localhost/Employees/Edit/1.  This site’s URLs are formatted as {controller}/{action}/{id}, but this is configurable.  Additionally, if the routing format included an employee name or product name, URLs could be optimized for SEO purposes… http://localhost/Companies/Details/1/Aptera-Software. 

Back to the topic - what is the right situation to use MVC?

It sounds simple, but if the advantages out-weigh the disadvantages, then it is the right situation.  For the sake of this discussion I am limiting the choices to using either ASP.Net MVC or ASP.Net Web Forms (traditional ASP.Net). 

The advantages of ASP.Net MVC include Unit Testing, Separation of Concerns, and complete control and extensibility of the framework. 

  • Unit Testing - A greatly enhanced ability to isolate individual units to test.  Unit tests can create mock implementations of required references, such as HTTPContext. This allows for predicable and repeatable testing inputs.
  • Separation of Concerns - While this can be implemented in a properly designed Web Forms application, it is the natural design of an MVC application. 
  • Extensibility - Where an ASP.Net Web Forms application provides a lot of functionality for you, it’s not always what you want.  The MVC framework allows you customize every step of the HTTP process - extending or replacing components as you see fit.  It’s very powerful, but requires work to develop.

The advantages of ASP.Net Web Forms include rapid development for smaller applications, a large collection of server controls, and existing developer expertise.

  • Rapid Development - ASP.Net Web Forms handles almost all of the HTTP implementation details between a page request and response.  Page and control events are provided and extended from the System.Web.Page assembly.
  • Server Controls - Visual Studio ships with a large collection of server controls for ASP.Net Web Forms, and there are many other 3rd party control developers providing specialized controls.
  • Developer Expertise - The ASP.Net Web Forms framework has been developed against for almost 8 years, and has a large group of experienced developers.  It will take some time for developers to ramp up on MVC, if they are not already familiar with the framework concepts.

I would suggest that if a project is large enough to benefit from a more extensible framework, or if unit testing is critical, then that project would be a good candidate for MVC.  If the project deadline is too aggressive to allow ramping up on the new framework, you may have to fall back on Web Forms.  Until I get that right project, I’m reserving a spot on my resume, but I’m not rushing it.  I think Me 10 years ago would begrudgingly understand. 

Also note that the decision does not have to be limited to either MVC or Web Forms.  In the right project, they can be used side-by-side, taking advantage of the strengths of both.


Hey, speak up! See what others have said:

Reader Comments (0)

I belong to these categories:

.Net, Architecture, Software

Here are my tags:

, , ,


May

20

Aptera Launches Web Site for Chivaho FCU

Written by bfrancesi

Aptera is proud to unveil a new Web site for Chivaho Federal Credit Union. Chivaho FCU needed an updated look and improved navigation to serve current and potential customers. Aptera provided the company with a professional, easy-to-use site that helps visitors find out about Chivaho and members locate the services they use. (http://www.chivaho.com)

Chivaho Federal Credit Union is located in Chillicothe, Ohio, and offers complete financial services to people in the area. As a non-profit organization, owned and operated by its members, Chivaho FCU offers low interest rates on all types of loans and high interest rates on savings accounts and plans. In addition to the full range of services provided to its members, Chivaho FCU also promises friendly, personal service.


Hey, speak up! See what others have said:

Reader Comments (0)

I belong to these categories:

Aptera News

Here are my tags:

, , ,


May

20

Aptera Unveils RPCSI Web site

Written by bfrancesi

Aptera is proud to announce the launch of a Web site developed for Retirement Plan Concepts & Services (RPCSI). By rebuilding the navigational structure and updating the overall look of the site, Aptera improved visitors’ ability to find the information they seek. The site now portrays the professional and caring attitude of RPCSI while educating potential clients and providing forms and information to existing clients. (http://www.rpcsi.com)

Retirement Plan Concepts & Services is an independent firm based in Indiana, with offices in Fort Wayne and Indianapolis. Since 1996, the employees at RPCSI have been committed to providing pension-related services to local and nationwide clients. By staying abreast of current laws and regulations concerning retirement plans, RPCSI maintains its reputation as an industry leader in consulting, administration, and record keeping services for its clients.


Hey, speak up! See what others have said:

Reader Comments (0)

I belong to these categories:

Aptera News

Here are my tags:

, , , , , ,


May

15

Bust the Cache “With Recompile”.

Written by Jason Jordan

In SQL Server, an execution plan is a calculation of the most efficient way to perform a query (or set of queries).  So the database engine doesn’t have to recalculate the optimal execution plan each time the query is requested, there is Execution Plan Caching.  The cache is just part of the database memory pool that stores the query plan and execution context.

It sounds great, but there is the potential to create a problem.  As the database schema evolves and the actual data changes, it’s possible that some cached execution plans are no longer optimal and need to be recalculated.

A recent project involved an database that suddenly doubled it’s data volume after a year of operation.  This was expected, as once a year a new fiscal year’s worth of data is generated.  The stored procedures, being consumed by reports, became unresponsive and timed out around the same time the database was growing.

Because the data was significantly changed from when the execution plan was cached, and the database schema may have evolved over the year, the performance of the old execution plan needed refreshed.

To prove this cached execution plan was at fault, I ran tests with and without the optional WITH RECOMPILE.

EXECUTE usp_MyStoredProc 'myParamVal'; 

EXECUTE usp_MyStoredProc 'myParamVal'  WITH RECOMPILE;

Using WITH RECOMPILE this way tells the database engine to ignore the cached execution plan this time only - it does not recompile the stored procedure to recreate the execution plan.  As expected, the first execute statement took longer than I was willing to wait, so I stopped the query.  The second execute statement, using WITH RECOMPILE, executed very quickly, validating the cached execution plan was faulty.

The long-term solution for me was to rebuild my stored procedure using WITH RECOMPILE. This directs the stored procedure to never use a cached execution plan, and to recalculate the optimal plan each time it is called.  This may, or may not, be the right solution for you.  As the linked WITH RECOMPILE document states, you may use sp_recompile to recompile a stored procedure the next time it is run.  Using this option, all subsequent calls to the procedure will use the cached execution plan.

 


Hey, speak up! See what others have said:

Reader Comments (0)

I belong to these categories:

SQL Server, Software

Here are my tags:

,