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. 2015 2 4 . November 17. Principal Instructor Tuesday.

Agenda • Study Materials • CSSA Exam Core Competencies and Distribution • Exam Advice • Review Each Core Competency – Day 1 and 2 • QA – Day 3 3 5 .

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

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 .

9% • User Reporting 7.1% • Integration 8.CSSA Exam Competencies • Application Design 11.6% • Architecture 5.7% • Data Model 10.6% Integration Architecture Administration • Total 100% 6 8 .7% Application Design Case Design Data Model Automating Business Policies User Experience User Reporting • Administration 8.0% • User Experience 12.4% • Case Design 15.0% • Automating Business Policies 20.

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 7 9 .

mark for review and move on! – Go back & answer the less obvious questions later when you have got time. chances are it’s right! • Review Pearson VUE Tutorial and Practice Exam 8 10 .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 you’re not sure. If it sounds like a feature or concept that’s ‘sensible’ or makes business sense. • Positive answers tend to be right.

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 .

Implementation Only • Organization 11 13 . Framework Only.Application Express – Step 1 • Name of Application • Description • Built on Application – PegaRULES or any Framework • Application Structure – Framework and Implementation.

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 .Application Express – Steps 2.

In addition. The Application rule references the RuleSets. RuleSets can be used for versioning and access control. Application RuleSets are typically created by the Application Express. A RuleSet’s primary function is to group rules together for deployment. Every instance of every rule type belongs to a RuleSet. 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. An application is comprised of a list of RuleSets. store and manage a set of rules that define an application or a major part of an application. 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. 15 .

If the rule is not cached. 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. Rule resolution works by assembling a cache of rules. If an application is built on RuleSet version A:02-05-13. If the correct rule instance is in the cache. • PRPC picks the best instance. rule resolution will not look for rules RuleSet version A:01-04-17. Circumstance (specific to base). PRPC must first add it to the cache. One caveat regarding RuleSet versions: rule resolution will only look for rules in a single major version. 16 . RuleSet version (highest to lowest). • All rule instances matching the name (and type) are selected. Circumstance. • Rules that are not in an applicable RuleSet version are discarded. • Rules that are not in the class hierarchy are discarded. If it is. • PRPC checks that the rule’s availability is not set to Blocked. • Rules with an availability of No/Draft Mode are discarded. the process skips ahead to step 8. Verify that the instances with inapplicable candidates by: applicable user is authorized matching RuleSets and Class. • The rules that are left are added to the cache. rule resolution is the process by which PRPC determines which rule instance to use at a given time. RuleSet instance to access the rule purpose (name) versions Version. rule resolution returns the appropriate instance and PRPC verifies that the user can actually process the instance. • The remaining rules are ranked by class (specific to generic). Circumstance Date 14 As we covered previously. Rule Resolution Process • Rule resolution dictates which rule to use in a particular situation If the rule is in the cache. • PRPC checks that the user is authorized to use the rule. and Circumstance Date (today’s date is past the cutoff date). How Rule Resolution Works • The first step is to check the rule cache to see if the rule is already in memory.

17 .

but with one important difference: withdrawn rule instances prevent execution of all rule instances in a particular class. Final Rule instances set to Final are always available during processing. 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. “Final” rule instances are just that: the end of the line. starting with the next-highest RuleSet version. and proceeds to the next-highest class in the inheritance hierarchy. When PRPC encounters a withdrawn rule. and returns an error to the user. Blocked Rule instances set to Blocked are ignored during processing. while 18 . Withdrawn Rule instances set to Withdrawn are ignored during processing. it immediately stops the rule resolution process. Withdrawn rules behave similarly to blocked rules. When PRPC encounters a blocked rule. Two of the options expose the rule during processing. but cannot be copied into another ruleset without using a new name. and can be copied without restriction. it skips any earlier version in the same class. while the other three options prevent its use. Yes Rule instances set to Yes are always available during processing. PRPC skips the rule instance and proceeds to the next one in the hierarchy. No/Draft Mode Rule instances set to No/Draft Mode are ignored.

pega. 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. Withdrawn rules are typically used to “delete” a rule in a locked RuleSet version.blocked rules prevent execution of the rule at all. PRPC would skip the earlier versions of the rule in the work type when performing rule resolution. and decided three releases later to generalize the approval action in the class group.com/docs/DOC-61802 19 . For example. if you initially built an application with the Approve flow action in the work type. By saving a rule instance to the work type and setting its availability to Withdrawn. https://mesh.

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 .

