Service Orchestration Functional Specification - Orchestration Designer - Design View

$Revision: 1.1.1.1 $
$Date: 2009/10/29 16:50:03 $

Note: This document contains hidden sections. You may show them using the following links: Reader Notes: Hide / Show  |  Author Notes: Hide / Show

1. Introduction


This documents specifies the user interaction with the diagram in the Design View of the Process Editor.
Status:

Jirka (03/03/2006): This document is quite cleaned up. But most of it is not implemented yet - this needs to be driven.

2. User Interaction in Diagram


Designer Modes - Toolbar Toggle Buttons


There are two toggle buttons in the Orchestration Designer toolbar, which switch between two mutually exclusive modes. In these modes the designer reacts in different ways to mouse interactions.
  • Selection mode - Left mouse click selects or disselects an element; whereas DnD invokes element reordering.
    Icon:
    Tooltip: "Selection mode"
  • Flow creation mode -  Left mouse click or DnD starts drawing a flow link or a message flow (see Creating a Message Flow or Flow Link). In the former case a second left mouse click finishes the action.
    Icon: 
    Tooltip: "Message flow and flow link creation mode"
User may use the toolbar to switch between these two modes or may press a Shift key, which switches the editor to the "Flow creation mode" temporarily (while the Shift key is pressed down).



Figure - Orchestration Designer Toolbar


TODO-TPR3: This section may change in regards to updated design for flow link creation.

Selection Mode

If the user moves the mouse pointer above an element, the element switches to the mouse over mode - it gives a visual feedback. In this mode, user can interact with the element in various ways:The user may interact with elements on the diagram in the following ways:
  • Left click: selects or disselects an element.
  • Right click: selects an elements and pops up a contextual menu.
  • Drag'n'Drop: Reordering is initiated.
  • Double click: The label of the element switches to editing mode.
    TODO-TPR3:  This on-place name editing might need a specification.

Flow Creation Mode


This mode is optimized on message flow or flow link creation:
  • Left click: starts or ends flow creation.
  • Right click: selects an elements and pops up a contextual menu (same as in Selection Mode)
  • Drag'n'Drop: Flow creation initiated.
  • Double click: May pop up a modal dialog or the label of the element switches to editing mode (same as in Selection Mode).
The details of the interactions are described in the following sections.

2.1. Selecting Elements

User Interaction


User may select an element (basic or structured activity) with a single click on an element or with the marquee select gesture. Selected element is highlighted with a surrounding green rectangle. Same visualisation is also used for marquee selection.



Figure - Selection (mockup)

Visual Deliverables


It is a rectangle with rounded corners. Color (R, G, B): #73BE1E. Width: 2 px. Stroke insets: 3 px : 3 px.


2.2. Adding New Element


The layout of the diagram (and thus precise locations of the elements) is controlled by the tool. The user may place elements only on certain places. These places are highlighted when "insert activity" or "reorder activity" action is initiated (see Placeholders section).

The "insert activity" action is initiated with DnD interaction starting on an element in the palette. As the mouse pointer moves on the diagram, a ghost image is drawn in the location of the pointer (the center of the image is in the pointer location).


Figure - Ghost Image with standard mouse pointer on Windows XP

While the mouse pointer is in an invalid location, its apearance is switched to "unavailable".


Figure - Ghost Image with "Unavailable" mouse pointer on Windows XP

When it reaches a valid location (near a placeholder), the placeholder reacts in a proper way (see Placeholders section for detailed description), mouse pointer changes to standard pointer. In this state the element is placed when the mouse button is released.

Note: The "insert activity" action can be done in selection mode as well as in flow creation mode.

TODO-TPR3: The shape of the ghost needs to be specified.

Structured Activities


Basic (and WebService) activities are visualised with single atomic elements on the diagram. However, the structured activities are represented with a more complex structures of diagram elements.

2.3. Placeholders


Standard Placeholders


Standard placeholders represent places in the sequential flow, where an element can be inserted. They are hidden in standard mode, they only appear when the user initiates "insert activity" or "reoder activity" action. Standard placeholders appear in the middle of sequential flow. If a sequential flow crosses a boundary of a structured activity, place holders appear (if it is reasonable) outside and also inside the container.

As the mouse pointer approaches a placeholder or a sequential flow line, the line and the placeholder change their appearances (as shown on the following mockup) and the place holder moves itself to a location on the line close to the mouse pointer. If the mouse pointer moves away from the line or placeholder, the line and placeholder change back their appearances and the placeholder moves to its original location (middle of the sequential flow).




Figure - Standard Placeholders


Required Placeholders


TODO-TPR3: The notion of required placeholders does not fit well into the user model. We could do something about it.
Except these normal placeholders, there are also so called "required placeholders". These represent the places where an activity needs to be inserted in other for the BPEL to be valid - these places are inside containers (sequences, case branches).



Figure - Required Placeholder


Visual Deliverables


Name
Description
File
placeholder

./svgs/placeholder.svg
placeholder - mouse over

./svgs/placeholder_mouseover.svg
required placeholder

./svgs/placeholder_required.svg
Line - mouse over
The thickness of the line is  3 pixels.
 -

2.4. Reordering


Reordering Within a Sequential Flow


The position of an existing element in the process may be also changed; we call this "reordering" as it changes the order of the activities in the sequential flow. The user interaction is the same as when adding a new element from the pallete, only the DnD interaction is initiated on an element in the process.

Note: This action can be only done in selection mode.

Nonreorderable elements

The position of some elements in the diagram is fixed (process, partner links, partner operations). On these elements, reordering cannot be initiated.

Reordering Branches and Handlers


The order of conditional case branches, pick branches and fault handlers may be also changed with DnD interaction.

TODO-TPR3: Specify precise interaction and visual feedback for this.

2.5. Creating Message Flow or Flow Link


There are several possible user interactions that can be used to create a message flow or a flow link.

Shift + DnD


If the user initiates a DnD with Shift key modifier on an activity, the editor switches automatically to the flow creation mode (if it wasn't in that mode before). A flow link line starts to be drawn from the source element to the mouse pointer location. When the mouse pointer leaves the process, message flow line is drawn instead. When it returns back, the line is switched back to flow link. When the user points to a compatible target, the line is drawn from the source element to the target element. While the mouse pointer is not above a compatible target it appears as "unavailable".

If the user initiates a DnD with Shift key modifier on an operation, the editor switches automatically to the flow creation mode, message flow line starts to be drawn and it never switches to a flow link.

The user can also use placeholders to create activity and message flow in one interaction. When the user presses the Shift key, the placeholders show up. The user can then initiate a DnD with Shift key from a placeholder to an operation. Then an invoke or receive activity linked with the target operation is automatically created. The user can also initiate Shift + DnD on an operation and drop the line on a placeholder to achieve the same result.


Figure - Mouse Pointer "Unavailable" on Windows XP

When the action is finished (second mouse click or release mouse button in case of DnD), the designer returns back to selection mode (if it is in that mode before).

Flow Creation Mode


The user may also switch to the flow creation mode explicitly with a toolbar button. In that mode, the flow creation may be in addition initiated with a simple DnD or left click.


[+] Older Message Flow and Flow Link creation proposal [-] Older Message Flow and Flow Link creation proposal
This is an older proposal, which was dropped because of usability problems: The symbols cannot be shown all the time because of clutter, but it's hard to point to the mouse pointer to elements which are not visible.

When an activity or an operation of a partner link is selected a small envelope and an arrow appear near by (where relevant).



User may drag and drop the envelope (or arrow) on a counter part activity. As he drags the element, flow is being drawn.

2.6. Structured Activity Toolbars


These containers are equipped with a toolbar, which contains a couple of buttons allowing the user to add:
  • switch case branches,
  • onMessage or onAlarm branches,
  • paralel flow branches,
  • fault or compensation handlers.
TODO-TPR3: This Toolbar needs to be specified.
The toolbar also contains a button to expand or collapse the container. The toolbar is only visible when the element is selected or on mouse over.

2.7. Validation


The elements on the diagram are annotated with an error or warning mark. This widget allows the user to navigate to the Validation TODO list or to the property editor. This functionality is described in a separate document though - Vaditation and Error Management.
TODO-TPR3: These marks and behaviour need to be specified.

2.8. Expand / Collapse

 
A container may be expanded or collapsed with a toolbar button.

TODO-TPR3: This functionality needs to be specified.

3. Palette Elements


Generic Elements


These are not present in the palette. These elements are always shown in combination with some symbol (see further sections). In order to be able to draw a single line goint to the center of a generic element, the dimensions of an element when pixelized must be odd. Due to the way how the vector elements are pixelized when their center is located on a whole coordinate, the dimension of all elements and badges in SVG must be even (see this picture for clarification).

Name
Description
Preview
File
Generic Task
A rectangle with rounded corners; 72 x 40 px, stroke width 1 px.
The name of the activity appears under the rectangle.
Used also for empty activity.
Generic Start Event
A circle; diameter 24 px, stroke width 1 px (25 px when pixelized).
A circle; diameter 30 px, stroke width 1 px (31 px when pixelized).
The name of the activity appears under the circle.

./svgs/event-start-24px.svg
Generic Intermediate Event
A double circle; outer diamer 24 px, inner diameter 20 px, stroke width 1 px.
A double circle; outer diamer 30 px, inner diameter 26 px, stroke width 1 px.
./svgs/event-intermediate-24px.svg
Generic End Event
A thick circle; diameter 24 px, stroke width 3 px (27 px when pixelized).
A thick circle; diameter 30 px, stroke width 3 px.
./svgs/event-end-24px.svg
Generic  Gateway
A diamond; 40 x 40 px (41 x 41 px when pixelized).
The name of the gateway appears under the diamond or as label of a surrounding container.
./svgs/diamond.svg

Table - Generic Elements

[+] Relation to BPMN Specification [-] Relation to BPMN Specification
The BPMN specification elements have the following dimensions (often not kept across the examples):
  • Task: 150 x 62 px,
  • Event: diameter 34 px,
  • Gateway: diamond 64 px.
In the event and gateway the badge is filling almost the whole internal space, only a little inset is left (e.g. BPMN spec page 32). The badges in the diamond are within a notional circle with the diameter of 27 px. For the 'X' symbol this implies the dimensions of 17 x 20 px.

In this specification, we propose:
  • Task 72 x 40 px  (0.48 x 0.64 of BPMN),
  • Event: diameter 25 px (0.735 of BPMN),
  • Gateway: diamond 40 px (0.625 of BPMN)
The badges in the diamond are within a notional circle with the diameter of 22 px (0.815 of BPMN). The 'X' symbol is a in a square 15 x 15 px (0.882 x 0.75 of BPMN).

We were only inspired by the BPMN spec, but sized the elements to be visually pleasant. Here is the summary:

- BPMN spec is relaxed in regards to the dimensions of elements (i.e. some dimensions vary a little throughout the spec).
- Our elements are little bit smaller, the diamond was made proportionally smaller in comparison to the BPMN spec.
- The badges in the diamonds are relatively bigger.
- The dimensions of the 'X' symbol were changed disproportionally (in regards to BPMN spec), from a rectangular shape to square.

Grid, Snapping and Positioning - THIS WAS ONLY VALID FOR FREE LAYOUT.

Jirka 03/03/2006: post1.0: It may become valid again with SEMIAUTOMATIC layout.

The elements can be only placed within a grid. The grid spacing is 8 px.

TODO: There was also a 16 px visible grid in the original proposal. It is missing in current implementation. We should reevaluate it.

Palette Elements


The following table contains palette categories and items. Their order in the palette should comply with the order in this table. This table also contains grayed out icons for Process Execution Window which is (will be) specified in the Debugger specification.

Web Service
Name Palette Tooltip Debugger Icon (grayed out for not executed state)
Palette Icon
(small: 16x16 px)
Palette Icon
(big: 32x32 px)

Element on diagram
File Comments
Invoke
Send a message to a partner web service ./svgs/activity_invoke.svg -
Receive
Wait for an incoming message  
./svgs/activity_receive.svg -
Reply
Send a message in reply to a synchronous receive event ./svgs/activity_reply.svg -
Partner Link
Represent a partner Web Service
TBD
TBD
-


Basic Activities
Name
Palette Tooltip Debugger Icon (grayed out for not executed state) Palette Icon (small) Palette Icon (big) Element on diagram File
Comments
Assign
Copy data between variables ./svgs/activity_assign.svg -
Empty
Do nothing Note: this is just a generic task element:

Wait
Wait for a certain period or until a certain deadline  
 
./svgs/activity_wait.svg
Compensate
Invoke compensation handler of a certain scope  
./svgs/activity_compensate.svg -
Throw
Signal a fault  
./svgs/activity_throw.svg -
Terminate
Terminate execution of a process instance  
./svgs/activity_terminate.svg -


Structured Activities
Name Palette Tooltip Debugger Icon (grayed out for not executed state) Palette Icon (small) Palette Icon (big) Element on diagram File Comments
If
Switch between 1 of N cases ./svgs/switch.svg alternative:
While Repeat while condition is true -

./svgs/while.svg -
Repeat Until
Repeat until condition becomes true
-


For Each
Iterate with a counter


Pick
Wait for one message or time event ./svgs/pick.svg -
Flow
Execute concurently ./svgs/flow.svg -
Sequence
Container for a set of activites -
-
-
Scope
Container for a set of activities, variables and handlers -
-
-

Note: Provided SVG files are only badges to be combined with generic task or event element.

Labels


In a diagram, activities may be attached with a name, which is shown just under the element. If there is no name specified for a basic or Web Service activity, no label is shown in the diagram.  However, if there is a structured activity without a name, a label with the type of the activity is shown instead.

4. Structured Activities on Diagram

#

4.1. If


Visualisation




Contextual Menu

  • Add Conditional Branch
  • Remove
Default name: If<n>

TODO-TPR3: Change the default name in screenshot from "Switch1" to "If1"IMPROVEMENTS TO SWITCH VISUALISATION


Jirka 03/03/2006: These are pre TPR2 original notes. - this may be reused/pursued in the future. The ideas/concerns:
* Required placehoilders not necessary (though the visualisation of case branches may need an improvement.
* Change the badge in the diamond - 'X' is not understandable
* No 'sequence' around switch - maybe only on mouseover.
* Implicit Sequences

Switch Element and Case Branches Visualisation


The tool visualises the case branches in the same way as sequences, also the user interaction with the case branches in regards to selection and mouse-over is the same. These containers serve as a point of user interaction with the case branch, user can Remove a case branch or edit it's condition.


TODO: We may want to remove the X symbol from the diamond, as it just adds an extra clutter.
Figure - Initial switch pattern

TODO: TBD.

Figure - Switch (mouse over)

TODO: TBD.
Figure - Switch (selected)


TODO: TBD, or combination of the two above?

Figure - Switch (mouse over and selected)


Mouse Over Behaviour


The switch element does not have any border in standard mode; however it appears if the user moves the mouse pointer over the element.
But if the mouse pointer is located on a case branch or a nested element of a branch, the switch remains in (switches back to) the standard mode.

Switch Element Contextual Menu

  • Add a Case Branch
    TODO: Where is the Case branch added? Basicly one of the two approaches could be taken:
  • User Specified Location: When the action is invoked, the diagram switches to "place element mode". Ghost of the branch is being visualised as the mouse pointer moves. On left mouse click, the case is placed. On right click or ESC key, the action is canceled.
  • Tool Defined Location: Tool may use some heuristic function to choose an appropriate location for the case branch.
  • Remove
  • Case Branch Contextual Menu

    • Edit (default, also on double-click and Enter key if selected)
    • Remove

    Implicit Branch Sequence


    TODO: This section needs to be resolved.

    It would be nice if the user could place one or more activities into a case branch without adding any extra nesting sequence. However, an extra <sequence> element is required by the BPEL XML schema, thus the tool adds this element.

    * when the case branch is created or
    * when it is necessary (user adds a second activity to the branch).

    Of course, this extra implicit sequence is not visualised. There are several unresolved questions in this approach:

    * how to recognize implicit sequence from the other sequences, that should be visualised
    * shall we allow the user to link a Flow Link to the case branch (would connect to the implied sequence)


    4.2. Pick


    Visualisation





    Contextual Menu


    • Add onMessage Branch
    • Add onAlarm Branch
    • Remove

    4.3. Scope


    Visualisation




    Contextual Menu

    • Add Compensation Handler
    • Add Event Handlers
    • Add Fault Handlers


    Figure - Scope with Handlers

    Contextual Menu on Compensation Handlers Container

    • Remove

    Contextual Menu on Event Handlers Container

    • Add onMessage
    • Add onAlarm
    • Remove

    Contextual Menu on Fault Handlers Container

    • Add Catch
    • Add Catch All
    • Remove

    Contextual Menu on a single handler (onMessage, onAlarm, catch or catchAll)

    • Remove
    TODO-TPR3: Currently there is a bug in the visualisation:



    TODO-TPR3: Another concern - there should be "Compensation Handler" instead of "Compensation Handlers" - and maybe the labels are way too long ...
    TODO-TPR3: There are also couple of other usability problems - mentioned in the use cases section.


    4.4. Sequence


    Visualisation




    Contextual Menu

    • Remove

    SEQUENCE WITHOUT REQUIRED PLACEHOLDERS


    Jirka 03/03/2006: Required placeholders may not fit nicely to the user model  - see the concern above.
    These are original mockups without required placeholders - we may want to pursue such direction.

    Sequence Visualisation




    Figure - Sequence (standard mode without any nested activitites)



    Figure - Sequence (standard mode with 3 nested activities)

    Mouse Over Behaviour - SHOULD BE SPECIFIED in regards to toolbar


    If the user moves the mouse over a nested element inside a sequence, the sequence remains in the standard mode.

    4.5. While


    Visualisation




    Contextual Menu

    • Remove

    RepeatUntil and ForEach


    This activities will not be supported in the first release.

    TODO-post1.0: Reevaluate this.

    RepeatUntil in the BPEL specification:
    <repeatUntil standard-attributes>
           standard-elements
           activity
           <condition expressionLanguage="anyURI"?>
              ... bool-expr ...
           </condition>
    </repeatUntil>

    ForEach in the BPEL specification:
    <forEach counterName="ncname" parallel="yes|no" standard-attributes>
         standard-elements
         <iterator>
            <startCounterValue expressionLanguage="anyURI">
               ...
            </startCounterValue>
            <finalCounterValue expressionLanguage="anyURI">
               ...
            </finalCounterValue>
         </iterator>
         <completionCondition>
            <branches expressionLanguage="URI"? countCompletedBranchesOnly="yes|no"?>
    an-integer-expression
            </branches>
         </completionCondition>?
         scope-activity
    </foreach>

    TODO-1.0: What is the relationship of parallel forEach and Oracle's FlowN ?

    4.6. Flow


    Visualisation




    Contextual Menu

    • Remove
    TODO-TPR3: There is a couple of issues - discussed in the use case section.

    4.7. Process


    Visualisation



    Figure - Process with Handlers

    Contextual Menus


    Contextual menus of the process and handler containers are equal to those exposed on Scope.

     

    5. Contextual Menus and Action Buttons on Diagram

    When the user selects an element in the diagram, the selected element will display its contextual action buttons. Not all elements will have contextual action buttons so it is not an error if none are displayed. The contextual action buttons will appear as a row of buttons right justified on the top border of the element.

    The diagram elements will provide "contextual action buttons" to allow developers to activate frequently used actions directly via a button press. The action buttons will correspond to a subset of the contextual menu actions. The effect of the contextual menu action and the contextual action buttons will be identical. They are just two different ways to activate the same behavior. Only the most important actions will have contextual action buttons. This is primarily due to spatial limitations and concerns about visual noise.

    5.1.Visual Appearance of the Contextual Toolbar

    #
    The toolbar may contain from 1 to 6 actions.


    Figure - Diagram Contextual Toolbar Mockup

    Element
    Description
    Toolbar
    Opacity: 80 %
    Background: RGB(255,255,255)
    Border color: RGB(68,68,68)
    Corner Radius: 4 px
    Resizes automatically as needed.
    Toolbar insets Between container or top border of element and toolbar: 3 px vertically.
    Aligned to the left with the left border of the element or container (excluding other badges, e.g. event handlers).
    Buttons / Toggle Buttons
    Inset between button border and icon: 2 px
    Inset between button and toolbar: 2 px
    Insets between buttons 4 px.
    Buttons visual appearance
    Dimensions: 22 x 22 px, icons 16 x 16 px.
    Visualisation in various states equal to a button in Swing toolbar on Windows XP (most of them are buttons, some of them may be toggle buttons (e.g. "toggle breakpoint"):
    TODO: Add visualisation of the bigger buttons? Should fix the mockup?



    5.2. Icons Used in the Toolbar

    #
    Action
    Icon
    TODO fix these icons?
    Add Catch
    TODO: Add 'creation concept' to the icon.
    Add Catch All
    TODO: Add 'creation concept' to the icon.
    Add Compensation Handler
    TODO: Add 'creation concept' to the icon.
    Add Termination Handler
    TODO: Plne kolecko v ramecku.
    TODO: Make up an icon from:
    Add Fault Handlers
    TODO: Udelat ikonu bez ramecku s bleskem a hvezdickou. a . TODO
    Add Event Handlers
    TODO: Udelat ikonu bez ramecku s hodinama a obalkou.
    TODO: Mix of and
    Add On Event
    TODO: Add 'creation concept' to the icon.
    Add On Message
    TODO: Add 'creation concept' to the icon.
    Add On Alarm
    TODO: Add 'creation concept' to the icon.



    Edit

    Note: This action may not be present in the toolbar.
    Open
    Note: This action may not be present in the toolbar.



    Add Else If




    Add Variable
    TODO: Add 'creation concept' to the icon.
    Add Correlation Set
    TODO: Add 'creation concept' to the icon.



    Toggle Breakpoint
    This action should be last in the row of actions - exposed as a toggle button.

    5.3. List of Actions in Contextual Toolbar

    #
    Here is a list of the visual elements and their context action buttons.

    Note: Because some langauge constructs are not supported in the 5.5 release we must not expose the forward engineering of such constructs in the IDE. Therefore, the spec below lists the menu actions as we wish them to be when the language constructs are available. However, I have indicated that some menu actions must be "hidden" in the 5.5 release by modifying the menu list to use [Meun Action] ... for example [Compensation Handler] we must hide the compesation handler actions since this language construct is not supported by runtime.


    Web Service
    Name Contextual Menu Contextual Action Buttons Comments
    Invoke
    Desired:

    Edit ...
    -----------------
    Add >
    [Catch]
    [Catch All]
    [Compensation Handler]

    -----------------
    Go to Source Alt+O
    -------------------
    Delete Delete

    Current:

    Add >
    Add Catch
    Add CatchAll
    Add Compensation Handler
    -----------------
    Go to Source Alt+O
    ----------------
    Edit ...
    -------------------
    Delete Delete
     Add Catch
    Add Catch All
    Add Compensation Handler

    Mike Notes: should it be "Catch All"?

    GENERAL COMMENT - should all of the "Add XXX" be just "XXX" when they are in an "Add >" submenu? I mean is the NetBeans convention to omit the extra "Add" word?

    GENERAL COMMENT - Should we have a "Properties" context menu on every element?

    General COMMENT - Where should "Edit ..." be in the menu order?

    Receive
    Edit ... 
    -------------------
    Go to Source Alt+O
    Select Reply Activity
    ----------------
    Delete Delete


    Go to Source Alt+O
    ----------------
    Edit ...
    -------------------
    Delete Delete
    Edit 
    Mike: Edit is maybe
    Reply
    Edit ... 
    -------------------
    Go to Source Alt+O
    Select Receive Activity
    ----------------
    Delete Delete

    Go to Source Alt+O
    ----------------
    Edit ...
    -------------------
    Delete Delete
    Edit
    Mike: Edit is maybe
    Partner Link
    Edit ...
    Open
    ----------------
    Go to Source Alt+O
    -------------------
    Delete Delete

    Go to Source Alt+O
    ---------------
    Edit ...
    ----------------
    Open ...
    -------------------
    Delete Delete
    Edit 
    Open

    Mike: Edit is maybe

    Mike - Jirka What about Open? We did not discuss?

    Jirka: Open might be essential here as the user may want to switch between WSDL and BPEL frequently. Ctrl+Click would make very much sense over here, more than a button.


    Basic Activities
    Name
      Contextual Action Buttons
    Comments
    Assign
    Go to Source Alt+O
    ----------------
    Delete Delete
     
    -
    Empty
    Go to Source Alt+O
    ----------------
    Delete Delete
     

    Wait
    Go to Source Alt+O
    ----------------
    Delete Delete
     
    Compensate
    Go to Source Alt+O
    ----------------
    Delete Delete
     
    -
    Throw
    Go to Source Alt+O
    ----------------
    Delete Delete
     
    -
    Exit
    Go to Source Alt+O
    ----------------
    Delete Delete
     
    -


    Structured Activities
    Name   Contextual Action Buttons Comments
    If
    Add Else If
    ----------------
    Go to Source Alt+O
    ----------------
    Delete Delete

    Add ElseIf
    ----------------
    Go to Source Alt+O
    ----------------
    Delete Delete
    Add Else If
    Mike notes: Should it be "Add Else If"
    ElseIf
    Go to Source Alt+O
    ----------------
    Delete Delete

    Move Left
    Move Right
    ---------------
    Insert Else If After
    Insert Else If Before
    ---------------
    Go to Source Alt+O
    ----------------
    Delete Delete

    Mike: not sure if we need all 4

    Jirka: We don't need any of these.


    Move left / right can be nicely fulfilled with reordering on diagram or navigator. It seems to be very intuitive and consistent with changing the order of other activities (where we don't have move up/down neither). Use case of adding a new conditional branch can be nicely fulfilled with "Add Else If" on If activity and reordering. So here I'm suggesting to get rid of all these actions to make it simple.
    While
    Go to Source Alt+O
    ----------------
    Delete Delete
     
    -
    Pick
    Add >
    On Message
    On Alarm
    -----------------
    Go to Source Alt+O
    ----------------
    Delete Delete


    Add >
    onMessage Branch
    onAlarm Branch
    -----------------
    Go to Source Alt+O
    ----------------
    Edit ...
    -------------------
    Delete Delete
    Add On Message
    Add On Alarm

    Mike: should be "Add On Message" and "Add On Alarm" - not sure about "branch"?

    Pick OnMessage
    Go to Source Alt+O
    Select Reply Activity
    ----------------
    Delete Delete
     

    Pick OnAlarm
    Go to Source Alt+O
    ----------------
    Delete Delete
     

    Flow
    Go to Source Alt+O
    ----------------
    Delete Delete
     

    Sequence
    Go to Source Alt+O
    ----------------
    Delete Delete
     
    -
    Repeat Until
    Go to Source Alt+O
    ----------------
    Delete Delete
     

    For Each
    Go to Source Alt+O
    ----------------
    Delete Delete
     

    Process
    Add >
    Variable ...
    Correlation Set ...
    Event Handlers
    Fault Handlers
    ----------------
    Go to Source Alt+O

    Add >
    Add Variable
    Add CorrelationSet
    Add Message Exchange
    Add Event Handlers
    Add Fault Handlers
    ----------------
    Go to Source Alt+O
      Add Variable
    Add Correlation Set

    Add Event Handlers
    Add Fault Handlers

    Mike: should be "Add Correlation Set"

    Mike: should remove "Add Message Exchange"

    Mike: Removed Add Message Exchange for same reason as Jirka indicated in Scope

    Scope
    Add >
    Variable ...
    [Correlation Set ...]
    Event Handlers
    [Compensation Handlers]
    [Termination Handler]

    Fault Handlers
    ----------------
    Go to Source Alt+O
    ----------------
    Delete Delete

    Add >
    Add Variable
    Add CorrelationSet
    Add Message Exchange
    Add Event Handlers
    Add Compensation Handler
    Add Termination Handler
    Add Fault Handlers
    ----------------
    Go to Source Alt+O
    ----------------
    Delete Delete
      Add Variable
    Add Correlation Set
    Add Event Handlers
    Add Compensation Handler
    Add Termination Handler
    Add Fault Handlers

    Mike: should be "Add Correlation Set"

    Mike: should remove "Add Message Exchange"

    Jirka: I removed the Message Exchange as the approach to message exchange will probably be a bit more high level. Alexey?


    Handlers
    Name
      Contextual Action Buttons
    Comments
    EventHandlers
    Add >
    On Event
     On Alarm
    --------------
    Go to Source Alt+O
    ----------------
    Delete Delete

    Add >
    Add onEvent Branch
    Add onAlarm Branch
    --------------

    Go to Source Alt+O
    ----------------
    Delete Delete
      Add On Event
    Add On Alarm

    Mike: should be "Add On Message" and "Add On Alarm" - not sure about "branch"?

     

    FaultHandlers
    Add >
    Catch
    Catch All
    --------------
    Go to Source Alt+O
    ----------------
    Delete Delete
     Add Catch
    Add Catch All

    Mike: should be "Add Catch All"


    TerminationHandler
    Go to Source Alt+O
    ----------------
    Delete Delete
     

    CompensationHandler
    Go to Source Alt+O
    ----------------
    Delete Delete
     

    Catch
    Go to Source Alt+O
    ----------------
    Delete Delete
     

    CatchAll
    Go to Source Alt+O
    ----------------
    Delete Delete
     

    OnAlarm
    Go to Source Alt+O
    ----------------
    Delete Delete
     

    OnEvent
    Go to Source Alt+O
    Select Reply Activity
    ----------------
    Delete Delete
     





     

    Project Features

    About this Project

    SOA was started in November 2009, is owned by slunegov, and has 96 members.
    By use of this website, you agree to the NetBeans Policies and Terms of Use (revision 20160708.bf2ac18). © 2014, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo
     
     
    Close
    loading
    Please Confirm
    Close