Highly Scalable, Internationalized Web Application - Dell Battery Replacement
Requiring a quick turnaround (3 months) and a HIGHLY scalable website (in 8 different languages), ANUJ Technologies helped
provide DELL with the solution.
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 - ANUJ Technologies helped 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). ANUJ Technologies 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 - from verifying 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.
Note: Since our team had cross-platform experience (J2EE and .NET)
- we made a quick evaluation of picking the best route for this high-performance
website. An equivalent J2EE solution would have taken 6 months, twice the
manpower - and higher licensing costs (based on a 2 server websphere cluster). ANUJ
Technologies accomplished the above goals in 3 months - including a 2-week intense
performance testing phase prior to the production launch.