By Kellsey Ruppel-Oracle on Mar 21, 2014
What makes self-service Websites so complex to build? Compelling self-service sites surface multiple backend applications and deliver them as a composite/aggregated view to present it as a unified experience to the user, which makes the Website dependent on not only the availability, but also the connections to those backend applications. Connection in this context refers to the self-service Websites’ ability to both interact with the backend application, as well as securing (authenticate and authorize) those interactions for a given users session.
Technology and Tools for Building Self-Service Websites
The surest way to mitigate the overall project complexity and risk is to first understand the entire scope of the project – not only the capabilities of the site, but also any dependencies that those capabilities may have. For example, if you have a requirement to allow a customer to view and update their account information, then you will not only need to build the visual component which will be seen by the user, but you also need to identify where the customers data resides (e.g. Customer Relationship Management application, Mainframe, etc.) and how that data can be integrated.
Security and Identity Management play a big part in delivering information. They do so by delivering information that is relevant, creating a secure connection to backend applications that are being surfaced within the self-service site. At a minimum, directory services (LDAP) and access management (Single Sign On and Federation Management) integration are required, but more sophisticated access control policies are becoming commonplace and require integration of specialized tools for security auditing, compliance, role management, and policy administration.
Application Integration is critical to exposing useful transactional functionality into the experience. The challenge here is that a typical self-service application will require data from multiple application sources, which means the organization will need to determine which application sources are accessible from existing Application Programming Interfaces (API), and which will require integration layers/adapters. Additionally, self-service Websites will often increase the demands on backend applications because it extends application functions directly to a large user base, which was previously only available to a small number of key individuals (e.g. internal support group, human resources, accounts receivable, etc.) Organizations will often utilize Service Oriented Architecture (SOA) technologies to help with orchestration, scaling, and data integration of backend applications and/or Mainframe.
Development Frameworks are key to building a rich consistent experience across the Website. They provide developers with core libraries that are used for accessing data, building visualizations, and session management. Given the amount of investment and effort that goes into them, self-service Websites tend to live for many years once they are established; much longer than many development frameworks. The lack of support and new features makes it very difficult for an organization to evolve or maintain their site. It can also become extremely cost prohibitive to maintain resources that are familiar with older frameworks.
Content is the core unifying technology. Most self-service scenario's have demanding requirements for editorial control of Web content that is being added or modified on the site. Additionally, large volume of documents will be linked off of the site which will typically require Enterprise Content Management (ECM) capabilities for creating, maintaining, and publishing those documents.
There are a number of technology considerations for reducing the amount of custom development involved in the core platform that the current Web site is running on. Custom coding at the platform level of a self-service project can seem like a simple approach to quickly implement a site with the resources that are available at the time. However, these customizations can become extremely cumbersome and costly to maintain because the organization effectively becomes the owner of that code.
Virtually all self-service Websites require extensive customization, but to reduce the overall risk and long-term cost of the project, organizations need to be certain that the core technology requirements are being met by the platform they choose. This ensures the organization can focus their development efforts on the core value add of the site versus maintaining and taking responsibility of the underlying platform, to allow them to instead focus on the core business function of the site, which will drive the most business value for their organization.
Portal server products have long been the tool of choice for self-service projects because they deliver the core technology platform capabilities that are needed for personalization, user access control, application user experience management, component development, and site administration. Portal technology allows organizations to move away from providing traditional purpose-built transactional Web applications to a more rich, dynamic, and streamlined user experience.