Move from Windows or Web GUI to Universal GUI
Moving from the Windows or Web GUI to the Universal GUI means moving from a 2-tier to a 3-tier architecture. This chapter describes the required knowledge to work with a 3-tier architecture, and it helps you get up to speed in applying it within the Thinkwise Platform.
What is Indicium
Moving from a 2-tier to a 3-tier architecture disconnects the front end from the databases. For Thinkwise, Indicium is the secure spider in the web between the front end and the database.
Indicium is Thinkwise's Web API that handles requests from the outside world. It facilitates all connections to a variety of data sources and exposes them to clients on location.
What is a Web API
Web APIs can be called by clients using HTTP requests. These requests are used to retrieve information from a web page while browsing on the internet. Many companies develop their own APIs. A well-known example is, retrieving an address belonging to a postal code.
A Web API, in general, does not come with a front end. Its main function is to securely provide data for executing "heavy" work, to support the client.
Your application can make Indicium call external Web APIs, too. You can do this by using an HTTP Connector in a system flow or a process flow.
Indicium offers DB logging and error logging where you can investigate unexpected behavior. To resolve a problem in Indicium, you have to be able to read HTTP requests. This is an essential skill for Thinkwise Platform developers working with web-based applications and Web APIs, such as Indicium.
To address a request to Indicium, the client builds a URL. It consists of two elements:
- Host - Indicium's address on the Internet. The host part is static and configured once at the clients' end.
- Path and query - What Indicium should do and additional required parameters. Indicium uses the OData standard to receive instructions from clients, defined in the path and query. An OData URL syntax is a bit similar to the SQL syntax, specifying the subject, ordering, filtering or an endpoint to execute some logic.
A URL syntax diagram
An HTTP request can contain different types of methods, like
POST. You can easily execute a
GET request URL in the browser's address bar.
To execute more complex requests like
POST requests manually, you can use a tool like Postman.
A response from Indicium comes in a JSON format, a standardized way to package data.
Communication between Universal GUI and Indicium
To get an overview of the communication between the Universal GUI and Indicium, you can use your browser's DevTools > Network tab. This tab only records requests from the moment it is opened. If you trigger a user interaction in the GUI, the requests will come into view.
To get an overview of the interaction of processes in the GUI, you can add the Redux extension to the DevTools.