LSA Data Excellence-Handout PDF
LSA Data Excellence-Handout PDF
LSA Data Excellence-Handout PDF
The CLSA Continuous Enablement Excellence Program (CLSA CE²) addresses this need. During the remainder
of 2020 Pega will provide essential information on topics directly relevant to our CLSA community. The
training materials are being developed by highly experienced CLSAs with many years of implementation
experience.
This class, LSA Data Excellence, is the first in the series, and will be available in Pega Academy as self-study in
the near future.
This document contains an overview of the LSA responsibilities and the takeaways on how to empower your
delivery team with App Studio, all in the context of data excellence.
Data Excellence:
LSA Responsibilities
3
LSA Responsibilities: Data Type Composition
Separate Reuse Layers and Case Layer
4
LSA Responsibilities: Data Type Composition
Branch setup
5
LSA Responsibilities: Data Type Composition
Minimal Data Type setup
6
LSA Responsibilities: Data Type Composition
Minimal Case Type Data Modeling
7
LSA Responsibilities: Data Type Encapsulation
Use App Studio to transparently encapsulate behavior in the right Class
8
LSA Responsibilities: Data Type Encapsulation
LEFT NOT ENCAPSULATION DRIVEN DRIVING ENCAPSULATION
• Each feature duplicates similar behavior • Single implementation (and testing) of capability
from another existing feature
• Consistent capability available
• Duplicate behavior introduces: anywhere the data type is used
– Maintenance overhead • Can be parameterized to further drive reuse
– Testing overhead
– Regression risk • Packageable as a Component
• Natural by-product of using App Studio
9
LSA Responsibilities: Data Type Encapsulation
LEFT NOT ENCAPSULATION DRIVEN DRIVING ENCAPSULATION
• Each feature duplicates similar behavior • Single implementation (and testing) of capability
from another existing feature
• Consistent capability available
• Duplicate behavior introduces: anywhere the data type is used
– Maintenance overhead • Can be parameterized to further drive reuse
– Testing overhead
– Regression risk • Packageable as a Component
• Natural by-product of using App Studio
BRANCH REVIEWS
• Check encapsulation in correct Applies To class
• Seek justification for case-level rules coupled
directly to embedded properties
10
LSA Responsibilities
Applying inheritance
• Familiarise with Data (and other) Classes in Strategic • Use App Studio to define skeleton Data Objects
Applications licensed by your client needed by your application
– Suggest additional Strategic Applications or • Use Dev Studio to revise Directed Inheritance
Marketplace Components
• Identify additional superclasses of reusable data
model and/or behaviour for Client reuse layers • Branch reviews:
• Prefer Class specialization over Ruleset specialization – Consider whether features implemented by
Delivery Team are more reusable than the Class or
– Superclass rules remain accessible at runtime Ruleset they shall be merged into
– When usage of the Pega data type needs to be – Beware of redundant Property rules
Concrete but Pega publishes it as Abstract created by App Studio that can be safely removed
– All capabilities are open with
Class Specialization
11
LSA Responsibilities:
Polymorphic Inheritance
• Embrace Pega’s object-oriented capabilities
– Mentor those on your Delivery Team
who are less familiar with object-oriented
• Identify generic super-classes which
drive process behavior
– Identify the Extension Points needed for
subclasses to override; mark as
“Extension”
– Document “Usage” in Extension Points,
guiding Delivery Team specialization
• Make subclasses available as
Application rule Data Types
for Delivery Team to exploit in App Studio
• Process is truly Built for Change
– “Drop in” new subclasses
as business drivers evolve
12
LSA Responsibilities
Application rules by layer; Access Groups per Delivery Team role, per Layer
MyFinance:LeadArchitect
MyFinance:CitizenDeveloper
MyBank:CitizenDeveloper
MyBank:LeadArchitect
13
LSA Responsibilities
... when Baking the Layer Cake
• Branch development supported in App Studio as well as Dev Studio
• Branch reviews:
– New class ruleset decisions
– Ruleset decisions for rules that Apply To classes
– New class names follow naming conventions
14
LSA Responsibilities
... when Baking the Layer Cake
• Branch development supported in App Studio as well as Dev Studio
• Branch reviews:
MyBank-Data-Asset
– New class ruleset decisions
MyBank-Data-Assets – Ruleset decisions for rules that Apply To classes
– New class names follow naming conventions
MyBank-Data-AssetInfo
MyBank-Data-AssetDetails
15
LSA Responsibilities
... when Baking the Layer Cake
• Consider packaging capability as Components
when independently reusable of the Enterprise Layer
16
LSA Responsibilities
Data Modelling for Systems of Record
• Minimal disruption whilst supporting your client’s • Use Data Pages to insulate your Delivery Team from
ever-evolving Digital Transformation journey the intricacies of interfacing with Systems of Record
– Goal: No System of Record specifics in Case layer
17
LSA Responsibilities
Data Access for Systems of Record
• Being Composition-driven when forming your Case • Design your Savable Data Page “Save Plan”
type data model allows Page / Page List properties to: to be Resilient
– Refer to Data Pages that transparently source – Expect errors; surface them in the Data Page
required data from Systems of Record – Check for Save errors when using
– Record a Snapshot of this data Save-DataPage method in Activities
(if the business need requires)
– Records changes to the master data in the
Systems of Record through the same Data Page • Performance considerations:
– Can (and Should) aggregation across multiple
Systems of Record be done in parallel?
• Decouple the Case layer from
– Should embedded data with no business need to
– Where the Systems of Record are exist outside of a case be externalized to its own
– What form the Systems of Record take concrete data type
– How the Systems of Record persist the data
18
Empowering your
Delivery Team …
… with App Studio
19
Empower your Dev Team
… in App Studio
Composition
• Citizen Developers can confidently:
– Build out new Case Types
composed of these Data Types
– Add Properties to Data Types
as new features demand
20
Empower your Dev Team
… in App Studio
Encapsulation
21
Empower your Dev Team
… in App Studio
Polymorphism
• Citizen Developers can focus on
the feature set needed by Data Type
23
Empower your Dev Team
… in App Studio
SOR Modelling
… on the promise …
24