18
1 www.netgrif.com PN & ACSD 2018, Slovakia Process Actions Process Driven Application Development

Process Actions 1 - UIM · An action can be a call to an external web service. Actions as the reaction to a event. 9 PN & ACSD 2018, Slovakia Structure of an action question: f.q1,

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Process Actions 1 - UIM · An action can be a call to an external web service. Actions as the reaction to a event. 9 PN & ACSD 2018, Slovakia Structure of an action question: f.q1,

1

www.netgrif.comPN & ACSD 2018, Slovakia

Process ActionsProcess Driven Application Development

Page 2: Process Actions 1 - UIM · An action can be a call to an external web service. Actions as the reaction to a event. 9 PN & ACSD 2018, Slovakia Structure of an action question: f.q1,

2

www.netgrif.comPN & ACSD 2018, Slovakia

Problem

Model

DataRoles Actions

Test

Deploy

ActionsProcess Driven Application Development Cycle

Page 3: Process Actions 1 - UIM · An action can be a call to an external web service. Actions as the reaction to a event. 9 PN & ACSD 2018, Slovakia Structure of an action question: f.q1,

3

www.netgrif.comPN & ACSD 2018, Slovakia

Content

Events in a process

Actions as the answer to to event

Actions in Petriflow

External services

Demonstration -Mortgage process

Page 4: Process Actions 1 - UIM · An action can be a call to an external web service. Actions as the reaction to a event. 9 PN & ACSD 2018, Slovakia Structure of an action question: f.q1,

4

www.netgrif.comPN & ACSD 2018, Slovakia

To every action there is always opposed an equal reaction.– sir Isaac Newton

Page 5: Process Actions 1 - UIM · An action can be a call to an external web service. Actions as the reaction to a event. 9 PN & ACSD 2018, Slovakia Structure of an action question: f.q1,

5

www.netgrif.comPN & ACSD 2018, Slovakia

To every event there is always an reaction.

Page 6: Process Actions 1 - UIM · An action can be a call to an external web service. Actions as the reaction to a event. 9 PN & ACSD 2018, Slovakia Structure of an action question: f.q1,

6

www.netgrif.comPN & ACSD 2018, Slovakia

Process EventsWhat can happen in a process

● Fired● Assigned● Canceled● Finished● Delegated

TRANSITION● Value is read● Value is set● Attribute changed● Behaviour changed

DATA

● Marking changed● Instance created● Instance destroyed

PROCESS

Page 7: Process Actions 1 - UIM · An action can be a call to an external web service. Actions as the reaction to a event. 9 PN & ACSD 2018, Slovakia Structure of an action question: f.q1,

7

www.netgrif.comPN & ACSD 2018, Slovakia

Start an appropriate

reaction

Apply consequences

Identifythe event

An event occured

Event-Reaction cycle

Page 8: Process Actions 1 - UIM · An action can be a call to an external web service. Actions as the reaction to a event. 9 PN & ACSD 2018, Slovakia Structure of an action question: f.q1,

8

www.netgrif.comPN & ACSD 2018, Slovakia

Single purposeOne action is capable of doing only one thing.

Attachable to any eventAction can be set to response on any published event

in a process.

ScopedEvery action has defined scope of operation.

SmallSmall components of a process.

EncapsulatedEvery action directly interacts with a process instance.

Interacting with external servicesAn action can be a call to an external web service.

Actionsas the reaction to a event

Page 9: Process Actions 1 - UIM · An action can be a call to an external web service. Actions as the reaction to a event. 9 PN & ACSD 2018, Slovakia Structure of an action question: f.q1,

9

www.netgrif.comPN & ACSD 2018, Slovakia

Structure of an action

question: f.q1,

field: f.some_number,

transition: t.154;

make field,visible on transition when {

!question.value

}

DECLARATION

STATEMENT

Page 10: Process Actions 1 - UIM · An action can be a call to an external web service. Actions as the reaction to a event. 9 PN & ACSD 2018, Slovakia Structure of an action question: f.q1,

10

www.netgrif.comPN & ACSD 2018, Slovakia

Declaration

dataField: f.some_text,

choiceTrans: t.256;

Local name String ID

Data variable reference

Transition reference

Integer ID

Action parts separator

Variable separator

Page 11: Process Actions 1 - UIM · An action can be a call to an external web service. Actions as the reaction to a event. 9 PN & ACSD 2018, Slovakia Structure of an action question: f.q1,

11

www.netgrif.comPN & ACSD 2018, Slovakia

Statement

Make field,editable on transition when { otherField.value == “PDAD” }

1st statement function 2nd statement function

Arguments Condition

Closure

Page 12: Process Actions 1 - UIM · An action can be a call to an external web service. Actions as the reaction to a event. 9 PN & ACSD 2018, Slovakia Structure of an action question: f.q1,

12

www.netgrif.comPN & ACSD 2018, Slovakia

Constants● Behaviours

○ editable

○ visible

○ required

○ optional

○ hidden

○ forbidden

● unchanged

● always

● once

Built-in statements functions

Helper functions● cache _ , _

● cache _

● cacheFree _

Functions● make _ , _ on _ when { }

● close [ ]

● change _ about { }

● change _ choices { }

● generate _ , _

● generate _ , _ into _

Page 13: Process Actions 1 - UIM · An action can be a call to an external web service. Actions as the reaction to a event. 9 PN & ACSD 2018, Slovakia Structure of an action question: f.q1,

13

www.netgrif.comPN & ACSD 2018, Slovakia

Process scope

Instancecontext

Transitionscope

Scope encapsulation

Page 14: Process Actions 1 - UIM · An action can be a call to an external web service. Actions as the reaction to a event. 9 PN & ACSD 2018, Slovakia Structure of an action question: f.q1,

14

www.netgrif.comPN & ACSD 2018, Slovakia

Faster runtimeAn action is executed

quicker.

Dynamic actionsOption to change an action definition in

runtime.

Simulation of consequences

A simulation of change propagation in testing

phase.

CacheCache results to

optimize evaluation.

Runtime optimization

Analyze and optimize an action in runtime.

Compilation

AOT JIT

Page 15: Process Actions 1 - UIM · An action can be a call to an external web service. Actions as the reaction to a event. 9 PN & ACSD 2018, Slovakia Structure of an action question: f.q1,

15

www.netgrif.comPN & ACSD 2018, Slovakia

Identification of an event and populating

metadata of the event.

Identify an event

Set action’s variables from instance context.

Populate local variables Propagate change that

was done by the statement execution.

Propagate change

Execute the action statement

Execution of an Action

Page 16: Process Actions 1 - UIM · An action can be a call to an external web service. Actions as the reaction to a event. 9 PN & ACSD 2018, Slovakia Structure of an action question: f.q1,

16

www.netgrif.comPN & ACSD 2018, Slovakia

Global Action 1

Local Action 1

Local Action 2

Event

Global Action

Local Action 1

Local Action 3

Action Call TreeBecause callstack wasn’t enough

Local Action 2

Page 17: Process Actions 1 - UIM · An action can be a call to an external web service. Actions as the reaction to a event. 9 PN & ACSD 2018, Slovakia Structure of an action question: f.q1,

17

www.netgrif.comPN & ACSD 2018, Slovakia

Postal code register

Business register of the Slovak Republic

External ServicesIt’s all about integration

Web services integration

Page 18: Process Actions 1 - UIM · An action can be a call to an external web service. Actions as the reaction to a event. 9 PN & ACSD 2018, Slovakia Structure of an action question: f.q1,

18

www.netgrif.com© 2018

THANK YOU