Xpert.Ivy 4.0 Process Development Trainging Course Part1 Xpert.ivy Designer
bb, 2008-01-14
1
Table of Contents
Introduction Data Scopes Xpert.Ivy Designer Xpert.Ivy Project Perspectives Process Editor Perspective Drawing Processes Engine Perspective Workflow Element Palette IvyScript
2
Introduction Goals of this training course
Mastering of Xpert.Ivy Designer 4.0 Perpectives and Views Process model ivyScript & Data Types Mastering of Rich Dialog development Rich Dialog Panels (Containers and Components) Data-Binding Event-Mapping Rich Dialog Component concept (Methodes, Events, Broadcasts) Take note of XpertLine development rules
3
Data Scopes Data Scope Session Data Is visible for all Can be used as global and shared memory of a Rich Application Access and usage not yet fully implemented
Business Process Data (Case/Task data) Data object of a process instance Will be mapped to Rich Dialog Data Mapping occurs at load/unload
Rich Dialog Data Rich Dialog has its own data object Is considered as the model of the Rich Dialog
4
Xpert.Ivy Designer Xpert.ivy Project
5
Xpert.Ivy Designer
Xpert.Ivy Designer is a graphical application environment to design, test and implement process model based applications.
Xpert.Ivy Designer is based on Eclipse Platform IDE All designer functionality are implemented as Eclipse Plug-Ins. Eclipse Plug-Ins are OSGI Bundles that have Eclipse specific extensions.
RIA Front-end Technology Xpert.Ivy uses Canoo’s ULC Framework UltraLightClient (ULC) Java library that enables the development of Rich Internet Applications that are based entirely on Java. It bridges the gap between client Swing UI components and a server-side Java EE architecture. ULC Visual Editor GUI designer plug-in for Eclipse Online documentation Eclipse Visual Editor 6
Xpert.Ivy Designer - Workspace Workspace Xpert.Ivy Designer stores your projects in a folder called a workspace You can load another workspace File Menu->Switch Workspace … You can checkout projects from a Subversion Repository You can import projects into a workspace
7
Xpert.Ivy Project
8
Xpert.ivy Project
Is hierarchical structured as following:
Rich Dialogs Dialog Components
Processes
Data Classes
Manage the roles in this project
Test Users
Manage WS configurations
Roles
Manage Data Base configurations
WS Configuration
Style Properties for Widgets & Containers
DB Configuration
Define Labels, Messages, Icons, etc.
Configuration
Data Classes of the Business Processes
CMS
Business Processes Diagrams
Manage the test users in this project
Library
Projekt Dependencies
9
Processes  
Folder with Business Processes Business Processes can be grouped in Subfolders Business Processes are designed using a Process Editor
Workflow Palette contains a groups of elements that will be used for the Business Process editing
10
Data Classes 
Data Classes used by Business Processes
Data Class editor that shows attributes of a given Data Class
Folder that contains all Data Classes used by Business Processes
11
CMS CMS
Contains Labels and message texts Images and icons Documents, etc.
Search Criteria Select a customer Rating
Multi Language support Content objects are referred by a path (uri) Shared CMS Reference to other CMS Not yet fully implemented
12
DB Configuration DB Configuration editor that help to create, remove or test a given data base configuration
13
WS Configuration WS Configuration editor that help to create and manage web services configurations
14
WF Roles Role editor that help to create and manage workflow roles
15
Library: Project Dependencies
Xpert.ivy’s Perspectives
17
Xpert.ivy’s perspectives The main perspective of Xpert.ivy Designer are Process Editor Perspective Visual Editor Perspective Engine Perspective
Further important Perspective Resource Perspective
18
Process Editor Perspective
19
Process Editor Perspective Process Editor’s Panel This is editing panel in which process elements are inserted and connected via connectors (arrows) etc. Here the graphical modeling takes place.
Ivy Project Tree View This view is also displayed when the Visual Editor Perspective is opened
Workflow Element Palette
20
Process Editor Shortcuts Rigth mouse button click Left mouse button click Shift-click Double click Shift-double click b d e h i j
l o r r s w
Element, Context menu Element, Select Element, add to the selection or remove from the selection Element, Inscribe Enter component, Go to the called process, Enter super Bend arc Element, Set to default size Element, Edit dialog page Element, History Element, Inscribe Component, Enter component Process Call, Go to the called process Background, Enter super Selected elements, auto-align Element, Open attached HTML-document Element, Wrap text Reconnect arc Straigten arc Element, Wrap text
21
Drawing Business Processes
22
Business Process I Design of Business Process It is done using the process editor in which process elements are inserted and connected via arcs. The arcs represents the flow Each element performs a certain activity (step) The process data object is available and modifiable in each element Business Process contain elements from BPMN Palette Dialog & Control Transaction & Communication Rich Dialog element synchronous asynchronous
23
Business Process example
24
Demo & Practice Create a process group Add a standard process Draw a process model using elements from the element Palette Familiarize yourself with the Process Editor Context menus Alignment
25
Engine Perspective
26
Engine perspective Engine toolbar
Currently opened editors
Web Browser View It’s displays available projects to execute
27
Engine perspective
Used for the simulation/execution of the Process Model Engine Perspective allows to run and debug processes To open a Engine perspective Window > Open Perspective > Engine
With the Engine toolbar or menu you can start (with or without to show the start page) and stop processes.
The Engine speed can be configured on the toolbar or on the menu
Start and show the start page
Engine speed Start process engine
Stop process engine
28
Problems View 

