Quick Guide


General Strategy

Step 1: Process graph (structure)
  • Model the basic structure: Which activities in which order?
  • Model the data: Which activity needs or provides which data?
  • Model the decisions: Which data is needed for decision making? Which activities are the origin of that data?
  • Test run with test client: Does the performance match the plan? (E.g. order of execution)
Step 2: Insert the applications
  • Connect applications

  • Test run with test client

Step 3: Connect the organisational model
  • Which worker corresponds to which activity?
  • Time management / escalation
  • Further augmented functions….
Step 4: Deployment

Step 1: Process graph

Process Template Editor
  • Tool to make the process templates
  • Create a new project and process template:
    • Main menu File -> New or
    • Context menu in navigator 
Model the process
  • Start and change of a model:

  • Modelling starts with an empty graph, only start and end node are visible

  • Changes are made by controlled operations, selected nodes show the particular operations that are availabl

  • Making a change:

    1.  Select the range, starting with “Preselection”, ending with “Postselection”

    2. Choose the operation.

      • Tooltip explains why a certain operation is not available
      • Result is immediately visible
      • detected problems are shown immediately
    • Many changes are also available using the context menu:
      right-click on the arrow between activities opens up a menu, letting you choose context-sensitive operations
  • Change properties

    • Select object with arbitrary selection mode
    • Change to property view
    • Adjust value
    • Value gets accepted by hitting enter or leaving the field
Process data
  • Activities can write and read data
  • Data is saved in data elements (process variables)
  • Access to data can be depicted with arrows
  • Available data types:
    • STRING “Text”
    • INTEGER 4711
    • DATE 15.04.2016 13:37:23
    • BOOLEAN true / false
    • FLOAT 47,114711
    • URI file:/c:/MyTable.xls
    • USERDEFINED
      • additional field: name of the type
      • usage: binary data of arbitrary size
      • example: documents, pictures, pdf, …
  • Insert data elements, by change operation or “Data Element View”
  • Read and write data elements, by selection and change operation
    • Change several read/write accesses at once
      • Hold down Strg / Ctrl at selection
      • Single node as Preselection + several data elements -> add / delete accesses
    • You can also select data elements through “Data Element View”
      • Change many properties here directly
      • “New Data Element” on toolbar of the view
Execution in test client
  •  Allows local execution of processes
  • Important help to …
    • check if every activity gets the right data
    • test routing behaviour of processes
    • test connected applications
  • Requires:
    • Decisions must be modelled (see later)
    • “Execution on test client”
      • Tests have to be terminated successfully
      • Selection of tests through toolbar of Process Template Editor
  • Starting the test client
    • separate start  of the test client
      • start the test client independent from the Process Template Editor
      • Execution of .template files
    • start of the test client within the Process Template Editor
      •  start the opened process template right from the editor in the test client,
        path to client EXE must be set in configuration of Process Template Editor
      • Test client may remain open, renewed execution of “Run Template” creates new instance in test client
      • later: interactive modelling
Alternatives, Parallelism, Loops
  • Besides sequences, you can also model alternative and parallel sequences, and loops
    • Modellins as “blocks”
    • XOR-block: alternative sequences
      • Either activity A, B or C will be executed
      • arbitrarily many branches and activities
    • AND-block: parallel executed sequences
      • Activities A, B and C can be executed simultaneously
      • arbitrarily many branches and activities
    • LOOP-block: block with return and iteration
      • Activity A gets repeated
      • arbitrarily many activities
  • Insertion of block
    • several change operations
      • block between activities 
      • surround part of the process with a block
      • create a new branch between two block nodes
Excursion: Activity Repository Editor
  • Installation of supplied activities 
    • AristaFlow Component Bundles (ACB)
      • File format for definition of applications
      • Application definitions (activities)  can be recorded at arbitrary process steps and define what exactly is executed at the specific step
    • Some standard applications like automatically generated forms,  data base access, etc. are supplied
    • The ACBs can be found in the server folder under data/ActivityRepositoryImports/ and have to be imported like this:
      • Click Start menu AristaFlowBPMSuite -> Activity Repository Editor to start the ARE
      • create branch
      • import activity and edit if necessary
      • release branch 
    • Overview Activities
      • Often used synonymously
        • “Activity”, component, environment,  application module, …
        • distinction technical detail (for now)
      • Activities that are available to process developers
        • reusable (implement only once!) 
        • are constantly extended
        • more later …
Modelling decisions
  • Decisions take place at two places
    • Begin of an alternating block (XOR): Which alternative shall be chosen?
    • End of an iteration block (LOOP): Shall be returned to beginning or not?
  • Decisions can be processed by a special application (activity)
    • The fit activity “XOR Predicate” can be found in the “Activity Repository Browser”
    • Drag and drop on the decision nodes
    • Configuration through wizard
  • Systematic construction completely overlapping and non-overlapping branching predicates
    • Approach:
      • arbitrarily many decision “dimensions”
      • Comparison of a “dimension variable” to constants or variables (“pseudo constants”)
      • Creation of completely overlapping, non-overlapping intervals for every dimension
      • Construction of completely overlapping, non-overlapping combi-predicates

Step 2: Insert Applications

