Service Orchestration Functional Specification - Orchestration Debugging

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

1. Introduction


Orchestration Debugging is a user interface and workflow that provides the user with the ability to debug and executing BPEL process.

BPEL Debugging features are aligned with Java Debugging; some older specifications can be found here:

The primary objective is to provide BPEL developers with a powerful and familiar debugging environment. Whenever possible and practical, the BPEL debugging UI will resemble the Java debugging UI.

Window Reuse – BPEL Debugger reuses some of the standard NetBeans debugger windows in order to keep the user experience as familiar and common as possible across languages.

Window Additions – BPEL Debugger includes some debug views that are not included in the standard NetBeans debugger user interface. This is because the particular nature of BPEL processing required new idioms that were not already present in the Java debugging window set.

Window Exclusions - However, Java and BPEL are not identical and process debugging is not identical to java program debugging. BPEL Debugger excludes some of the debug windows that are included in the Java debugger user interface. This is because these windows have no relevance to the BPEL debug experience. Their idiom is not well matched to the BPEL problem domain.

2. Use Cases and Scenarios - Debugging

UC1: Start debug

Description:

Actors:

Scenario:

UC2: Toggle breakpoint

Description:

Actors:

Scenario:

UC3: Process instance reaches the breakpoint

Description:

Actors:

Preconditions:

Scenario:

UC4: Step Into

Description:

Actors:

Preconditions:

Scenario

UC5: Continue

Description:

Actors:

Preconditions:

Scenario:

UC6: Stop debug

Description:

Actors:

Preconditions:

Scenario:

UC7: Change current debug session

Description:

Actors:

Preconditions:

Scenario:

UC8: Change current process instance

Description:

Actors:

Preconditions:

Scenario:

UC8: Change current position

Description:

Preconditions:

Scenario:

3. Specification

Debug Windows - Hierarchical relationship

Except for the Console and Breakpoints windows, all Debug Windows are hierarchically related view of debug context information.

Debug Console Window Details

This is the conventional debug console window. It will be used to show textual debug status messages.

Debug Session Window Details

TODO – will need new picture to reflect the new 1 Sesssion : 1 Runtime server cardinality




Debug Breakpoints Window Details






Debug Process Instances Window Details


Debug Local Variables Window Details

Local Variables view now shows the structure of variables with XML values (see picture).

Column “Type” may have one of the following values: “Message”, “Element” and “XSD Simple” - depending on the type of the BPEL Variable. It's blank for XML elements and attributes inside a variable.