RuleSet or Circumstance – Not an exact science 18 22 .Specialization • Assess the Appropriate Specialization Technique – Class.

CASE DESIGN 23 .

happy path. Updated Status Primary – normal course of events. then Steps). Data Model. Business Policies Stages: Make sense being grouped together. 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 – What’s 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.Stages • In a typical build order. significant change of ownership. Case Lifecycle Management . UI. 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 • What’s the difference? – Optional Process – Optional Action • What’s the purpose? – Entry validation • Best Practices – How many Stages / Steps are recommended? 21 25 .

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. Case Lifecycle Management . Only steps that have this option selected are started automatically when the stage is re-entered 26 .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.

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. The Create Case Type” dialog box appears. Let’s expand the advanced settings tab to review the advanced configurations options. from the Case Explorer select Manage Case Type > Add a case type. 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 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.

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 .

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 .Data Propagation • When subcase is instantiated as part of the parent 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 • Enhanced in Pega 7 • Default Locking – lock the case when the operator opens the case • Optimistic Locking – enables multiple operators to open the 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.Locking – Parent and Subcase • In Case Designer of the parent case. the locking configuration is done of the Advanced tab of the Case Type rule for that subcase 30 34 . they will have the same locking settings • If subcase is created as a standalone case.

MapValue. 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 . Also Connect (not best practice. which support synchronous connections. For an Assignment Service task.Rejoin if … Any/All subflows complete. Connect BPEL rule). Flow Shapes 31 • Start – only has settings in a ScreenFlow • Decision / Fork – Q. When Connectors • Split Join – Q. flow execution continues as soon as the activity completes. Assignment Service tasks support asynchronous coordination with external systems.Use the Assignment Service task in a flow to pass control to an external system using a connector (for example. Both Integrator tasks and Assignment Service tasks reference an activity of type Connect. Tree. Can subflows be multithreaded? A. flow 35 . For an Integrator task. in contrast to the Integrator tasks. No • Assignment – Q What kinds can be created? A. Q. Expression. Worklist. External. What rules can we reference? Table. Workbasket. Agent. what settings are available? Most important is .

another to verify the information and calculate payments. A router activity defined in the lane shape is associated with Assignment shapes inside the lane. You create a pool named Insurance Claim Process containing three swim lanes named CSR. During processing work objects are to the appropriate user worklist or workbasket defined by the router. During flow processing. For example. Each lane has a router activity associated with the assignments within it. the router assigns the work object to the appropriate workbasket inside the lane. and Fulfilment. an insurance claim application has one assignment instructing operators to collect customer information. Back Office.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. execution pauses until Process Commander receives a service request of the appropriate type. 36 . • Utility • Pool with Swim Lanes . and a third to issue payments and update financial records. You want each to have its own work group and workbasket.

Screen Flows • Often used to spread the gathering of related data across multiple forms within the same screen. TreeNavigation7 and PerformScreenFlow 32 37 . • 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.

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 it’s used? 35 When. Flow Action When – determines the order of evaluation Result and Flow Action – determines the order of precedence. Result. how the items will be added to either a drop down or the actions menu 40 .

Assignment Shape. Connectors. Data Transform. • 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 . Activity etc.Work Status • Can be set on Start Shape. End Shape.

Org and Person – Can create your own 37 42 . 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. organization or other entity that has a vested interest in the progress of a case. Operator. Gov.Work Party • A person.

UI and Reporting 38 43 . the system creates a Work Party rule named pyCaseManagementDefault • Used easy to capture and store information • Used primarily for: – Correspondence. Routing.Work Party Benefits • When a case is created by the Application Express or added to an existing application through the Case Explorer.

Adding a Work Party • Clicking the edit link displays the “Parties form for us to edit or delete existing roles – Three default roles – Customer. we can add or edit existing Work Parties – In the Starter Flow we can uncheck the “skip create harness” field – AddWorkObjectParty activity 39 44 . 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. Owner.

a built-in property (pyWorkParty) is embedded into the case • pyWorkParty holds the details of work parties associated with a case 40 45 .Work Party • When associated with a case.

DATA MODEL 46 .

you will require a Property with a suitable Property Type. –You can group these Properties together in a Property with a suitable Property Mode.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. • Can you give an example for each of the following statements: –In order to capture and persist a record for a case. but not necessarily a Property Type. 42 47 .

This is the recommended option. a new data page is loaded and copied into this property.Only use this option if you need to copy the data into your case. When data page parameters change and a reference to a non-parameter value is made. 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 . 48 . 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. the system loads a new data page. Interactions with the property happen on the copied data. Reads from and writes to the property occur on the new data page. When parameters to the data page change and a non-parameter value is referenced.

Data Elements – Property Rules 44 49 .

e. • What can we do to implement this validation for . as UI Control only manages how data are captured. the UI Control must allow user to enter at least one value that matches one of the Table Values exactly. 50 . Ultimately. the operator ‘<’.Salary? 45 Discussion points: • What are table values? These contain only acceptable values for the properties.Salary is a Decimal type and Table Values cannot have a non-decimal. Data Elements • What are the acceptable values for the . • What other types of Table Type are there? • How does UI Control affect the Table Values? No real impact actually. i.Salary property as configured on the right? – Cannot be implemented this way! .

• Both can use a Report Definition to retrieve records. and a Database table rule to map the table to the class. • External Table records are stored in exposed columns. but should be for better performance. or an External Table. • External Table can contain any table schema. • Data Page can use the Report Definition as a source. • Both requires a Class. • Data Table records are stored in BLOBs. • Properties in Data Tables do not need to be optimized to be used. Reference Data • You can store Reference Data in either a Data 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. 51 .

Do Not Reload When. external system Uses lookup. 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. Requestor(User Session) or Node(Across All Sessions) Refresh Strategy If Older Than. Once Per Interaction 52 . Data Pages • Separate Data from Process. data transform or report definition Data structure List or Page Scope Thread(Case).

system must load the page – Page. exists in memory until the scope expires – Data is refreshed depending on the refresh strategy 48 53 . once loaded.Data Pages • Data pages are invoked declaratively – System looks for the page in memory – If not in memory.

Data Modeling 49 Not shown. How would we implement that?’ it goes down well in class and illustrates that this model is robust for all eventualities  54 . 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.

Principal Instructor Wednesday.Certified Senior System Architect Exam Prep Sean Hedenskog. 2015 50 55 . November 18.

AUTOMATING BUSINESS POLICIES 56 .

You will reference data pages in various rules within PRPC. 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. 57 .

in some cases there may be more than one property – Target – property that is being calculated or computed 53 58 .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.

Constraints. OnChange.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. Triggers and Index 54 59 .

if property is missing • In these cases.Backward Chaining • Executed when the target property is referenced • Only supported by Declarative Expressions • Provide three options for Backward Chaining – When used. the system throws a performance warning. if no value present – When used. indicating that the expression will fire as many times as the target property is referenced 55 60 . expression is calculated only once in the case lifecycle unless the property is removed from the clipboard – Whenever used • In this case.

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 • 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.

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 .

it is recommended you use a when rule for reuse 62 67 .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.

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 .

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.Delegating Decision Rules to Business Users • Next. Add to Favorites – Choose one of the following options. these rules are accessible in the operator menu 64 69 . we delegate the rule – Save a copy in the new RuleSet – Under Actions menu. • My Access Group.

such as one for initializing a case with some default values. 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. 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. � When — To conditionally perform actions. whether they are the initial values or updated values. Whenever we need to invoke a “Data Transform” from another data transform rule. Remove is used to delete the target and any associated values from the clipboard.” Conditional Actions are Data transforms that execute all the actions in the order defined. We can reference another data transform rule from our existing data transform rule. Set is used to set the target from a source. we use “Apply Data Transform. Or we might have a reusable data transform. However there are a few conditional actions that are available to add logic. We can also use Update Page to set the properties defined on an embedded page. we have the option of selecting any of the actions shown above for the nested rows below the “Update Page” row. 70 . 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. a Data Transform is the best option. This might occur if we are going over 25 steps and want to break the rule into smaller manageable data transforms. to perform steps based on a condition.” In fact. Whenever we need to set properties values on a given page.

“Append and Map to” is used to map individual properties in the page list. When we select this action. or we can exit from processing all the remaining steps with the “Exit Data Transform” condition. We can also iterate over a pagelist using For Each Page In action. For instance. We have the option of selecting any of the actions for the child nested rows. Otherwise When and Otherwise — To provide actions for the alternative to the When actions. If we don’t want to loop through all the pages in the pagelist. such as “Update Page. we can use the “Exit For Each” condition to exit the loop. while “For Each Page In” is for a page list.” “Update Page” is primarily for a single page. by selecting the appropriate values in the drop down in the relation column. We can use the “Append to” action to copy a page from the source to the target. we have these steps after a when condition. if we want to add a new page to the Assets page list. Typically. at least one nested child column is used with “Set” action. We can also add another existing page or copy all the pages from another pagelist. Using this action we are able to apply the change for all the child nested rows of the page list. we can select new page. 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. APPEND. Page-Remove • Symbolic indexes that can be useful when we loop through the iteration – CURRENT. Page- New. Obj-Browse. The step page indicates the default page the method operates on in that step – Commonly used methods – Property-Set. PREPEND. INSERT • Out of the box activities can be found under the Designer Studio > Process & Rules > Processes > APIs 67 73 . Obj-Open. LAST.

and as such there is immediate ownership as soon as the assignment is created. Most applications use “GetNextWork” logic to select the most urgent assignment from multiple workbaskets. 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 user’s worklist. the assignment is removed from the workbasket and is assigned to the operator’s worklist. illustrate your answer with a scenario • Describe ‘Pull’ routing. Pull routing. 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. Ownership does not occur until an operator takes action on it. 74 . on the other hand. routes to a workbasket that is shared across multiple users. When this happens.

The Make secure post option is available only when Message pertains to the current case has been selected. Make secure post is disabled. Post is public and appears in the Pega Pulse feed in the Case Manager. We can collaborate and converse with other application users or developers. 69 If PegaPulse needs to be included in other harnesses. Post is public and appears in the Pega Pulse feed in the Case Manager. or in any user interface rule. Message pertains to the current case is disabled.pxActivityStream The Message pertains to the current case and Make secure post checkboxes allow us to configure the availability of the post. Post references the case ID. 75 . Message pertains to the current case is enabled. PegaPulse • PegaPulse is a rich social platform that adds social activity streaming capabilities to the user interface. @baseclass. 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. simply embed a section rule.

– 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 .class. Case Attachments • By default. case attachments are store in the pc_data_workattach table as instances of concrete classes derived from the Data- WorkAttach.

It provides an event-driven override to normal sequential work processing. • A ticket rule itself defines only a name and a description – Must raise the ticket – Must reference the ticket 71 77 .Ticketing • Indicates a business exception. and we reference the ticket at a point where we want the flow of the case to resume again. • We raise the ticket when the business exception happens.

Dropdowns. Property Types 78 . 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.

If you need to have dynamic fields. or "Rich Text" use corr. can send full correspondence with Corr activities Correspondence: Includes need for WorkParty setup. designated by the envelope symbol on the assignment shape In assignments and other shapes. Notify Email Smartshape – simple Rich Text Editor. no variables etc vs Correspondence – full edits Can choose email or party or In assignment shape. use notify if you only need hard- coded simple / sample or standard messages. Also supports correspondence types whereas notify is much simpler and only supports email. 79 . 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? • What’s the difference between Notification & Correspondence? 73 Email correspondence in also known as email notifications.

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

• What is the purpose of a Harness rule? • Where can you reference a Harness rule? 77 • New. as well as functions associated with it • Flow (Process Tab). Harness • Name the 4 common Standard Harness rules. Review • Varies for each but essentially defines the structure of the Case Display form. Assignment shapes. Perform. Nest in Harness or Portal rules 83 . Confirm.

• How do you achieve this? 78 Change the Harness referenced in the assignment to Perform_Buttons 84 . the output can be different as shown below. Harness • A flow is designed as shown on the right • When executed.

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 . 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.

Section. Harness. Portal. Layout. User Interface • Name some elements that can be used in a section. Harness. Embedded section • Name 2 common design patterns to retrieve data from a data source. Embedded Section Data Page and Report Definition 86 . Column Layout Display other than a textbox Page List or Page Group Portal. 80 Dynamic Layout. Cells. – 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. Freeform Layout. Cells. Smart Layout. Layout. Repeating Layout.

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 .

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 .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.

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 .

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 . Reporting • Key functions of Pega 7’s 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.

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 .

page and page list. page group properties 90 96 .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.

label and fonts • New to Pega 7 we include hundreds of maps that we can use to illustrate data 91 97 .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.

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 .

• 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 .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.

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 .

shows overall system activity – Available in SMA • Guardrail Reports – Compliance – Summary – All Warnings – Charts 107 113 .Performance Analysis Tools • PAL (Performance Analyzer) – Provides a view to all the performance statistics that PRPC captures • Log Usage – Unlike PAL.

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 .

112 118 .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.

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 can’t execute it. 122 . Each role has a collection of ARO’s • Privileges assigned to Rule Instance  Allows individual Rule Instances to be secured separately from others. 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). • The Access of Role to Object (ARO)  For each object that you are performing an operation on.

