Technological innovations follow each other at an ever-faster pace, and the challenge to keep up with this digital transformation is increasing. It is set in motion by the rise of the 3rd Platform; the inter-dependency between social, mobile, cloud and analytics. The 3rd Platform architecture is transforming IT much faster than the first (mainframe) and second (client/server) platforms ever did, changing the way people interact with technology and disrupting existing business models across industries.
Digital Transformation and the 3rd platform
To help our customers keep up with this digital transformation and maintain their competitive advantages, we are investing heavily in improving the Thinkwise platform as a 3rd Platform development tool, in which the new Thinkwise application tier (“Indicium”) plays a crucial role.
The Indicium application tier is a generic service tier application, which uses model interpretation to provide the required logic and functionality. It replaces and expands the previous, generated service tier, and acts as a central hub for interfaces, business logic, workflow, analytics, security, reporting and much more. Due to the technologies, design and architecture used, this application tier offers many advantages over the generated service tier.
This blog posts highlights some of the key features, characteristics and benefits of the new Indicium application tier.
Higher productivity and agility
The Thinkwise Platform previously used code generation to create the service tier for an application. Every data-model change, and even some user interface model changes, required a re-generation and re-deployment of the service tier, which was very time-consuming.
Unlike its predecessor, the Indicium application tier is not a generated service tier. Just like the Thinkwise user interfaces, it uses model interpretation to provide the desired features and logic and create the desired API at runtime.
The most noticeable advantage of model interpretation is that it’s no longer necessary to replace or restart the service tier after a model change. The application tier will automatically detect any changes to the model and hot-reload the updated model. This saves a lot of time during development and prevents down-time in live environments.
Because the application tier is a generic application that interprets the model, it is capable of serving models for multiple applications at once, including the Intelligent Application Manager. Multiple instances of the application tier can also be used side by side for scaling and failover purposes.
Another huge advantage is that expanding the application tier itself with new features (by Product Innovation) is much, much faster than before. With the generated service tier, new features had to be reverse-engineered into parameterized templates and complex logic to generate compilable code. Testing new features and making sure all different combinations of model settings were taken into account was a time-consuming and tedious process.
Although the Indicium application tier has a considerably higher level of abstraction due to the model interpretation, the development speed for new features and the quality of the software is many times higher than before as we no longer need to reverse-engineer the code and can use advanced development and testing tools. And because the application tier is no longer distributed using code templates inside the Thinkwise development environment, but as a standalone application, we can use our existing continuous integration and delivery processes to provide more frequent updates.
At the moment, we’re in the middle of moving as much functionality as possible from the Windows and Web user interfaces to the Indicium application tier. This way, features like reporting, import and export, business intelligence and interfaces will be available on all platforms. It will also greatly help us in the development of our new Universal user interface. More on that in part 3 of this blog series, so stay tuned!
The Indicium application tier will provide a centralized solution for all integration challenges, acting as an enterprise application integration hub. This eliminates the need for user interface extensions, integration services packages, CLR procedures or custom-build web services. Default connectors and adapters are available to easily integrate with different services and applications, like:
- Artificial Intelligence services (Bots, Virtual Assistants, Machine Learning, Image recognition)
- Big Data solutions (Search, Analytics, Internet of Things)
- Office integration (Exchange, Office 365, SharePoint)
- Third party applications (custom user interfaces, financial applications)
The Next Generation Thinkwise Platform architecture
Several customers have already successfully connected the application tier with third party applications, or use the Indicium application tier as a backend for their own custom-built user interface, like Linx-AS. The Hubspot marketing software used on our own website uses webhooks of the Thinkwise Community Portal application tier to push form data directly into TCP.
The Indicium application tier provides an extra level of security for all platforms. All data traffic passes the application tier and users and applications no longer need direct access to the database. The application tier takes care of authentication and data access security for both entity-level and row-level authorization (using filters).
This also makes it possible to use additional forms of authentication, like IAM authentication and two-factor authentication, for desktop applications. In the future it might even be possible to use your Google or Facebook account to log in, as long as your email address is registered in IAM. And because the application tier can run as a publicly available web application, the desktop user interface can also connect from external locations without the need to set up a virtual private network.
Execution of business logic concepts, like defaults and layouts, will eventually be the responsibility of the application tier rather than the user interfaces. This ensures that business rules are respected at all times, even when importing data or when interfacing with third party applications. The user interfaces in turn don’t require access to all fields anymore, resulting in less traffic and higher levels of security.
The first release of the Indicium application tier version has already replaced the generated service tier for mobile applications. The Indicium application tier is compatible with the Windows and web user interfaces and currently supports all user interface functionality. More and more features are moved from the user interfaces to the application tier, mainly regarding business logic and process flows.
After we've done that, we are fully committed to expanding the possibilities of the application tier with loads of cool features. Let’s take a peek…
Scheduled process flows
Once process flow execution and state is managed by the application tier, actions or complete flows that don’t require user interaction can be executed headless (without a user interface) or even be scheduled. This eliminates the need for external scheduling software (like SQL Server jobs) and opens up endless automation and integration possibilities in combination with the process flow connectors we introduced last year.
Once we have automated process flows and scheduling, the next logical step to implement regarding process automation is workflow. We already have all the business process models available (right?) so all we need to do next is make these models executable. Piece of cake.
We’re working closely together with Forrester experts on Business Process Management to develop an optimal and integrated BPM/workflow solution.
To further raise the Thinkwise quality standards and serve our customers even better, the Indicium application tier will be equipped with advanced monitoring and analytics features to monitor health, performance and stability of Thinkwise applications. By collecting usage and performance information, the application tier will be able to recognize possible problems even before they manifest, making our customers even happier.
The Indicium application tier currently is an optional component of the Thinkwise Platform for the Windows and web user interfaces, but once new features are added to the application tier, it will become an essential, core component of the Thinkwise Platform.
So, what do our customers need to use the new Indicium application tier?
First of all, they need a web server for the service tier application to run on. This can be the same server that is used for the web user interface, as long as it has sufficient resources, but because the Indicium application tier is a .NET Core application, it runs not only on Windows but also on macOS and Linux servers. There is a caveat however, and that is that some external libraries (e.g. for reporting) are only available for .NET 4, in which case the application tier requires a Windows server with .NET 4 installed. More information about the technology and architecture of the Indicium application tier will follow in part 2 of this blog series.
Secondly, there might be external applications that make use of the current SOAP services of the application. Before you can replace this service tier, make sure all other API consumers migrated to the OData API. From release 2017.1 of the Software Factory, it is possible to run both the old and the new service tiers in parallel.
Apart from this, nothing stands in the way for the Indicium service layer to become the coolest new Thinkwise innovation in years!
Except maybe for the new Universal GUI that we are currently working on…