Xpert.ivy Training Course Part 1

Page 1

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


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.