Review Authorization Model with Access Manager 117 123 .

stores password  Each entry had attributes o DN – Distinguished Name o CN – Common Name o O – Organization o Ou – Organization Unit …. 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 . Etc  On login.Lists “people”. 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 .Lightweight Directory Access Protocol  Directory service . LDAP Authentication • Directory service designed to represent large complex organizations – extremely flexible – at it’s core it’s a list of records.

Q&A 125 .

It creates case statement logic. Nothing would happen. If you have more than 5 connectors emanating from a decision shape Pega will give you a Guardrail Warning. we have the ability to make certain workspaces available to Pega. You should have at least one Event and one action. 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. 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 no…But 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. You would receive a Caution warning from PRPC indicating you have an incomplete action set. 126 . The Allow To Evaluate Properties allows you to reference one property as an input property. The Allow To Evaluate Properties and Allow to Take Action check boxes are advanced features of Decision Trees. While technically it is possible to create and Action without an Event. While it is mostly internal and only available to Pega employees. The Allow to Take Action will allow you to manipulate or set additional properties for each row that evaluates to True. In order to get access you must be registered and subsequently invited to participate in a workspace. Pega Partners and Customers. 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.

• Select a Branch ID • Chose a RuleSet to branch from. The RuleSets associated with a branch are called Branched RuleSets.. Am I right? Can a decision table call other decision table? Not mentioned in Sean's presentation • Hello. Submitted Questions • We cannot call a decision table from another decision table. 127 . I have a question related to branch. 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. There is no built in provision in Pega to Call a Decision Table from another Decision Table. Branched Rulesets may eventually require merging.. and then create the branched ruleset . • Select Create Branch Ruleset. 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.is that the functionality? 121 While you can call a Decision Table and Tree from a Decision Tree. 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. 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. You can create a Branch Ruleset in Pega. A branch is a container for RuleSets with rules that are undergoing rapid change in a development environment. Branch RuleSets can be created directly from the Application Rule form. I think you may be confusing the Branch instruction in an activity with a Branch Ruleset..