Activity Templates
  • Division
    • Interactive steps
      • Called by user
      • GUI for interaction
      • Client implementation has to support GUI integration if necessary (e.g. Swing, SWT, HTML, …)
    • Technical (automated) steps
      • Call into backend system, database, …
      • Will be executed automatically (“Automatic Client”)
      • In test client “by hand”
    • Interactive activities (with GUI)
      • Forms
        • Forms with form designer
        • User Form
        • Generated Form
      • PDF-Document-Review (HTML based form)
      • Invocation of EXE filed with GUI
    • Automated activities
      • Database connection (arbitrary SQL databases) 
      • Invocation of binaries (e.g. EXE files)
      • Invocation of Java methods
      • E-mail transmission
      • Access to organisation model
      • Process support (e.g. for error handling)
      • XOR predicates
      • (BSH) scripts
      • Files operations
      •  FTP, SFTP upload
      • HTTP requests (GET, POST)
      • Text formatting with process variables (String formatting)
      • Waiting for a certain time or until a certain time
      • Web service invocation with Axis
      • Evaluation of XPath expressions
      • XML transformations with XSLT
Imbedding applications
  •  Applications are imbedded in a plug and play manner
    • Look for the application in the Activity Repository Browser
    • Drag and drop it on desired node in the process
    • Follow the wizard
  • Wizard pages depending on type of application
    • E.g. XOR predicate: Business Rule Composer Wizard
    • Standard pages
      • Changing the name, description
      • Mapping of parameters and data elements
    • Example: user form
      • extendable forms user input
      • Additional wizard page: Changing parameters
        • Choose amount and type of parameters freely
        • Input parameter is shown in form
        • Output parameter has to be filled in form
      • Activity “UserForm”
    • Modelled data stream taken as parameter
      • Example: For every reading access in plug and play an input parameter is created

Step 3: Connecting the organisation model

OrgModel Editor
  • Create and administrate organisation models
  • Mapping of complex company structures
    • organisation meta model
  • Navigating access
    • Query language
    • Resolution of the worker’s mapping rules with build in parser
  • Create entities, like departments (OrgUnit)
  • Create relations, e.g. assign positions (OrgPositions) to departments
  • Determine the manager (Manager)
  • Navigation in OrgModel
    • double click on relation entry
Connecting the organisation model
  •  Distribute the process steps by rules onto organisation model
    • “Staff Assignment Rules”
    • Dialogue to change assignment
    • Reachable through node properties and plug and play wizard
  • Automated start of the process step on client of user
    • Only available with certain dependent rules

Step 4: Deployment

  • Requires
    • Checks “Execution on Production System” doesn’t find errors
    • Activate checks in Process Template Editor!
  • Approach
    • Start Process Template Editor
    • Deployment: Provide process template to server
    • Adjust Starter Rule
    • Check and adjust if necessary template 
    • Check and adjust if necessary instantiation ability
  • Process Repository Browser vs. Template Manager View

Further topics

Extended aspects of data flow
  • Systematic, system sided check on all explicitly modelled data flows
  • Differentiation between obligated and optional data flows
    • Obligated data flows have to be provided for when accessed reading
    • Optional data flows can be be null
  • It’s possible to describe “hidden” data flows by “virtual” input and output parameters
  • Identifier
Hierarchy of processes: sub processes
  • Every activity can be an elementary activity or a sub process
  • Sub processes never can access process variables of the father activity directly 
  • Parameter passing:
    • Starting activity of the sub process introduces the invocation parameters to the local context
    • Ending activity returns return parameters to the invocation context
  • Three modi
    • embedded
    • referenced
    • forked
  • Drag & Drop off
    • Navigator (only embedded)
    • Process repository Browser or TemplateManagerView 
Sync Edges
  • Synchronizes the execution of nodes of parallel branches
  •  Synchronisation of write access

Usage of process data in working list

  • Configuration by properties dialogue / wizard page
  • Format: %[s|I|d|u|f]:parametername% 
Further activities
UserForm
  • Simple,  generated form for user
  • Display of descriptions
  • Several possible configurations depending on parameter
  • Extensions for UDTs
  • Component de.aristaflow.form.Form
BSH Script activity
  • Bean Shell
  • Simplified Java syntax
    • Utility classes don’t need to be imported
    • no strict typecasting
  • Processing of process data
    • Optional parameters supported
    • Processing of USERDEFINED data
    • As String, stream, Java object 
    • DATE parameter as Date object
  • Inclusion of additional libraries
  • Declaration of methods
  • Component de.aristaflow.tools.BSH
SQL activities
  • Database access as an automated process step
  • Useful to …
    • read data from a DBMS  into the process
    • write process data into a DBMS
    • call stored procedures in a DBMS
  • Component de.aristaflow.db.SQL
Further Topics
  • Sub processes of variable amount
    • Start variably many sub processes to work a list in parallel
  • Request, delegation
    • Communication between process participants over working list
  • Escalation 
    • Usage of multistate escalation for reminders and other actions on defined moments in time

Further tools

Workflow Client
  • Standard client application
  • Tool for employees to do upcoming tasks
  • Organisation and control of upcoming tasks
  • Web client application
    • Identical GUI(!)
    • Same working environment for users
Monitor
  • Monitoring and administration of business transactions (instances)
  • Real time monitoring, auditing, administration
  • Search and show instance
  • Monitor and administrate instance
  • Ad-hoc changes
    • Analogue to process modelling
    • But:  instance execution state regarded
Automatic client
  • To automate execution of process steps
  • Automatic activities, technical steps, decisions, etc.
  • OrgPosition “automaticclient”

Read more