Back to top

Learn about LSPS

LSPS is a BPM, DevOps and ERAD platform for development and maintenance of enterprise web applications focused on automation of business processes. The crucial aspects of application are modeled in an executable visual modeling language GO‑BPMN. Other parts of custom applications are developed in Java. The LSPS platform provides tools for collaborative application development, deployment, testing, execution, management and monitoring.

LSPS best suits for business process automation. All, human-centric, automatic and hybrid processes are well covered. LSPS application can provide quite complex functional and dynamic custom user interface, robust business logic, but also integration with external systems. Orchestration of business services/processes is also the domain of LSPS applications. Thanks to ERAD features, LSPS can be successfully applied for smaller or middle-sized systems with possibly non-trivial behavior, which are build and maintained more quickly and effectively than with conventional software development tools. LSPS is a perfect solution for innovation projects exposing various manifestations of intelligence.

The most effectively is LSPS used by IT professionals in small/middle-sized teams working on shared development artifacts working within agile projects with possibly significant rate of prototyping.

Another common usage of LSPS is by business analysts to use advantages of GO‑BPMN modeling to produce analytical models of the business/application while designing the desired business solution or its improvements.

Because LSPS is an advanced intelligent BPMS, providing fast and effective application development, business-oriented application modeling with standard BPMN and DMN extended by goal-based modeling and modeling agile business processes, unique model testing and debugging features, covering full BPM lifecycle with automation tools in the DevOps style, variability of application deployment to cloud or on-premisses, and runtime management and monitoring. Last but not least, all LSPS tools are free.

Architecture

Architecture

LSPS components

  • LSPS Designer: an Eclipse-based IDE for GO‑BPMN modeling, Java LSPS Application development, and server management
  • LSPS Server: an JEE application that allows to deploy, run, and manage GO‑BPMN models
  • LSPS Application: an end-user web application that provides the application UI, functionality and integration with surrounding systems
  • LSPS Management Console: a web application used to monitor and manage the server’s runtime and model execution
  • LSPS CLI: a command-line tool for automation of remote management of LSPS Server(s)

  Quickstart | Server architecture

Architecture

LSPS components

Intelligent Business Process Management


BPM lifecycle

Automation, effective operation and continuous improvement of business processes is the key goal of LSPS for enterprise applications. Business processes can be dynamic and complex and have to take into account a network of internal and external relationships. In addition, processes can be structured and repeatable or unstructured and ad-hoc.

The key approach of LSPS to successfully cope with such complex systems is to enable fast and automatized appltyng of the BPM life-cycle in possibly incremental and iterative way.

Design: Rich modeling of all key aspects of existing business processes during this phase allows to identify current process and design the proposed changes. The LSPS Designer directly used by business engineers allows to outline the conceptual processes, organization structure, business data, etc. In addition, the conceptual models can be easily prototyped to verify satisfaction of requirements for business change.

Modeling and Testing: Evolution of conceptual business model leads to a fully executional model of the application. The LSPS Designer provides tools for GO‑BPMN;BPMN modeling, model validation, one-click model deployment to development environment, testing, and debugging. In addition, developers can create a custom web application to provide end-user environment for running business models. The provided Eclipse Java IDE offers all possibilities for coding, building, deployment, testing and debugging.

Execution: During this phase the end-users are using the application in their business. To come to this, LSPS provides continuous building and deployment of the application to the execution environment. A special care is dedicated to migration of business applications with long-running processes, migration of business data, changes in organization structures, changes in UI, etc. See here for more details. The execution environment is based on LSPS Server, a scalable JEE-based platform with rich monitoring and management possibilities.

Monitoring: LSPS provides a built-in BAM (business activity monitoring) tool with business-specific or out-of-the-box statiscics, report, and grapgs. The BAM tool as whole or particular reports/graphs can be arbitrary integrated to other parts of UI. Operations on business data, business events and activities of business processes are logged and can be used for keeping track and analyzing performance, failures or exceptional situations of business or technical relevance. More info...

Optimization: The results of monitoring can be used by business engineers, busuness executors or by processes themselves to identify performance bottlenecks, possibilities of improvements and requirements for further business and software application improvements.

