Services are deployed in the Service.xml file, which contains widget definitions. The widgets are all registered in the WidgetCatalog.xml file. The relationship between the two files is illustrated in the following figure:
When an end user triggers the adding service function on the service list, the widget instance is imported into a row element of the Workarea. When the saving function is triggered, the service is saved into the UserProtal.xml file.
The flow when an end user triggers the adding service function is as follows:
After step 3 in the figure, when the service model is newly created, a new row element is also created for the service container. The row id is random. The service widget instance relates with the row element through the row ID.
Then when the saving function is triggered, the model structure is saved to the server side. The information of the service is saved into the UserPortal.xml file, which is used to restore the service that an end user adds into the Workarea. While the UserLayout.xml file is used for storing the Workarea structure, such as Tab, Column and Row Element, the relationship is illustrated as follows: