Sie sind auf Seite 1von 131

CSSA 7.

1 Exam Prep

STUDENT GUIDE (v. 7.1)

1
Copyright 2015
Pegasystems Inc., Cambridge, MA
All rights reserved.

Trademarks
For Pegasystems Inc. trademarks and registered trademarks, all rights reserved. Other brand or product names
are trademarks of their respective holders.
For information about the third-party software that is delivered with the product, refer to the third-party license
file on your installation media that is specific to your release.

Notices
This publication describes and/or represents products and services of Pegasystems Inc. It may contain trade
secrets and proprietary information that are protected by various federal, state, and international laws, and
distributed under licenses restricting their use, copying, modification, distribution, or transmittal in any form
without prior written authorization of Pegasystems Inc.
This publication is current as of the date of publication only. Changes to the publication may be made from
time to time at the discretion of Pegasystems Inc. This publication remains the property of Pegasystems Inc.
and must be returned to it upon request. This publication does not imply any commitment to offer or deliver
the products or services described herein.
This publication may include references to Pegasystems Inc. product features that have not been licensed by
you or your company. If you have questions about whether a particular capability is included in your
installation, please consult your Pegasystems Inc. services consultant.
Although Pegasystems Inc. strives for accuracy in its publications, any publication may contain inaccuracies or
typographical errors, as well as technical inaccuracies. Pegasystems Inc. may make improvements and/or
changes to the publication at any time.
Any references in this publication to non-Pegasystems websites are provided for convenience only and do not
serve as an endorsement of these websites. The materials at these websites are not part of the material for
Pegasystems products, and use of those websites is at your own risk.
Information concerning non-Pegasystems products was obtained from the suppliers of those products, their
publications, or other publicly available sources. Address questions about non-Pegasystems products to the
suppliers of those products.
This publication may contain examples used in daily business operations that include the names of people,
companies, products, and other third-party publications. Such examples are fictitious and any similarity to the
names or other data used by an actual business enterprise or individual is coincidental.
This information is the property of:

Pegasystems Inc.
One Rogers Street
Cambridge, MA 02142-1209
USA
Phone: (617) 374-9600
Fax: (617) 374-9620
www.pega.com

Document Name: CSSA 7.1 Exam Prep Student Guide


Date: 20151117

2
1

3
Certified Senior System
Architect Exam Prep
Sean Hedenskog, Principal Instructor
Tuesday, November 17, 2015

4
Agenda
Study Materials

CSSA Exam Core Competencies and Distribution

Exam Advice

Review Each Core Competency Day 1 and 2

QA Day 3

5
Recent Review
I have cleared CSSA 71v1 recently. I would suggest that go through
the Senior System Architect course thoroughly and you will pass the
exam with flying colours.
The questions were well distributed among all the chapters
mentioned in the blueprint. So, it's better not to skip any. Questions
were less complex from chapters like System Administration, Data
Model, Integration and Class Structure (I'm referring the SSA
course). I found User Interface and Report a bit tricky. Although 50%
or more questions were configuration based, but there were few
design related questions.
Sankhadeep Basak Cognizant Technology Solutions

6
Study Materials
Download the Senior System Architect Student Guide
Download the Senior System Architect Exercise Guide
Do all of the exercises
If you are not able to complete the exercise please refer to:
Hints
Download Solution
Instructor Guides (not available for all exercises)
Register for a Pega Mesh account
Instructor Guides and other useful information located here
Use Quizlet to help you review/prepare
Enroll in the CSSA Practice Exam
Download the CSSA Exam Blueprint from Pearson VUE
5

Download the Senior System Architect Student Guide


Download the Senior System Architect Exercise Guide

Register for a Pega Mesh account

Instructor Guides and other useful information located here

Use Quizlet to help you review/prepare

Download the CSSA Exam Blueprint from Pearson VUE

7
CSSA Exam Competencies
Application Design 11.4%
Case Design 15.7%
Data Model 10.0%
Automating Business Policies 20.0%
User Experience 12.9%
User Reporting 7.1%
Integration 8.6%
Architecture 5.7% Application Design Case Design Data Model
Automating Business Policies User Experience User Reporting

Administration 8.6% Integration Architecture Administration

Total 100%

8
CSSA Exam Competencies and Topics
An alternative view
CSSA Exam Analysis
Created by a former SSA student
Can use as a way to prioritize the core competencies you study

9
Exam Advice
Target your review using the following slides
Book well in advance! Seats go quickly and availability varies
Go for the easy questions first
If youre not sure, mark for review and move on!
Go back & answer the less obvious questions later when you have got time.
Positive answers tend to be right. If it sounds like a feature or
concept thats sensible or makes business sense, chances are its
right!
Review Pearson VUE Tutorial and Practice Exam

10
APPLICATION DESIGN

11
Application Express
Found under Application Menu > New Application

Four step wizard used to create or extend an application or


framework

Generally ran by a Senior System Architect or Lead System


Architect

10

12
Application Express Step 1
Name of Application

Description

Built on Application PegaRULES or any Framework

Application Structure Framework and Implementation, Framework


Only, Implementation Only

Organization

11

13
Application Express Steps 2, 3 and 4
Business Objectives measureable outcomes of application

Case Types add one or more Case Types and Description

Data Objects add one or more Data Objects to represent data that
is necessary for a case to accomplish its business outcome
Reuse Layer depends on Application Structure

Important to note that any of these can be added once the


Application Express has completed

12

14
Rulesets
What is a RuleSet?

What are three functions of a RuleSet?

Where are RuleSets referenced?

Describe the elements of the RuleSet below:


MyRuleSet:01-02-03

Describe the logon process in terms of records referenced and the


results
13

A RuleSet is a container or an organizational construct that is used to identify, store and manage
a set of rules that define an application or a major part of an application. Every instance of
every rule type belongs to a RuleSet.

