Runtime components : Client engine : Client engine: High‑level components
  
Client engine: High‑level components
Session manager
The session manager manages the session between the client application and the UNICOM® Digital Transformation Toolkit (UDTT™) server. The system uses it to manage the locale and time zone. The session manager uses these methods:
Session.establish(...)
Initialize the session.
Shorthand version: BTT.establishSession(...)
Session.destroy()
Destroy the session.
Shorthand version: BTT.destroySession(...)
This graphic is described in the surrounding text.
Exec server operation
The client engine starts a standalone operation on the server side by using the Engine.execOperation(...) method. For convenience, you can use BTT.execOperation(...).
Internally, it interacts with the session manager and the store service for the server.
This graphic is described in the surrounding text.
Flow
To interact with the UDTT flow on the server side, the client engine uses these methods:
launchFlow(...)
Launch a flow on the UDTT server.
changeEvent(...)
Trigger an event (including transfer data) to the flow processor, to indicate that something happened. Return the result (that is, the flow state and the data).
This graphic is described in the surrounding text.
Calling sequence
This graphic is described in the surrounding text.
User state and tooling
Note The user state is shown as “Client State” at tooling.
You can define the business flow visually by dragging and dropping items in the toolkit.
A user state has two special attributes:
Input data fields: These define the accepted data of the flow at this state, which means that only this data can be changed.
Output data fields: These define the output data just after the flow goes into this state.
This graphic is described in the surrounding text.
Store service
The client engine uses the store service to manage the data, including its type, constraints and formatting. The definitions are stored on the server: the store service gets the definitions directly from the server, which means that there is only one definition in the system, and it is always consistent on both the client side and the server side. Its main APIs are:
getValueAt(...)
Read a value or object by its composite key.
extractData()
Extract the entire data from the store, in plain JSON format.
extractInputData()
Extract the input data, which is permitted to be submitted to the server, from the store, in plain JSON format.
validate()
Validate the data by using the type and parameters that are defined in the UDTT Context on the server side.
getErrorFields(...)
Get the invalid field information.
This graphic is described in the surrounding text.
Cross-origin resource sharing
For the purpose of development or supporting flexible development, you can enable CORS by editing the web.xml file.
This graphic is described in the surrounding text.
For more information about CORS, see:
https://en.wikipedia.org/wiki/Cross-origin_resource_sharing
Go up to
Client engine