Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
ASP.NET 3.5 Application Architecture and Design

You're reading from   ASP.NET 3.5 Application Architecture and Design Build robust, scalable ASP.NET applications quickly and easily.

Arrow left icon
Product type Paperback
Published in Oct 2008
Publisher Packt
ISBN-13 9781847195500
Length 264 pages
Edition Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Vivek Thakur Vivek Thakur
Author Profile Icon Vivek Thakur
Vivek Thakur
Arrow right icon
View More author details
Toc

Architecture: First Steps


How do business requirements dictate architectural decisions? Lets understand this through a quick and small example. Assume that a software company, Takshila Inc., has recently bagged the contract for building a new inventory management system for a local cosmetics manufacturing firm. After the initial talks with the stakeholders, the business analyst from Takshila comes up with high-level specifications, which are:

  • The system should be accessible from any online location

  • The system should be able to process multiple orders at the same time

  • The system should be able to interact and process information from different locations having different databases

  • The system should interact with other software packages (such as financial software) already in use by the company

  • The system should be easy to customize later by the internal development team

With these requirements in mind, and after detailed discussions with team members, the software architect has come up with the following architectural specifications for the proposed inventory management software:

  • The system should be web based, using a thin-client architecture.

  • The system should have built-in multithreading capabilities.

  • The system should be database-independent, which means that the system should be able to work with multiple types of databases without changing the code—probable use of dependency injection.

  • The system should expose a set of functions as an API, and should also be able to import data from other sources and process this data in its own tables.

  • The system should have loosely-coupled tiers, so that each individual tier has no dependency on the other and can be used with any other tier.

Note how the business requirements have been translated into architectural specifications, and still there is not a word about a programming or development platform! So the architecture has nothing to do with development platforms, programming languages, design and so on. We can create a system satisfying the above requirements in many ways, using different designs and probably using different platforms too (for example, one could either use ASP.NET or JSP/J2EE). In short, the architecture does not care whether you use LINQ, AJAX, or Ruby on Rails. As long as you are meeting the architectural specifications, you are free to choose your own technology and tools.

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image