128 . This page can be scoped and include a refresh strategy.. Branched Rulesets are useful in development projects. the rules defined in the branch would also show up in our Application Explorer? • What is the use of Correspondence Fragment? • Okay. where multiple teams work simultaneously on the rules and all members on one team need to see each others work.. as long as they are part of our application (they are an associated ruleset). An example of a Correspondence Fragment is legalize or non-disclosure information that your legal department requests you include in all outgoing emails.. The Clipboard represents the Requestor's Session on the Application Server. Please Note that Correspondence Rules can also reference other Correspondence Rules. while also isolating their development changes from the other teams. referencing a correspondence rule or correspondence fragment in a correspondence rule means same? • What is the difference between Data Page and Clipboard? 122 Yes. Correspondence Fragments can be used as a "snippet" of Correspondence to insert into other Correspondence Rules. 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. Yes. Submitted Questions • So when we add/import a branch.

129 .NET UI pages? • Talking about dynamic layout. 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. we can find several status. text size and so on). Definitely NOT a "Build for Change" strategy. in the skills textbox looks like some options 'disappeared' (the ones for changing styles. 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. While some of the controls did change as the window was reduced the Rich Text Editor is not a responsive control. 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. Is this normal or an issue? • In the Status value list. when Sean reduced the size of the window. Submitted Questions • Is it possible to use jQuery library with Pega UI like how we do in any Java or .

The system stops on the first match that’s available or the default if none of the qualifiers match. This is the final step that determines which candidate is the most likely one to be executed. 130 . 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. Correspondence is the content of the message. 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. If the user does not save. such as Circumstance. If the user saves the record a Report Definition as well as a Shortcut is created. This is contrasted with the Send Email smart shape which will allow us to send a Rich Text Message or Correspondence. no records are created. When we create a report through the Report Browser a temporary copy of data is viewable using the Report Viewer. to specify the outlier processes while still maintaining a base ‘default’ rule for the majority of cases. This allows us to use the qualifiers. Each of the qualifiers is examined to see if there is a match.

com/company/pegasystems 125 131 .twitter.com/pega linkedin.