Remark on Intelligence

LSPS is usually classified as an Intelligent BPMS. There’s no magic behind “intelligence” but several practical mechanisms and tools to achieve complex behavior of business process governance (automatic business processes watching and managing other business processes) with minimal engineering effort:

  Intelligent Business Process Management with LSPS

DevOps


Mapping DevOps to BPM

DevOps (software development and IT operations) aims to shorten the software application development life cycle and provide continuous delivery with high quality. In LSPS, DevOps comes hand-in-hand with BPM - DevOps focusses more on the development of a business software system and BAM more on modeling and running the business supported by a software system. Actually, the both are the different sides of the same coin - a business system supported by software. Let’s match the phases of these two approaches:

BPM DevOps
DesignPlanning
ModelingCoding, Building
TestingTest
ExecutionReleasing, Deployment, Operation
MonitoringMonitoing
OptimizationPlanning

The planning phase is about management of requirements, getting feedback from stakeholders, gathering the monitoring results, preparing the development roadmap and planning the next steps. Simply, everything what happens before coding and modeling. You can use your favorite tools for ticketing, planning, requirements management, etc., however, also LSPS tools can help in this stage. For instance, business engineers can use the Designer to model the desired solution or changes of the existing business model and to prototype it. They use well-known modeling instruments for “drawing” processes, organization structures, data, UI, etc.

Thank to the continuous model validation, content assistance of model parts, one-click deployment and instant execution of a model and automated unit/integration/system tests, the model-test-fix cycle is really fast with the Designer during the coding, building and testing phases. For custom LSPS application, all available Java coding, building and testing tools can be used. LSPS uses the Maven ecosystem for application building.

All the modeling and custom LSPS application artifacts can be put to a version control system (VCS) to allow continuous integration of new or changed project artifacts by concurrently working developers. The Designer provides out-of-the-box Eclipse tooling for GIT and specific compare/merge tools for all GO‑BPMN model artifacts built over any VCS used by IDE. The Designer IDE allows to use any other Eclipse plugin for VCS.

Continuous releasing, testing and deployment are usually automated by tools such as Jenkins, Atlassian Bamboo, CruiseControl, GitLab CI/CD, and similar. You can use any of your choice.

Another option is to let LSPS to create a Docker image with the whole LSPS Server, LSPS application and application model easily deployable to any environment which can run Docker, e.g., to the most of the cloud services.

Operation phase is identical to the Execution phase of BPM lifecycle when end-users are using the application.

Depending on requirements and accessability of the runtime environment, LSPS provides specific tools for application management and monitoring. Web-based LSPS Management Console, CLI for remote LSPS Server access and scripting tasks, or the Management perspective of the Designer tool. For technical monitoring of the application server, operating system resources, server resources, networking, etc. any tools can be used.

The issues of the application running and monitoring are usually recorded by a ticketing and problem-solving systems and come as input to the next planning phase.

With LSPS enriched by other 3rd-party (in our cases mostly free) tools we can effectively achieve continuous integration, continuous delivery, continuous deployment and continuous feedback - the main benefits of DevOps.

Enterprise Rapid Application Development


RAD lifecycle

Rapid Application Development (RAD) is a method of software development which heavily emphasizes adaptive evolutionary prototyping and iterative delivery over detailed specification and precise planning beforehand. This approach is also one of viable responses for increasing demand of the business for new applications at one side and lacking of IT to deliver them in time and required quality at the other side. Especially if the turnaround expected by the business for custom development projects is shrinking.

RAD is applicable mostly for small or middle-scaled projects, or parts of large projects, led by smaller groups of skilled developers, accompanied with clients or end-users open to cooperate in the development process and receiving the results frequently. If applied correctly, RAD enables to deliver applications quickly, with higher quality, at lower risks, and with better user acceptance.

Enterprise RAD (ERAD) is often an essential part of larger business (re-)engineering and innovation programs. These projects demand a greater level of business involvement as well as more frequent iterations to stay current within the market. The rapid prototyping approach of RAD is a key tool to help end-users and analysts “think out of the box” about innovative ways that technology might radically reinvent a core business process.