A RuleSets primary function is to group rules together for deployment. In addition, RuleSets
can be used for versioning and access control.

The Application rule references the RuleSets.

MyRuleSet is the RuleSet Name


01 is the major version number
02 is the minor version number
03 is the path number

Operators receive access to an application through an access group, which references the
application. An application is comprised of a list of RuleSets. Application RuleSets are typically
created by the Application Express.

15
Rule Resolution Process
Rule resolution dictates which rule to use in a particular situation
If the rule is in the
cache, skip to step 8

Discard rules Discard rules Check that


Check the cache with Availability = not in the class Availability is not
for the rule No/Draft Mode hierarchy Set the cache Blocked

1 2 3 4 5 6 7 8 9 10

Choose Discard Rank remaining Find the most- Verify that the
instances with inapplicable candidates by: applicable user is authorized
matching RuleSets and Class, RuleSet instance to access the rule
purpose (name) versions Version,
Circumstance,
Circumstance Date

14

As we covered previously, rule resolution is the process by which PRPC determines which rule
instance to use at a given time. Rule resolution works by assembling a cache of rules. If the
correct rule instance is in the cache, rule resolution returns the appropriate instance and PRPC
verifies that the user can actually process the instance. If the rule is not cached, PRPC must first
add it to the cache.

How Rule Resolution Works


The first step is to check the rule cache to see if the rule is already in memory. If it is, the
process skips ahead to step 8.
All rule instances matching the name (and type) are selected.
Rules with an availability of No/Draft Mode are discarded.
Rules that are not in an applicable RuleSet version are discarded.
Rules that are not in the class hierarchy are discarded.
The remaining rules are ranked by class (specific to generic), RuleSet version (highest to
lowest), Circumstance (specific to base), and Circumstance Date (todays date is past the
cutoff date).
The rules that are left are added to the cache.
PRPC picks the best instance.
PRPC checks that the rules availability is not set to Blocked.
PRPC checks that the user is authorized to use the rule.

One caveat regarding RuleSet versions: rule resolution will only look for rules in a single major
version. If an application is built on RuleSet version A:02-05-13, rule resolution will not look for
rules RuleSet version A:01-04-17.

16
17
Rule Resolution
Know the 10 step process

Understand Rule Availability

Understand how circumstancing effects Rule Resolution

Rule Resolution Examples available on Pega Mesh

15

There are five options for rule availability in PRPC. Two of the options expose the rule during
processing, while the other three options prevent its use.

Yes
Rule instances set to Yes are always available during processing, and can be copied without
restriction.

Final
Rule instances set to Final are always available during processing, but cannot be copied into
another ruleset without using a new name. Final rule instances are just that: the end of the
line.

No/Draft Mode
Rule instances set to No/Draft Mode are ignored; PRPC skips the rule instance and proceeds to
the next one in the hierarchy, starting with the next-highest RuleSet version.

Blocked
Rule instances set to Blocked are ignored during processing. When PRPC encounters a blocked
rule, it immediately stops the rule resolution process, and returns an error to the user.

Withdrawn
Rule instances set to Withdrawn are ignored during processing. When PRPC encounters a
withdrawn rule, it skips any earlier version in the same class, and proceeds to the next-highest
class in the inheritance hierarchy.

Withdrawn rules behave similarly to blocked rules, but with one important difference:
withdrawn rule instances prevent execution of all rule instances in a particular class, while

18
blocked rules prevent execution of the rule at all. Withdrawn rules are typically used to delete
a rule in a locked RuleSet version. For example, if you initially built an application with the
Approve flow action in the work type, and decided three releases later to generalize the
approval action in the class group, you would need a way to prevent the application from ever
seeing the instances in the locked RuleSet versions that shipped with the earlier versions of the
application. By saving a rule instance to the work type and setting its availability to Withdrawn,
PRPC would skip the earlier versions of the rule in the work type when performing rule
resolution.

https://mesh.pega.com/docs/DOC-61802

19
Enterprise Class Structure

16

Pattern / Directed Inheritance traversal to search for rule candidates.

20
Reusability
Understand the Importance of Rule Naming and Documentation
Good article on PDN Node 1953

Understand the Importance of Rule Modularity

Understand the Use of Parameterization

17

21
Specialization
Assess the Appropriate Specialization Technique
Class, RuleSet or Circumstance
Not an exact science

18

22
CASE DESIGN

23
Case Lifecycle Management - Stages
In a typical build order, what would the 4 Application Development
steps be?
How might they be reordered and why?
Discuss the merits and drawbacks of each order you have listed

In the Case Designer landing page


Whats the best practice for defining stages?
What are the guidelines for when to create a stage?

What is the difference between Primary & Alternate Stages?

How many step types are available?


Describe the usage of each
20

Process (Stages, then Steps), UI, Data Model, Business Policies

Stages: Make sense being grouped together, significant change of ownership, Updated Status

Primary normal course of events, happy path, by default sequential and automatically move
to the next stage
Alternate exceptions or alternate processes

5 step types:
Single step assignment
Multi step process
Case
Approval
Attachment

24
Case Lifecycle Management - Stages
Different types of stages
Skip stage when
Stage service level agreement

Whats the difference?


Optional Process
Optional Action

Whats the purpose?


Entry validation

Best Practices
How many Stages / Steps are recommended?
21

25
Case Lifecycle Management - Steps
How many step types are available?
Describe the usage of each

What rule is created when we add a step?

What does the double-blue line mean?

What is Launch on re-entry?

22

5 step types:
Single step assignment
Multi step process
Case
Approval
Attachment

A flow is created when we add a step

Parallel lines over a step indicate that the step will get launched upon stage entry, without
waiting for the completion of the previous step

Launch on re-entry once a stage is processed it can be re-entered from another stage by the
change stage process or manually by the end user. Only steps that have this option selected are
started automatically when the stage is re-entered

26
Case Hierarchy
Case and subcase relationships
If we see during case decomposition that the tasks are individual
transactions that have their own lifecycle independent of the parent case,
then we create them as subcases

Add a subcase by using the Case Explorer and selecting Add Case
Type
What happens when we do this?
Can we change the default settings of inheritance and the ruleset version?

23

To add a case, from the Case Explorer select Manage Case Type > Add a case type. The Create
Case Type dialog box appears. Lets expand the advanced settings tab to review the advanced
configurations options.

You can update:


Derives from (directed)
Derives from (parent)
Ruleset and Version
Remote Case Type Federated Case Management covered in LSA
Create Starting Process

27
Case Instantiation
Subcases can be configured to be instantiated different ways
Subcase Case Designer
Step Configuration in the Parent Case Designer
Create Case Smart Shape in any Flow Rule

Each one meets different needs

24

28
Case Instantiation Subcase Case Designer
Configured in the Case Designer of the Subcase
Defined on the Details Tab

Automatic or Manual
Parent Case Starts, can be conditional
Any or All of the following dependencies are
fulfilled

25

29
Case Instantiation Parent Case Designer
Configured in the Step Configuration in the Parent Case Designer

26

30
Case Instantiation Create Case Smart Shape
Configured in the Create Case Smart Shape in any Flow Rule

View Properties Dialog

27

31
Data Propagation
When subcase is instantiated as part of
the parent case, we can use the Data
Propagation option to set the values of
the subcase.

Configured on the Details tab of the


Parent Case Designer

Only is propagated on instantiation, if the value of a property in the


parent changes we can use a data transform to the updated value

28

32
Locking
Enhanced in Pega 7

Default Locking lock the case when the operator opens the case

Optimistic Locking enables multiple operators to open the case.


No lock is obtained on open
Lock occurs when the user clicks Submit

Default locking timeout is 30 minutes but can be easily changed

29

33
Locking Parent and Subcase
In Case Designer of the parent case, we can use the Locking option
to set locking on the top most parent case

If subcases are instantiated as part of the parent, they will have the
same locking settings

If subcase is created as a standalone case, the locking


configuration is done of the Advanced tab of the Case Type rule for
that subcase

30

34
Flow Shapes

31

Start only has settings in a ScreenFlow

Decision / Fork Q. What rules can we reference? Table, MapValue, Tree, Expression, When
Connectors

Split Join Q. what settings are available? Most important is - Rejoin if Any/All subflows
complete. Q. Can subflows be multithreaded? A. No

Assignment Q What kinds can be created? A. Worklist, Workbasket, External, Agent. Also
Connect (not best practice, use an Integrator shape (16))

End can only return a scalar value if in a subflow

Split For Each Any / All / Iterate / conditional (see PDN)

Integrator Calls a connector activity

Call a subflow

Spin Off to a subflow

Assignment Service - Use the Assignment Service task in a flow to pass control to an
external system using a connector (for example, Connect BPEL rule). Assignment Service
tasks support asynchronous coordination with external systems, in contrast to the
Integrator tasks, which support synchronous connections. Both Integrator tasks and
Assignment Service tasks reference an activity of type Connect. For an Integrator task, flow
execution continues as soon as the activity completes. For an Assignment Service task, flow

35
execution pauses until Process Commander receives a service request of the appropriate
type.

Utility

Pool with Swim Lanes - You use Router Pool and Swim Lane shapes to organize and
graphically identify a related group of task shapes that are performed within a specific work
context (typically a work group) or business purpose. A router activity defined in the lane
shape is associated with Assignment shapes inside the lane. During processing work objects
are to the appropriate user worklist or workbasket defined by the router.

For example, an insurance claim application has one assignment instructing operators to
collect customer information, another to verify the information and calculate payments,
and a third to issue payments and update financial records. You want each to have its own
work group and workbasket. You create a pool named Insurance Claim Process containing
three swim lanes named CSR, Back Office, and Fulfilment. Each lane has a router activity
associated with the assignments within it. During flow processing, the router assigns the
work object to the appropriate workbasket inside the lane.

36
Screen Flows
Often used to spread the gathering of related data across multiple
forms within the same screen.

Cannot be created using the Case Designer


Create a flow using the Screen Flow template
Once created the flow can be added as a step

Type and Routing can be set on the Start Shape


TabbedScreenFlow7, TreeNavigation7 and PerformScreenFlow

32

37
Flow Configuration
Know your assignment shape

33

38
Flow Configuration
Color coordinated statuses

34

39
Flow Configuration
In which connectors can you specify Likelihood?
Always
Else
When
Result
Flow Action

What is the purpose of Likelihood in the various ways its used?

35

When, Result, Flow Action

When determines the order of evaluation

Result and Flow Action determines the order of precedence, how the items will be added to
either a drop down or the actions menu

40
Work Status
Can be set on Start Shape, Data Transform, Assignment Shape,
Connectors, End Shape, Activity etc.

pyStatusWork property
List available from Designer Studio > Process & Rules > Processes >
Status Value
Can create your own by creating a Field Value rule of the pyStatusWork
field

36

41
Work Party
A person, organization or other entity that has a vested interest in
the progress of a case. They may not necessarily work on the case

Can be thought of as entity data associated with the case


Analogous to an Outlook Contact

Uses out of the box data party classes to hold commonly used
properties for roles
Com, Gov, Operator, Org and Person
Can create your own

37

42
Work Party Benefits
When a case is created by the Application Express or added to an
existing application through the Case Explorer, the system creates
a Work Party rule named pyCaseManagementDefault

Used easy to capture and store information

Used primarily for:


Correspondence, Routing, UI and Reporting

38

43
Adding a Work Party
Clicking the edit link displays the Parties form for us to edit or
delete existing roles
Three default roles Customer, Owner, Interested

Can add a Work Party multiple ways


