A good friend of mine was in town this week to visit one of his clients. When we got together for dinner (and, yes, drinks) one of the topics (inevitably) was architecture. Lately he has been working with some very large international comp…
A good friend of mine was in town this week to visit one of his clients. When we got together for dinner (and, yes, drinks) one of the topics (inevitably) was architecture. Lately he has been working with some very large international companies re-architecting their public web sites to flexibly deliver localized content. The solution was to combine Service-Oriented Architecture with Web Content Management.
In a nutshell, the architecture includes a web front end that is composed from portlets where each portlet requests content from WCM system(s) using WSRP. The front end is de-coupled from the WCM systems via a service bus where the service bus is responsible for routing the content request to the appropriate WCM system. (I’m using the term “service bus” here in the most generic sense, not to denote a specific product. My friend prefers the term “service fabric”.)
This has an obvious advantage for localized content. The service bus routes the request to the correct WCM system based on the chosen local. This allows each division, country, or geography to manage its own content yet the corporate web presence is still unified.
Another advantage my friend pointed out is that this architecture simplifies previewing of new or modified content. The service bus can route content requests to a staging WCM system for users that are responsible for reviewing new or modified content. The new/modified content can be viewed directly in the production web site before being “published”.
It figures that I’d have this conversation *after* writing the ORA User Interaction document (a part of ITSO). Nonetheless the ORA User Interaction document does cover these topics albeit not this specific usage. This architecture is a specific example of what is denoted generically as “federation” (e.g. section 4.2.3) in the document.