Article Library

The marketingsource.com article library contains thousands of articles on topics of interest to business owners, marketing professionals, and much more. New articles are added daily.

Search:

 


NEW!  FREE Do-It-Yourself Press Release Kit     Get It Now (Adobe PDF)
 
Close This Window

Free Do-It-Yourself Press Release Kit


Fill out the information below to receive our free e-book. We'll automatically redirect you to the download area.
First Name: *
Last Name: *
Company:
Email: *
Phone #:

Are you interested in any of the following?

Press Release Writing Services
Press Release Distribution Services

Notify me of special offers and promotions
Subscribe me to the Getting Results newsletter


Close This Window

Four steps for selecting your web development technologies

by: rayootech on Date: Wed, 8 Dec 2010 Time: 9:16 PM

Four steps for selecting your web development technologies


By Justin James, ZDNet.com

One my friends is thinking about starting a programming project, and he asked me "How do I pick my technologies?" with an eye towards performance as well as getting the project done. This person has been writing code on and off for a while, but he hasn’t worked on any substantial projects. He isn’t wedded to any particular technology, and he has the luxury of a clean slate for this project. While he does have a preference for deploying to Linux due to his experience with it, this is not a final decision.

In this column, I share the advice I gave him. I am not going to recommend any particular technologies, but rather show you my approach for making technology and architectural decisions.

Step 1: Loosely design your application

Agile methodologies have become very popular, and some folks believe that means you don’t try to think beyond a two week timeline. But there is a lot of value in preparing a loose design of your project. All you need to do is use a tool that has flowchart capabilities (such as Visio) to provide a high level overview of the logic. You do not need to get bogged down in details like "validate that this field contains at least five characters" or data layouts. But you do need a general idea of what parts of the application will be handling what responsibilities.

Some examples of things that should appear in this diagram include:

* Any major batch processing tasks.
* Where data is stored (files, databases, "the cloud", etc.) and which components retrieve it and expose it to the rest of the application.
* Where significant processing occurs (in the database, in a business logic layer, a Web service, the client, and so on) and what it does.

Step 2: Identify resource usage and characteristics

Once your diagram is complete, we can use it to identify resource usage. The resources that you want to be aware of are CPU, RAM, drive space, and bandwidth. Are you transferring a large amount of data to or from an external Web service? That is going to be a bandwidth resource on the connection between your application and that service. Perhaps you are doing an intense calculation within your database — that would be CPU use within the database. And so on.

Step 3: Determine performance critical areas

Once you know where the resources will be used, you have found your potential performance bottlenecks. These are the places where your technology choices will have the biggest impact. If it turns out that you are storing very little in a database, you have more options for the database. Perhaps you will be performing CPU heavy algorithms in the business logic layer, which points out that you will need a language and platform that supports high-speed calculations. This is a chart I’ve made which will help you see how this affects your decision making.

Step 4: Scale your needs

Another thing that you can learn from your diagram is where your application needs to scale. If the bulk of your processing needs occur in the client piece of the application, your server architecture can be much more modest, for example.

You will also be able to see what kind of scaling you need. Most databases have clustering capabilities, so if you have a choice, it is often easier and better to push things that need to scale (especially if they require a shared state between requests) into the database where scaling is already handled, or to consider technologies higher up in the stack that also have clustering or scaling built in.

Conclusion

By starting your development process with a lightweight sketch of the application’s logic, you will be on the right path to select the best technologies for your needs. There are lots of non-technical considerations (such as your budget, experience in particular technologies, and so on), but you need to start somewhere, and this decision making process will help you narrow down your choices and highlight any problem areas before they come up.

Tags: development, technology, web


About the Author

"Author: Senior Software Developer, working in IT outsourcing company:http://www.unisoftchina.com and http://www.techomechina.com
"




Rating: Not yet rated
Login to vote | Not Registered? Create an account

Comments

No comments posted.

Add Comment

You do not have permission to comment. If you log in, you may be able to comment.


 

      Phone:  1-877-732-6101

      E-Mail:   Send Us A Message

 

News + Promotions

Enjoy exclusive promo offers, including an immediate 10% discount. Plus catch valuable marketing advice and trends with our weekly newsletter.

Offers and Discounts
Weekly Newsletter

Did You Know?

You can increase direct mail response rates dramatically by integrating your traditional direct mail campaign with an e-marketing campaign.

Tip #1
Mailing to prospects you've had contact with before? E-mail them a few days before your mailer arrives, and they'll be more likely to respond.

Need help integrating your direct mail with e-marketing?
We have extensive experience fusing traditional and internet marketing. Contact Us Today