LSPS documentation logo
LSPS Documentation
Quickstart

This guide is the place to start if you are new to the product and need to get familiar with its architecture, environment, and related documentation. It introduces you to Living Systems Process Suite (LSPS) and leads you through the hello-world model scenario.

What is LSPS

LSPS is a suite of tools that allow you to develop a flexible process-driven company application that will distribute work to your employees, communicate with external systems and users based on BPMN or GO-BPMN processes and that in a very short time frame. You will be able to manage the processes and any related data, monitor key performance indicators of processes and activities, integrate with social media and much more.

When you install Process Design Suite (PDS) as instructed in the Installation Guide, you installed the IDE for development your models.

PDS comes with the locally running application server called PDS Embedded Server. It is generated when you first request to run it. It is stored in the .LSPSEmbedded directory of your workspace.

PDS Embedded Server has the LSPS Application deployed: this is a JEE application that allows you to deploy, run, and manage GO-BPMN models. The heart of the application is the LSPS Server, which stores and runs your models, manages model instance execution, their update, etc.

PDS provides also the thick client for management of the LSPS Server in the form of the Management perspective.

Summary:

  • Process Design Suite is the IDE where you will design your models here, connect to LSPS Application, and manage all resources.
  • LSPS Application is a JEE application that works with your models: it manages the uploaded models, runs the models and manages the related resources, such as, user rights and roles. It has the following web applications:
    • Application User Interface intended for end-users to interact with the LSPS Server.
    • Management Console intended for administrator to manage the LSPS Server.
  • PDS Embedded Server is an out-of-the application server with the LSPS Application deployed.
simpleArchitecture.png
PDS Embedded Server that you start and control from PDS

Note: Apart from the PDS Embedded Server, LSPS comes with yet another embedded Server called the SDK Embedded Server: It is provided by the SDK extension of PDS as part of the Enterprise Edition: its LSPS Application EAR along with the Application User Interface sources are part of your workspace (you generate the server from PDS). While the LSPS Server part of the application cannot be modified, you extend it with custom items and EJBs to implement custom business logic and adapt the thin client Application User Interface. Further instructions and details are available in the development documentation.

Launching Process Design Suite

To launch the Process Design Suite, do the following:

  1. Go to $LSPS_HOME.
  2. Run the lsps-design binary for your platform.
  3. In the Workspace Launcher dialog box, choose a workspace folder and click OK.

If the chosen workspace folder does not exist, it will be created: it is simply a folder, where the resources of the session are located.

The Welcome page appears. Click the Modeling Perspective icon or close the Welcome page.

Creating the Hello World Model

To be able to design valid processes, you need to create your processes as well as other resources in a set structure: First you create projects: they exist only in your workspace and are intended for organization purposes. A GO-BPMN project contains modules, which allow you to organize the resources still further, but also provide the visibility and executability features, similarly to Java packages: a module contains definitions of processes as well as other resources, such as, variables, organization hierarchy of involved people, localization units, etc.

Modules are what you upload to the server. If a module is executable, it can be used to create a model instance. The server then executes the model instance, based on the definitions in the module and its module imports, which are simply imported modules.

To create the project structure with the module and process, do the following:

  1. In PDS, create a project:
    1. On the main menu, go to File > New > GO-BPMN Project.
    2. In the New GO-BPMN Project dialog box, enter the HelloWorld project name.
      newProject.png
      New GO-BPMN Project dialog
    3. Click Finish.
  2. In the project, create the HelloWorld module:
    1. In the GO-BPMN Explorer view, right-click the HelloWorld project and go to New > GO-BPMN Module.
    2. In the New GO-BPMN Module dialog box, enter the HelloWorld module name.

      Note: Leave the executable module check box selected: an executable module can become a Model instance (the flag somewhat resembles the logic of the main method in Java).

      newModule.png
      New GO-BPMN Module dialog
      You have created a HelloWorld project with a HelloWorld module. Note that the module contains the Standard Library imports.
    3. Create a process definition in the HelloWorld module:
      1. In the GO-BPMN Explorer, right-click the HelloWorld module and go to New > Process Definition.
      2. In the New Process Definition dialog box, enter the helloWorldProcess as the process name and click Finish. Make sure the Type is set to BPMN-based process.
        newProcess.png
        Creating a process definition file
  3. Now you can design the process content:
    1. In GO-BPMN Explorer, double-click the process definition.
    2. In the Modeler editor on the right, create a process with a None Start Event and a Simple End Event connected with the Flow:
      1. In the palette on the right, click the None Start Event.
      2. On the canvas, click where you want to position the None Start Event.
      3. Select the None Start Event and click-and-drag the quick linker icon next to it to the position where you want to place the Simple End Event. In the context menu, select Simple End Event.
        quicklinkerpull.png
        Using quick linker
    3. Select the Normal Flow element between the None Start Event and Simple End Event: in its Properties view, click the Assignment tab.
      helloworldassignment.png
      Hello World with the assignment expression
    4. On the Assignment tab, enter the following expression:
      log("Hello World!", INFO_LEVEL)
      log is a call to the log() function of the Standard Library that logs the specified message with its level to the database log of the application: the Logs can be viewed in the Management perspective.

If you have followed the steps as described above, the module should be valid: in case there is something wrong, check the Problems view. If the view contains a problem entry, you will need to solve it. Check the respective instructions above again and remedy any mistakes.

If there are no problems in the view, you can upload the model to the PDS Embedded Server and run it.

Running Hello World

To run an instance of the HelloWorld model on the PDS Embedded Server, do the following:

  1. In the Enterprise Edition, click to run the PDS Embedded Server. In the Cloud Edition, you are uploading to your cloud Execution Engine; just skip this step.

    On the Enterprise Edition, PDS creates the .LSPSEmbedded folder in your workspace and generates the resources for the server with the LSPS Server, and runs the server with the LSPS Server deployed.

  2. Upload and instantiate the model: right-click the HelloWorld module and go to Run As > Model.

    This uploads the module and its module imports to the LSPS Server and creates its Model instance.

  3. You can check that the model instance was created in the Management perspective:
    1. Switch to the Management perspective (on the main menu, go to Window > Perspective > Open Perspective > Management).
    2. In the Module Management view, click the Refresh ( ) button: The view will display the HelloWorld module and the Standard Library modules.
    3. In the Model Instances view, click the Refresh ( ) button: The view will contain the instance of the HelloWorld model.
    4. In the Logs view, click the Refresh ( ) button: The view will contain the log message of the HelloWorld model.
      monitoringModel.png
      Hello World model instance entry in the Management perspective
  4. Optionally, you check the system data in the underlying H2 database. Set the database URL to jdbc:h2:tcp://localhost/h2/h2;MVCC=TRUE;LOCK_TIMEOUT=60000 and connect with the user lsps and password lsps.

What Just Happened

When clicked Run As > Model on your executable module, the following happened:

  1. The module with all its module imports, in this case only modules of the Standard Library, were uploaded to the Module repository of the LSPS Server.
  2. The LSPS Server created a model instance based on your model.
  3. The model instance checked for Start Events in processes it could trigger: it found the None Start Event in your helloWorldProcess. Hence it created an instance of the process.
  4. The None Start Event produced a token, which indicates where the execution is currently at.
  5. The LSPS Server moved the token to the End Event, which consumed the token.
  6. Since no more tokens were present in the process instance, the process instance finished.
  7. Since no other processes were running in the model instance, the model instance finished.

What to Do Next

Now that you have a rough overview of how LSPS works, you can refer to one of the following: