|
| |
|
|
| |
|
|
| |
Highly Scalable, Internationalized Web Application - Dell Battery Replacement
Requiring a quick turnaround (3 months) and a HIGHLY scalable website (in 8
different languages), I helped DELL build a scalable, multi-lingual
(internationalized) website to speed up the returns process.
The Challenge -
Laptops with affected batteries were already in use all over the globe - in over
40 countries - in every major continent (Australia, Asia, Europe, South
America, North America). The web application would have to support various
languages as well as the different locales within a language (e.g. Canadian French, 'French' French, Taiwanese Chinese,Traditional Chinese).
-
There were over a million affected laptop batteries - the serial numbers of
which would need to be verified across disparate databases. An elegant solution
requiring minimal database hits would be needed for handling the anticipated
website traffic.
-
The number of languages and locales to be supported could grow at any time. The
solution needed to be flexible to support new languages - which may be
discovered after deployment as well.
-
Since affected laptop batteries were already in use - and needed to be recalled
ASAP - the website had to be in production ASAP!
The Solution
Using the .NET runtime's globalization support, the first step was to isolate
all resource strings, images and other UI elements that would be presented in
the user's browser. These isolated 'language-specific' resources were compiled
into individual satellite assemblies which were automatically loaded based on
the language and locale detected in the user's browser. High performance,
scalability and resilience were all key requirements - since the website was to
receive hits from around the globe - (several hundred thousand hits per day). I
helped design and implement a solution which included: -
Application caching of large datasets - Serial numbers that were part of static
lookups were loaded once into memory and kept there - to avoid unnecessary
database roundtrips.
-
Server Farms - along with database based session management - to accommodate
persistent sessions between different servers on the server farm
-
Highly optimized web controls from Infragistics - offering sophisticated dynamic
web controls for a better end-user experience.
-
Dynamic loading of individual language resources based on the user's chosen
language and locale - with the flexibility to add more languages down the road.
-
Comprehensive unit tests written for each critical use case - fromverifying
battery serial numbers to order
placement. Fully automated build process - encompassing entire web
application including multiple language support - providing a perpetual ready-to-release option
for the web application.
The Result -
An extremely successful production launch - which handled upto 100,000 hits
hourly and upto 2000 simultaneous user sessions.
-
An end-to-end user experience which was unmatched in both - user-friendliness as
well as speed.
-
A solution which allowed additional languages to be added after the production
launch - without any code changes! This helped DELL service other countries
where they later discovered they had shipments of affected laptops (e.g. Brazil,
Portugal).
-
An extremely successful returns program that served over a million affected
laptop customers around the globe.
|
|
|
|
|
| |
|
|
|