Marked as Display or Creation Work Party created when case is created
In the Party Details Dialog, we can add or edit existing Work Parties
In the Starter Flow we can uncheck the skip create harness field
AddWorkObjectParty activity

39

44
Work Party
When associated with a case, a built-in property (pyWorkParty) is
embedded into the case

pyWorkParty holds the details of work parties associated with a


case

40

45
DATA MODEL

46
Data Elements
Give some examples of Property Types
Give some examples of Property Modes
Explain this statement: A Property Rule must have a Property Mode,
but not necessarily a Property Type.

Can you give an example for each of the following statements:


In order to capture and persist a record for a case, you will
require a Property with a suitable Property Type.
You can group these Properties together in a Property with a
suitable Property Mode.

42

47
Data Elements
Where does a property get a value from?
Manually: user input or data transform at run-time
Automatically: Refer to a data page or Copy from a data page,
also known as auto populating the property

What are the various ways to validate the input of a property?


Edit Validate Rule
Validate Rule
Table Types

43

Automatically

Refer to a data page - This is the recommended option. When data page parameters change
and a reference to a non-parameter value is made, the system loads a new data page. Reads
from and writes to the property occur on the new data page.

Copy from a data page - Only use this option if you need to copy the data into your case. When
parameters to the data page change and a non-parameter value is referenced, a new data page
is loaded and copied into this property. Interactions with the property happen on the copied
data.

48
Data Elements Property Rules

44

49
Data Elements
What are the acceptable
values for the .Salary property
as configured on the right?
Cannot be implemented this
way! .Salary is a Decimal type
and Table Values cannot have
a non-decimal, i.e. the operator
<.

What can we do to implement


this validation for .Salary?

45

Discussion points:
What are table values? These contain only acceptable values for the properties.
What other types of Table Type are there?
How does UI Control affect the Table Values? No real impact actually, as UI Control only
manages how data are captured. Ultimately, the UI Control must allow user to enter at least
one value that matches one of the Table Values exactly.

50
Reference Data
You can store Reference Data in either a Data Table, or an External
Table.
What are the similarities?
What are the differences?

46

Discussion points:
Data Table stores into a Pega table using a schema from pr_data.
External Table can contain any table schema.
Data Table records are stored in BLOBs.
External Table records are stored in exposed columns.
Both requires a Class, and a Database table rule to map the table to the class.
Both can use a Report Definition to retrieve records.
Properties in Data Tables do not need to be optimized to be used, but should be for better
performance.
Data Page can use the Report Definition as a source.

51
Data Pages
Separate Data from Process, UI and Logic

What do we have to set up on a Data Page?

What are the options for each element?

47

Source from where data is read


Data table, external system
Uses lookup, data transform or report definition

Data structure
List or Page

Scope
Thread(Case), Requestor(User Session) or Node(Across All Sessions)

Refresh Strategy
If Older Than, Do Not Reload When, Once Per Interaction

52
Data Pages
Data pages are invoked declaratively

System looks for the page in memory

If not in memory, system must load the page

Page, once loaded, exists in memory until the scope expires

Data is refreshed depending on the refresh strategy

48

53
Data Modeling

49

Not shown, but easy to add is a Page property example:


(I use the example of embedding a head or nose if necessary)
sometimes to keep this analogy going I ask the class,
What if we were designing a new mythical creature with
1 eye like Cyclops. How would we implement that?
it goes down well in class and illustrates that this model
is robust for all eventualities

54
Certified Senior System
Architect Exam Prep
Sean Hedenskog, Principal Instructor
Wednesday, November 18, 2015

50

55
AUTOMATING BUSINESS
POLICIES

56
Declarative Rules
Name the 6 Declarative Rule Types
Describe the functionality of each

What is the difference between a Constraint rule and Validation


rule?

Where/how are declarative rules referenced?

Declarative rules can reduce errors and maintenance effort, simplify


development and improve performance if used properly

52

Declare Expression
Declare Constraint
Data Page
Declare Index
Declare OnChange
Declare Trigger

Constraint is declarative Validation rule must be created and then called

Declarative rules are created and the system references them with the exception of the Data
Page. You will reference data pages in various rules within PRPC.

57
Declarative Rules
Since declarative rules are not reference explicitly PRPC must
determine when to execute them.

Most declarative rules use one of two modes


Forward Chaining
Backward Chaining

All declarative rules use source and target properties


Source used as input properties, in some cases there may be more than
one property
Target property that is being calculated or computed

53

58
Forward Chaining
Executed when the value of any of the source properties change
Most declarative rules follow forward chaining

Configured on the Change Tracking tab when we select the option


Whenever inputs change

Used by Declarative Expressions, Constraints, OnChange, Triggers


and Index

54

59
Backward Chaining
Executed when the target property is referenced

Only supported by Declarative Expressions

Provide three options for Backward Chaining


When used, if no value present
When used, if property is missing
In these cases, expression is calculated only once in the case lifecycle unless the
property is removed from the clipboard
Whenever used
In this case, the system throws a performance warning, indicating that the expression
will fire as many times as the target property is referenced

55

60
Decisioning Rules
Name the 4 common decision rule types
Compare & contrast them

Where do we use decision rules in Pega 7?


List where decisions rules are referenced
Which rule types are referenced where?

Can a decision rules reference each other?


If so, how
Why would you use this type of configuration? Cite examples

How can decision rules be updated when in production?


What is this approach called? Why is it important?
56

Decision Tree
Decision Table
Map Value
When

61
Decisioning Rules

57

62
Decision Shapes

58

If Assess Risk is a fork describe processing

Likelihoods, connector types (when connectors)

If Assess Risk is a Decision describe processing

Likelihoods, connector types (Result connectors)

63
Decision Table

59

64
Decision Tree

60

65
Map Value
Used in special circumstances where the values of one to two
factors decide the outcome

If we have 5 different types of customers and 8 different types of


accounts we would need 40 rows in a decision table however we
can represent the same thing with a 5x8 matrix

