It would be very inefficient to redesign the whole site (not just the visual part
but the code as well!) just because you need to add a new feature. You can make it easier to
reuse a solution by planning ahead, so any new functionality that needs to be added can be
plugged in with ease, rather than each change causing a new headache.
When building the web site, implementing a flexible architecture composed of pluggable
components allows you to add new features??”such as the shopping cart, the departments list,
or the product search feature??”by coding them as separate components and plugging them
into the existing application. Achieving a good level of flexibility is one of the main goals regarding
the application??™s architecture, and this chapter shows how you can put this into practice.
CHAPTER 2 ?– LAYING OUT THE FOUNDATIONS 14
You??™ll see that the flexibility level is proportional to the amount of time required to design and
implement it, so we??™ll try to find a compromise that will provide the best gains without complicating
the code too much.
Another major requirement that is common to all online applications is having a scalable
architecture. Scalability is defined as the capability to increase resources to yield a linear increase
in service capacity. In other words, ideally, in a scalable system, the ratio (proportion) between
the number of client requests and the hardware resources required to handle those requests is
constant, even when the number of clients increases.
Pages:
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69