If the process engine cannot start, error messages are displayed in the Problems View. Double click on a problem in the problem view and the process element that causes the problem is marked. In the process editor the elements that have problems are marked with a problem marker.
Illustrating Error Error Message is displayed in the Problems View and the element is marked in the Process Editor
29
History View  The history view shows the process data at each process element after a simulation
30
Breakpoints View Breakpoints can be set on a process element in the process editor by using the context menu. On the context menu you can add a breakpoint, add a condition breakpoint or remove the breakpoints from a process element.
In the process editor the elements that have breakpoints are marked with a breakpoint marker. In the breakpoint view all breakpoints are displayed. You can disable breakpoints by deselecting it on the breakpoint view. Double Click a breakpoint to mark the process element in the process editor. 31
Debug View
In the debug view a process engine for each project in the workspace is displayed.
Under the process engine there is an entry for each request that is processed by the process engine. Requests that are suspended (e.g. by breakpoint), can be resumed, stepped or cancel with the view toolbar.
Resume request
Cancel request Step to next process element
Click on a request to mark the process element in the process editor where the request is standing at the moment.
32
Variable View The process data of the request selected in the debug view can be inspected in the variable view. You can open the process data editor of a certain value by clicking the context menu ‚Open process data class‘ You can modify a process data value by clicking the context menu ‚Change value …‘.
33
Expression View In the expression view you can evaluate any IvyScript expression in the context of the selected request in the debug view. E.g. this expression is evaluated to the value ‚8080‘ request.getHttpServletRequest().getServerPort()
34
Runtime Log View In the runtime log, log messages from process elements are displayed. There are five categories of log messages: FATAL, ERROR, WARN, INFO, DEBUG Click on the context menu ‚Go to process element‘ or on the icon in the view toolbar, to mark the process element in the process editor that is responsible for a log message. Click on the context menu ‚Show details‘ or on the icon in the view toolbar, to display a dialog with more details on log message.
35
Workflow Element Palette
36
BPMN
Xpert.ivy uses BPMN, Standard by OMG BPMN = Business Process Modelling Notation Defines a set of graphical symbols Flow Objects Events (Start, End, Intermediate) Activities (atomic, compound) Gateways (AND, OR, XOR Split-Join)
Connecting Objects Sequence Flow Message Flow Association
Swimlanes Pool Lane
Artifacts Annotation, Group, Data-Object 37
Workflow Element Palette I Dialog element (Web Pages) Dialogs are Web pages displayed in the browser The page is synthesized from a template (JSP), CMS and the process data Page The element may have an arbitrary number of links into the process
DB Page A Page combined with a DB query. The data from a DB may be directly displayed.
End Page Terminates a process and the end page is displayed.
38
Workflow Element Palette II
Control elements control the flow in the process Alternative XOR Switch that guides the incoming process data object to one of its exits.
Split AND Split the process into parallel paths cloning the input object to the exits.
Join AND Join of parallel paths with proper synchronization, i.e. merging those of the same case.
Task Gateway (Complex Task Switch) Assigns parallel tasks to roles or users. Essential workflow element.
Task Switch (Simple Task Switch) Assigns the task to next role or user. Essential workflow element.
Request Start Start-Request reacts on a http-request and starts a process
Event Start Start-Event is a start element that is triggered by embedded Java code.
Exception Start Start element of an exception process.
End Terminates a process.
39
Workflow Element Palette III
Transaction & Communication Elements (System activities) Step Processes data (process attributes) by script code.
DB Step For easy database access.
Email Step to send e-mails.
Program Interface (PI) To embed external Java code.
Web Service (WS) Web Service call.
SOAP Perform any SOAP calls.
Call Sub
Call independent Subprocess
Trigger Send a trigger to asynchronously Start another Business Process
Component Embedded Subprocess: Grouping of elements
Annotation (Artefact) Allows to insert comments for documentation purposes. 40
Workflow Element Palette IV
Rich Dialog Elements Rich Dialog Load a Rich Dialog and display it.
RD Start Start element of the init process on load
RD Method Start Start element of a RD process implementing a method
RD Event Start Start element of a RD process implementing an event
RD Broadcast Start Start element of a RD process implementing a broadcast
RD Step Processes Rich Dialog properties and data
RD Fire Event Fires an event
RD Process End Terminates a RD process.
Rich Dialog Exit Close a Rich Dialog and return to the calling process 41
IvyScript
42
IvyScript in the Process Model The Xpert.ivy elements can be configured with code. The inscription masks of these elements have a tab with an expression table and code tab for arbitrary (IvyScript) code. ivyScript expressions will be used in Macros e.g. inserting a content object with a condition
ivyScript expressions will be used in Widget configurations e.g. in a table field value
43
IvyScript Design requirements IvyScript is the inscription language for Xpert.ivy4 and is a successor of the CSL script language used in XIVY3.x IvyScript should be extensible by libraries. IvyScript and Java IvyScript can manipulate Java objects. Java objects used by RIA can be navigated an manipulated in a convenient way. IvyScript works with Java objects. These objects can be used in JSP or RIA contexts without mapping. Every Java class can be used as IvyScript data type (without wrapping). Numbers are based on Java-numbers and Strings on Java Strings.
44
Data types
Boolean Date DateTime Time Duration Number String List List Typed Record Recordset Binary Xml
true/false ’2007-01-29’ ’2007-01-29 10:00’ ‘10:00’ 48:00 or ISO-8601: 'P3Y6M4DT12H30M10S‘, 123.45 “Hello World” [1,23,”Hi”]
45
Language constructs Constructors as in Java: new TypeName(...)
Conditional elements: Conditional expressions: IF (cond, ifExpr, elseExpr) cond ? ifExpr : elseExpr Conditional statement if (cond) { ... } if (cond) { ... } else { ... }
(function style) (Java style)
Loops: for (init ; cond ; inkr) { ... } for (element : list) { ... } while (cond) { ... } 46
IvyScript Illustration Illustration DB Step’s Output tab contains an expression table to enter IvyScript that manipulates process data. See ivyScript function library (java methods)
47
IvyScript Illustration Illustration Step’s Code tab contains IvyScript that loop on the recordset, get records that have a given company name and copy them to recordset result.
48
Demo & Practice Create a little process that you can simulate and run in the engine perspective Points to see History Breakpoints Runtime Log
49