To create a good starting point for for a scalable application architecture, a typical system may require a product catalog, registration and personalization, online ordering for the e-commerce domain and various information-based applications, such as a retail outlet finder, and online troubleshooting. Each of these must be logically separated to some degree. As part of the separation, each could be implemented on its own hardware as a set of 'collaborating semi-autonomous applications'. However, they must all combine at different times and in various ways to deliver a 'seamless' experience for the end user.