LSPS has been developed with application in (E)RAD development process in mind to speed-up the enterprise application development and to make it easier and faster than with conventional technologies. LSPS can be characterized a low-code development platform (LCDP) providing significant reduction of coding by domain-specific visual modeling used to provide higher-level abstractions for all important aspects of business application: business processes, intelligent business decisions, organization structure, business data and data constraints, user interface, application API, integration, and much more. The GO‑BPMN model is inherently executable, so it does not need to be transformed to application code manually. A valid model can be deployed and start running in seconds.

However, LSPS is not an end-user development or no-code development platform. To create a high-quality, customer-specific and performing applications with possibility to integrate with variety of public or in-house 3rd party systems (including customer-specific and legacy systems) requires IT professionals.

LSPS empowers the application prototyping by fast model-deploy-test-fix cycle. Automation of continuous releasing, testing and deployment makes the prototyping itself, but also the application finalization much seamless with minimal human intervention and therefore it’s less error-prone.

In addition, the modularity of a GO‑BPMN model allows to divide the application into independently developed and parallelly prototyped parts, while the overall system consistency and module integration is automatically checked and governed by the LSPS modeling ecosystem. Prototyping cycles running in parallel can even more speed-up the application development process.

In a number of very intensive customer projects LSPS has proven to be successfully applied not only for habitual prototyping of UI, but also user-observable application functionality, large-scale user interactions with the application (UI workflows, UX), business processes, performance of business, processing and integration with 3rd-party external systems. By usage of the evolutionary prototyping all these aspects of a business application can be incrementally developed and iteratively improved to the desired level of functionality, quality, and performance continuously controlled by end-users and customers.

Model-Driven Development

GO-BPMN diagrams

LSPS as a high-productivity platform uses model-driven development (MDD) to allow smaller teams of developers to define, build and deploy an application faster, at better level of quality and with minimal possible effort. Visual models also provide natural business-level abstraction which is comprehensive to business people who can contribute to or check the development artifacts. In the usual case, the initial specifications are made in the form of high-level business models created by business specialist and these models are later evolved into fully executional models by IT specialists. All in the same modeling language.

The Designer IDE provides comprehensive tools for collaborative modeling, model versioning, model comparison and merging, content-assistance, customizable model validation, manual and automatic model testing and model debugging. LSPS provides appreciable level of automation. There’s no need to transform created models to code - a valid model is naturally executable. Once it is uploaded to the Server, the model is checked, interpreted, executed within an LSPS Application and being monitored and managed by the CLI and Management Console tools.

LSPS applications are modeled in the Goal-Oriented Business Process Model and Notation (GO‑BPMN) visual modeling language. It covers modeling of the following business application aspects:

Business Processes

GO-BPMN conservatively extends the standard BPMN 2 language by declarative, problem-oriented goal-driven approach to modeling business processes. The application developer can use either “classical” BPMN procedural, flow-based style or goal-based modeling or their arbitrary combinations. LSPS provides a variety of out-of-the-box parametric task types and modeling libraries to be applied in human-centric, automatic, or hybrid business processes.
  More info: GO-BPMN spec on modeling processes | How to model processes in the Designer

Organization Structure

GO-BPMN provides a visual model of business organization structure in terms of hierarchies of parametric organization units and roles. Elements of organization structure are then used to control performers of process tasks and access rights to application data, functionality, and UI. User management provided by LSPS includes dynamic assignment of users to roles, user substitution, delegation of responsibility and other advanced mechanisms. LSPS execution engine then provides comprehensive inference mechanism to resolve elements of the modeled organization structure to particular application users valid in the current time and provides up to date to-do lists for business users.
  More info: GO-BPMN spec on organization model | How to model organization structure in the Designer

Data Types

Business and application-specific data types are modeled in GO-BPMN by the object-oriented (OO) language inspired by UML class diagram and enhanced by specific notation customized to the LSPS type system. GO-BPMN data model allow to specify records (entities similar to OO classes), their properties and methods, interfaces, enumerations, and relationships of various kinds. These instances of the specified types are available in the LSPS expression language to represent persistent business data, application-specific technical data, data transfer objects, reflection objects of LSPS model and their execution, LSPS system data, etc. Database, XML and JSON mapping are provided to automate persistency and customization of transformation the data objects to/from XML or JSON formats. GO-BPMN offers also advanced mechanism of specifying data constraints and constraints validation.
  More info: GO-BPMN spec on data type model | How to model data types in the Designer

