Skip to main content

Built-on applications and components

Built-on applications and components

Decomposition refers to the process of breaking down a problem into smaller, more maintainable parts. In programming, these parts are called components.

To create a solution that includes case types, you need an application. When an application is used as a built-on application, the built-on application can be considered a component. A collection of rulesets that do not include case types can also be considered a component. Examples include reusable flows or correspondence, integration assets, or a function library. An application can leverage either type of component and then become a component itself or be deployed as a production application.

The following example shows the built-on applications and components that support a Claims application. 

ClaimsMultipleBuiltOn_LSA86
In this diagram , an application built-on two applications is shown. That application includes two components. The application stack has been flattened vertically. The two components were added to the application stack at the bottom above PegaRULES.

 

The Multiple built-on Applications (MBO) flattening algorithm always takes the lowest position or precedence of any repeated application and then uses the highest version referenced in the flattened application stack.

MultipleBuiltOn_LSA86
This diagram shows a more complex example where the Underwriting and Pricing built-on applications are both built on different version of a MyCoLib application. The highest version of the MyCoLib application is moved to the lowest position where it would appear in the application stack, replacing any lower version of the MyCoLib application.

For a video demonstration and detailed discussion of multiple built-on applications, see the Pega Community Tech Talk video Multiple built-on applications.

 

Numerous applications and components are available for reuse on the Pega Marketplace. To contribute to the Pega Marketplace, submit applications and components to make them available to Pega Community. For example, you can use the PegaDevOpsFoundation application as a sibling built-on application when using the Deployment Manager application to orchestrate CI/CD.

Pega Marketplace Components
Shown are three examples of components available through the Pega Marketplace search page located within the community.pega.com domain.
 

For applications that you want to display in the New Application wizard as potential built-on applications, on the Application wizard tab of the application rule, select the Show this application in the New Application wizard check box.

New Application

Use the Components landing page (Dev Studio > Configure > Application > Components) to create and manage components. A component defines a set of ruleset versions and can have other components or applications as prerequisites.

Email Component

When creating a case type that does not extend a foundation application case type, it is advantageous to add that case type to a new, case type-specific ruleset. Doing so facilitates the development of component applications. When this approach is followed, and an application is built on PegaRULES, every case type exists in its own ruleset. The application rule, work pool class, and application data classes exist in the ruleset created by the New Application Wizard.

A case type that appears to be a good candidate for a component application should avoid dependencies on the work pool class and application-level data classes. Instead, the case type component candidate should utilize the data class that the application-level data classes extend. Similarly, work pool rules that the case type component candidate uses can be moved to the layer beneath the current application.

At the point that all dependencies on the current application are removed, the Refactoring wizard (Dev Studio > Configure > System > Refactor > Classes) can be used to rename the original class by replacing the existing application reference in the original case type’s class name -APP- with the name of a new component application -NEWAPP-. This newly created and refactored case type class and all its associated rules can then be placed within its own component application with the name NEWAPP. The original application is then modified to reference the new NEWAPP component application as a built-on application. Finally, the original case type class from the original application is re-created by importing it as a direct descendant of the newly created and refactored class in the NEWAPP component application. When re-created by importing, the original case type class is automatically saved to the original application's application ruleset.

When citizen developers design and implement applications using App Studio, they typically include multiple discrete components of functionality. As those citizen developers become more familiar with the business needs of the organization, opportunities to reuse those components in other applications may arise.

To create reusable built-on applications and components from citizen developer built applications, first, identify the reusable components. Then, refactor the appropriate rules from the existing application into your new reusable built-on applications and components as described above. It is important to define relevant records for components, not just applications, to simplify and encourage their use.


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?

25% found this content useful

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