Skip to main content

Designing case specialization and extensibility

3 Tasks

1 hr

Visible to: All users
Advanced Pega Platform '23 English

Scenario

In the future, MDC wants to pursue home and office moving services for individual customers. A dedicated truck and driver will be assigned for each individual moving request. Accordingly, the pricing and delivery tracking will differ. Now, your job is to:

  • Analyze the key requirements to determine if the current application design supports these requirements. 

  • Prepare a list of questions that can be presented to the MDC, asking for clarification. 

  • Recommend the most appropriate enterprise class structure for the application going forward. 

The following table provides the credentials you need to log in to the Delivery Service application. However, this challenge is mainly meant for evaluating the design options, and there are no specific implementation tasks. 

Role User name Password
Admin admin@deliveryservice rules

You must initiate your own Pega instance to complete this Challenge.

Initialization may take up to 5 minutes so please be patient.

Detailed Tasks

1 Identify design options

The key requirement is to implement business logic that is specific to the customer type (Business or Individual) when the need arises. 

There are three possible approaches to this requirement.

Data-driven rules

In this approach, you model the differences between type of customer as either data instances or custom non-Pega rules that are treated as data. Rules are developed with the ability to react based on type of service (Delivery service/ Moving services).

Single application rule specialization

The single application approach satisfies the current routing requirements that make use of the org structure. If only a few differences are anticipated between the delivery and moving services, circumstancing can suffice. For more complex differences, you can use pattern inheritance and utilize service-specific classes that have been defined. Then, you can use Dynamic Class Reference (DCR) to decide which class to create.

Application for each service type

The multiple applications approach also satisfies the current routing requirements that make use of the org structure. Case types within each service-specific application extend a case type class within the current application. Service-specific business logic differences are handled by saving the rule from the current application to the corresponding case type class in the service-specific application. Users must switch applications to create and manage cases for different services if the users are the same for both services.

2 Evaluate design options

Review the pros and cons for each design option in the following table:

Design approach Pros Cons
Data-driven rules
  • Maximum scalability
  • No need to create and maintain partner and vendor-specific rules
  • Implementing and maintaining the data-driven rules required to satisfy each specialization requirement is overly complex
Single application rule specialization
  • Single application for users to access
  • Relatively simple to implement and maintain compared to data-driven rules
  • Extra work required when new services are added
  • If services grow in size, this approach is not scalable, and maintaining them becomes difficult
Application for each service type
  • Simplest development because service-specialized rules are defined in a service-specific application in service-specific rulesets and classes
  • Switching between applications for each service is required
  • Reporting across multiple service applications is more difficult

3 Recommend the best design option

If data needs to be stored separately in a different database, your solution must include separation of concerns, and so a different application for each service would fit the requirements. Otherwise, a single application implementation is recommended.

Confirm your work

      



Available in the following mission:

If you are having problems with your training, please review the Pega Academy Support FAQs.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice