📜 ⬆️ ⬇️

SBM Composer visual development environment overview

We already have several publications on the Serena Business Manager (SBM) platform.

Version 11.1
Version 11.01

Since there was a request to tell more about the platform, development environment, examples of solutions, I will start with a story about the application development tool included with the platform - SBM Composer.
')
Immediately I warn you that there will be no programming in the first parts as such - the development environment is visual and allows you to develop a fully functional application, which is called, “without a single line of code”.

Overview of features


SBM Composer is installed and running on Windows. With the application version server, communication takes place over the HTTP (S) protocol, the application is deployed to the execution environment (deploy) in one click. Also available is a convenient import / export of the application through files, version comparison, application validation for errors, etc.

Main sections


Workflow design


The central module of the environment is, of course, the process model designer, which allows you to simulate the process (or several) of the life cycle of an information object (workflow). The interface resembles that of MS Visio — possible states of the object and transitions between them, swimlane, etc., are thrown onto the canvas.

The only difference is that behind the process diagram picture there is a working web application model that the SBM application server is able to execute, allowing users to create new information objects, modify them and “move” in a given process.

The process designer is conveniently connected to the rest of the environment. The developer can directly override the field settings in the data model, select the form to be shown to the user on a particular transition / state, add various actions of the business logic to the transition context or state (running scripts, orchestration workflow ), etc.



In the state and transition properties of the workflow model, you can define Actions (Actions) that the application server must perform before / after the transition or before entering / exiting the state. The list of possible actions includes a script call, a web service call, a call to the orchestration script, a call to a specific transition in the records associated with the current object. Actions can be run conditionally or unconditionally.



Data design


It is used to model data storage structures, in fact, table structures in the database (by the way, either MS SQL or Oracle is used as a DBMS). As soon as you add a new workflow, a primary table is automatically created with a set of required attributes to store information about new objects - “Name”, “Number”, “Date of creation”, etc.

It is possible to add your own fields from the palette. Fields are strongly typed - both familiar types (binary, date / time, numeric, text, etc.) and platform-specific (for example, user, single relational, sub-relational, etc.) are available.

Different types of settings are available for each field - the default value, mandatory filling, a hint on the user interface, etc.

The developer can create an unlimited number of additional data structures, reference books (auxiliary table). In fact, these are additional tables in the database, serving, as a rule, for storing various lists (for example, products or services, contracts with customers, etc.) The most important difference is auxiliary — records are stored for which there is no process. workflow.

And finally, in this module, data structures from external data sources appear, declared in XML format - essentially a view of the data to be used in the process without replication.



Visual design


Section for creating user interface forms. First of all, it should be noted that the application will work without creating custom-forms. This will use the so-called quick-forms, automatically built by the system based on the data model, process model and user privileges. But the modern spoiled user, as a rule, requires to treat the forms of the user interface with all possible seriousness.

Composer allows you to create several types of forms - this is a form of viewing (state form), editing (transition form) and printing form (print form).

The editor allows you to arrange the attributes of the information object on the form canvas, use additional sections (tabs), format the names and contents of fields, etc. It is important that you are allowed to create your own separate forms for at least each state, at least for each transition. This is convenient when a specific transition requires, for example, only to specify a note, or to designate an executor — the form is greatly simplified, only the required fields remain that end users value.
The development environment has a preview mode with form rendering.

More interesting features include:

1. Add interactivity through Actions. A special wizard allows you to perform various actions on certain events (form loading, changing the field value, etc.) (hide / show fields, change the obligation to fill fields, highlight individual sections, etc.).

All the same, in fact, can be done through JavaScript (see clause 2), but Actions greatly simplify life and solve 80% of typical tasks.

2. Connecting and writing JavaScript code. jQuery is available by default, you can connect and use any plug-ins you need on the form.
A library of functions is available for interacting with the form (the same hiding of fields / sections, mandatory, etc. - for all these actions there are ready-made javascript functions).

3. Built-in reports. Any SBM reports from simple lists to dashboards. The most widely used type of widget on forms. For example, you can easily add to the form a list of records associated with the current object. (for example, to display a list of features included in the release, what the client has in the contract, what other incidents occurred with this equipment, etc.).

4. Also available are some more interesting widgets (REST Grid widget, PDF widget), a section for capturing time spent (Time Capture), etc.



Security


The most boring section. Here you can set up the rights and privileges of the roles of users of our application.

The role is a container of privileges, and the privileges are configured quite flexibly. For example, you can create the “Developer” role, allowing it to work only with its objects, but see all the others, allow launching reports, but prohibit creating your own, etc., see some fields, edit others.



Extensions


The most interesting, in terms of development, section. Mostly come here to do two things:

1. Write some script that runs on the server. Scripts are written in VBScript language with the extension in the form of a built-in library for interacting with the platform (all sorts of creating, modifying, deleting objects, reading data, etc.). The script can be executed in the context of a transition, launched by a notification server on some event, or called via a URL.

Typical scenarios for using scripts are, for example, validation of entered data, generation of an object name, cost calculation, etc.



2. Write an orchestration. On Habré already have an article on this topic. In short, through a special process designer, you can call the SOAP or REST of the web service, process the received data, perform various actions on the platform objects, etc.

Typical scenarios - integration with external systems (including with other Serena systems, for example, Serena Deployment Automation ), receiving and processing data from external sources, etc.

References


The smallest section, but very important. Here, the developer can declare the external applications whose data structures and processes he intends to use. For example, if you already have an order management solution, you can declare it here, and then define the transition to creating instructions as dependent subtasks or simply parallel execution threads in the new process model. Or take data from the directories announced here.

Now that the purpose of each of the sections of the development environment should be clear, I will try with examples of specific application tasks to expand on the capabilities of the SBM business process automation platform.

Source: https://habr.com/ru/post/311162/


All Articles