- Digital Experience Platforms are integrated set of web technologies that can be used to provide holistic and engaging user experience.
- Inbuilt integrations and out of the box features of digital experience platforms can be used to build B2C solutions such as employee experience platforms and customer experience platforms in quick time.
- Digital experience platforms differ from regular web platforms by aggregating information from all relevant sources and providing a personalized experience to optimize user experience across all touch points.
- Digital experience platforms normally provide out of the box features such as content management, ecommerce, personalization, integration, analytics, social and collaboration, campaign management, search, and user management. Digital experience platforms also provide modular components and an integration layer that provides the flexibility to extend the platform for future integrations.
- The main benefits of using digital experience platforms are increased user engagement, reduced operational costs, increased user traffic and agile delivery.
The book Building Digital Experience Platforms by Shailesh Kumar and Sourabhh Sethii describes methods, techniques, and practices for using digital experience platforms (DXP) and provides a digital transformation case study from a banking application.
InfoQ readers can download the front matter of Building Digital Experience Platforms and can preview Building Digital Experience Platforms. The code is available on github: code for the book building digital experience platforms.
InfoQ interviewed Shivakumar and Sethii about the solutions that digital experience platforms support, the main differences between developing software with a DXP versus using a “traditional” approach, how to combine a DXP with technological solutions like microservices, internet of things, blockchain, designing intuitive and interactive user interfaces with a DXP, integrating a DXP with other systems, handling the quality attributes of a DXP, the main technological and business process trends in digital banking and how a DXP can support them, and the benefits for organizations that have developed systems using a DXP.
InfoQ: Why did you write this book?
Shailesh Shivakumar: I was engaged in various large scale and complex digital portal projects and have closely watched the changing industry trends and customer expectations. I noticed that Digital Experience Platforms (DXP) are the next step in the evolution of portal projects. As DXPs are getting popular and there was minimal literature around this topic, I thought of sharing my experience in the domain so that the community can leverage the best practices, proven methods, learnings, methods for their projects. I have also tried to cover various related topics such as security, performance, requirements elaboration, design and such. I have also discussed the real world case studies to elaborate the practical aspects of the DXPs.
Sourabhh Sethii: I was working on banking projects and I found that DXP is best fit for transforming the banking domain and there were less number of resources available to develop end to end solutions on enterprise applications using DXP’s core concepts and methodology, hence I discussed with Shailesh about writing a book on banking experience platforms (BXP) which will cover all the concepts and practices of Banking Experience Platform with a holistic view. While working on concepts of this book, Shailesh came with the idea that we could leverage its capabilities to all the domains and we came up with Building Digital Experience Platform (DXP) . DXPs are not limited to commercial products; enterprises can build their own experience platforms to meet their needs. The book looks at various open-source tools, technology, and frameworks that can be used for building DXP.
InfoQ: For whom is the book intended?
Shivakumar and Sethii: The book is useful for Web developers, full stack developers, digital enthusiasts, digital project managers, architects and CTO’s. As many of the topics discussed in the book such as security, performance, requirements elaboration, and design are applicable to all enterprise projects, the book is beneficial for the software development community as a whole.This book has chapters on topics such as design, architecture, quality attributes, security, and performance, dedicated to technical architects. Some chapters, such as User Interface Design and Integration Layer Design, which will help web developers and technology leads to develop end to end solutions. Chapters such as Gathering Requirements, Transforming Legacy Banking Applications to Banking Experience Platforms, and End to End Case Study are especially dedicated to project managers, and CTOs.
InfoQ: What are Digital Experience Platforms?
Shivakumar and Sethii: Digital Experience Platforms are integrated set of technologies that aim to provide user-centric engaging experience, improve productivity, accelerate integration and deliver a solution in quick time. Digital Experience Platforms are based on platform philosophy so that they can easily extend and be scaled to future demands of innovation, and continuously adapt to the changing trends of technology. Enterprises can have solid integrated foundation for all the applications, which meets the needs of organizations going through digital transformation and provides a better customer experience across all touchpoints. DXPs package the most essential set of technologies, such as content management, portals, and ecommerce, which are necessary to digitize the enterprise operations and play a crucial role in the digital transformation journey. DXPs offer inbuilt features such as presentation, user management, content management, personalization, analytics, integrations, SEO, campaign management, social and collaboration, and search, among others.
InfoQ: What kind of solutions can a DXP support?
Shivakumar and Sethii: DXPs support almost any form of Business to Consumer (B2C) enterprise solutions such as ecommerce platforms, content platforms, analytics platforms, information delivery platforms, and such. The integration layer of DXP can also be used for developing services that can be integrated as headless mode.
Besides the regular B2C applications, DXPs can also be used for building domain and function-specific applications such as banking experience platforms (BXP), employee experience platforms, customer experience platforms, and such.
InfoQ: What are the main differences between developing software with a DXP versus using a “traditional” approach?
Shivakumar and Sethiii: DXP is platform-driven approach which has common structure built on set of different technique, and a framework where we can leverage omnichannel capabilities to provide the best user experience on all devices. It has the capabilities to provide seamless and simplified processes across all the touch points throughout the user journey. It is the common platform for all the enterprise applications, hence we can provide a seamless and simplified process across all touch points throughout the user journey, whereas a traditional approach has a different structure for different applications, and hence it is difficult to provide the same user experience across the touch points. A traditional approach also carries the overhead of maintaining different structures. DXPs provide lightweight alternatives for enterprise web applications.
InfoQ: When is it not necessary to use a DXP?
Shivakumar: There are few scenarios that only require simple functionality, such as static web sites, simple microsites, and public information platforms that don’t need personalization, integrations and robust security. In such cases, DXPs can be an overkill.
InfoQ: In the book, you described how to combine a DXP with technological solutions like microservices, internet of things, and blockchain. Can you elaborate on how this works?
Shivakumar: DXP has a flexible integration layer that provides reusable and extensible services for external integration. The inbuilt capabilities such as content management and ecommerce are exposed as content services and commerce services for the presentation layer. As such, the DXP services can also be used for building a headless integration with other systems. The integration layer can also be extended to integrate with cloud based IoT services and Blockchain services.
Sethii: The Digital Platform strategy is to design an ecosystem that gains insights, delivers services faster, and provides a consistent experience across all devices. The platform-based approach has innate innovation capabilities because it deals with huge amounts of data processing across omnichannels such as mobile applications, web application, wearable devices, IVR, chatbots etc. To ensure and fulfill the DXP strategy, microservices are the building blocks to achieving a faster delivery rate, whereas the Machine Learning capability provides the insights from the data which can be captured through wearable devices such as IoT sensors. DXP’s approach is continuous improvement and is flexible enough to get integrated with emerging technologies such as Blockchain.
InfoQ: How can we design intuitive and interactive user interfaces with a DXP?
Shivakumar: As DXPs are used in modern B2C applications, we can apply the UI design principles such as minimalist design, lean model, on-demand data loading, asynchronous integration, responsive design, and headless integration. The user interface should also be tested on all popular mobile platforms to ensure that DXP provides a seamless experience. Dashboards, localization enablement, analytics integration, personalization, and A/B testing are other key elements of forward-looking UI design.
InfoQ: What is the possibility of integrating a DXP with other systems, such as customer relationship management systems, databases, content management systems, or social media tools?
Shivakumar: Usually DXPs provide inbuilt connectors for databases and content management systems natively, as they are the most common scenarios. For other systems such as customer relationship management systems and social media tools, we recommend leveraging supported services or APIs to integrate in headless way. During integration, we should also take into consideration security (through tokens), performance, scalability and availability.
Sethii: The DXP integration layer is capable of integrating with any other system, such as CRMs, CMSs, social medial through web APIs, and databases through different open source connectors. There are various types of integration platforms, architecture such as monolithic or microservices, and frameworks such as apache camel, and spring boot used in the integration layer.
InfoQ: What practices can be applied to develop the integration layer?
Shivakumar: We strongly recommend considering the following factors:
- Leverage existing ESB or API gateway to centralize integration concern
- Use an asynchronous, lightweight and headless mode of integration
- Handle exception scenarios such as timeouts and system unavailability through suitable fallbacks
- Follow service design best practices related to granularity, state management, transport options, versioning, security, and transaction/process management
- Leverage the integration patterns such as facade, event handling and others that we have discussed
- Thoroughly test all the integrations for performance, scalability and other defined SLAs
Lightweight asynchronous invocation is one of the main integration methods adopted these days. The integration is done using REST calls over HTTP that use JSON as the payload format. Granular microservices are designed to cater to the fast changing needs of the UI layer.
Sethii: Service must be designed to behave as stateless services, since there is no grid technology at this point. Service must not persist any session-related information or transit state of the request in the memory, that is, use of a shared variable or local cache must be avoided completely. It is possible that there could be multiple instance of the services operating running concurrently. Service must share resources in a thread-safe manner, avoiding deadlocks.
InfoQ: How should we handle the quality attributes of a DXP to optimize the performance of the system?
Shivakumar: I have given the key points below for performance optimization:
- Optimize all the layers of the DXP. We apply optimization methods such as minification, merging, and optimized images for UI layer; we use server side caching and optimized server calls at the business layer, and we fine tune the database queries and database objects and leverage caching at the database layer.
- Adopt performance-based design in the development lifecycle. Performance-based design includes defining performance design principles, adopting a performance checklist, conducting iterative performance testing, and setting up a robust monitoring infrastructure for real-time performance monitoring.
- Leverage multi-layer caching. For instance, at the UI layer we can leverage the browser caching to cache the scripts, images and other files that do not change frequently. At the server layer, we can cache the lookup values, and the results of costly services calls or database calls. In the database layer, we can cache the query results.
- Leverage the UI best practices such as minification, merging, optimal asset placement with reduced server calls.
- Adopt lazy loading and use asynchronous calls. Load the data only when accessed asynchronously, which improves the perceived load time.
- Carry out performance tests at various load levels and monitor the server resources along with response times.
- Constantly monitor the performance and finetune the systems wherever needed.
InfoQ: What are the main technological and business process trends in digital banking, and how does a DXP support them?
Shivakumar: The key technology trends in the banking domain are headless integration, mobile-first design, optimized integration, lean model, and agile delivery. The key business trends are self-service enablement, collaboration, user journey optimization, a dashboard-based unified view, reduced operations costs, and analytics-based reports.
All these features are mostly possible by leveraging or extending inbuilt DXP features.
A prominent feature in a banking application is about personalized dashboard. A bank customer can get a holistic view of all the transactions, account information, utilities, balance and other things on the dashboard page. DXPs can provide the dashboard view by aggregating and personalizing the information from all relevant sources and they can track the user behaviour through analytics tools. Based on the insights gathered from the analytics reports, the business can further improve the user experience to actively engage customers.
InfoQ: What benefits have you seen for organizations that have developed systems using a DXP?
Shivakumar: The key business drivers for organizations to adopt the DXPs are three fold: increase user engagement, create an extensible platform, and optimize cost. I have witnessed an increase in user traffic upto 70% after DXP adoption due to enhanced user experience and active user engagement. Self service features also greatly reduce the operations cost for an organization. Self-service capability usually includes tools such as chatbots, search, knowledge base, product comparators, and smart recommendations that help the users to get the relevant information in quick time. If users get relevant information, they will not log incidents or make calls to customer support, thereby reducing the operations costs for the enterprises.