Before We Begin
Please go through the below post to understand what is an application, how to create an application in Pega & its usage.
What is a Framework Application?
From OSP dictionary we would define framework application as a stand-alone application similar to other applications that are intended to have re-usable codes.
Implementation applications built on top of frameworks can invoke the re-usable codes as such or can extend it for the implementation-specific needs.
By seeing the above sample hierarchy, we might have the question of why framework application when we have enterprise application which is also shared between implementations.
Why Framework Application?
To keep it simple,
- Enterprise application– to hold re-usable code(s) across an organization
- Framework application– to hold re-usable code(s) across the implementations.
In the above hierarchy, the code(s) that can be reused between implementation 1 & implementation 2 can be placed in framework 1 & the code(s) that can be reused between implementation 1, 2, 3, 4 can be placed in enterprise application.
Types of Framework Application
From OSP dictionary, we would classify framework application into two types,
- Application/Custom Framework
- Solution Framework
Application Framework
These are the type of framework application that are created by the application team from scratch for their own business needs.
In the above hierarchy, Claims framework is the application that is created by the OSP (application) team for their own business need (claim processing).
Solution Framework
These are the type of framework application that comes as part of the product (Pega provided) which can directly be used by any of the implementations.
In the above hierarchy, Customer Service & Marketing are the framework applications that are developed by Pega which OSP can directly use as their built-on application to re-use or extend functionalities.
Creating a Application (Custom) Framework
The New Application Creation wizard in Pega can be used to create any new applications Irrespective of its type (implementation/framework).
Please go through our previous post on application creation to know in detail on the application creation wizard screen-by-screen.
Application type (Implementation/Framework) can be selected in the advanced configuration screen of the application wizard.
Application type should be selected as Framework during the framework application creation, and based on this selection the below instances will be generated by the system,
Application Rule
Irrespective of the application type, a new application instance gets created whenever we run the New Application Wizard.
Below list of rulesets are created by the application wizard. New rulesets can be added anytime as per the business need.
- ClaimsFW:01-01 -> Framework ruleset of claims application. This ruleset can be used to develop re-usable codes/rules (Case Types, Activity/Utility, Flows, Reports, etc.]
- ClaimsFWInt:01-01 -> Framework integration ruleset of claims application. This ruleset can be used to develop common integration components [Connectors and Services that might be reused between implementations].
Security Rules
System generates below Access Groups and Access Roles as part of the framework application creation.
- ClaimsFW:Administrator -> Admin access for application. Mostly developers will have this access.
- ClaimsFW:Authors -> Business Analyst/Citizen developers usually have this access. It’s equivalent to admin access with few restrictions in terms of accessibility. By default Pega Express portal will be launched for this Access Group.
- ClaimsFW:Managers -> Case Managers usually have this access. They have access to work on cases, view team members and their works, view reports and so-on.
- ClaimsFW:Users -> Case workers usually have this access. They have very limited access to system in terms of managing work.
In most of the cases, Access Group of EndUsers will not be pointed to FW Access Group but to Implementation specific Access Group
Class Rules
The system generates the below class rules which can be extended for our business needs.
OSP-FW-Claims-Work ->Framework specific work class. This will be considered as Work pool/Class group of claims framework application & corresponding database table will be created by the system. All our case types/work classes in the FW application will inherit from OSP-FW-Claims-Work.
OSP-FW-Claims-Data -> Framework specific data class. All the data classes/data types that are specific to claims framework application will be extended from OSP-FW-Claims-Data, which is an abstract class.
OSP-FW-Claims-Int-> Framework specific integration class. All the integration rules specific to claims framework application will inherit OSP-FW-Claims-Int class. This class will be used as parent class while configuring integration wizard.
Hope the process to create and maintain a framework application is clear. Now let’s see how an implementation application can be created on top of this framework and what are the benefits out of it.
Creating an Implementation Application on top of Application (Custom) Framework
An implementation can be created on top of a framework application. During this creation, Pega takes care of extending all the required code from framework to implementation.
The New Application Wizard will show the list of Framework applications (both Application & Solution) which can be used based on the need. The new application will be created on top of (built-on) the selected application from the list.
Pega provides us an option to select the list of Case types/ Data types that can be extended to the new application from the framework.
Extending Framework Case Types
Claim Request is the case type that is created as part of the claims framework application that can be extended in the new Implementation layer.
Extending Framework Data Types
Policy is the data type that is created as part of the claims framework application that can be extended in the implementation layer.
Implementation Application Configuration
Once the list of case types & data types to extend is selected, system provides us an option to configure the implementation application details.
The newly created implementation application will have all the extended case types & data types. The framework application selected will be a built-on application which exposes all the functionalities in the framework application to be re-used by the implementation application.
The extended Work class (OSP-Life-Work-Request) in implementation application will have the framework application work class (OSP-FW-Claims-Work-Request) as direct inheritance.
Starting from v7.x, Pega recommends not to create Framework application just to future proof. It’s required to create framework application only when there is a clear need for the same.
We’re now at the end of the post and we hope now the basic understanding of framework application and how to create custom framework application, building an implementation on top of the created framework application is clear.
Stay Tuned to know about Solution Frameworks (Pega Marketing, Customer Service, Sales Automation, etc..) and creating applications on top of a solution framework in our upcoming posts.!!
Nice article team as always.
A query around inheriting the data type from framework to application.
Why does it not create an implementation specific data class as it did for work? What are the benefits then of selecting the data type in the application creation wizard?
Is it just that the data type would be available in data explorer tab when we open the implementation application instead of adding it explicitly again?
Thank you so much @Mahesh
Yes, tat’s correct. by selecting the list of data types Pega automatically adds it to the data explorer of the implementation application. If an implementation specific data class is needed, then we can extend it manually by specifying the FW data class as direct inheritance.
Hi OSP
I have a question regarding framework class. Can we add Pega health care class to our framework class as direct inheritance?