61

66
When Rules
Can return only one of two values True or False

Used in processes to decide which path to take

Used in UI, data transforms and other decisioning rules and


declarative expressions to evaluate a condition

Although most rules will allow you to reference the expression


directly, it is recommended you use a when rule for reuse

62

67
Delegating Decision Rules to Business Users
First, create a new RuleSet for end users to make changes
RuleSet should use the application RuleSet as its prerequisite
Should remain unlocked
If rules are delegated to more than one user, we should enable the
checkout option
RuleSet should be added as a production RuleSet
Access Group of users should be modified to include the Production
Ruleset
Operator IDs should be configured to allow checkout of rules

63

68
Delegating Decision Rules to Business Users
Next, we delegate the rule
Save a copy in the new RuleSet
Under Actions menu, Add to Favorites
Choose one of the following options;
My Access Group, Other Access Groups or Other User Personal

Once delegated rules will appear on the user portal for users to
access
For users using case manager, these rules are accessible in the operator
menu

64

69
Data Transforms
Describe Data Transform functionality

What are the available step actions in data transforms? Can you
describe them?

Where are Data Transforms referenced?

65

There are multiple situations in which the use of the Data Transform is more appropriate than
any other rule type. Whenever we need to set properties values on a given page, whether they
are the initial values or updated values, a Data Transform is the best option.

Set is used to set the target from a source. We can set a value to a Single Value property which
exists in the top-level page such as the pyWorkIDPrefix or in an embedded page such as the
LoanType in the LoanInfo page.

Remove is used to delete the target and any associated values from the clipboard.

We can also use Update Page to set the properties defined on an embedded page. When we
use Update Page we need to set individual properties using the Set action with the nested rows
after the row with Update Page. In fact, we have the option of selecting any of the actions
shown above for the nested rows below the Update Page row.

We can reference another data transform rule from our existing data transform rule. This might
occur if we are going over 25 steps and want to break the rule into smaller manageable data
transforms. Or we might have a reusable data transform, such as one for initializing a case with
some default values. Whenever we need to invoke a Data Transform from another data
transform rule, we use Apply Data Transform.

Conditional Actions are Data transforms that execute all the actions in the order defined.
However there are a few conditional actions that are available to add logic, to perform steps
based on a condition.

When To conditionally perform actions.

70
Otherwise When and Otherwise To provide actions for the alternative to the When
actions.

We can also iterate over a pagelist using For Each Page In action. Using this action we are able
to apply the change for all the child nested rows of the page list. We have the option of
selecting any of the actions for the child nested rows, such as Update Page. Update Page is
primarily for a single page, while For Each Page In is for a page list. We can use the Append
to action to copy a page from the source to the target. For instance, if we want to add a new
page to the Assets page list, we can select new page. We can also add another existing page or
copy all the pages from another pagelist, by selecting the appropriate values in the drop down
in the relation column. Append and Map to is used to map individual properties in the page
list. When we select this action, at least one nested child column is used with Set action.

If we dont want to loop through all the pages in the pagelist, we can use the Exit For Each
condition to exit the loop, or we can exit from processing all the remaining steps with the Exit
Data Transform condition. Typically, we have these steps after a when condition.

Used in:
Starting Processes
Data Propagation
Step in which subcase is instantiated
Flows on connector properties
Flow actions as pre or post processing
Refresh this section in a UI or Run data transform on a cell

71
Data Transforms

66

72
Activities
Provides procedural processing functionality in PRPC

Each step has a method. The step page indicates the default page
the method operates on in that step
Commonly used methods Property-Set, Obj-Open, Obj-Browse, Page-
New, Page-Remove

Symbolic indexes that can be useful when we loop through the


iteration
CURRENT, APPEND, LAST, PREPEND, INSERT

Out of the box activities can be found under the Designer Studio >
Process & Rules > Processes > APIs
67

73
Routing
Where do we specify routing?

Describe what routing does

Name the different types of router that can be applied, describe


each

Describe Push routing, illustrate your answer with a scenario

Describe Pull routing, illustrate your answer with a scenario

68

Assignment shape

Set the AssignTo property in the Assignment in the assignment table

Worklist/Workbasket

Push routing routes the assignment to a single users worklist, and as such there is immediate
ownership as soon as the assignment is created.

Pull routing, on the other hand, routes to a workbasket that is shared across multiple users.
Ownership does not occur until an operator takes action on it. Most applications use
GetNextWork logic to select the most urgent assignment from multiple workbaskets. When
this happens, the assignment is removed from the workbasket and is assigned to the operators
worklist.

74
PegaPulse
PegaPulse is a rich social platform that adds social activity
streaming capabilities to the user interface. We can collaborate and
converse with other application users or developers.

69

If PegaPulse needs to be included in other harnesses, or in any user interface rule, simply
embed a section rule, @baseclass.pxActivityStream

The Message pertains to the current case and Make secure post checkboxes allow us to
configure the availability of the post. The Make secure post option is available only when
Message pertains to the current case has been selected.

Message pertains to the current case is disabled. Post is public and appears in the Pega Pulse
feed in the Case Manager.

Message pertains to the current case is enabled, Make secure post is disabled. Post is public
and appears in the Pega Pulse feed in the Case Manager. Post references the case ID.

Both Message pertains to the current case and Make secure post are enabled Post is private
and only appears in the Pega Pulse feed when the case is opened.

75
Case Attachments
By default, case attachments are store in the pc_data_workattach
table as instances of concrete classes derived from the Data-
WorkAttach- class.
They are not stored in the same table as the case

What are some of the types of attachments?

Where can I find attachments in a case?

70

Types of attachment
Note attachments (text notes) : Data-WorkAttach-Note
File attachments : Data-WorkAttach-File
URL attachments : Data-WorkAttach-URL
Screen shot attachments : Data-WorkAttach-ScreenShot
Scanned image attachments : Data-WorkAttach-ScanDocument
Content attachments : Data-WorkAttach-ECM for file attachments saved in an External Content
Management system