User Interface

GO-BPMN model defined several possibiliteies. Built-in WYSIWYM form editor… several possible rnderers. Out-of-the-box Vaadin renderer. Forms are used in todo UI and documents - process-independent forms - part of model. Mention localization features.

Functionality

textual object-oriented expression language to glue all the models. Entities of all models become types of the expression language. Expressions are used to compute all values, decisions in processes, …. For performance purposes or to access functinality of other Java libraries, implementatin of functions or methods can be done in Java code which becomes part of LSPS application code deployed to Server.

Application API and Interfaces

SOAP web services, RESTful services, modeled application REST API.

Goal-Based Process Modeling

Goal-Based Process Modeling

Goal-based process modeling allows to express complex dynamic processes in a declarative way enabling problem breakdown and applying means-ends analysis. LSPS goal models are directly executable, therefore there’s no need to transform them to procedural business process description. Goal models can react to events and can be arbitrarily combined with BPMN models (representing procedural description of business processes).

The goal-extension of the language enables you to create models that separate the goal (WHAT you wish to achieve) from the way it is achieved (HOW to achieve it). The goals are defined by Goal elements and the ways they can be achieve by Plans.

More info...

Goal-Based Process Modeling

Decision Modeling

Decision Modeling

GO-BPMN supports standard DMN decision tables to enable decision management and business rules comprehensible by business and IT users alike. This is the standard approach for specification repeatable decisions used at various places in models, eg., decisions in processes, computing various values based on business rules, specifying access rights to application functionality and data, and more. Some properties of decision tables supported by LSPS include features like:

  • decision table can be created at the modeling time by developers,
  • decision table can be created and changed dynamically in runtime by business users,
  • decision tables can use either standard SFEEL language or a full-power LSPS expression language to access process execution data, business data or business functionality,
  • decision table can be evaluated any time to obtain the result,
  • rules of decision table can be specified/modified manually by users or can be automatically generated by program,
  • decision tables can be persisted
  • configurable editor of decision table is available as UI component, and more.

  More info: Tutorial on decision tables | How to model decision tables in the Designer

Decision Modeling

Modeling Agile Processes

Modeling Agile Processes

Agile processes represent an extension to standard BPMN used to express complex allow to model- mechanisms to alow react on ad-hoc situations and not to follow just prescribed workflows in manner of BPMN.

Modeling Agile Processes

Reflection of Model and Execution

Reflection of Model and Execution

Reflection of process models and execution - ability to create business processes that govern other processes to watch their performance and optimize it, solve business process failovers, propose or ajdust manual or automatic workflows to follow previously executed successful scenarios, etc.

Reflection of Model and Execution

Modularity

Modularity

… mention that one module can contain several processes and provides common shared “infrastructure” for their execution - context of variabes, functions, data model, organization structure, custom components, …

Modularity

Extensibility and Highly Customizable Application

Extensibility and Highly Customizable Application

Extensibility and Highly Customizable Application

Flexible UI

Flexible UI

Several technological alternatives…

dynamic UI, …

Flexible UI

Effective Application Update

Effective Application Update

… mention runtime model upload /run for small small changes in model, but if changed data or still-running process models => appl. restart or MUC

Effective Application Update

CI/CD Pipelines

CI/CD Pipelines

CI/CD Pipelines

Flexible Deployment

Flexible Deployment

… LSPS supports Cloud or On-Premises deployment of application. Alsoo it supports single tenant and mult-tenant SaaS. mention creating docker image deployable to

Flexible Deployment

Runtime Management and Monitoring

Runtime Management and Monitoring

Mention M consoles and mgmt. perspective… and functionality

technical management of processes, models uploaded,…

runtime monitoring…

for business monitoring see BAM -> ref. to documentation

Runtime Management and Monitoring