Wednesday, February 24, 2021

Debugging Tools

What are the debugging tools you have used in your Pega Applications ?  I have jotted down few of them from my experience. Feel free to comment if I have missed any.
Pega Tools: 
  1. Clipboard 
  2. Tracer
  3. PAL (Performance Analyzer)
  4. Pega Log Viewer
  5. Pega Diagnostic Cloud (PDC)
  6. LogViewer
  7. TracerViewer
  8. Pega Log Analyzer (PLA) 
 Generic/Non-Pega Tools: 
  1. F12-Developer Tools 
  2. Fiddler/Wireshark
  3. Postman/SOAPUI
  4. Eclipse MAT heap Dump Analyser
  5. Thread dump analyzer :
  6. GC log analyser :
  7. SAML Tracer

Friday, June 5, 2020

SAML SSO Authentication

SAML SSO (Single Sign On) is used in most of the enterprise architectures as of today. We would look at SAML SSO and its significance with a demo in this post. Since it is advanced concept, we would cover this in multiple posts so that even beginners can understand this:

SAML stands for Security Assertion Markup Language: an XML framework which facilities Single Sign On Process. Go through the below video which gives a basic idea of SAML.

Tuesday, May 26, 2020

Low Code: Pega integrating with external REST Service

In this post, we would use low code app factory approach i.e. App Studio to create integration rules required for Pega connecting to external REST Service that returns JSON response. We wouldn't write any code here, mostly would be using configuration of Pega to see the latest ways Pega is supporting to achieve this. In a nutshell, we can say that we can do basic integration from Pega in 5 minutes as in first step. Please watch the video to understand more. 

How to search for Final or Internal rules in Pega

This is a good to know feature in Pega. For Pega developers, it is usual task where we need to open some of the internal/final rules of Pega, to understand the expected behavior.

To set the context, I would like to search for a final rule: pzGenerateEmailAccount from DEV STUDIO. In earlier versions we used to have a work-around by prefixing with "old:". In the latest versions of Pega, old: syntax is deprecated. So below is one of the ways to search for the final/internal rule.

Step-by-Step Illustration:

#1 Search for the rule (example: pzGenerateEmailAccount) from DevStudio
     #1.1 Note that there are no results shown (as highlighted in screenshot).

Saturday, May 23, 2020

Connecting to Dropbox API via POSTMAN

In this post, we will see how we can upload a file from your local system to Dropbox via API's. Dropbox provides API's, and we can invoke the APIs by passing the request (in this example, by passing the image in the request) and it should get attached in the Dropbox storage.

Tuesday, May 19, 2020

How to enable SSL/HTTPS in tomcat

In this post, we will have walk-through on how to enable SSL/HTTPS in tomcat server. 7 years back, this is the starting point where I got curious about HTTPS, when I have enabled SSL for my tomcat server in my local machine. It is good way to begin with, so jotting down the steps here for others:

Friday, May 15, 2020

Trace unauthenticated requestor from other requestor in Pega

In Pega, we usually run into scenarios where we want to trace some user's session while user enters credentials and clicks on Login Button.
#1. User hits Pega URL enters username, password. And clicks on Login button.
#2. On user's click of "Login" button, as a developer you would like to trace user's session which is still unauthenticated.

Note: If both the requestors are authenticated, you can do use a remote tracer from Tracer itself or from the Requestors of Admin Studio. In the given above scenario user didn't even login to the system because of which remote trace would be bit tricky. So presenting below approach anyone can follow:

Step by Step Illustration:

#1 In the below image, left hand side image is where user is in login page, and about to hit the Login button. And right hand side image is where developer is trying to trace the user's session. 

Friday, May 8, 2020

Trace SOAP request, response when Pega connects to external Service

Once we are successfully done setting up all the integration rules in Pega to connect to external SOAP Service. We start sending SOAP request from Pega, and receive the SOAP response from external SOAP Service. In a happy path, we send the request and we get the expected response. Suppose if there is any scenario where you are not getting the expected result from SOAP Service, to drill-down to the root-cause we would be interested in tracing the SOAP request that went from Pega to external system. And the SOAP response that came from external service to Pega. In this post, we would talk about tracing the SOAP request/response while Pega connects to external SOAP Service.

Wednesday, May 6, 2020

How to view the rules generated by Wizards in Pega

Usually we run many wizards in Pega, as part of Application development. Is there any way that we can navigate and track those rules created by the wizard at a later point of time for some reasons. In this post, we would show the way on how to navigate to wizard runs in Pega. This is not a conceptual post. Instead just a good to know feature.

Step by Step Illustration:

#1 Navigate to Configure >> Application >> Tools >> All Wizards

Tuesday, May 5, 2020

How to import certificate into system's truststore

Assuming that you have certificate that needs to be imported. The steps are given in the previous article. 

#1 Copy the certificate "Server1.cer" to below jre/lib/security folder.

Pega connecting to HTTPS endpoint: One Way SSL Concept

Consider scenario where you have "Client" Pega in your local system (HTTP://localhost:9090/prweb) and you are connecting to "external Server" SOAP Service which is hosted on HTTPS endpoint. Then as we already know, we have to run the "Create SOAP Integration" wizard and provide the endpoint HTTPS URL of WSDL. For Pega instance to create all the connector rules for wizard, it should be able to read WSDL over HTTPS endpoint URL. And that is possible only when certificate (Public Key) of server is added to clien'ts trust-store.

This post covers only the basics needed to get into SSL concepts. In the upcoming posts, we would get there to advanced concepts of keystore, truststore and 2 way SSL.

Client URL: Pega Application: http://localhost:9090/prweb
Server URL:
That means in this example, Client=localhost" and

Monday, May 4, 2020

Connecting to external Web-Service(SOAP) from Pega

In today's world, there are n number of usecases where there is a need to get information from external systems via Integration. For example, if you are applying for Loan: as a preliminary step bank would check your credit score based on your Customer ID. This means Bank would pass "Customer ID in the request" and get "Credit Score in the response". We started with a real-time usecase. However to understand the basics of Integration: I suggest beginners to pick a simple example: like Calculator where you pass "two integers in the request" and you get "multiplication result in the response". Below diagram is the visual representation of how request flows from Pega to external system w.r.t Calculator SOAP Service for multiplication operation. .

Connect SOAP Integration wizard in Pega

In Pega, how can we generate all the rules required to integrate/connect to external SOAP service. Answer is we have "Connect SOAP Integration" wizard provided by Pega OOTB. In this article, I will take you through the step-by-step process of the same.

#1 Navigate to Configure >> Integration >> Connectors >> Create SOAP Integration

Saturday, May 2, 2020

Fundamentals of SOAP Service Endpoint and WSDL

In this post, we talk about basic points of Calculator SOAP Service Endpoint:
SOAP Service endpoint URL
Service Name: Calculator

For every SOAP service, there will be WSDL (Web Service Description Language) which mentions about the service and the operations it supports. Basically it is metadata which contains XSD's that relates to request and response envelopes.
Example: Calculator service supports below operations.

Friday, May 1, 2020

Connecting to external Web-Service(SOAP) via client (POSTMAN)

In this post, we will use POSTMAN as a client to connect to external SOAP Service. The reason behind explaining the client (POSTMAN) instead of Pega is: it is fundamental to learn how web-services work outside Pega. And then it is easy to co-relate it to Pega. This will help developers to debug the issues related to web-services easily.

Context: Objective of this post is to get hands-on POSTMAN and to understand on below:

HowToPega : All rights reserved and the contents are copyrighted to Pavan Kumar Naidu