In the attachments gadget

76
Ticketing
Indicates a business exception. It provides an event-driven
override to normal sequential work processing.

We raise the ticket when the business exception happens, and we


reference the ticket at a point where we want the flow of the case to
resume again.

A ticket rule itself defines only a name and a description


Must raise the ticket
Must reference the ticket

71

77
Validation
Where are validation messages configured & referenced?
Describe the best practice technique for this configuration
Why is this approach a best practice?

Where are Validation rules referenced?

Name 2 Standard validation rules & describe their use

What are some other types of validation?

72

In Validate rules
Use message rules for localisation and reuse
Reuse & easier to localise later

In Flow Actions and other Validate rules

OnAdd and Validate

Constraints, Dropdowns, Property Types

78
Correspondence and Notification
Describe Notification in Pega 7
What is it?
Where can Notification be configured?
How can you tell it has been configured?

What options can be used to configure notification messages?

Whats the difference between Notification & Correspondence?

73

Email correspondence in also known as email notifications.

Notify Email Smartshape simple Rich Text Editor, no variables etc vs Correspondence full
edits
Can choose email or party
or
In assignment shape, designated by the envelope symbol on the assignment shape

In assignments and other shapes, can send full correspondence with Corr activities

Correspondence: Includes need for WorkParty setup. Also supports correspondence types
whereas notify is much simpler and only supports email.
If you need to have dynamic fields, or "Rich Text" use corr, use notify if you only need hard-
coded simple / sample or standard messages.

79
USER EXPERIENCE

80
User Experience
Without good user experience, user adoption is at risk

User Experience is more than just UI it also encompasses insightful


processes and thoughtful layouts that make applications easy to
use improves productivity and morale

Good User Experience


Automating business processes
Using intent driven processes
Ergonomics

75

81
User Experience

76

82
Harness
Name the 4 common Standard Harness rules.

What is the purpose of a Harness rule?

Where can you reference a Harness rule?

77

New, Perform, Confirm, Review


Varies for each but essentially defines the structure of the Case Display form, as well as
functions associated with it
Flow (Process Tab), Assignment shapes, Nest in Harness or Portal rules

83
Harness
A flow is designed as shown on
the right
When executed, the output can
be different as shown below.
How do you achieve this?

78

Change the Harness referenced in the assignment to Perform_Buttons

84
Flow Actions
What is the purpose of Flow Action rule?

Other uses of Flow Action rule?

When is Validation Rule called in a Flow Action?

When is a Data Transform or Activity called in a Flow Action?

Rule of thumb: If you need to display a screen, you use a Flow


Action!

79

References UI rules to define what output to display, provides validation and pre-post action
activities or data transforms

Local Action (Optional Action)


Modal Dialog
Expandable Rows (Repeating layout)

Validation rule is fired on exit from the Flow Action

Data Transforms and Activities can be pre or post processing

85
User Interface
Name some elements that can be used in a section.
What are the layouts available?

What is the purpose of using a control?

What are the required attributes of a repeating layout?

Order the following in terms of which references which:


Section, Cells, Layout, Harness, Portal, Embedded section

Name 2 common design patterns to retrieve data from a data


source.
80

Dynamic Layout, Smart Layout, Freeform Layout, Repeating Layout, Column Layout

Display other than a textbox

Page List or Page Group

Portal, Harness, Section, Layout, Cells, Embedded Section

Data Page and Report Definition

86
Layout Types
Dynamic Layouts
New to Pega7
Default layout type
Uses HTML5 tags and supports responsive behavior

Column Layouts
Split the work area into columns. Mostly used on user portals

Repeating Layouts
Dynamic and Column layouts can also extended using the repeating mode

81

87
Formatting UI using Controls
Used in two places
When a property is defined
Where the property is referenced

When a property is defined


System determines the control based on the data type
pxTextInput, pxNumber or pxDateTime
By default uses the setting Control inherited form property as it is added to a
section

Can override the control on property by selecting a control in the UI


cell

82

88
Building Responsive UI
Standards Mode automatically enabled in Pega 7

When designing layouts we use one of the built in style formats or


custom formats
Make sure to set the width to % instead of px or em to avoid horizontal
scrolling in a number of different devices

Floats are useful in aligning the layout to the left or right


Useful when rendering multiple layouts in the same line

Set Responsive Breakpoints and use Layout Groups

83

89
Implementing Dynamic Actions
Action Sets
Same event can trigger more than one action
Order of the actions important as they are performed in order
If we need different events to perform different actions then we need to
create it as a new action set

Event Architecture
Controls, Grids and Expression Calculations

Visible When, Refresh When, Disable When and Read-Only When

84

90
REPORTING

91
Reporting
Key functions of Pega 7s reporting capabilities is to provide access
to ad hoc reports that business analysts or managers can run

Where are Ad-hoc reports accessible?

What are the two types of Report Categories?

What are Shortcuts?

Where do we see the results of a report?

86

Report Browser

Private and Public


Private only to user
Public all standard and shared reports

A shortcut is a link that displays the report title in the report browser. Serves two purposes
pointer to a report definition rule that is used to present results and the category type where
this shortcut appears

Report Viewer

92
Report Definitions
Can use the Report Editor to create and configure reports
Automatically creates a report with the name pyDefaultReport

There are a few requirements that force us to work directly with the
Report Definition
When modifying the choices in the Report Viewer
When modifying the choices in the Data Access tab
Configuring pagination and threshold settings
Setting up Smart Info and other sections
Creating and configuring sub reports

87

93
Data Modeling in Reports
Have to understand how data collected in a case gets saved in
PRPC data tables

May need to write reports on varied data sets


