Skip to main content

Designing case specialization and extensibility

3 Tasks

20 mins

Visible to: All users
Advanced Pega Platform 8.8 English


A single application currently handles Front Stage’s event booking needs. Front Stage intends to pursue additional venues in the future. Front Stage is concerned that each additional entertainment venue might potentially require modifications to the company's current application.

  • Analyze the key requirements to determine if the current single application design supports these requirements.
  • Prepare a list of questions that can be presented to the Front Page executives asking for clarification.
  • Recommend the most appropriate enterprise class structure for the application going forward.

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 implementing business logic specific to an entertainment venue when the need arises. There is no requirement that states different database tables must store each venue’s data.

There are three possible approaches for this solution:

  1. Represent the differences between venues as data. Implement rules that can process this data.
  2. Implement venue specialization within the current application.
  3. Use the current application as a framework/model/template/blueprint. Create an implementation application for each venue.

2 Evaluate design options

Data-driven rules

In this approach, an attempt is made to model the differences between venues as either data instances or custom non-Pega rules that are treated as data. Rules are developed with the ability to react to this data regardless of the venue.

Pros Cons
  • Maximum scalability
  • No need to create and maintain vendor-specific rules
  • Highly complex to implement and maintain the data-driven rules required to satisfy each specialization requirement

Single application rule specialization

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

Pros Cons
  • Single application for users to access
  • Relatively simple to implement and maintain compared to data-driven rules
  • Extra work required when a large number of venues are added

Application per venue

The multiple application approach also satisfies the current routing requirements that leverage the org structure. An application is created for each venue. Case types within each venue-specific application extend a case type class within the current application. Venue-specific business logic differences are handled by saving the rule from the current application to the corresponding case type class in with the venue-specific application. Users must switch applications to create and manage cases for different venues.

Pros Cons
  • Simplest possible development because venue-specialized rules are defined in a venue-specific application in venue specific rulesets and classes
  • Switching between applications for each venue is required
  • Reporting across multiple venue application is more difficult

3 Recommend the best design option

The single application approach is recommended because it:

  1. Satisfies the requirement
  2. Does not require application-switching
  3. Simplifies reporting
  4. Supports a large number of venues when required

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