LSA UI/UX: Architecture - General Questions
General
Could you please explain a bit about the role of controller? Usually, some business logics are in the controller, you said the business logic would be in the model. Please explain a bit, if possible, with an example. Do you have a sample app build with the new architecture that we could take a look at and understand?
The controller is responsible for interfacing with the DX API to get and push data to the server as well as interpret the responses from these APIs and generate the UI screen to render by calling the appropriate components.
Currently, when we configure a flow, we have both the business logic and the UI (flow action)? is this going to change as the UI interaction is done via DX API?
Keeping the business logic is fine (decision shape, when rules...). We want to limit the amount of logic that goes into the section rule form right now - Using when rule in a section to change the container format or the type of icon being rendered is an example of business logic stored in the presentation layer
Can we get some information on new UI service? Assuming it’s a micro service, is it deployed in separate container or node?
The ui service is a NodeJS server - it is automatically deployed on Pega Cloud - A docker or Kubernetes image is also provided– see https://community.pega.com/knowledgebase/articles/whats-new-pega-platform/modernize-your-interface-cosmos-react-ui-85
Do I need to install Java Script library? If Yes, what is the process?
JavaScript is available in your browser - the Pega Platform already uses JavaScript for the UI rendering - this is not some new technology or plugin that you have to install.
Once fully using react based UI, will this lead to retirement of requestors? Will cookies and session affinity be required?
React based UI uses the DX API Rest service package that is stateless - there is no requestors - authentication is done through JWT tokens.
How is work object locking going to be handled when using API based architecture?
Some of the API will allow support for locking and unlocking the work object
How does this work with the new project fnx runtime?
The new client UI runtime will be compatible with the new back end infrastructure running as micro-services.