This blog is about comprehensive, step-by-step Pega 7 and related Java examples. For more information on the Pega Platform, refer to Pegasystems and the Pega Academy. For the examples in all posts, the Pega 7 Exercise System was used.
- Downloading a Pega 7 Exercise System requires a Pega Academy account.
- Please refer to the Pega Academy Course List on how to register for a training course.
- Once registered and enrolled in a training course, a Pega 7 Exercise System can be downloaded.
Instead of using a virtual machine as per Pega Academy, I prefer using a local installation of the Pega 7 exercise system as described in this post:
Please register to leave comments or to suggest post topics. If you have an example that you would like to share, please register and let me know through a comment. I’d be happy to let you post it under your name.
Pega 7 Installation
provides Pega 7 Exercise Systems for completing the course exercises and to provide a fully functional Pega 7 environment for training purposes. The exercise systems are packaged as virtual machine disk images and require a virtual machine player to run. The Oracle VM VirtualBox
can be used to install the Pega 7 Exercise System on Mac OS.
This post shows how the Pega 7 Exercise System can be installed on macOS or Windows using Tomcat 9 and the PostgreSQL DB Server – without the need for a virtual machine. Here, macOS is used but the steps for Windows are essentially the same.
Pega 7 Integration
This post shows how to create a REST web service in Pega 7.1.9 for consumption by external clients. In essence, a Pega 7 application is the service provider and uses a Service REST
rule to expose a REST service that returns JSON data.
This post shows how a Connect REST
rule can be created using the REST Integration Wizard
and how it can be used in a Pega 7 application to call an external REST service
. In this example, a sample REST service called Product Catalog
, implemented in PHP, and hosted on this blog, will be used for demonstration purposes.
Describes how a SOAP
web service can be called from a Pega 7 application. The Pega 7 Integration Wizard will be used to process a WSDL file –Web Services Description Language
– to generate the Pega 7 rules for calling the SOAP service.
For calls to REST services, Pega 7 may have to be configured to use a HTTP proxy. This post shows 2 options to do that.
This post shows how data can be accessed in Pega 7 from an external MySQL Database
using the Connector and Metadata Accelerator
. This wizard will generate the necessary activity rules for accessing the external MySQL DB table and for mapping input parameters and query results.
This post shows how to use the Email Wizard
in the Pega Designer Studio for setting up a new email integration in Pega 7 so that a Google Mail account is used by Pega 7 for sending and receiving emails.
Pega 7 UI Controls
This post shows how to create a data table with the Data Table Wizard
and how to use it to populate an auto-complete UI control, which allows a user to select a value from a list by typing characters into the control, and where the control automatically completes matching substrings.
A Data Page
can be used to provide the source for the options of a dropdown user interface control in Pega 7.1.9. The dropdown control can be setup to either show a simple list of items or to aggregate the items with a Group By configuration.
A Data Transform
can be used in Pega 7.1.9 to sort list structures such as a Page List
. In this example, a Data Transform is used to show how to sort the entries of a Dropdown control that is backed by a List-type Data Page. In addition, another Data Transform is shown that sorts the Page List based on two properties.
This example shows how a foreign key type relationship
(Linked Class Key
) can be configured between two reference data tables. A column in one data table will hold key values that refer to instances in the other data table.
Pega 7 Reporting
This post shows how a Report Definition
rule can used to create reports for case type rules. Common use cases include list-type reports that show case instances and summary-type reports on data gathered during case processing, such as summarizing customer related data such as a chart
showing how many customers were serviced in each U.S. state
This post shows 2 ways of reading from a Pega 7 Storage Stream BLOB (pzpvstream
) by directly accessing the Pega 7 DB. The 1st approach uses pegaDATA provided PL/Java
functions for reading custom properties. The 2nd approach uses Java/JDBC to export the Pega 7 PL/Java
classes and uses them to read entire Pega 7 Storage Stream BLOBs.
Pega 7 Administration
This post shows how the PRPC schema (PegaRULES database
) –assuming Pega 7 is installed to use PostgreSQL
– and its tables can be accessed using the pgAdmin
tool. The steps in this post apply to all Pega 7 Exercise System installations that are provided by Pega Academy
When Pega 7 is installed as a Personal Virtual Server, using VMWare (…as per the Exercise Systems on Pega Academy
), the Tomcat manager application
(…aka admin console
) can be accessed from the host operating system. In this post, it is shown how to do that for Pega 7.1.6 and Pega 7.1.9.
A ruleset and all of the rules it contains can be deleted in Pega 7 with the Ruleset Delete Tool
Shows how an entire class, its instances and the rules it contains, can be deleted in Pega 7 with the Delete a Class Wizard
When running on a virtual machine as a Pega 7 Exercise System, the Pega platform’s file system can be accessed using an FTP
client application such as FileZilla
to exchange files between the host system and the virtual machine.
Pega 7 Activities
This example shows how the Designer Studio can be used to view case type instances and how an Activity
can be used to delete case type instances from the PRPC Database (PegaRULES schema
) in Pega 7. The activities in this tutorial will use the Obj-Delete-By-Handle
methods to either delete single instances or multiple instances. Note that case type instances should not be deleted this way in a production environment. Please refer to the Purge and Archive Wizards
for information on how to delete and archive old work on production systems.
can be used in Pega 7 to process a HTML Rule
and send the resulting content to a web browser. This is known in Pega as stream processing
. The Activity is accessed with a HTTP request using a URL.
This post shows how a new RuleSet
and Access Group
can be used to provide access to the activity for unauthenticated or guest users. That is, there will be no login screen and the activity will be accessed as an unauthenticated guest user using the pega.BROWSER requestor type.
Pega 7 Circumstancing
can be used to handle special scenarios that would normally require changes to an existing rule -the base rule-
without having to change that rule. Circumstancing allows a developer to create a copy of the base rule -the circumstanced rule-
, which is applied at run time when specified conditions are met.
Pega 7 Data Transforms
In this example, a Data Transform
is used to iterate over a data page that uses a list structure. See this example
on how to create a data page using the Data Table Wizard
. For this example, a data page that is backed by a data table of car makes is used to show how to iterate over it in a data transform.
Pega 7 provides many utility functions for manipulating Strings. These functions can be called as part of Expressions
in Data Transforms and Activities.
Pega 7 File Processing
Describes how a Service
and a File Listener
rule can be used to import data from a CSV
text file into a data table. During processing, the delimited text file is parsed and for each row, a record is created in the target data table. This approach can be used to import data from structured text files into Pega 7 data tables.
This post shows how to create a new Java web project with Spring 5 Framework
support in Eclipse Neon. It is shown how the Spring 5 MVC (Model-View-Controller
) can be used in a new dynamic web project in Eclipse Neon.
This post describes how to use Maven in Eclipse Neon for creating a new Spring Web MVC project
from a Maven archetype. The spring-mvc-archetype
developed by Frédéric Fondement from ENSISA is used here.
This post shows how to export a dynamic web project in Eclipse Neon to a WAR file (Web Archive). The WAR export can be configured to include dependent JAR files (Java Archive). The WAR file (aka Web Module) can then be deployed to an application server, here Tomcat 9, to run the web application.
This post shows how to setup Apache Maven
and how to create, build and run a new Maven Java project on macOS 10.
In this example, the Eclipse Java EE IDE
is used to create a new SOAP 1.1
web service. The Apache Tomcat Web Server
web server is used to deploy and run the web service and SOAP-UI
is used to test the service operations. The SOAP 1.1 web service in this example represents a simple product catalog and provides methods to search and insert products.
This post shows how to implement a WebSocket server in Java using the @ServerEndpoint
annotation and deploy it to Apache Tomcat 9. WebSocket is a technology for establishing a persistent, low-latency, full-duplex channel over a single http connection for real-time communication between a server and client.
The standard Java networking package is used to create a new User Datagram Protocol (UDP
) socket application for receiving and sending messages. The Java java.net.DatagramSocket
class is used here.
This post shows how to create a new Java Project in Eclipse Neon and how to implement a simple HelloWorld Java class.
This post shows how to Export a Java Project in Eclipse Neon to a JAR file containing a Manifest file and how to run the application from a terminal using the JAR file and the java command