Situational Layer Cake and Framework Vs Implementation Application types

In this blog article, we will see the basics about situational layer cake and different types of Pega applications – Framework Vs Implementation.

Let’s start with Java application development.

1. Project creation – In Java programming, when we want to create a new application, we will start with creating a new Java project (The Java project will hold all the source code)

2. Reusability via dependencies projects – When you start building any application, you should always consider the reusability part. A Java project can use reusable code from other Java projects by adding those as dependencies.

Similarly with the Pega application development

1. Project creation – We will start with creating a new application rule in Pega (the application rule will hold all the source code or the pega rules that are responsible for the application execution)

2. Reusability via built-on applications – Just like how we can add dependencies in java project, we can also use one or more built-on applications that can hold reusable code/rules.

Now we get to know that the primary focus of any application will be to increase the maximum re-usability as well as support scalability.

Consider, Amazon organization. They have 3 divisions:

  1. Sales
  2. Service
  3. Marketing

Amazon plans to provide Pega CRM solution to Sales division and if it is a success, then they may want to expand the solution to other divisions.

Here we can create an Enterprise application for Amazon which can hold organization specific rules that can be reused across organization. This Enterprise application can be built over the Pega base product ‘PegaRULES’

Then we can build a top layer over Enterprise application as Framework/modular reusable application. Business may have some common features for all the 3 divisions. You can bring those to framework application so that it can be reused whenever we extend to other divisions.

Finally you can build an Implementation application over the framework application, so that you can reuse the framework application rules and also the division specific rules can be created on the Implementation layer.

How do you start building an application?

If we are going to built any application, say java application what will we do?

  1. We need Java Development Kit (JDK).
  2. We will import the required packages and start create project by coding.

For a Pega application, The very first step is

Pega base product

We need to buy the licensed Pega product from Pegasystems. Pega provides the deployment artifacts that can be installed in a database and the war files can be deployed into any application server. This action will bring the Pega OOTB base product or application – PegaRULES to the client system.  (Actually we can call this a Framework application, but we won’t. In Pega terms we call it as Pega base product on which we can build our own applications)

All the standard OOTB rules like  CreateAddWork, UpdateStatus, and some standard UI will be included in the PegaRules application.

Pega Provides a Simple wizard through which you can start creating a new application

We will not go in detail about application creation, but we will just focus only on understanding about different application types first 😊

Application creation wizard is covered in the below article

Solution Framework

Pegasystems not only provides the base product, but they also built strategic frameworks or solution frameworks for specific business requirements.

Say for a call centre CRM application, Pegasystems built a Customer Service framework application over base product. Let’s say the Organization, Amazon want to use Pega products to built a Call centre CRM application, then Amazon can straight away purchase the Customer Service Solution framework in addition to base Pega product contract so that they can plug and use the Customer service instead of starting everything from scratch.

Solution frameworks can really speed up the implementations and time-to-market.

Now over the Solution frameworks, developers can start with building Enterprise application, Framework application, Implementation applications.

If you are a fresher, I hope the below example can simply explain the Pega built-on application.

Imagine 2 brothers bought a single land. They planned to live together. They decided to build a 2-storey building.

1. Ground floor – Common hall and kitchen.

2. First floor – Individual home for brothers.

First, they decided to build a single home on the first floor and planned to extend the first floor after a few months.

I am going to compare the house building with the Pega Application building.

Step 1: You are going to buy a land.

Pega: Buy a Pega Licensed product –PegaRULES application.

Step 2: You have an option to buy the land with the concrete basement laid.

Pega: You can buy a Solution framework based on your business needs.

Step 3: You need to build the ground floor. Remember ground floor can contain the common rooms like the kitchen and hall.

Pega: Build a framework application extending the solution framework or PegaRULES. Bring all the common rules under the framework application.

Step 4: Now you can build a room in the first floor extending the ground floor. This room will house the things that belong to a single brother.

Pega: Build an implementation application extending fthe ramework application. Bring all the rules specific to that division in the implementation application.

Implementation applications can use the rules in framework, solution framework, PegaRULES application.

Framework application can use rules in Solution framework as well as PegaRules, but not in Implementation application.

Whatever we saw before can be considered as a Traditional situational layer cake where we build a framework layer and reuse the code.

What is a situational layer cake?

Situational layer cake promotes application reusability by using different layers and thereby reducing the complexity.

As more modular design and microservice architecture grew, Pegasystems introduced the modular situational layer cake where the Enterprise is made very thin and then a single large framework layer is thrown out and instead multiple reusable modules are to be used.

As modules cover a single feature which contains the majority of reusable capabilities, we can easily develop, manage and reuse modules across applications in an enterprise.

Note: You cannot create a application of type module, Instead you will be creating it as an implementation application and then build another implementation over the module implementation.

Also it is good to note that, before 7.2 Pega version, Pega never supported building an Implementation over another implementation application. You can always build an implementation application only over a framework application.

But after 7.2 version, the above statement became invalid. We can now always create an Implementation application over a framework or another Implementation application, thereby treating the Implementation application as a modular or component application.

These rule resolution are based on class inheritance which we will see in the next post ‘Enterprise class structure’

Hope you got the basics about framework and implementation application 🙂

A technical team dedicated to empowering the Pega ecosystem with in-depth knowledge, guided by Premkumar Ganesan's vision.