Aperte Modeler architecture overview - bluesoft-rnd/aperte-workflow-core GitHub Wiki
This article provides a high level view at Aperte Modeler architecture, including its relation to Aperte Workflow runtime environment. It covers most of the important aspects and design goals of the application, therefore it should be a good starting point for any developer planning to work with this tool.
Architecture overview
First ,take a closer look at the following diagram, as it highlights all the topics we will bring in this article.
Components overview
As shown, Aperte Modeler at its core utilizes Signavio Core Components library. This library provides firm foundations for creating online graphical process editors in BPMN 2.0 notation. To customize some behaviors few changes were introduced in the library itself and a separate build configuration was prepared. To review those modifications, please visit the project github repository.
Most of the process diagram development takes place on the client side, inside the web browser. However there are always some features that require dedicated server side code, e.g. saving the process diagram or process deployment. Those kind of operations are handled by separate servlets, either by Signavio Core Components or Aperte Modeler.
To leverage pluggable software model, available in the Aperte Workflow runtime environment, modeler actively communicates with it via HTTP protocol. Although not ideal, that kind of interaction allows to provide the user with all the plugin metadata, currently accessible in the environment. This greatly simplifies the most consuming parts of process diagram development in Aperte Workflow, especially creation of graphical user interface in user tasks or configuration of automatic steps.
To visualize mentioned plugin metadata, a set of custom editor windows is available: Aperte Action Editor, Aperte Process Editor and Aperte Step Editor. Please do note, that those editors are deployed as part of runtime environment and are only accessed by the Aperte Modeler.
Security overview
To secure the communication with the runtime environment, Aperte Modeler uses token exchange mechanism. This allows to authenticate the user inside the runtime environment, with his or her Liferay Portal credentials and return the security information back to the Aperte Modeler. This approach greatly increases portability and doesn't require additional tools like Central Authentication Service or Tomcat Valves.
Authentication mechanism is based on BASIC access method, available in all the modern web browsers.