Technical Challenges of Extranets and Customer Engagement

Customer engagement

Over a decade of being a part of Microsoft ecosystem and solving customer’s needs, one of the most challenging tasks has been the engagement of customers and providing self-service systems to the end-users. In the old days and even currently some enterprises refer to the system as an “Extranet”. The cloud era and especially Microsoft’s Azure and the seamless integration between services has eventually changed the world.

Few years ago to have an environment where customers could authenticate, update their personal and professional information, interact with the enterprise and provide documents could cost hundreds of thousands euros. In most cases SharePoint was acting as the extranet platform, secondary Active Directory as the identity management system and Dynamics CRM as customer management system to hold customer information. Not to mention the integration platforms to solve the needs of communication between systems. For the risk, reliability, stability and usage load management all the platforms and systems had to be in a farm and at least duplicated for testing purposes. In most cases the capacity provided for the environments was frequently in the idle mode. The drawing below demonstrates a simple architecture of an on-premises server farm environment.

The minimal architecture

The costs mentioned above were only the hardware costs for the start.  The other costs for the project were the development and the maintenance fees which were much greater than budgets planned for the “Extranet” projects these days. The main reason for the bigger expenses was the custom made code created for platforms. Nowadays the need of custom coding is much smaller and most of the custom features are a part of the platforms.

Last fall Microsoft acquired a company called Adxstudio Inc. Since then I have been following the main cloud-based portal product of Adxstudio. The product is built on-top of Microsoft Dynamics CRM/XRM which is nowadays under the Dynamics 365 brand. User authentication is handled by the Azure Active Directory but user profiles are stored in the XRM as a contact record which can  interact with other entities in the CRM context. CRM entities and actions are extended to the web and information gathering is made amazingly easy. The product provides Content Management capabilities and search to create richer information management in the portal. As the technical perspective the UI is created by modern HTML 5 and CSS3 web technologies by using the Bootstrap framework to provide responsive mobile web pages.

But what concepts and features can be provided by the Dynamics 365 Portal to the end-users?
Here is a list of some concepts and ideas:

  • Customer service: help desk, account management and knowledge base
  • Communities and information sharing: discussion forums, idea management, polls and surveys
  • E-commerce: Transactions, invoice and order management, product and quotes management
  • Government: Services provided to citizens or emergency management
  • Marketing: Branding and design, conference and event management and lead generation forms

Each portal instance is hosted on Microsoft Azure and has some integration support for other Microsoft cloud based products like SharePoint. To keep integrations in mind, the product supports fully REST API and JavaScript can be used for the AJAX calls.

Currently the portal costs $500/year/instance but with each Dynamics 365 subscription the customer will get one instance of Dynamics Portals for free!
To refresh our memory each instance requires a Dynamics 365 CRM instance to which the portal will be attached during the installation/deployment phase. Corporate staff should have a CRM licence to be able use the portal but there can be unlimited amount of  external users for free!

In my next blog posts related to Dynamics 365 Portals I’ll go through the deployment process and features available in the product. My goal is to evaluate the product and give the business and technical staff better understanding of the product.