Front End Architecture: Where Business Meets IT
Healthy Tension Among Qualities
Sometimes, it is not possible to achieve all the desired qualities in a given solution. Certain quality attributes are at odds with one another and compromises must be made. With front end architecture, a balance needs to be achieved between the run time quality of usability and the design time quality of reusability.
Reusability to an extreme would create a single web user interface component for each function. Because the same user interface may not be ideal for both employees and customers, this might compromise usability for certain user groups. However, usability taken to an extreme could lead you down a path where there are multiple redundant components, not necessary to achieve the stated top and bottom line goals, and at the expense of the time-to-market and total cost of ownership goals.
A balanced approach can achieve both goals of usability and reusability. A practical strategy would attempt to reuse front end components first, customize by user group second, and create duplicate components as a last resort when necessary to achieve the usability goals of a user group.
Front End Functional Capabilities
Now that you have examined the goals and desired qualities of the front end architecture, you will review the high level functional capabilities required of the front end (see Figure 1).
Figure 1: Front End Functional Capabilities
Figure 1 illustrates how employee, customer, and partner User Groups utilize common capabilities through Web, Mobile, Voice, and Web Service Interaction Media.
Capabilities exposed through the front end architecture are divided into two categories: functional capabilities that span the Business Value Chain, and Supporting Capabilities.
Business Value Chain Capabilities are the functional capabilities core to your specific business. Example categories of Product Development, Customer Acquisition, Billing, and Customer Servicing are depicted here. Note that these capabilities wouldn't be implemented in front end components, but exposed through them.
Supporting Capabilities are not specific to any one business, but generally needed in any front end architecture. Some of the supporting capabilities, like Security, span across all media. Others, such as Look and Feel management, are a capability specific to the web and mobile medium, although, the overall information architecture should be consistent across media.
Let me briefly review some of the other Supporting Capabilities. Content Management should be implemented in a way that new content can be easily authored, approved, and published. User Analytics is required to understand user behavior across user groups and media. End user analytics provide feedback for improving the end user experience on an ongoing basis. The other supporting capabilities listed are Search, Collaboration, Work Management, and Interaction History.
Front End Solution Architecture
You have examined the "what" of front end architecture; this included the benefits, goals, and capabilities required of the front ends that serve a wide variety of user groups and interaction media. Now, you will turn your focus on the "how," looking at an overall front end solution that satisfies the broad set of functional and non functional requirements. You first will review the overall frameworks required of the front end, and then the reusable components built upon these frameworks.
An integrated set of architecture frameworks form the foundation of the front end solution architecture. Open source, commercial products, or homegrown frameworks may be used. Use of consistent and cohesive frameworks is tied to the development scalability quality because they enable multiple teams to contribute to the overall solution.
The overall front end solution is comprised of the Front End, Integration, and Back End layers. The architecture frameworks used within and across these layers are depicted in Figure 2.
Figure 2: Architecture Frameworks
Front End Frameworks
In support of the web and mobile media, a Portal framework is essential in assembling the overall user experience and in knitting together the capabilities across the business value chain as well as the supporting capabilities such as security, look and feel, content management, and search.
Other frameworks required of the front end include a Voice Portal framework to support the interactive voice response medium, and a secure Service Gateway framework to support partner and customer interactions through web services.
Finally, an Analytics framework is needed to capture end user analytics across medium.
Page 2 of 4