Case based reports
Assignment reports
pc_assign_worklist
pc_assign_workbasket
Audit trail reports
pxTaskElapsedTime total time spent on an assignment
pyPerformActionTime total time spent on the most recent action
pyPerformAssignmentTime total time spent on that assignment including all local flow
actions

88

94
Data Modeling in Reports
Defining relationships between tables
Case and Subcase two records in the same table
Case and Assignments two different tables
Case and History two different table

What are the two options to establish relationships between tables?

89

Class Joins

Associations

95
Optimization of Properties
PRPC uses a specialized BLOB structure to save property values

To run reports that query against this BLOB can have quite an
impact on processing time especially if we are reporting on
thousands of records

Run the Optimization Wizard


Right click on property and select Optimize for Reporting
Different steps based upon single value, page and page list, page group
properties

90

96
Charts
Must have a summary type report to display a chart

Various different chart types to choose from

Can modify the x and y axis

Modify chart colors, label and fonts

New to Pega 7 we include hundreds of maps that we can use to


illustrate data

91

97
Certified Senior System
Architect Exam Prep
Sean Hedenskog, Principal Instructor
Thursday , November 19, 2015

92

98
INTEGRATION

99
Connectors
Connectors allow us to send requests to another system and return
values to Pega 7

Many different types of connectors available to us in Pega 7

Connector wizard will do most of the work

94

100
Connector Wizard

95

101
Connector Processing Model

96

102
Connector Processing Model - Simplified

97

103
Services
Services allow us to expose PRPC to other applications as a
service

Many different types of services available in Pega 7

Service Wizard will do most of the work

98

104
Service Wizard

99

105
Services Processing Model

100

106
Services Processing Model - Simplified
External system sends request
Communicate with PRPC using the correct protocol
PRPC processes request and sends back response
Usually creates a case

101

107
Error Handling
Two basic types of errors:
Transient
Permanent

If the connector is invoked from a data page


Post Load Processing activity to check for and handle errors.

In an error occurs while loading the data page a message is added

If the connector is invoked from an activity, use the Transition Step


Status to check if the connector failed and if so handle the error

102

108
Simulate a Connector
Useful when data sources are not available

Can be temporarily enabled or disabled

Can remove all simulations by using the Clear Simulations button

Simulation activities can be defined on a global or use session level

103

109
External DB Integration

104

110
ADMINISTRATION

111
System Debugging Tools
Clipboard

Tracer

UI Inspector

System Management Application

106

112
Performance Analysis Tools
PAL (Performance Analyzer)
Provides a view to all the performance statistics that PRPC captures

Log Usage
Unlike PAL, shows overall system activity
Available in SMA

Guardrail Reports
Compliance
Summary
All Warnings
Charts
107

113
System Logging
Accessing
Designer Studio > System > Tools > Logs > Log Files
Download as either text files or zip
Important one for debugging is named Pega

Reading
PLA (Pega Log Analyzer)

108

114
Purge and Archive Wizard
Access by choosing Designer Studio > System > Tools >
Purge/Achive

Two step process


Configuration selecting the Work Pool, Work Type(s), Filtering Criteria
based on aging

Schedule Process
Archive Settings Archive and Purge (mostly used in production) or Purge
Remove

109

115
Application Migration
Application Packaging Wizard

Rule-Admin-Product

Export Gadget

Import Wizard

110

116
ARCHITECTURE

117
Agents
Task-driven or schedule-driven
Task-driven pick their work from a queue which are generally
created during case processing
Schedule-driven agents directly run an activity to perform their tasks

Three types of agents:


Legacy backwards compatibility
Advanced responsible for both transactional and business processing;
may run an activity directly and that activity my either call the agent queue
or not
Standard transactional processing handled by PRPC and leverages the
agent queue functionality. Contains only business logic. Used in the lesson.

112

118
System Queue or Agent Queue
Represented in PRPC by a class and the entries by the instances of
that class
System-Queue-DefaultEntry is the class of Standard Agents
Typically persisted in the pr_sys_queues table
Entries generated during case processing when the Queue-For-Agent
activity method or QueueForAgent activity is called

Auto Queue Management or AQM


Provides facility to manage the state of each agent queue as it is moving
from Scheduled to Now Processing
Returns either Broken-Process or Success

113

119
Auto Queue Management or AQM
Provides facility to manage the state of each agent queue as it is
moving from Scheduled to Now Processing
Returns either Broken-Process or Success

Can be enabled or disabled on each agent


When enabled, if rollback occurs, AQM puts the queue entry into failure
status and stores in the Broken-Process queue. From there, someone with
access to the broken queue can view, fix and re-queue the entry
When disabled, the agent only gets one chance to process the entry. As the
entry is removed from the queue if it fails

Best practice is always enable AQM for Standard Agents

114

120
Security
Authentication
Are you who you say you are?
Are you allowed in?

Authorization
What are you allowed to do?
What rules can you execute?

115

121
Authorization Security Overview

116

Key Points:
The RuleSet list
If the Rule is in a RuleSet which is not in your RuleSet list you cant execute it.
The Access of Role to Object (ARO)
For each object that you are performing an operation on, an ARO (for each
Role) is found which may convey the privileges to perform the desired operation
User has one or more roles (assigned through an access group). Each role has a
collection of AROs
Privileges assigned to Rule Instance
Allows individual Rule Instances to be secured separately from others.

122
Review Authorization Model with Access Manager

117

123
LDAP Authentication
Directory service designed to represent large complex
organizations
extremely flexible
at its core its a list of records, usually representing people and passwords

Process of authentication using LDAP is to create operator IDs by


the PRCustom authentication scheme

PRCustom allows token-based authentication

Can create using the Authentication Wizard

118

LDAP - Lightweight Directory Access Protocol


Directory service - Lists people, stores password
Each entry had attributes
o DN Distinguished Name
o CN Common Name
o O Organization
o Ou Organization Unit . Etc
On login, PRPC retrieves entry from LDAP directory and creates operator in PRPC
PRPC examines attributes to grant has access to the application
o Which model operator / access group they should use

