SBM Composer Visual Development Environment Overview

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

    " Version 11.1
    " Version 11.01

    Since I was asked to tell you more about the platform, development environment, and examples of solutions, I will start by telling you about the application development tool SBM Composer, which is included in the platform.

    I warn you right away that there will be no programming as such in the first parts - the development environment is visual and allows you to develop a fully functional application, which is called “without a single line of code”.

    General overview of features


    SBM Composer installs and runs on Windows. Communication with the application version server takes place via HTTP (S), the application is deployed to the runtime environment (deploy) in one click. Convenient import / export of the application through files, version comparison, application validation for errors, etc. are also available.

    Main sections


    Workflow design


    The central module of the environment is, of course, the designer of process models, 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 object states and transitions between them, swimlane, etc. are poured onto the canvas.

    The only difference is that behind the picture of the process diagram lies the working model of the web application, which the SBM application server can execute, giving users the ability to create new information objects, change them and “move” the given process.

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



    In the properties of the states and transitions of the workflow model, you can define Actions that the application server must execute before / after the transition or before entering / exiting the state. The list of possible actions includes a script call, a web service call, an orchestration script call, a specific transition call for records associated with the current object. Actions can be triggered 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 for storing information about new objects - “Name”, “Number”, “Creation Date”, 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.) are available, as well as platform-specific types (for example, user, single relational, sub-relational, etc.).

    For each field, various kinds of settings are available - the default value, mandatory, a hint on the user interface, etc.

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

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



    Visual design


    Section for creating user interface forms. To begin with, it should be noted that the application will work without creating custom-forms. In this case, so-called quick-forms will be used, which are automatically built by the system based on the data model, process model, and user privileges. But a modern spoiled user, as a rule, requires taking user interface forms with all possible seriousness.

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

    The editor allows you to arrange the attributes of the information object on the canvas of the form, use additional sections (tabs), format the names and contents of the fields, etc. It is important that it is allowed to create their own separate forms for at least each state, at least for each transition. This is convenient when for a specific transition it is required, for example, only to indicate a note, or to appoint an artist - the form is greatly simplified, only the necessary fields remain, which end users appreciate.
    The development environment has a preview mode with rendering a form.

    More interesting features include:

    1.Adding interactivity through Actions. A special wizard allows you to perform various actions for certain events (loading a form, changing a field’s value, etc.) (hide / show fields, change the mandatory field filling, highlight individual sections, etc.).

    All the same, in fact, can be done through JavaScript (see paragraph 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 plugins you need on the form.
    A library of functions is available for interacting with the form (the very hides of fields / sections, mandatory, etc. - there are ready-made javascript functions for all these actions).

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

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



    Security


    The most boring section. Here, the rights and privileges of user roles for our application are configured.

    A role is a container of privileges, and 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 reports to run, but prohibit creating your own, etc., see some fields, edit others.



    Extensions


    The most interesting, from the point of view of development, section. Basically they come here to do two things:

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

    Typical scenarios for using scripts are, for example, validating entered data, generating an object name, calculating the cost, etc.



    2. Write orchestration. There is already an article on the hubon this topic. In short, through a special process designer, you can call SOAP or REST web services, process the received data, perform various actions with 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 external applications whose data structures and processes he intends to use. For example, if there is already a solution for managing orders, then here you can declare it, and then define in the new process model the transition of creating orders as dependent sub-tasks or simply parallel execution flows. Or take data from the directories declared here.

    Now that the purpose of each of the sections of the development environment should be clear, I will try to reveal the capabilities of the SBM business process automation platform using examples of specific applications.

    Also popular now: