Front End Architecture: Where Business Meets IT
Front end components are loosely coupled from back end components. To interact with back end systems, an Enterprise Service Bus or ESB is used. Services exposed on the ESB can be utilized between multiple front ends.
There may be complex human-to-human, human-to-system, or system-to-system interactions to be managed. In this case, a Business Process Management or BPM framework may be required in addition to the ESB. This is directly tied to the Work Management supporting capability.
Back End Frameworks
The Content Management system is used to author and publish content through front end medium. Content also needs to be searchable and may be tied to a search framework.
The front end Analytic framework captures only front end interactions. To enrich end user analytic data with the operational data needed for true customer insight, a Data Warehouse is needed in the back end.
The vertical layer in the diagram shows frameworks that cross front end, integration, and back end layers. Infrastructure Monitoring ensures availability and performance service level agreements are met for all solution components surfaced through the front end. A Security framework externalizes security components from other layers and provides a common, consistent solution across all layers.
Thoughtful Component Reuse
Figure 3 shows some of the high level components that would be visible in the front end, integration, and back end layers of the architecture. Each of these components would be built upon the frameworks outlined above. The diagram is called "thoughtful component reuse," because it illustrates how the architecture supports the design time quality goal of reusability.
Figure 3: Thoughtful Component Reuse
There are three portals, each customized to the needs of employees (B2E), customers (B2C), and partners (B2B). Each of these portals is created using a common framework. Portlets, reusable user interface components, are shared between the portals. Portlets may expose functional capabilities such as sales, service and billing, as well as supporting capabilities such as content management.
In the example above, the Sales Portlet is used across the B2E, B2C, and B2B portals. It may be configured differently to support the needs of the different user groups. The Sales Portlet in turn uses the Sales Interface in the integration layer to interact with the Product and CRM back end systems. The Sales Interfaces exposed on the ESB are identical to those used by the Voice Portal and Web Service Gateway.
Because components are shared across user groups and interaction media, the architecture fully supports the quality of medium transparency. When changes are required to the system, a minimal set of components will need to change, supporting the quality of reusability, and maintainability and in turn the goals of reduced time-to-market and lower development and maintenance costs.
Front End Architecture Guiding Principles
The six guiding principles outlined below should be kept in the forefront when developing your front end architecture:
1. Start with the end user and work backwards toward the solution
The best way to design a good user experience is to work from the "outside in," from the view of the customer, partner, or employee as they interact through the front end. A thoughtful user centered design process models the user experience across user groups and interaction media. The goal of this process is to create a seamless presentation of all the functionality necessary to perform specified tasks, linked to defined process and procedures. Only a holistic approach will provide an integrated view of the user and all their interactions through the front end.
2. Realize the vision through an incremental approach
A "big bang" approach toward implementing the front end architecture will be very difficult to achieve due to the breadth and depth of the capabilities required. A phased approach with multiple teams building toward the vision is needed. At any point in time, an incremental release must make sense from an end user perspective. Return on investment (ROI) analysis should be used to determine which features are delivered in each increment. Vendor packages and legacy assets and should be thoughtfully integrated into the overall user experience.
3. Utilize a common technical framework
It will be impossible to realize the front end vision without committing to and utilizing a common set of technical frameworks as articulated in the previous section.
4. Develop a common delivery framework: People, Process, and Technology
An effective front end solution requires thoughtful attention to people, process, and technology to be successful. A common delivery framework is needed to operate on top of the common technical framework. Portfolio and program management are needed to identify reusable components and properly sequence deliverables. A shared delivery model will help scale development and improve the overall consistency and quality. Stewardship and operational roles are needed to manage incremental delivery of the user experience.
5. Thoughtfully reuse components across user groups and interaction media
Front end components should be reused across user groups wherever possible and practical. However, a one-size-fits-all user interface will not likely succeed in achieving the desired top and bottom line benefits because different user groups may require a different user interface to achieve its usability goals.
Page 3 of 4