Another important consideration for any e-Commerce solution is scalability.
Scalability means that it is easy for your e-Commerce solution to grow, in terms of usage, without affecting the reliability of the solution.
When companies first put up Web sites, even BrochureWare, they had no idea how many site visitors they would get. Many businesses were surprised by the high volumes of traffic their sites experienced. The high amount of visitors ultimately caused many Web sites to seize.
What if the website's purpose was to sell a product? Well, that has happened as well.
e-Commerce sites get swamped and go down.
How does a business deal with this problem? Through scalability.
Scalable solutions allow more computing resources to be brought in to handle unanticipated peak loads in a seamless and uninterrupted fashion.
This may mean adding more physical hardware servers, adding bandwidth, or deploying more logical application servers,
but one thing is certain, today's e-Commerce solutions must scale.
Scalability often drives choices such as database, operating system, hardware, network provider, or equipment, and server-side software decisions in e-Commerce designs.
- How will the system react under high network load and/or slow response times?
- What will happen if a particular networked service goes down?
Once a prototype system has been constructed, the team can build test routines that simulate various operating conditions.
It is useful to benchmark a Web application server by simulating an increasing number of simultaneous user accesses in order to understand
how average response time degrades under increasing load. Simulation can also be used to test how the system responds when certain services become unavailable to overload conditions (network timeout) or system crashes.
- What points in the architecture are vulnerable to attack?
- Can we determine them using attack simulation software?
If a prototype is constructed in a realistic operating environment (including firewalls, etc.) then simulation can be used to identify and remedy potential system vulnerabilities
Are there any circumstances where the data of the user may be lost? To answer this question requires a solid understanding of scalability, robustness, and security characteristics of the system and how they impact the functional requirements.
For each functional requirement or supported user action (login, place order, etc.) the prototype can be analyzed to determine whether known issues with robustness and security might impact the functional requirement.
Information gathered from prototype evaluation can be extremely valuable in refining a system design before a full-scale system is constructed.