The purpose of a website is to present a collection of webpages (we expect accolades for that definition). Yet in the Kleenheat web architecture, the webpages are provided by downstream microsites, so what are the responsibilities of a website in this architecture?

An architecture diagram which shows that a website can request pages from a downstream microsite

Routing

The primary responsibility of a website is to route a page or asset request to the appropriate downstream microsite. This is the mechanism by which we can present a cohesive website even though, behind the scenes, we use a collection of ASP.NET and WordPress microsites.

Security

An important responsibility of a website is to implement authentication and authorisation of users. Details of the authenticated and authorised user will be passed down to a microsite, however the microsite will not perform any user-based security.

The reason for performing user-based security only at the website level and not at the microsite level is to allow the same microsite to be used in different contexts. For example, the Payment microsite is available to anonymous users when it has been requested through the public website, but is only available to authenticated users when it has been requested through the private My Kleenheat website.

URL Redirections

A website is able to support legacy URLs by redirecting to the corresponding new location.

Caching

The final responsibility of a website is to cache pages and assets returned by downstream microsites.

Next section: Microsites