Senior System Architect: Advanced Topics: 8. 3 Exercise Guide
Senior System Architect: Advanced Topics: 8. 3 Exercise Guide
Advanced Topics
8.3
Exercise Guide
© 2019
Pegasystems Inc., Cambridge, MA
All rights reserved.
Trademarks
For Pegasystems Inc. trademarks and registered trademarks, all rights reserved. All other trademarks or service marks are
property 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. shall not be liable for technical or editorial errors
or omissions contained herein. Pegasystems Inc. may make improvements and/or changes to the publication at any time
without notice.
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.
Pegasystems Inc.
One Rogers Street
Cambridge, MA 02142-1209
USA
Phone: 617-374-9600
Fax: (617) 374-9620
www.pega.com
DOCUMENT: Senior System Architect: Advanced Topics Exercise Guide
SOFTWARE VERSION: Pega 8
UPDATED: 08 2019
CONTENTS
i
©2019 Pegasystems
Completing the exercises
When learning new concepts or skills, there is no substitute for learning by doing.
This course includes exercises that provide practical, hands-on experience to help you apply your new
skills immediately.
The exercises help reinforce the learning objectives of each lesson. They include a scenario that
describes a business problem that needs to be solved and an overview of the tasks you need to
perform to complete the exercise.
To help you complete the exercises, two levels of support are provided:
l Your Assignment — specifies the high level steps you need to perform to solve the business
problem provided in the scenario.
l Detailed Steps — shows the series of steps needed to complete the exercise.
It is our goal that you can complete the exercises using the scenario and the tasks noted in your
assignment. Use the detailed steps to check your work, or as a last resort to complete the exercise.
Exercise environment
The exercise system for this course is available online and accessed through the Open Exercise
System link on each exercise page. Use the credentials provided in each exercise scenario.
Click the Open Exercise System link to log in to your exercise environment. Enter the credentials
provided in the scenario. After you complete an exercise, log out of the exercise environment. Ensure
you use the correct credentials to log in for each exercise.
Note: The exercise environment provides a pre-built Pega Platform application configured specifically
for this course. This allows you to focus on the key tasks of each exercise without having to complete
ancillary tasks.
ii
©2019 Pegasystems
Business use cases: HRApps and ReserveIt
HRApps
TGB, Incorporated is a global IT solutions provider that wants to automate the management of various
Human Resources (HR) functions including:
l Candidate recruitment
l Employee onboarding
l Benefits enrollment
l Employee reviews
l Payroll setup
TGB has already implemented an HR administration application. The HR department wants to update
functionality to reflect policies and processes specific to TGB.
Important: Each exercise includes a unique scenario and assignment that identify the specific
business problem to address. Before you attempt each exercise, review the scenario and assignment
to understand the goal of the exercise.
ReserveIt
ReserveIt is an online marketplace, owned by ABB Corp., that lets people rent out homes or apartments
to guests. Property owners can create a listing describing the property and identifying the amenities
offered with a rental. Customers can browse the listings to request a rental. The application manages
the reservation process, including any exchanges between the owner and prospective renters.
The Product Manager for the ReserveIt application has identified usability issues with the current
version of the application and wants to address these issues as part of a larger update.
Important: Each exercise includes a unique scenario and assignment that identify the specific
business problem to address. Before you attempt each exercise, review the scenario and assignment
to understand the goal of the exercise.
iii
©2019 Pegasystems
Exercise: Organizing form content for
presentation
Scenario
The initial screen of the ReserveIt application presents users with a list of available locations for rent in
the specified city. Users complain that the table of results requires vertical scrolling when changing
from one selection to another, leading to a frustrating user experience. You are asked to reconfigure
the form to improve the user experience.
The following table provides the credentials you need to complete the exercise.
Your assignment
Create a tabbed layout group for search results. Add all the listing data to a layout group.
Detailed steps
Review the existing form layout
1. Create a new booking case and select a value in the Metro area field to review the existing form
layout.
Note: Notice the search results display as a series of rows in a table. As each row is clicked, the row
expands to display the listing summary.
1
©2019 Pegasystems
Create a new section using a floated layout for the listing details
1. Save a copy of the ABB-Data-ListedSpace • ListedSpaceDetails section record. Name the new record
Listing Details.
2. Click convert to full section editor to make the new section record editable.
3. Add a new dynamic layout in the first position of the section above the existing Dynamic Layout and
set the layout format to Inline grid double.
4. Add another dynamic layout in the first position of the Inline grid double dynamic layout.
5. Add the Address property to the first position dynamic layout, and set the Edit options to Read-
only (always).
6. Add another dynamic layout in the second position of Inline grid double dynamic layout, and set the
presentation alignment of the layout to float Right (flex-end).
7. Move the Book button (located at the bottom of the section record) to the second position dynamic
layout.
8. Save your changes.
9. Select the dynamic layout that contains the Summary and Address Map controls, and clear the Set
layout width to auto and Display advanced presentation options check boxes.
10. Move the dynamic layout to third position of the Inline grid double dynamic layout.
11. Add a dynamic layout in the fourth position, and set the presentation to float Right (flex-end).
12. Add the PricePerNight property to the fourth position dynamic layout, and set the Edit options to
Read-Only (always).
13. Add the MaximumNumberOfGuests property to the fourth position dynamic layout, and set the
Edit options to Read-only (always).
2
©2019 Pegasystems
14. Save your changes. The configured section looks like the following image.
3
©2019 Pegasystems
Verify your work
Create a new booking case.
Note: Notice the search results display as a series of tabs. As each tab is selected, the summary for
each available room is displayed in a separate panel.
4
©2019 Pegasystems
Exercise: Creating a guided tour
Scenario
A new version of the ReserveIt application is being released. Stakeholders suggest providing guidance
to end users on how to use the new version.
The following table provides the credentials you need to complete the exercise.
Your assignment
Create a guided tour for the Confirm and pay step in the Booking case type. Name the tour Paying for
your room. Configure a button in the ConfirmAndPay section to allow end users to start the tour at
their discretion.
The following image shows the three tour stops in the Paying for your room guided tour.
Use the following data when creating the guided tour components.
5
©2019 Pegasystems
Stop # Section Name Tour stop field Tour stop message value Tour ID
value
1 About card type PaymentMethod Select your payment method: Visa, card-type
American Express, MasterCard, or
PayPal.
2 About security SecurityCode Enter the three-digit number on security-cc
code the back of you card. If you are
paying with PayPal, enter 111.
3 About total TotalCreditCard This is the amount charged to your total-cc
credit card. If you agree to the
amount, and the information is
correct, click Submit.
Detailed steps
Create a section for each tour stop message
1. In Dev Studio, create a new section labeled About card type.
2. Apply the new section to ABB-ReserveIt-Work-Booking and use the ReserveIt:01-01-01 ruleset.
3. Add a label control to the default dynamic layout.
4. Open the cell properties for the label control to edit the label.
5. On the General tab, in the Value field, enter PaymentMethod to identify the field value for the
message.
6. To the right of the Value field, click the Gear icon to create the field value.
7. In the Create Field Value view, create and open the PaymentMethod field value.
8. On the Localized label tab, in the To field, enter Select your payment method: Visa, American Express,
MasterCard, or PayPal.
6
©2019 Pegasystems
10. Return to the AboutCardType section, and click Submit to close the modal dialog.
11. Click Save to commit your changes.
12. Repeat steps 1-11 for the About security code and About total sections.
7
©2019 Pegasystems
4. Click Submit to close the cell properties window.
5. In the Security code cell properties, enter security-cc as the tour ID.
6. Click Submit to close the cell properties window.
7. In the Total cell properties, enter total-cc as the tour ID.
8. Click Submit to close the cell properties window.
9. Save your work.
8
©2019 Pegasystems
stage.
Tip: This step enables you to advance past the approval step.
3. Confirm that the Start tour button is displayed in the UI.
4. Click Start tour to confirm the tour starts.
5. Confirm that each tour stop advances in the order configured in the Guided tour record and that
each tour stop includes the message text.
9
©2019 Pegasystems
Exercise: Adding push notification capability
to an Android app
Scenario
The product owner wants to be able to send push notifications to users' mobile devices.
The following table provides the credentials you need to complete the exercise.
Your assignment
Before you begin, create a certificate set to build an Android app.
Important: To complete this exercise for an Android device, you need an Android Developer account
with Google to support notifications and a signing certificate for the Android platform. To obtain the
appropriate credentials to support notifications, add FireBase support, and add Cloud Messaging to
your account.
Configure the ability to send push notifications to the mobile device of an app user.
Detailed steps
Follow these steps to configure the ability for Android apps to send push notifications.
1. From App Studio, select Settings > Mobile certificates to open the Mobile certificates landing
page.
2. In the Certificate set name column, open the Android certificate set you created with your signing
certificate.
3. From the Edit certificate set window, in the FCM Server Key field, enter the Firebase Cloud
Messaging (FCM) services authentication key you obtained from the Firebase console.
4. Under Google Services JSON, click New and select the JSON config file that you obtained from the
Firebase console.
5. Save the certificate set changes.
6. Navigate to the Channels & Interfaces landing page.
7. Under Current channel interfaces, select the Android ReserveIt mobile app to open the Mobile
interface landing page.
10
©2019 Pegasystems
8. Click Modify Build.
9. From the Configuration tab, under Build your application, select Modify build to force the app to
update the certificate credentials and enable push notifications.
10. Click Build Now to connect with the build server and rebuild the app with push notifications
enabled.
When the build is complete, you have the option to scan a QR code or download the app file.
11
©2019 Pegasystems
Verify your work
If you have the ReserveIt app on your Android device, you can test a live push notification. If you do not
have ReserveIt on your Android device, you can test the push connection.
12
©2019 Pegasystems
5. Click Send now to send the message.
Your device should receive the push notification within seconds. The following image shows the
notification on an Android device.
13
©2019 Pegasystems
2. Under Send push notification, select Test to display the test page.
3. On the test page, under the Live and Test buttons, click Test push connection to test the
configuration, connection, and service for your Android mobile app.
14
©2019 Pegasystems
Exercise: Configuring push notifications for
an app
Scenario
The product owner wants ReserveIt hosts to receive push notifications on their mobile devices when
the hosts' listings are online.
The following table provides the credentials you need to complete the exercise.
Your assignment
Add a step sending a push notification to a host after the host's listing is online.
Detailed steps
Follow these steps to configure push notification:
1. From the Listing case type, navigate to the case life cycle.
2. In the New listing stage, below the Add listing step, add a Push notification step.
3. In the contextual properties panel, from the Recipient type drop-down list, select Individual to notify
a specific user.
15
©2019 Pegasystems
4. In the To field, select Host@ReserveIt to configure the Push Notification utility to send the
notification to the Host role.
Note: This exercise uses the Host role for testing. In the field, the receiver of a notification as
described in this exercise would be User.ReserveIt, the listing creator.
5. In the Message field, enter Your listing is now available.
6. In the Audit note field, enter Push notification sent to host. to create an audit trail of the push
notification.
7. Save your work.
16
©2019 Pegasystems
3. On the New: Listing view, complete the required fields.
17
©2019 Pegasystems
18
©2019 Pegasystems
Exercise: Modifying security policies
Scenario
Your organization is experiencing large numbers of login attempts and failures. Management suspects
that the attempts are malicious attacks by an internet bot. Management wants to prevent users, after a
first failed login attempt, from making further attempts without additional verification. After each
attempt, users must wait for a progressively longer period before making another attempt. The first
failed attempt must initiate a delay of five seconds. You have been asked to implement this security
requirement.
The following table provides the credentials you need to complete the exercise.
Your assignment
Present a CAPTCHA field on the login page after the first failed login attempt to verify that users are
people and not an automated program. After two failed attempts, enable a lockout penalty to delay
further login attempts in five-second increments. Use the Securities Policy landing page to implement
your security strategy.
Detailed steps
Follow these steps to enable a CAPTCHA field and a lockout penalty policy.
1. From Dev Studio, select Configure > Org & Security > Authentication > Security Policies to open
the Security Policies landing page.
2. On the landing page, click Enable frequently required policies to enable the policy fields.
3. In the Password policies section, in the Minimum operator identifier (ID) length and Minimum
operator password length fields, enter the value 3.
Note: In the same section, clear the other fields to enable you to keep your exercise credentials
without changing them when you log in again.
4. Under CAPTCHA policies:
a. In the Enable CAPTCHA Reverse Turing test module field, select Enabled to turn on the
CAPTCHA feature.
b. In theEnable presentation of CAPTCHA upon initial login field select Disabled. The log in
window does not present a CAPTCHA to users when they first attempt to log in; a CAPTCHA
appears only after the first failed login attempt.
c. In the Probability that CAPTCHA will be presented upon authentication failure (%) field,
enter 100 to ensure that a CAPTCHA is always presented when a login attempt fails.
19
©2019 Pegasystems
5. Under Lockout policies:
a. In the Enable authentication lockout penalty field, select Enabled to activate the lockout
penalty.
b. In the Failed login attempts before employing authentication lockout penalty field, enter
2. The lockout penalty takes effect after two failed attempts.
c. In the Initial authentication lockout penalty in seconds field, enter 5. The first lockout period
lasts for five seconds. Subsequent lockout periods increase in five second increments.
When you have completed your updates, the policies fields look like the following image.
6. Click Submit to apply your updates. Your security policies are now in effect.
20
©2019 Pegasystems
Verify your work
Verify the policy settings
1. Log out of your application to display the Pega login screen.
2. In the login screen, enter an invalid name and password. The screen refreshes and then displays an
error message and a CAPTCHA field.
21
©2019 Pegasystems
Disable security policies
Now that you have verified your policy settings, you can disable them as you continue the course.
1. On the Security Policies landing page, clear the Enable frequently required policies check box to
disable security policies.
2. Click Submit. Your security policies are no longer in effect.
22
©2019 Pegasystems
Exercise: Auditing changes to field values
Scenario
As part of the Candidate case type, an automated calculation recommends the salary to offer a
candidate. While preparing an offer of employment to a candidate, the recruiter can adjust the offered
salary above or below the recommended amount. The Human Resources (HR) department wants to
record changes to the offered salary in the case history for availability during a potential audit.
The following table provides the credentials you need to complete the exercise.
Your assignment
Configure the HRApps application to record changes to the OfferedSalary property for the Candidate
case type.
Detailed steps
Configure the application to track changes to the OfferedSalary
property
1. In Dev Studio, select Configure > Case Management > Work Management > Field Level
Auditing.
2. From the Case/Supporting Type drop-down list, select the TGB-HRApps-Work-Candidate class.
3. In the Property section, click the Plus icon to add a new property.
4. In the text field, enter .OfferedSalary.
5. Click Submit to complete the list of properties to audit.
23
©2019 Pegasystems
3. In the Offered salary field, enter a new salary value.
4. Submit the form.
5. Under the routing note, click Audit to display the case history and verify that the first entry in the
case history reflects your change to the Offered salary field.
24
©2019 Pegasystems
Exercise: Adjusting alert thresholds
Scenario
The default alert threshold for HTTP interactions is one second. The product owner for the ReserveIt
application requests that the goal for HTTP interactions be set to 700 milliseconds (ms).
The following table provides the credentials you need to complete the exercise.
Your assignment
Run the ReserveIt application and enter the requested information. View the alert log and expand
alerts to see messages that HTTP interactions are exceeding the default threshold. Create a Dynamic
System Setting to set the alert threshold for HTTP interactions to 700 ms.
Detailed steps
1. In Dev Studio, click Create > New > Booking to create a new booking case.
2. Click Issues to view the entries in the alerts log. Look for the Browser Interaction alert with a date
and time stamp with the present date and time near the top of the list.
Note: The list still displays Alerts, but the button is referred to as Issues. The terminology is
changing from Alerts to Issues but has not yet been implemented in full.
3. Click the orange triangle to expand the alert. Under the Line heading, the viewer displays, from left
to right, a description of the interaction, the reason for the alert, and the actual time the operation
took. On the far right is the Alert ID.
4. In the Records Explorer, right-click SysAdmin > Create > Dynamic System Settings to create a
dynamic system setting record for the Interaction Time alert threshold.
5. On the Create Dynamic System Settings form, in the Short Description field, enter Interaction time
threshold.
6. In the Owning Ruleset field, enter Pega-Engine.
Note: Any Dynamic System Setting record used to set a variable initialized in prconfig.xml is
associated with the Pega-Engine ruleset. Entering a different ruleset causes an error when saving
the record.
7. In the Setting Purpose field, enter prconfig/alerts/browser/interactionTimeThreshold/warnMS/default.
8. Click Create and open to assign a value to the variable.
25
©2019 Pegasystems
9. In the Value field, enter 700 to set the Interaction Time threshold to 700 ms.
10. Click Save to complete the configuration of the Interaction Time threshold variable.
11. Restart the application server.
Note: You can also view the setting in the Instances of Dynamic System Settings list.
26
©2019 Pegasystems
Exercise: Using the Static Assembler
Scenario
You have migrated the ReserveIt application to a QA system for testing. Before you begin testing, you
must ensure that all the rules in the application are assembled.
The following table provides the credentials you need to complete the exercise.
Your assignment
Run the Static Assembler to assemble all the rules in the ReserveIt 01:01:01 application for use.
Note: Because you are running this tool in an exercise system, the number of rules processed is
relatively small.
Detailed steps
Follow these steps to run the Static Assembler.
1. In Dev Studio, navigate to System > Assembly > Static Assembler to open the Static Assembler
landing page.
2. In the Application Name field, select ReserveIt 01.01.01.
Note: This exercise system includes only one version of the ReserveIt application. In a real-world
application, you would pick the highest application version.
3. Click Start Assembly to start the process. Processing may take several minutes.
When the process finishes, the number of rules assembled, skipped, and other information is
displayed in the History of Assembled Applications list.
27
©2019 Pegasystems
Note: The number of rules processed in your exercise system may differ from the totals in the
preceding image.
4. In the Download Logs column, click the zip link to download a log file containing the results.
5. Open the log file to verify the results.
28
©2019 Pegasystems
Exercise: Using the Purge/Archive wizard
Scenario
The product owner for the ReserveIt application wants to manage application performance and
minimize issues caused by database table growth. To help maintain database sizing, booking cases are
to be removed from the database 60 days after resolution and archived in a separate system.
The following table provides the credentials you need to complete the exercise.
Your assignment
Reduce the size of the database using the Purge/Archive wizard to remove and archive booking cases
resolved more than 60 days ago from the application work pool.
Detailed steps
Review booking cases currently stored in the database
1. Open the AgedResolvedBookings report.
Tip: In the Application Explorer, expand Booking > Reports > Report Definition.
2. Run the report to view the cases that exceed the 60-day retention window.
Note: The cases listed in your report may vary from the following example.
29
©2019 Pegasystems
Configure the purge criteria
1. Open the Purge/Archive wizard.
Tip: In the Configure menu, navigate to System > Operations > Purge/Archive.
2. Start the Purge/Archive configuration wizard to define work item purge or archive criteria.
Tip: Click the Configuration link.
3. Name the configuration Purge_archive_resolved_bookings.
4. Proceed to the Select Work Types step.
5. In the Cover type section, select the ABB-ReserveIt-Work-Booking class.
6. Proceed to the Choose Filtering Criteria step.
7. In the Items aging at least field, enter 60.
8. Proceed to the Confirmation step.
9. Click Finish to confirm the configuration and proceed to the System: Scheduling Archive wizard
section.
30
©2019 Pegasystems