Architecture Overview
Architecture Diagram
- CPQ is an application which is composed of software components, hosted and managed by PROS.
- CPQ implementations are accessible through the public domain proscloud.com. A CPQ server can be exclusively dedicated to one customer or shared by multiple customers. Moreover, one or more public URLs are allocated to access the customer’s environments (test, production,etc.).
- The transport layer between the user’s thin client (browser) and CPQ web application server is ensured by HTTPS protocol.
- The data exchange between MSCRM and CPQ web application servers is performed through Web Services (SOAP / HTTPS).
- A CPQ integration solution is deployed and hosted on the Microsoft Dynamics CRM platform. It implements several techniques specific to the MSCRM platform (Custom entities, plugins, workflows, etc.)
Process flow
- From the MSCRM Quote entity, the user can edit the active quote general information. Then he can switch to the Quote “Content” tab using the ad hoc button to display CPQ - hosted outside the MSCRM platform – in an iframe.
- When switching to the “Content” tab via the “Quote Content” button in the main menu bar, a call is made to a custom MSCRM JavaScript that initializes the external context of the quote.
The MSCRM JavaScript first instantiates the CPQ session parameters with MSCRM contextual data. This data may be configured through the PROS Mapping Set and PROS Custom Settings entities.
- Then, the Javascript makes a call to a CPQ Web Service. The actions of this Web Service consist in:
- validating the session parameters,
- loading the quote data,
- completing the initialization tasks.
The data sent to the web service are structured in an XML file stored in the PROS Quote Content In entity.
- validating the session parameters,
- If the initialization is successful, an URL is returned to MSCRM to display CPQ in the Quote “Content” tab iframe. Otherwise, an error is thrown. The user interface of CPQ displayed in the iframe is the one configured in the PROS Custom Settings entity.
- Within the Quote iframe, the user can access Catalog, Configurator and report generator modules – if configured - from the CPQ Quote spreadsheet. Therefore, he can add products in his quote, manage its approval process and generate a proposal document accordingly.
- When clicking on the “Save” button within the CPQ iframe, CPQ makes a call to a MSCRM Web Service to attach the quote data to the MSCRM Quote entity. This data is an XML structure attached in the PROS Quote Content Out entity. The document generated by CPQ with the report generator module is attached to the Quote by invoking MSCRM standard APIs through a Web Service call.
- When the quote content XML data is attached to the PROS Quote Content Out entity, a MSCRM custom action is called to synchronize and update Quote data and data from any other entity linked to the Quote and setup in the PROS Mapping Set.
- Once the synchronization is done, the user can manually switch to the Quote entity via the “Quote Overview” button in the main menu bar to display the updated data.
Authentication
The architecture supporting the integration of CPQ with MSCRM provides one mechanism to manage the authentication in the two systems. It relies on Azure Active Directory.
For more details on this authentication mode, please refer to AAD Authentication.