124
Q&A

125
Submitted Questions
What is the difference between Pega Mesh and Pega Forums?

If we have ten results for a decision table then will we need ten
connectors? I think noBut how many connectors can we have
max?

Can you please tell what the Allow To Evaluate Properties sets and
Allow to Take Action check boxes used for?

Can we use an Action without an Event in sections?

120

Pega Mesh is a collaboration platform we use internally at Pega. While it is mostly internal and
only available to Pega employees, we have the ability to make certain workspaces available to
Pega, Pega Partners and Customers. In order to get access you must be registered and
subsequently invited to participate in a workspace.
Pega Forums are available to anyone who has access to the PDN and are the recommended
place to search for answers and post your questions as these are monitored daily.

There is no maximum for the number of Connectors emanating from a Decision Shape but best
practices recommend that you limit them to 5 or less. If you have more than 5 connectors
emanating from a decision shape Pega will give you a Guardrail Warning.

The Allow To Evaluate Properties and Allow to Take Action check boxes are advanced features of
Decision Trees. The Allow To Evaluate Properties allows you to reference one property as an
input property. It creates case statement logic.
The Allow to Take Action will allow you to manipulate or set additional properties for each row
that evaluates to True.

While technically it is possible to create and Action without an Event. Nothing would happen.
You would receive a Caution warning from PRPC indicating you have an incomplete action set.
You should have at least one Event and one action.

126
Submitted Questions
We cannot call a decision table from another decision table.... Am I
right? Can a decision table call other decision table? Not
mentioned in Sean's presentation

Hello, I have a question related to branch. What is the difference


between branch and branched ruleset? Is it required always create
the both?

But it is required add a branch to the application rule first, and then
create the branched ruleset - is that the functionality?

121

While you can call a Decision Table and Tree from a Decision Tree. There is no built in provision
in Pega to Call a Decision Table from another Decision Table. But it can be done indirectly by
using a Property in the Decision Table that is calculated automatically by a Declare Expression
that References a Decision Table.

I think you may be confusing the Branch instruction in an activity with a Branch Ruleset. You
can create a Branch Ruleset in Pega. A Branch Ruleset is used to allow separate development
teams to make independent changes to a shared RuleSet while still providing visibility into each
others changes. Branched Rulesets may eventually require merging.

A branch is a container for RuleSets with rules that are undergoing rapid change in a
development environment. The RuleSets associated with a branch are called Branched
RuleSets. We say that a branch RuleSet is a RuleSet that: Is based off of or "branched from"
another RuleSet and contains rules that are in active development in the associated branch.
Branch RuleSets can be created directly from the Application Rule form.
Select Create Branch Ruleset.
Select a Branch ID
Chose a RuleSet to branch from.

127
Submitted Questions
So when we add/import a branch, the rules defined in the branch
would also show up in our Application Explorer?

What is the use of Correspondence Fragment?

Okay.... referencing a correspondence rule or correspondence


fragment in a correspondence rule means same?

What is the difference between Data Page and Clipboard?

122

Yes, as long as they are part of our application (they are an associated ruleset). Branched
Rulesets are useful in development projects, where multiple teams work simultaneously on the
rules and all members on one team need to see each others work, while also isolating their
development changes from the other teams.

Correspondence Fragments can be used as a "snippet" of Correspondence to insert into other


Correspondence Rules. Please Note that Correspondence Rules can also reference other
Correspondence Rules. An example of a Correspondence Fragment is legalize or non-disclosure
information that your legal department requests you include in all outgoing emails.

Yes. Just the correspondence fragment tends to be a snippet

A Data Page is a Page in Memory (stored in the Clipboard) that is used by Pega to cache
required. This page can be scoped and include a refresh strategy. The Clipboard represents the
Requestor's Session on the Application Server.

128
Submitted Questions
Is it possible to use jQuery library with Pega UI like how we do in
any Java or .NET UI pages?

Talking about dynamic layout, when Sean reduced the size of the
window, in the skills textbox looks like some options 'disappeared'
(the ones for changing styles, text size and so on). Is this normal or
an issue?

In the Status value list, we can find several status. How we can
identify the ones that are provided by PRPC by default?

123

While it may be possible it most certainly would be a violation of best practices and it would
make your application extremely difficult to maintain and support. Definitely NOT a "Build for
Change" strategy.

While some of the controls did change as the window was reduced the Rich Text Editor is not a
responsive control.

You can find the standard status values by navigating to the Designer Studio > Process & Rules >
Processes > Status Values for a complete list of status values.
In a Work Status field if you use the Smart Prompt it should show you custom status values first
followed by built in status when you select the More option.

129
Submitted Questions
What is the difference between notification and correspondence?
Does the notification use a correspondence or does it use a
message by default?

When a report is created through the report browser which rule


records are created? Only the report definition or also a shortcuts?
Is it necessary to create explicitly a shortcut?

What is the meaning of pick the best in Step 8 of rule resolution?

124

Notification is the activity we use to send out the correspondence to the correct recipients.
Correspondence is the content of the message. This is contrasted with the Send Email smart
shape which will allow us to send a Rich Text Message or Correspondence.

When we create a report through the Report Browser a temporary copy of data is viewable
using the Report Viewer. If the user does not save, no records are created. If the user saves the
record a Report Definition as well as a Shortcut is created. It is required to initially create the
report however shortcuts are not needed unless you would like to reference the same report in
a different report category.

This is the final step that determines which candidate is the most likely one to be executed. Each
of the qualifiers is examined to see if there is a match. The system stops on the first match thats
available or the default if none of the qualifiers match. This allows us to use the qualifiers, such
as Circumstance, to specify the outlier processes while still maintaining a base default rule for
the majority of cases.

130
twitter.com/pega

linkedin.com/company/pegasystems
125

131

Das könnte Ihnen auch gefallen