Skip to main content

Specialization design considerations

Design applications to be extensible and scalable to support future changes, growth, and increased user demand. Ensure that extensibility does not compromise performance or security. Consider time, cost, and effort when planning for extensibility. Apply object-oriented principles and SOLID principles (single responsibility, open-closed, Liskov substitution, interface segregation, and dependency inversion) to support modularity and reusability.

The Situational Layer Cake approach

Applications built on Pega Platform™ use a "layer cake" approach to achieve modularity and reusability. Each layer fulfills the requirements for its level, and adding a new layer simplifies specialization. This concept is called the Situational Layer Cake™.

The Situational Layer Cake supports the Center-out® business architecture by defining common assets centrally and introducing only the differences for geography, product, or segment. This approach avoids duplication and silos. The structure can align with organizational layers such as Enterprise, Division, and Unit, where each layer includes everything built at that level. For example, the Division layer includes all departments, their applications, reusable business logic, and department-specific components. In this context, a layer refers to everything built at a particular level in the application stack.

The following figure illustrates the Situational Layer Cake structure and its alignment with organizational layers:

An application stack that applies the Situational Layer Cake approach.

It is not necessary for the level above the enterprise layer to always be the Division layer. It can be any layer that contains an application and reusable code built on the Enterprise layer. The following figure shows an application built on the Enterprise layer without using organizational settings, such as division or unit:

Aan application built on the Enterprise layer without using organizational settings.

 

Specialized layer

Specialization or extensibility requirements can apply to some code in the application or the entire application. In the Situational Layer Cake approach, specialization is represented as a separate layer. This does not mean that an entire specialized application must be created. The specialized layer can include circumstance Rules, specialized classes, Rulesets, or a specialized application. The choice depends on requirements and the impact on performance and maintenance. The following figure shows a specialization layer as a pictorial representation of the level that contains the specialized code: 

Figure shows a specialization layer as a pictorial representation of the level that contains the specialized code

When you consider specialization, be aware that: 

  • A specialization layer is not a technical record or Rule to be created; it is a representation.
  • A specialization layer does not need to be specific to one type of application. Instead, it can support multiple applications across an enterprise. 
  • Circumstancing and class specialization techniques can eliminate the need to define a specialization application. 

Technical aspects of specialization and summary

Code developed using object-oriented principles is inherently extensible. Build for Change® reflects Pega’s philosophy by making applications adaptable to changing business requirements. Specialization refers to extensibility and scalability. Extensibility is the ability to accommodate changes and add functionality without major modifications. Scalability is the ability to handle increased work, resources, and users without affecting performance.

Pega Platform achieves Situation Layer Cake through specialization techniques such as circumstance, class, Ruleset, and application. Performance and maintenance are the two most important factors to consider when designing specialization techniques.

Check your knowledge with the following interaction:


This Topic is available in the following Module:

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