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:
Select the range, starting with “Preselection”, ending with “Postselection”
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
- Change several read/write accesses at once
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
- start the opened process template right from the editor in the test client,
- separate start of the test client
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
- several change operations
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 …
- Often used synonymously
- AristaFlow Component Bundles (ACB)
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
- Approach:
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
- Forms
- 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
- …
- Interactive steps
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”