You are on page 1of 27

Basics: Architecture ,Guardials, Inheritance, Methodology,classes 6'Rs

1.

What are the different layers in Architecture?


A robust class structure is the foundation of reuse throughout our application. The PRPC recommended class structure design
pattern offers flexibility in our design and provides for more levels of reuse.
There are 4 distinct layers in the PRPC best practice class structure design pattern:
1. PRPC Shared Product: The PRPC Shared Product represents the out-of-the-box Process Commander classes such as
Work-, Work-Object-, Work-Folder-, Work-Cover-, and Data2. Enterprise Shared Product Layer: The Enterprise Shared Product Layer is a library of extensions to the PRPC base
functionality. You should always include this layer. It is rare, but this layer may be omitted in some very small one-off
applications.
3. Generalized Application Layer: The Generalized Application Layer represents a generic base application to use as a
framework for application instances. Here we will define most of the rules for our base application.
4. Organizational and Specialized Application Layer: The Organizational and Specialized Application Layer represents
an organizational application instance. Here we will be implementing the generic application.
The class structure provides the first and most important layer of reuse and specialization in PRPC due to its precedents in
the rule resolution algorithm.
The class structure provides us with a hierarchy in which rules can be placed. The higher a rule is in the hierarchy, the more
potential reuse there is. However, a rule can only reference other rules at the same level in the hierarchy or higher. For
example, a rule X at class A- cannot call Rule Y defined at A-B if no rule Y exists at A-.
The key to a good class structure is that there are enough layers and classes to hold the most fundamental levels of reuse but
not too many that it becomes cumbersome to navigate and unclear as to the intent.
Shared RuleSets provide a grouping mechanism for sharing both class resolved and non-class resolved rules. For example
Rule HTML properties and utility functions are non-class resolved. RuleSets are key to reusability as they are the mechanism
by which shared rules are moved to different rule bases and/or environments.

2. How many guardrails are there and explain?


There are 10 guardrails in the prpc application. They are
1) Adopt an Iterative Approach: Define a project initial scope by documenting 5 concrete scenarios up front and evaluate
them at the end to calibrate business benefits. Here It goes iteratively up and down in the Pega methodology
.
Here comes Pega methodology
Scenario1: BVA Business Value Assignment: Defines success factors and expected ROI.
Scenario2: Conception: Discover detailed business requirements and solutions.
Scenario3: Elaboration: Design solutions tailored to the business requirements.
Scenario4: Constructions: Build the application to meet the requirements.
Scenario5: Transition: Validate the application for appropriate implementation of business process.
Deploy the application ,training, and help desk for final production support.
2) Establish a Robust Foundation: Design Class structure with recommended class pattern i.e it should be understandable,
easy to extend and utilize standard work and data classes appropriately.
3) Do Nothing is hard: Use out of box functionality as much as possible in Initial project release such as avoiding custom
html screens, buttons( simply to avoid custom in every aspect)
4) Limit custom Java: Avoid Java Steps in Activities.
5) Build For Change: Identify and define 10-100 Specific rules that business users own and will maintain.
6) Design Intent-driven process: Application Control Structure consist of flows, declarative rules and calling activity as
needed
7) Create easy to read flows: Flow must fit on one page and max of only 15 smart shapes, if exceeds then go for creating
subflows.
8) Monitor Performance Regularly: Must evaluate and tune application performance at least weekly using Performance
Analyzer (PAL) to check rule and activity efficiency.
9) Calculate And Edit Declaratively, Not Procedurally: Whenever the value of the property is calculated or validated, we
must use declarative rules wherever required.( use declare expression instead of property set method.
10) Keep Security Object oriented too: Security design must be rule based and role-driven based on who should have
acces to each type of work.

3. Many Process Commander applications provide business process management and automation through six
functional capabilities, informally known as the Six R's:
Receiving Accepting and capturing the essential data describing work from multiple sources in multiple media and
formats, from keyboards, scanners, and external systems.
Routing Using characteristics of the work and knowledge about the workforce to make intelligent matches and
assignments.
Reporting Providing real-time visibility of work in progress, work completed, productivity, bottlenecks, and quality.
Responding Communicating status, requests for information, and progress to the work originator and to other people
involved in the work, by e-mail, fax, written mail, and other means.
Researching Accessing external systems and databases through connectors to support analysis and decisionmaking.
Resolving Through automated processing and automated support of users, completing the work and updating
downstream systems promptly.

4.

What are the Inheritance types?


Process Commander provides two kinds of class inheritance, known as directed inheritance and pattern inheritance.
Pattern inheritance, an optional feature we can set up for a class in the Rule-Obj-Class rule, affects the first steps in the rule
resolution algorithm. This approach is sometimes called "dual" inheritance.
During rule resolution, pattern inheritance causes a class to inherit rules first from classes that match a prefix of the class
name.
Directed inheritance Allows us to name a parent class, choosing a name that's not related to the name of this class

5.

How pattern and directed inheritance works?


Pattern Inheritance works as follows:
Rule resolution always looks first for a rule it needs in the class initially provided,
regardless of the state of this check box. If the box is checked and the rule is not found, it
forms a sequence of candidate classes to search by truncating, from the left, portions of
the class name that consist only of a dash character, or consist only of characters other
than a dash. If no class exists for one of these computed names, rule resolution continues
with the next prefix.
For ex: a search for a rule in the MyBank-LoanOrg-LoanDept class could search through these classes, in the order
indicated:
MyBank-LoanOrg-LoanDept
MyBank-LoanOrg MyBank-LoanOrg
MyBank MyBank
Directed Inheritance works as follows:
If the pattern search finishes without finding a rule, go back to the original class and use
directed inheritance to find the parent of the original class.

6.

What are Pega default classes?


A base class is one of twelve standard abstract classes that are immediately below the top class in the hierarchy. This top
class, known as the ultimate base class, is identified by the symbol @baseclass.
The three base classes of greatest interest to application developers are Data-, Assign- and Work-.
The base classes are:
Assign- Assignment instances, each identifying a step in a workflow that requires human input or
work by an outside organization, person, or system.
Code- Classes that directly reference server program code. Pages belonging to classes derived from
the Code- base class exist only temporarily in memory, and are not saved in the PegaRULES
database.
Data- Parent class of concrete classes containing reference data, including data for system
administration and security.
Embed- Defines the structure of pages embedded within other pages. Pages belonging to classes
derived from the Embed- base class cannot be renamed or directly saved.
History- Append-only instances record the change history of objects in another class.
Index- Secondary access keys defined to provide fast retrieval of other instances.
Link- Instances that record associations between two objects.
Log- Parent of concrete classes containing cumulative logs of important system-wide events.
PegaAccel- Parent of special classes that support the Application Accelerator tool.
Rule- Rule types, for defining applications.
System- Contains operational status information about the entire Process Commander system.
Work- Work objects, covers, and folders.

7.

Difference between Work- and Data- classes?


The Work- base class, one of thirteen standard top level abstract classes, is a superclass to all the classes that define work
objects. A work object is the fundamental unit that records processed work in an application.
The Data- base class is an abstract class above various classes that define and contain static data and cumulative data. For
example, the Data-Admin- classes contain information created by your Process Commander developers defining who can use
the application, their privileges and security, and where they belong in the organization.

8.

What are the types of classes?


A class is an instance of the Rule-Obj-Class rule type.
An abstract class is a rule (an instance of the Rule-Obj-Class class) created to support the definition of rules, including other
classes. Such rules can be inherited by subclasses of the abstract class. Rules with a class as a key part (such as properties,
activities, flows, models, and so on) can apply to an abstract class.
A concrete class can have instances stored in the database. An abstract class cannot have any instances.

9.

What is a class group and what are its advantages?


A Class Group is an instance of the Data-Admin-DB-ClassGroup class.

A class group instance causes the system to store the instances corresponding to two or more concrete classes that share a
common key format in a single database table. Class groups are commonly used to cause the system to store instances of similar
or related work- concrete classes together in one relational database table. Class Groups generally mapped to pc_work table. We
can use our own table also similar to pc_work for the clas groups All the classes who belong to a class group can inherit all the
rulesclared and defined at the class group level.

Case management: Access Groups, Work group, Work pool ,Work list, Work basket
1.

Define access group and its functionality?


Access Group controls the security basing on the job functions.
It is instance of Data-Admin-Operator-AccessGroup.
Access Group determines which applications and which parts of those applications a user can access.
1. Work pool what are all work pools the user can have
2. Application --- Rule sets What are all the rulesets the user can access
3. Portal -- What access portal the user can see
4. Access Role --- What access role the user can have
Various aspects that can be controlled through access group are
a)
b)
c)
d)
e)

2.

default and available types of works( also called as work pools )


Primary rulesets ( Access Control to rulesets)
Assigned roles
Portal layout
Default ruleset for making changes ( Default ruleset whenever the user creates/ saves as the rule

Define Work group and its functionality?


A work group is an instance of the Data-Admin-WorkGroup class.
A work group can identify a user who is a supervisor, and a set of workers and workbaskets that report to that supervisor.For
the supervisor of a work group, the My Group area of the Process Work space provides quick access to the worklists and
workbaskets associated with the group.

3. What is the difference between Work group and Access Group?


A work group is an instance of the Data-Admin-WorkGroup class. A work group can identify a user who is a supervisor,
together with a set of workers and workbaskets that report to that supervisor.
An access group is an instance of the Data-Admin-Operator-AccessGroup class. Access groups make a set of RuleSet
versions available to requestors.
Developers define access groups and associate an access group with each user (each Data-Admin-Operator-ID instance).
Typically, multiple users are associated with or belong to one access group.
The access group associated with a user affects access control by determining:
The portal layout that a user sees first after logging in.
The local customization RuleSet name and RuleSet version. These usually are defaulted whenever
this user creates a new rule instance.
The application rule for this user.
Optionally, the access roles available to this user.
4.

What is a Work basket and its functionality?


It is an instance of the Data-Admin-WorkBasket class.
It is a queue of open assignments that are not associated with an operator.A workbasket can be linked to an organization unit,
a work group, and a calendar.

5.

How to associate an Operator with a workbasket?


In a work group, we can associate an operator with a manager and a work basket.

6.

What is a Work Pool?


The work pool for a user is the set of all the work objects (open and resolved) of all the Work- classes that a user can enter
(in one application).
Generally work pool is Class Group specified in Access Group. is from developer prospective.
Class groups are commonly used to cause the system to store instances of similar or related work object concrete classes
together in one relational database table. This is known as a work pool. Work pools are referenced in access group instances
Class Groups generally mapped to pc_work table. We can use our own table also similar to pc_work for the clas groups.

7.

What is a Work List?


It is a list of open, outstanding (not complete) assignments assigned for a user to perform.

8. What are access roles and how they work at run time? Can we create our own Access Roles? If yes, explain with an
example.
An access role is an instance of the Rule-Access-Role-Name class .And it is defined as having certain class access rights. A
user can have one or more access roles , which are listed in Access Groups.
Use an access role name to convey permissions (capabilities) to a user or a group of users. Access roles can be
referenced in requestor instances, Operator ID instances, in access group instances, in activities, and in queries.
At log in, the system assembles a set of roles for a user based on information in a user's requestor instance, Operator ID
instance, and the associated access group instance.
Access roles influence which classes a user can view, update, delete, and so on through the Access of Role to Object and
Access Deny rule types.
Example. Create an instance of Rule-Access-Role-Name. To grant access to a user for a particular class create an instance
of Rule-Access-Role-Obj.
For each of the eight categories in the array, you can enter an Access When rule name, or a numeric value between 1 and 5.
If at runtime, the production level of your Process Commander system is not greater than the numeric value, then users with
the specified access role can perform the operation (on objects of that class). If an Access When rule evaluates to True at
runtime, the users with the specified access role can perform the operation.Production level is set in Data-Admin-System.
9.

What is Privilege ?
A privilege allows a user with a particular with a particular role to execute certain application functions. associated with Access
roles

10. What is a portal and how can it be customized for different users?
The Process Commander portals support two user communities:
The Developer portal provides an integrated work, test, and development environment to support application developers.
Customization of the Developer portal is typically not necessary and ordinarily limited to menus and skins.
User portals support managers and users of applications workers, as they enter, update, and resolve work objects. User
portals may be customized to reflect the terminology, layout, facilities and styles appropriate to each user community.
This Developer portal provides quick access to dozens of tools, wizards, reports, and other capabilities.
The appearance and function of our Process Commander portal depends on information in our access group which
references a portal rule (Rule-Portal rule type)
We can create our own portals and define new gadgets (instances of Data-Gadget).
Data-Gadget contains simple HTML rules.. We can change the Pega Logo as well.

Flows
Flow rule is the fundamental representation of a business process in process commander.
1.

Explain about types of Flows?


A flow rule that contains no assignments, and so can execute from start to end without
human input, is known as a straight-through process.
A flow rule that consists only of assignments or decisions and meets other criteria is
known as a screen flow.
A flow that creates a new work object is called a starter flow.
A flow that is called by another flow is known as a subflow, the calling flow is called
parent flow.

2.

What is a screen flow, why it is used?


A series of forms that each require only one or few questions to be answered. After submitting a form, user receives with
another simple forms with more fields that my depend on previous answers. At any point user can go to previous forms to
review or change previous answers.
To make a screen flow, create a new flow rule and select screen flow in the Template field.

3.

Can we start an application with a screen flow? If yes, how? If no, why?
A screen flow rule cant be a starter flow rule. Use the regular flow to create WorkObject.
Call the screen flow as sub flow
we cant start an application with a screen flow because Create New Object option is disabled under process tab.
A screen flow can operate on a temporary work object, this is never saved to Data Base.
In screen flow Flowactions are referenced by assignment shape rather than connectors.

4.

How can we call one flow from another flow?


By using subflow shape. Just drag a subflow shape and fill in appropriate values ,depending upon what we choose among
On Current Work item, On Another Work Item or On Embedded Page.

5.

When do we say that a work object is resolved? Can a work object be resolved manually?
When the flow reached the end shape, the work object gets resolved.
Manually it can be resolved through UpdateStatus activity and provide the values for StatusWork parameter as Resolved.

6.

How to restrict a flow to particular users?


By using privileges and when conditions under process tab of the flow instance.

7.

Flows use three types of status:


Work object status reflects the current state of a work object based on its position in the flow.
Assignment status records the users judgment about an assignment on the worklist.

Activity status reflects the outcome of a Utility or Flow shape.

Flow Actions

Flow actions specify the choices that users have when performing an assigned work object.

1.

What are the types of Flow Actions?


A flow action rule controls how users interact with work object forms to complete assignments.
Each flow action is defined by an instance of the Rule-Obj-FlowAction rule type.
Flow actions are of two types:
Connector flow actions appear as lines on Visio presentation in the Diagram tab of a flow rule. A line exits from an
assignment shape and ends at the next task in the flow. At runtime, users choose a connector flow action, complete the
assignment, and advances the work object along the connector to the next task.
A local flow action, when selected at runtime, causes the assignment to remain open and on the current user's work list.
Local flow actions are recorded in the Assignment Properties panel and are not visible on the Visio flow diagram.

2.

What is the Difference between Connector Flow Action and Local Flow Action?
A local flow action permits users at runtime to update, but not complete, an assignment. Local flow actions always are
optional. Users may perform none, one, or multiple local flow actions, or repeat a local flow action multiple times.
At runtime, users choose a connector flow action, complete the assignment, and advances the work object along the
connector to the next task.

3.

Explain about Pre Activity?


At runtime, the system runs this activity before it does other processing for this flow action.
This activity executes only once, the first time a user selects this flow action for this assignment.

4.

Explain about Post Activity?


Activity to run after other successful processing of this flow action.
For screen flow rules By default, when this flow action appears as a step in a screen flow rule, and the user at runtime clicks
away to a different step in the screen flow rule, this activity rule does not run. To cause this activity to execute when the user
clicks away to a different step, select the Post Action on Click Away? check box on the Assignment shape properties panel.

5.

Explain about Local Flow Action?


A local flow action permits users at runtime to update, but not complete, an assignment. Like connector flow actions, local
flow actions are referenced inside an assignment task in a flow.
At runtime, users can select local flow actions to update assignment or work object properties, change the assignee, and so
on but do not complete the assignment. If a service level rule is associated with the assignment, the service level continues to
run.
Local flow actions always are optional. Users may perform none, one, or multiple local flow actions, or repeat a local flow
action multiple times.
On the Action tab of the Flow Action form, we can mark a flow action rule as local, or connector, or both.

6.

How do we make one Local Action available in all Assignments?


On the Design tab of the Flow form, we can list local flow actions that are to be available at every assignment in the flow.

7.

How to restrict (make invisible) one flow acton to one user or based on some condition ?
By putting when rules in security tab.

Flow Shapes
The available shapes are
1)

Start task

2)Assignment

3)Assignment service

4)Comment

5)Connector

6)Decision

7) Subflow

8)Flow end

9)Fork

11)Notification

12)Router

13)Spin-off

14)Split-join

15)Split-for each 16)Pool with swin lanes

17)Ticket

18)Utility

10)Integrator

1.

Explain about Assignment shape?


An assignment is an instance of a class derived from the Assign- class.
Assignments record a temporary condition of an open work object within an executing flow.
For every Assignment , add at least one flow action .
The assignment normally appears on the work list of the user who executes the flow.

2.

Explain about Connectors?


To connect a shape element in the flow with the next shape element. To indicate a possible path for the flow execution.

3.

Explain about Notify shape?


A Notify can send an e-mail message to a work party.Connect the notify shape to the bottom edge of an assignment shape.

4.

Explain about Router shape?


Sends an assignment to a user, workbasket, or agent other than the current user.

Associate a Router task with an assignment task. This activity determines which worklist or workbasket is to contain the
assignment.
5.

Explain about Spin-Off shape?


When a work object advancing through a flow reaches the Spin-Off shape, process commander starts execution of a different
flow, using the current work object or different work object.
Processing in the current flow rule continues in parallel, without waiting for the other flow to complete.
Use the Spin-Off shape to start a Synchronous flow execution.

6.

Explain about Split-Join shape?


Split-Join shape is used to multiple subflows of our flow be completed before the current flow continues execution.
This allows subflows to execute asynchronously, in parallel.
The Split-Join shape must contain at least two called flows.

7.

Explain about Split-ForEach shape?


Split-ForEach shape is used to iterate over the pages of a Page List or Page Group property. For each page, we can
conditionally start a flow execution for the work object.
Processing in the orginal flow pauses while sub flow execute.
We cant use Split-foreach shape to create work objects.
The embedded page must exist before the Split-foreach shape is reached.
Explain about Fork shape?
The fork shape is used to choose one of a few different paths (connectors) based on tests on the work object.
At runtime, the system evaluates the conditions on each outgoing connector, starting with the connector assigned the highest
likelihood. The flow execution continues along the first connector that evaluates to True.

8.

9.

Explain about Decision shape?


Decision shape is used to reference a map value rule, decision table rule, decision tree rule or a Boolean expression.
At runtime, the system evaluates the decision rule based on inputs from the flow and the work object, and chooses one of the
outgoing connectors based on the result.

10. Explain about Ticket shape?


We can start the execution point in the flow at any point in the flow by using Ticket shape.
The ticket is same as GOTO in programming language.
Ticket creation:
1. Create the Ticket
2. Drag a ticket shape to where we want to jump in the flow and Complete the Ticket Properties panel
3. To configure the ticket in activity, Call the SetTicket activity and pass Ticket name
4. Create separate flow action and mention above activity as post activity in flow action.
5. Mention this FLOWACTION as LOCAL ACTION in assignment from where we want to jump.
6. At the time of running the flow By default Connector Action is Displayed.
At the time of run the flow we need to select the local action at that particular assignment where we mention the ticket
activity.
11. Explain about Utility shape?
Each utility task references an activity with an Activity Type of Utility.
Utility activity is defined in a class derived from the Work- or Data- base class and activity of type Utility.
12. Explain about Integrator shape?
Integrator activity identifies an activity that connects our process commander system to an external system to send or receive
data.
For example integration task can connect to a customer data base to retrieve account balances or verify account numbers and
status.
Integrator task use activities that call connector rules.
13. Explain about SubFlow shape?
Sub Flow shape may represent any of the following:
A branch to another flow without returning (one or more incoming connectors, no outgoing connectors)
A call to another flow with return (one or more incoming connectors, one or more outgoing connectors)
Part of a Split/Join or Split-forEach shape (at least one incoming and one outgoing connector)
A flow rule that is branched to or called by another is sometimes informally called a subflow.
In subflow we can define flow on current work item or another work item.
14. Explain with an example, the difference between a Decision shape and a Fork?
A decision task is a shape on a flow rule that references a rule of one of three types:
1)A map value rule (Rule-Obj-MapValue rule type)
2) A decision tree rule (Rule-Declare-DecisionTree rule type)
3) A decision table rule (Rule-Declare-DecisionTable rule type)
At runtime, the system evaluates the decision rule to determine how a work object progresses through the flow. The work
object progresses along one of the connectors leading from this shape, depending on the outcome of the decision rule.
On the other hand fork checks the conditions directly on the object and unlike decision shape it never asks for a Decision
tree, table or map value and two or more connectors can emanate from a fork shape.
15. Consider this scenario: After a work object had reached a particular stage in a flow, I need to run two flows in parallel
to each other. How this can be achieved?

This can be achieved by using Spin-Off shape. Just drag the spin off smart shape and fill in the appropriate values depending
upon what you choose among On Current Work item, On Another Work Item or On Embedded Page.
So the flow started by this shape will be called a subflow and the original flow as parent flow.

Service Level Agreements:


1.

What is an Service Level Aggrement?


A service level rule is an instance of the Rule-Obj-ServiceLevel type. Each service level rule defines one to three time
intervals, known as goals, deadlines, and late intervals, that indicate the expected or targeted turnaround time for the
assignment, or time-to-resolve for the work object.
The goal time is the smallest time interval, the deadline time is a longer interval, and the late interval defines post-deadline
times. Each time interval is in days, hours, minutes, and seconds.

2.

What are the types of SLA? Where they can be defined?


Service level rules can be associated with a work object or an assignment.
For assignments, the service level rule is referenced in the Assignment Properties panel of the assignment task.
For the overall work object, the service level rule is identified in the standard property .pySLAName, typically set up through
a model for the class. (The default value is the Default service level.)

3.

How do we do Escalation?
Escalation refers to any processing within a Process Commander application that causes high-priority work objects to
become visible to users and managers and to be processed sooner rather than later.
The numeric property known as urgency determines the order that assignments for that work object appear on worklists.
Escalation recalculates the urgency value to reflect its age, impending due date, or explicit management inputs.
Escalation can occur through a service level rule associated with the flow and through background processing by the PegaProCom agent.

4.

What are SLA's, how are they different from Agents?


A service level rule is an instance of the Rule-Obj-ServiceLevel type. The service level can define a goal and a deadline
times for processing an assignment, and can execute activities if the goal or the deadline is not met. This assignment-level
service
level is distinct from any service level associated with the entire flow. At runtime, an internal countdown clock (measuring the
completion of the assignment against the goal and deadline times computed from the service level rule) starts when the
assignment task is created. An agent is a background internal requestor operating on the server. These requestors can
periodically monitor conditions and perform processing as necessary. Most agents are defined by an Agent Queue rule (RuleAgent-Queue), which includes a list of the activities they perform.

5.

How to implement SLA's? Is is possible to define a SLA for the entire work object? If yes, how?
SLAs are always associated with an assignment. Just drag a SLA shape and provide an instance of Rule-Obj-ServiceLevel.
Yes, SLA can be defined for the entire workobject by defining it in the model.The property for this is pySLAName.

6.

How to restrict a flow to particular users?


By using privileges and when conditions under process tab of the flow instance.

Reports
1.
2.

What type of Reporting features are provided by Pega?


A. List View and Summary View
What is the difference between ListView and SummaryView ?
A summary view rule defines a two-level report display, presenting summary counts, totals or averages to be displayed initially,
and allowing users to click a row to drill down to supporting detail for that row.
Summary view rules support interactive charts, trend reports, and the use of AJAX for pop-up Smart Info windows.
A summary view rule is an instance of the Rule-Obj-SummaryView rule type. This rule type is part of the Reports category.
A list view rule, an instance of the Rule-Obj-ListView rule type, defines a report. Users can personalize list view reports easily
and interact with them. Use the Report wizard to define list view reports and link them to our portal.

3.

How to call a listview from an Activity?


In an activity, the Obj-List-View can execute a list view rule.

4.

What is Paging in a listview?


To divide the ListView in to different pages and set the number of records to be displayed in a page.

5.

Can we refer the property without exposing in Reports?


We can refer the propertys in Display tab without exposing.
But we cant refer the property without exposing in Critera fields of the Content tab.

6.

What is the activity responsible for getting the data in List View?

7.

What the class of getContent Activity?

8.

Can or have you customize the getContent Activity?

Embed-ListParams class.
Yes

getContent Activity

9.

What is exposing a property?


Exposing a property means to make a property as a separate independent column so that it can be used in sql queries and as a
criteria in reporting.Steps are as follows,
10. How to expose a single value property?
Process Commander stores the values of all aggregate properties and some Single Value properties in a BLOB column (the
Storage Stream) usually in a compressed form. Such properties cannot support selection in list view and summary view
reports, and can slow retrieval and processing in other operations
1. Select Tools > Database > Modify Database Schema.
2. A list of databases identified in Database data instances appears. Select a database and click Next .
3. A list of tables in the selected database appears from Database Table instances. Select a table.
4. Click Explore Columns .
5. The resulting List of Classes window displays the number of rows in the table, the number of columns in the table and a
list of the classes assigned to that table. The Properties Set to Be Visible value counts the properties for which the
Column Inclusion value is Required or Recommended. This Column Inclusion value is advisory, and does not indicate
whether the property is exposed corresponds to a column. The Count column shows the total count of properties in
this class plus those its parent classes.
6. To see the columns currently defined in this table, click the numeric link labeled Number of columns in this table.
7. The List of Database Columns window shows the column name, column data type, and column width in bytes for each
column in the table.
11. How to expose aggregate property?
Declare Index rule is a better approach.
1. Create a concrete class derived from the Index- base class.
2. Create Single Value properties in the new class to hold values of the embedded values.
3. Create a Declare Index rule with the appropriate embedded Page Context value that copies the embedded values into a
new Index- instance.
4. Save the Declare Index rule. It executes immediately, adding and deleting instances of the new class.
5. Expose database columns corresponding to the Index- class.
6. Reference the Index- properties in the list view rule.
12. How to customize the getContent Activity?
Step1: Create Activity in Our Class and create the New page
Step2: write a query and store in variable.
Step3: call the listview as Call Rule-Obj-ListView
Step4: Write the another activity in Embed-ListParams
Step5: create the parameter. This parameter get the sql query from previous activity
Step6: write Java method The java code in this method is
Get the page from pyContentPage if page already exists. If page is not available it creates the new ContentPage.
In this code get the sql query from the above parameter and pass this query and above created ContentPage as parameters
to this tools.getDatabase().executeRDB(query, pagename) method.
13. How do we get the data from the two different tables?
Using Join tab in Reports
14. How do we fetch the data from two different tables with out using two different tables?
Write a database View. In this view logically combine the Two different tables.
Create class for this logically combined Table.
Write the List View. Applies to class is class of the Combined table. So we can refer the properties of both the tables in list
view.
15. What is the use of HTML property in ListView?
HTML Property rules appear in list view and summary view rules to define the appearance of values in reports.
16. Consider this scenario: I need to generate a list view report of all the work objects created on a particular date and
then I need to include this list view in a section. How this can be done?
Select .pxCreateDateTime ( an exposed property ) under criteria and give the value you are looking for.
To include it in a section, check the embedded check box and customize the HTML of the section. In that we need to access
the list view in a JSP tag or In section Property is DisplayAs ListView.
17. What is the difference between List View and Obj-List?
List view is generally used for complex queries where sorting is required and also we can retrieve less information using
Paging.
18. Explain in brief the configuration of a list view?
List view (an instance of Rule-Obj-ListView ) is used to define a custom report or personal version of a report.
A list view can be configured as follows:
- Applies to class of list view will be taken as the database table map for the search criteria.
- Display fields tab is used to depict the fields that are displayed along with category and to enable/disable
sorting
- Content tab is used to depict the criteria, fields to be retrieved, key of each row (if selected) and Report
source (Page name where the values should be saved and the activity to be called)
- In organize tab we specify to enable/disable paging, page size, mode, alignment etc.
We can also configure additional buttons and their fragments here.
- Format tab is used to depict the formatting of the list (like even/odd coloring) and details on single click etc.
List view can be accessed from an activity or html as follows:
- Call Rule-Obj-ListView.ShowView activity with classname and list view name as parameters

- <pega: ListView name= {name of list view} classname= {Class name of list view}>
A list view can be used for complex retrievals from database by not specifying the display, format and Organize tabl.
PyAction in that case would perform instead of refresh.
19. Explain in brief about the configuration of a summary view?
Summary views are used to create reports which are grouped by certain criteria and can be later drilled down.
A Summary view can be configured as follows:
- Applies to class of summary view will be taken as the database table map for the search criteria
- Category is used to know under which tab the report should come.
- Criteria is used in the where class (this can be asked to user by enabling prompt user)
- Group by and field functions (like count) are used for initial display. If we have more than one group by
it is Displayed one after another on clicking +
- Drill down fields are used to display the fields when we click on the assignment.
- Format is used to tell how to format the display and charts can also be used.
Summary view can be accessed from an activity or html as follows:
- Call Rule-Obj-ListView.ShowView activity with classname and summary view name as parameters
- <pega: SummaryView name={name of summary view} classname={Class name of summary view}>
20. ShowView

Rule-Obj-ListView. ShowView

Used to execute a list view

Rule-Obj-SummaryView. ShowView To execute a summary view

Agents
1.

What is an Agent?
An agent is an internal background process operating on the server that runs activities on a periodic basis.
Agents send email notifications about assignments, route work as per rules in our application, outgoing correspondence,
synchronize cache etc.
Agents are autonomous and asynchronous

2.

How do we create an Agent?


New SysAdmin Agents

Rule Set name is the Agent name.

Agent is instance of Rule-Agent-Queue.

3.

Do we need to create Agent Schedule?


No. We dont need to create them
The Agent Manager on our Process Commander system generate at least one agent schedule instance for each agents rule.
By default, the Agent Manager checks for new or updated agents rule once every ten minutes.
After we create an agents rule, the Agent Manager generates one Agent Schedule instance for each node running on your
Process Commander system the next time it checks for new agents rules.

4.

Do we need to migrate Agent Schedule to other environment? No

5.

What are the Agent running time intervals?


Each agent activity runs individually on its own interval schedule, as a separate requestor thread.
Periodic The agent runs the activity and then "sleeps" for the number of seconds entered in the Interval column.
Recurring The agent runs the activity based on a specified calendar schedule (for example, every Monday at 5:00
P.M.).

6.

What are the Agent Running modes?


Standard Specifies that this agent processes items from an agent queue and that it relies on the system to provide
object locking and other transactional support.
Advanced Specifies that this agent uses custom queuing
Legacy specifies that this is an agent that was created in a version prior to V5.4 and has not yet been updated. This
option is not available for agents created in V5.4 or later. Legacy is a queue mode in Setting tab Legacy agent is an
agent which doesnot use queue but processes each item to completion in a single pass.

7.

What are the Standard Agents?


our system includes three standard agents rules. Because these agents rules are in locked RuleSets, we cannot modify them.
To change the configuration settings for the agents listed in these rules, update the agent schedules generated from the
agents rule.
Pega-IntSvcs:Five agents in the Pega-IntSvcs RuleSet process queued service and connector requests and perform
maintenance for PegaDISTRIBUTION MANAGER (formerly called Correspondence Output Server, or COS).
Pega-ProCom: The agents in the Pega-ProCom RuleSet process e-mail, service level rules, and assignments, archive work
objects, and so on. The agents in this rule provide the following types of processing:

Processing service level events and escalation


Applying a flow action to assignments in bulk
Sending out e-mail correspondence
Archiving and purging work objects, attachments, and history
Retrieving PDF files from the PegaDISTRIBUTION Manager
Checking incoming e-mail (deprecated in V5.3)

Pega-RULES:The agents in the Pega-RULES RuleSet perform general system housecleaning and periodic processing. The
agents in this rule provide the following processing:
System Cleaner
Rule Usage Snapshot
System Pulse
Static Content Cleaner
System Indexer
System Work Indexer
8.

What is the use of referring Access Group in Agents?


It is an Optional. Select the access group to use for the legacy and advanced agents listed in this rule. This field is ignored for
agents with a type of Standard.
Specify the access group to be used for the following kinds of agents:

Agents whose queue mode is Legacy


Agents whose queue mode is Advanced but they do not use the agent queue functionality

If you do not specify an access group for legacy and advanced agents that do not use the agent queue function, Process
Commander uses the access group specified in the Batch requestor type (that is, the Data-Admin-Requestor instance named
Batch). Agents whose mode is Standard do not need access groups; for standard agents, each queue item is processed in the
authorization context of the user whose actions or processing (work object, assignment, and so on) generated the queued
task.
9. How do we troubleshoot or Trace an Agent?
NOTE: Tracer can only be used to trace agents which are running on the same node where the tracing is occurring. For multinode systems, where errors may happen on different nodes, it is necessary to access the monitoring system for the node where
the error occurred.
Tracing an agent is a bit different than tracing Process Commander user sessions, as the agents can run quickly and be gone
before Tracer can catch them. Therefore, To trace the running of an agent, the following steps are recommended:
1. Check the scheduling of the agent in the Agent Schedule instance. (If the agent runs once a week, and has just run, it wont run
again for a while. If the periodicity of the agent is long, temporarily shorten it for troubleshooting.)
2. Before the agent runs, go to the Agent Status screen and delay the execution of the Agent Queue. For Version 5.1, click the
radio button next to the agent entry, and then click the Delay button at the top of the screen in the Single activity in queue section.

3. Go to the Requestor Management page. Continue to refresh this page until a new requestor is displayed which shows a
Waiting message in the Last Input column. (The requestor should show after 60 seconds.) NOTE: For agents, the hash name
of the requestor should begin with B (batch).
4. Once that requestor is visible, trace the activity execution. Click the radio button for that activity, and then click the Tracer
button at the top of the screen.

5. Tracer will open in a new window, showing the trace for this process.
6. Review the trace for errors.

10. What are the Agents for SLA and Correspondence?


The agents in the Pega-ProCom RuleSet process e-mail, service level rules, and assignments, archive work objects, and so
on.
The agents in this rule provide the following types of processing:
Processing service level events and escalation
Applying a flow action to assignments in bulk
Sending out e-mail correspondence
Archiving and purging work objects, attachments, and history
Retrieving PDF files from the PegaDISTRIBUTION Manager
Running tests defined through the optional Automatic Testing facility
Checking incoming e-mail
The activity System-Queue-ServiceLevel.ProcessEvents supports service level processing for both assignments and work
objects.
The activity Data-Corr-.Send supports outgoing e-mail if your system contains one or more Email Account data instances with
a second key part of Notify.
11. Who will create Data-Agent-Queue?
The Agent Manager is a master agent that gathers and caches the agent configuration information set for our system when
Process Commander starts. Then, at a regularly scheduled interval, it determines whether any new agents rules were created
during the last period. If there are new agents rules, the Agent Manager adds them to its list of agents and generates agent
schedule data instances for them for each node.
12. What is the use of Data-Agent-Queue?
When you need to modify the behavior of an agent listed in an agents rule in a locked RuleSet (any of the standard Process
Commander agents rules, for example) you do so by editing one or more of the generated agent schedule instances.

To monitor the Agents the url path is


http://portNo:8888/prsysmgmt/
Uses of agents in the system

Agents route work according to the rules in our application.


Agents also perform system tasks such as sending e-mail notifications about assignments and outgoing
correspondence, generating updated indexes for the full-text search feature, synchronizing caches across nodes in a
multiple node system, and so on.

Activities
An activity is an instance of the Rule-Obj-Activity rule type. An activity is the fundamental sequential processing unit of the Process
Commander system.
An activity when defined consists of a sequence of steps, each of which can contain a method or an instruction. As you save an
activity form, the system converts information in the form into server-side Java source code. At runtime, this Java code is compiled
and executed to perform processing, analysis, and decision making.
Activity Types:

Activity
Type
Activity
Assembly
Assign
Connect

Description
Any activity that is not one of the activity types below.
Reserved. Do not use.
An activity that creates an assignment, an instance of a concrete class derived from the Assign- base class. Referenced
in a flow to support an assignment. These activities may be referenced by an assignment shape (
) on a flow rule.
An activity that calls a Rule-Connect- external system interface. These activities may be referenced by an Integrator

shape (
) on a flow rule.
Locate
An activity that finds a locatable page; referenced on when condition, Declare Expression and Constraints rules only.
Load
Declarative An activity that adds values to declarative pages. Referenced on Declare Pages rules only.
Page
An activity that sends correspondence to a work party in a work object. In a flow rule, such activities may be referenced
Notify
in an Assignment Properties panel, or explicitly in a notify shape (
).
An activity that starts automatically when another activity step changes certain properties, as defined through a Declare
OnChange
OnChange rule.
An activity that determines which user worklist or workbasket receives an assignment. In a flow rule, such activities may
Route
be referenced in an Assignment Properties panel, or explicitly in router shape (
).
An activity that starts automatically when an object of a certain class is saved, as defined through a Declare Trigger
Trigger
rule.
An activity that typically updates a work object and is referenced in a flow, but requires no user interaction. In a flow
Utility
rule, these activities may be referenced in a utility shape (
).
Validate
An activity that validates the contents of a rule or data form. (Rarely needed in applications.)

Activity Methods
1.

Explain the operation of Activity-End method?


Use the Activity-End method to cause the system to End the current activity and all calling activities.
Ex:if Alpha calls Beta, which calls Gamma, which calls Delta, which performs the Activity-End method, all four activities are
ended.

2.

Explain about Exit-Activity method?


The Exit-Activity method ends the current activity and returns control to the calling activity.

3.

Explain about Page-Copy method?


Page-Copy method is used to copy the contents of a source clipboard page to a new or previously created destination
clipboard page. The source page is not altered.
After this method completes, the destination page contains properties copied from the source page, and can contain
additional properties from a model.

4.

Explain about Page-New method?


The Page-New method is used to create a page on the clipboard. The new page may be a top-level page or an embedded
page.
We can identify a model to initialize the newly created page. The model can set values for one or more properties.

5.

Explain about Page-Remove method?


Page-Remove method is used to delete one or more pages from the clipboard. The contents of the database are not affected.

6.

Explain about Page-Set-Messages method?


Use the Page-Set-Messages method to add a message to a clipboard page. Like a message associated with a property, a
message associated with a page normally prevents the page from being saved into the database.

7.

Explain about Property-Set-Message?


Property-Set-Message method is used to associate a text message with a property or a step page. The system reads the
appropriate property and adds the message to the page. We can provide the entire literal text of the message, or reference a
message rule key that in turn contains message text. (Rule-Message rule type).

8.

Explain about Property-Map-DecisionTable method?


Use the Property-Map-DecisionTable method to evaluate a decision table rule and save the result as the value of a property.

9.

Explain about Property-Map-DecisionTree method?


The Property-Map-DecisionTree method is used to evaluate a decision tree rule (Rule-Declare-DecisionTree rule type) and
store the result as the value of a property.

10. Explain about Property-Map-Value?


The Property-Map-Value method evaluates a one-dimensional map value (Rule-Obj-MapValue rule type) defined in the
parameter. The method sets the result as a value for a Single Value property.
The related method Property-Map-ValuePair works similarly for two-dimensional map values.

11. Explain about Property-Remove method?


Property-Remove method is used to delete a property or properties and its associated value from the step page or another
specified page. This does not affect the property rule, its definition.

12. Explain about Property-Set method?


Property-Set method is used to set the value of one or more specified properties.

13. Explain about Show-HTML method?


The Show-HTML method is used to cause the activity to process an HTML rule and send the resulting HTML to a user for
display by Internet Explorer. This may involve the interpretation of JSP tags (or the older directives), which can access the
clipboard to obtain property values, or can insert other HTML rules, and so on.

14. Explain about Show-Page method?


The Show-Page method is used to send an XML representation of the step page to a user's Internet Explorer browser
session, as an aid to debugging.
Note: Use Show-Page and Show-Property only for debugging.

15. What is the difference between Call and Branch?


The Call instruction calls the another specified activity and execute it. When that activity completes, control returns to the
calling activity.
Use the Branch instruction to find another specified activity and branch to it without a return.
When the system executes a Branch step, control transfers to another activity found through rule resolution. Execution of the
original activity pauses.
When the branched activity ends, processing of the current activity also ends.

No steps after the Branch step are executed.

OBJ Methods:
Code-Pega-List:At runtime 5 methods(Obj-Browse, Obj-List,Obj-Filter, Obj-List-View & RDB-List), list view rules and summary
view rules use a page of the class Code-Pega-List as a source of search criteria and to hold ouput.Typically, such pages are
named Results, pyQueryResultPage, or pyViewLookupList. Search results (which support rows of report output) are stored as
pages in the pxResults() property, a Page List. Code-Pega-List is a concrete class, pages of this class exist only on the
clipboard. They are never saved to the PegaRULES database.

16. Explain about Obj-List Method?


Obj-List method is used to retrieve data to the clipboard as an array of embedded pages.
This method creates one embedded page for each instance retrieved.
The Obj-List-View method often produce more efficient SQL statements and provide better performance than the Obj-List
method.

17. Explain about Obj-Browse method?


Obj-Browse method is used to search instances of one class and copy the entire instances, or specified properties, to the
clipboard as an array of embedded pages.
Only properties exposed as columns can be used as selection criteria. However, values of properties that are not exposed as
columns, including embedded properties, can be returned.

18. Explain about Obj-Filter method?


Obj-Filter method is used to filter the embedded pages of a results page (such as a Code-Pega-List page produced by the ObjList, RDB-List, Obj-List-View or Obj-Browse methods) based on one or more when condition rules.

19. Explain about Obj-List-View method?


Obj-List-View method is used to execute the retrieval and sorting operations, but not the formatting and display processing, of
a list view rule.
The system uses rule resolution to find the list view rule and executes it, but does not produce any HTML output display.

20. Explain about Obj-Open method?


Obj-Open method is used to open an instance stored in the PegaRULES database or in an external database linked to an
external class, and save it as a clipboard page.
The system uses the specified class and key fields to find and open the object and place its data into the specified step page.
The system searches up the class hierarchy as appropriate to find the instance. If it finds the specified step page, the system
clears any data that is on it and reuses the page. If no existing page has a name matching the specified step page, the
system creates a new page.

21. Explain about Obj-Open-By-Handle method?


Use the Obj-Open-By-Handle method only if we can determine the unique handle that permanently identifies which instance
to open. Otherwise, use the Obj-Open method.

22. Explain about Obj-Delete method?


Obj-Delete method is used to delete a database instance corresponding to a clipboard page and optionally to delete the
clipboard page too. We can cause the deletion to occur immediately, or until execution of a Commit method.
This method can operate on objects of both internal classes (corresponding to rows in a table in the PegaRULES database)
and external classes (corresponding to rows in an external relational database).
The Obj-Delete method uses the class of the page to obtain the appropriate Rule-Obj-Class instance. It uses the table name,
key fields, and other aspects of the class rule to mark the instance for deletion.
We can reverse or cancel a previously executed Obj-Delete method by using the Obj-Save-Cancel method.
23. Explain about Obj-Save method?
Obj-Save method is used to save a clipboard page to the PegaRULES database or if the page belongs to an external
class save a clipboard page to an external database.
The Obj-Save method uses properties on the page to derive the internal key under which it will be saved.
This method can create a new database instance or overwrite a previous instance with that key.
We cannot save a page that is locked by another requestor.
We cannot save a page that our session does not hold a lock on (if the page belongs to a lockable class),
unless the object is new, never yet saved.
We cannot save pages of any class derived from the Code- base class or the Embed- base class. Such pages
exist only on the clipboard.

24. Explain about Commit method?


Commit method is used to commit all uncommitted database changes. This method writes all the instances specified by one
or more earlier Obj-Save methods to the PegaRULES database (for internal classes) and to external databases (for external
classes).
25. Explain about Obj-Validate method?
Obj-Validate method is used to apply a validate rule (Rule-Obj-Validate rule type) for the object identified on the primary page
or step page. A validate rule (Rule-Obj-Validate rule type) can call edit validate rules (Rule-Edit-Validate rule type).

26. Explain about Obj-Sort method?


Obj-Sort method is used to sort the clipboard pages that are the values of a property of mode Page List.
We can specify one or more properties to sort on, and whether the sort sequence is ascending or descending for each sort
level.

RDB Methods:
Use Connect SQL rules and RDB methods only with an external database. Do not use Connect SQL rules or RDB methods
for the PegaRULES database(s). Because not all properties in the PegaRULES databases are distinct database columns, use
the Obj-Open and Obj-Save methods, not the RDB- methods, with the PegaRULES database to prevent loss of data.
27. Explain about RDB-List method?
RDB-List method is used to retrieve rows from an external relational database and place the results as embedded pages in a
specified step page of class Code-Pega-List.
This method references a Connect SQL rule instance, and executes SQL statements stored in the Browse tab of that rule
instance. The search can do anything we can specify in a SQL statement, such as a SELECT WHERE statement. Any
constraints on the returned data are in the SQL.
28. Explain about RDB-Open method?
RDB-Open method is used to retrieve a single row (record) of data from an external relational database and add the retrieved
data into a specified clipboard page as property names and values.
Use this method in conjunction with a Connect SQL rule that contains SQL SELECT or EXECUTE statements in the Open tab.
Define the SQL statements so that the database returns exactly one row.

29. Explain about RDB-Save method?


RDB-Save method is used to save the contents of a clipboard page into a row of a relational database. The system saves the
properties on the specified step page to the specified table in the database.This method operates in conjunction with a
Connect SQL rule that contains SQL statements such as INSERT, UPDATE, and CREATE statements on the Save tab.
30. Explain about RDB-Delete method?
RDB-Delete method is used to delete a row or rows from an external relational database using SQL.
This method operates in conjunction with an SQL statement in the Delete tab of a Connect SQL rule (Rule-Connect-SQL rule
type) that contains the DELETE, TRUNCATE or DROP SQL statement.

31. Obj-Refresh-And-Lock
if step page is not locked, refresh from database and lock
use this when you have an unlocked page which you now wish to update and save in the database.
if the step page is locked - the lock is checked and if we still own it nothing is done to the content of the step page.
if the step page is unlocked - the page is compared to the copy of the page in the database and replaced if the database copy
is newer.
A lock for this page is acquired in either of these last two cases.
Commit:
Commits all database changes in the thread
What are all the default or Pega OOTB activities that you have used till now?
Work-.Add: Creates a new work item (Work object)
Called AddWork activity
Creates a new work object (without any cover work object) and performs a Commit method, which saves the work object and
releases all locks.
Uses: Called from the Create button on the New harness. Can be used to spin off a new work object from within a flow
Work-.AddWork
Use Work-.AddWork rather than Work-.Add in situations where the Commit method is not wanted until later.
This is called from the Add activity
Creates a new covered or non-covered work object. Called with a primary page that inherits from the Work- base class.
Commits the new work object if there is no flow execution to start; if it starts a flow execution, the commit operation typically
occurs when that flow execution creates an assignment.
AddCoveredWork
Creates a new cover work object but does not perform a Commit method, so current locks are retained.
Creates a new covered work object using the primary page data. This activity assumes the cover is already locked.
Usage:
Call this activity to spin off a new covered work object from a Utility or Post-Processing activity. Prior to calling this activity,
create and populate the new work object page using createWorkPage then use it as the primary page to call this activity.
Caller must commit changes using commitWithErrorHandling.
Work-.AddCovered
Use Work-.AddCovered rather than Work-.AddCoveredWork to commit the new work object.
It means the difference between AddCovered and AddCoveredWork is commit
New
Called by harness processing to create a (non-covered) work object and display the work object form.
Creates a new work page, populates it by applying a model and displays it in the new harness to collect more information
from the user.
Usage:
Used from the new work drop down menu.
NewCovered

Called by harness processing to create a covered work object and display the work object form.
Creates a new work page for a covered object, populates it by applying a model and displays it in the new harness to collect
more information from the user.
Usage: This activity gets called when a user adds a covered work object using the add work drop down menu of a cover.
Notify
Send an e-mail message as correspondence to a party identified through a parameter.
NotifyAll Send a single e-mail message to each work party identified in the work object.
ToCreateOperator
Route the assignment to the user who entered the work object.
ToWorkbasket
Routes the assignment to a workbasket identified in a parameter.
ToWorklist
Routes the assignment to the worklist of a specific user, identified in a parameter.
CorrNew
Send correspondence (that requires no user interaction)and save it as an attachment to the work object. For email output,
can send all work object attachments or selected work object attachments as email attachments. The optional Priority
parameter allows the outgoing mail to be marked as high or low priority in certain e-mail client programs, such as Microsoft
Outlook.
NewDefaults: It is an activity that is automatically executed when a workobject is initiated(before Harness is displayed) which
is used to customize or extend the steps.
Assign-.NewDefaults Called from Work-.NewAssign and Work-.NewAssignBasket on the assignment. Allows the developer
to customize or extend the steps that are performed when a new assignment is created.
Work-.NewDefaults Called from Work-.New and Work-.NewCovered. Override to customize or extend the steps that are
performed while creating new work page for the New harness.

1.

What's the difference between parameters and local variables? How are they used in an activity?
Values stored in parameter values can be shared between two activities but the scope of local variables is confined to the
activity in which they are declared.
Parameters can be referenced as Param.parametername.
Local variables are referenced as Local.variablename.

2.

How can we pass parameters between activities? Explain.


By using In/Out parameters. In parameters means that its expecting a values from another activity and Out parameter stores
the values to be used by another activity.

3.

Explain with an example how can we reuse an activity?


By parameters itself. Say for example we have an activity to append two strings which keeps changing as the application
proceeds.
So declare two parameters of type Strings and pass different values to it, but the business logic to append them will always
remain the same, only parameter values keeps on changing.

4.

What is a step page what role does it play in an activity?


Each step in an activity may have a designated step page. When creating or updating an activity, the developer identifies an
existing or new clipboard page for the method (or instruction) in that step to act on, in a column of the tab labeled Step Page.
The step page becomes the primary page for the duration of this step's execution.
So any rule referenced in this step will be looked upon in the class associated with that step page, if there is no step page
than the Applies To class will considered.

5.

How to write a java code in a activity? Explain with a small example.


Just by using an API java in method tab.
Eg. If we want to access a clipboard property then the java code will be like,
Tools.findPage(pageName).getString(.PropertyName);

6.

Consider this scenario, I have an activity in ruleset A and I want to call this activity from an acitivity in ruleset B.Is
this possible? If yes, how?
Yes, this is possible through ruleset prerequisites.It is defined under Rule-Ruleset-Version.
Note : Process Commander enforces RuleSet version prerequisites only during development (as a developer adds or saves
rules) and as rules are imported during Import Archive operations. Prerequisites are not enforced at runtime; the user's
RuleSet list and the rule resolution algorithm determine which rules are available for the user to execute.

7.

How do we create a Work Object from Activity?


First Create NewPage with a Page-New
Within the Page-New step specify the model and NewClass
On the new page Set the properties
.pyFlowName with FlowName
.pyDescription
.pyOrigOrg
.pyLabel
Call Add activity in the next step and specify the StepPage where we have to call the WorkObject
Call Add Creates the WorkObject where the activity belongs to type of the class.

Propertys :
1.

2.

3.

4.
5.
6.
7.

8.

9.

What is the Property?


A property is an instance of the Rule-Obj-Property rules type.
Property defines and labels a value that can be associated with a class.
For instances contained in the database, a property often corresponds to a relational database column.
What are the Property Modes?
Single
Array or List
Group
Value modes

Single Value

Value List

Value Group

Page modes

Page

Page List

Page Group

Java Object mode

Java Object

Java Object List

Java Object Group

Java Property modes

Java Property

Java Property List

Explain with an example the difference between Rule-Edit-Input and Rule-Edit-Validate?


Edit input rules are instances of the Rule-Edit-Input class. They are part of the Property category.
An Edit Input rule provides a conversion facility.
Use Edit Input rules to convert data entered by a user (or received from an external system) from a format
that our application doesn't use into another format.
Edit input rules perform conversions, not validations. This rule type does not cause any response to a user
about the validity of the input.
Edit input rules use Java code for the conversion.
We can reference an edit input rule in the Edit Input Value field on the Property form.
Edit validate rules are instances of the Rule-Edit-Validate class. They are part of the Property category.
Use the Edit Validate form to define a Java routine that tests the validity of an input value in an activity that
processes user input.
Properties rule (of mode Single Value, Value List or Value Group) may reference an edit validate rule on the
Advanced tab.
Use the Property-Validate method in an activity to execute the edit validate rule when a value is submitted
through a user input form.
How Rule-Edit-Validate is different from Rule-Obj-Validate?
Edit Validate is to validate a single property at a time but obj validate rules are used to validate all the properties in a single go.
How one single property can be represented in different forms on a screen?
By using HTML Properties at the section level, not at the property level.
Consider this scenario : I have a property of type decimal, I need to restrict it to two decimal places only. How easily
this can be done?
By using a qualifier pyDecimal Precision under Qualifiers tab.
How to implement dynamic select and smart prompt? What's the major difference between them?
Implementation of Dynamic Select:
In properties panel select Display As is DynamicSelect.
Write Activity for generating Dynamic Select.
By using Show-Page method display the data in XML format.
Dynamic Select is a drop down from which we can only select a value.
Smart prompts acts both as a text box and a drop down.
Smart prompts are implemented by using ISNS_FIELDTYPE, ISNS_CLASS, ISNS_DATANODE.
What is the difference b/w Page and Page List property, how are they Implemented?
Page property refers to a particular class and is used to access the property of that class.
Page List Property also refers to a particular class, but its a collection of individual pages of the same class which can be
accessed through numeric indexes.

What is HTML Property?


HTML Property rules are instances of the Rule-HTML-Property class. They are part of the Property category.
Use HTML Property rules to control how properties appear on work object forms, correspondence, and other HTML forms,
for both display and for accepting user input.
For properties of mode Single Value an HTML Property rule may be identified in the Display Property field
of the Property rule form.
HTML Property rules also may appear in list view and summary view rules to define the appearance of values in reports,
and in harness, section, and flow action rules that define work object forms.
10. Explain about Special Properties?
Standard properties means all the properties in the Pega-RULES, Pega-IntSvcs, Pega-WB, and Pega-ProCom RuleSets have
names start with px, py, or pz.
These three prefixes are reserved. We cannot create new properties with such names. We can override these standard
properties with a custom property of the same name (without changing the mode or Type).

Px: Identifies properties that are special, meaning that the values cannot be input by user input on an HTML form.
Py: Properties with names that start with py are not special, meaning that values can be input by users on an HTML form.
Pz: Properties with names that start with pz support internal system processing. Users cannot directly manipulate pz
properties. our application may examine these values, but do not set them. The meaning of values may change with new
product releases.

Rules
1. What is the order in which Rule set list is constructed?
Requestor, Organization, Division, Access Group is the order in which this list is constructed.
In access group Application rule set list is in bottom and Production Rule set is on top of it. It follows Top-down approach.
2. What is RuleSet?
A RuleSet name is an instance of the Rule-RuleSet-Name rule type. Each RuleSet defines a major subset of rules in the
PegaRULES database, because every instance of every rule type references or "belongs to" a RuleSet. A RuleSet name is a
major aspect in:
Access control
Grouping interrelated rules
Managing the rules
Moving applications sets of rules from one Process Commander system to another.
Process Commander itself consists of six standard RuleSets:

Pega-AppDefinition Standard rules supporting Direct Capture of Objectives features


Pega-ProCom Standard rules that support business process management (BPM) applications
Pega-IntSvcs Standard rules that support integration
Pega-WB Standard rules that support the portal infrastructure
Pega-RULES Standard rules that support business rules engine and rule resolution
CheckInCandidates Optional. Empty, used by rule check-in processing. Version 01-01-01 is not locked.
Any application developer who can checked out rules has a private RuleSet.
The system creates each private ruleset automatically named to match the developers operator ID value.
We create one ruleset per application.
Rule set names are part of SysAdmin category.
3. What is ruleset versioning ? Explain Major, minor and patch?
A RuleSet version is an instance of the Rule-RuleSet-Version rule type. The version number in the form AA-AA-AA, defines
six digits in three groups that characterize the evolution and development of a rule instance, and of the application it belongs
with. The three segments are known as the major version, minor version, and patch version.
For eg. LoanAdmin:01-02-03
Here, 01: major version
02: minor version
03: patch version
Major : for entirely new functionalities or major releases, the first two digits of the version is incremented.
Minor : for enhancements, middle two digits are incremented.
Patch : for bug fixes, last two digits are incremented.
Rule resolution algorithm uses version numbers to find the most appropriate single rule instances to execute in a specific
situation.
4. What are the Few rules that are non versioned?
Application, class, rulset. Ruleset version, Access deny, Library.
5. Explain about RuleSet types and the priority given in Rule Resolution?
Application RuleSet is a RuleSet that appears in any of the following form fields:
On the General tab of the application rule referenced in the access group for a requestor (when the current work pool is
part of this application)
(Recursively) On the General tab of a 'parent' application rule, if the Include Parent check box on the General tab of a
'child' application is checked.
In the Local Customization field on the Settings tab of the access group
Production RuleSet is a RuleSet that has the Type field set to Standard (on the Category tab of the RuleSet form) and that
typically has at least one open (not secured) RuleSet Version.
Production RuleSets are listed on the General tab of an application rule and on the Layout tab of the Access Group form.
The application RuleSet does not include rules in RuleSets listed in the Production RuleSets array of the Access tab.

During rule resolution, the system:


First priority given to Production Rulesets. First search the rules in Rulesets available in Production RuleSet.
Next Searches the rules in the Rulesets listed in application Rulesets. first using the topmost RuleSet name and version
on the list, then the next, and so on. Override RuleSet versions (the top layer are searched first; the Pega-RULES RuleSet
is searched last)
Ignores any rule instances that match a RuleSet on the list but contain versions higher than the version on the list.

Availability:
1.

How to change Rule Availability?


To change the availability setting of a rule, click the Availability toolbar button ( ).
We may need to check out the rule first. A dialog box appears.
Select one of five Availability values
Yes, No/Draft Mode, Blocked, Final, Withdrawn.
NOTE:
Class, library, RuleSet Name, and RuleSet version rules are always available. We cannot change the availability of
instances of these rule types.
Rules in an override RuleSet cannot have availability values of Blocked or Withdrawn.

2.

Explain if the Rule Availability is set as YES?


A circle and dot indicates that this rule is available. Rules with a Yes value are visible to rule resolution processing and can be
executed.

3.

Explain if the Rule Availability is set as No/Draft Mode?


An empty circle indicates a rule that is not available. Set the Availability of a rule to No/Draft Mode to cause the rule to become
invisible to the rule resolution algorithm for all users (including ourself), and to bypass validation of non-key fields. The
No/Draft Mode setting is useful in experimentation and troubleshooting to assess the effect of two rule versions.

4.

Explain if Rule Availability is set as Final?


A rule is marked as final, no one can create a second rule with the same visible key in any RuleSet other than the RuleSet
that the first rule belongs to. If the RuleSet version of a final rule is locked, we cannot create a second rule with the same
visible key in any RuleSet.
We can override a final rule through a higher version in the same RuleSet.
Many rules in the Pega-RULES and Pega-ProCom RuleSets are marked Final because correct operation of these rules is
essential to ensure the integrity and security of our system.
Other standard rules have the Available field set to Yes rather than Final we can override those rules in our application.
NOTE:
We cannot use circumstances or time-qualified rules to override a final rule.

5.

Explain if Rule Availability is set as Blocked?


A circle within an X indicates that this rule has Availability set to Blocked. Set the value of this property to Blocked if we want
rule resolution processing to halt (with no rule found) when it encounters this rule. The rule form colors change from greens to
grays.
This is a stronger form of No/Draft, because it affects all lower-numbered versions of the rule, and versions (in other RuleSets)
that are below this version in the user's RuleSet list. A blocked rule does not prevent rule resolution from finding (and running)
higher-numbered versions in the same RuleSet, or finding rules with the same visible key in a different RuleSet that is higher
on the RuleSet list.
NOTE:
Rules in an override RuleSet cannot have availability values of Blocked.

6.

Explain if Rule Availability is set as Withdrawn?


A withdrawn rule is never selected by rule resolution.
Withdrawn rule masks from rule resolution any other rules which meet all of these tests:
The other rule belongs to the same RuleSet
The other rule belongs to the same major version of the RuleSet.
The other rule has the same Applies To class (if relevant and other key parts match)
If circumstance-qualified, is qualified with the same circumstance type and value.
NOTE: Rules in an override RuleSet cannot have availability values of Withdrawn.

7. Diff b/w Blocked and Withdrawn Rules


A blocked rule and a withdrawn rule are both invisible to rule resolution. Similarly, both blocked rules and withdrawn rules prevent
lower-version rules with the same RuleSet and visible key from being selected by rule resolution. However, a blocked rule
may block other rules in any RuleSet, and a blocked rule stops rule resolution from finding rules in higher Applies To
classes. A withdrawn rule affects other rules only in one RuleSet and one Applies To class.
When you skim a RuleSet version that contains a blocked rule, the resulting RuleSet version does not contain the blocked rule or
any rules that the blocked rule blocks. When you skim a RuleSet version that contains a withdrawn rule, the resulting
RuleSet version contains the withdrawn rule.

Decision and Declarative Rules


Decision Rules : These rules belong to the Decision category.
A decision table is a rule defining a series of tests performed on property values to allow an automated decision. Decision table
are instances of the Rule-Declare-DecisionTable rule type.
Decision tables can capture and present business logic in the form of one or more if... then... else conditions.
A decision tree rule defines a series of tests that are performed on property values to allow an automated decision. Decision trees
are instances of the Rule-Declare-DecisionTree rule type.
Decision trees can capture and present business logic in the form of one or more if... then... else conditions.
A map value rule is a rule that converts one or two input values, such as latitude and longitude numbers, into a calculated result
value, such as a city name. The rule uses ranges for the input value or values and a matrix to look up the result.
Map value rules are instances of the Rule-Obj-MapValue rule type. This rule type is part of the Decision category.
When condition rule: When rule defines a true-false test based on comparing on or more property values with constant values or
with other property values. A when condition rule is an instance of the Rule-Obj-When rule type
Declarative Rules
Declare Expression: is an instance of Rule-Declare-Expressions is a declarative processing which defines auto computation of
property values based on expression. This implements Backward Chaining. Declare Expression rules (Rule-Declare-Expressions
rule type)
Backward chaining: is a technique which allows a computation in advance even the input value or parameter is not present. BC
uses Rule-Declare-Expression and Property-Seek-Value method together finds the missing property value by using inter
dependency network such computations are called as Goal Seeking.
Two standard flowactions called VerifyProperty and VerifyPropertyWithListing are examples of Backward Chaining.Backwards
chaining executes Declare Expression rules when a value is needed for a property, rather than when inputs change
The Process of computing the values of one or more dependent properties in order to calculate the value of a property is known as
GOAL SEEK. Currently available for Declare-Expression rules only.
Backwards chaining applies to Declare Expression rules that have a Calculate Value field set to one of the following
When used if no value present
When used, if property is missing
Whenever used
E.g.:- Area= length* Width
Declare OnChange: Rule-Declare-OnChange/ is a declarative processing which automatically run an activity when a value of the
specified property changes. These implements Forward Chaining. Declare OnChange rules (Rule-Declare-OnChange rule type)
Forward Chaining: is an internal technique which automatically finds the changes in one property value to changes in other
property values or indexes.
Forward chaining provides the automatic propagation of changes in one property value to cause recomputations of another
property's value
EX: Area= Length * Width
Volume= Area * Depth
The value of Volume is automatically recomputed whenever there is any change in Length, Width and Depth.For those Declare
Expression rules that have Whenever inputs change in the Calculate Value field, the system creates an internal dependency
network, identifying which properties have values that may depend on which other properties
Declare Trigger: Rule-Declare-Trigger/ is a declarative processing which automatically run an activity when an instance of specific
class are created, updated or deleted in the DB. These implements Forward Chaining. Declare Trigger rules (Rule-Declare-Trigger
rule types)
Declare Constraint: Rule-Declare-Constraint/ is a declarative processing which automatically run validation when a specified
property is touched. This implements Forward Chaining. Constraints rules (Rule-Declare-Constraints rule type).
Declare Index: improve search and reporting access for property. Declare Index rules (Rule-Declare-Index rule type)
Uses of Declarative Rules:

Declarative rules provide the necessary capabilities required necessary for declarative processing

Dynamically retrieve the necessary data for the situation

Reduce the need for complex procedural logic and manual exceptional handling

Makes complex processes significantly easier to automate

Deliver time and cost savings for both BPM and BRM solutions

Declarative Processing
Declarative processing simplifies your application and reduces the number of activities you must create
Dynamic evaluation of properties based on the changes in dependent properties
Checking the state of a property (constraint) automatically based on the changes in dependent properties
Running a specified Activity automatically when the value of a property changes either during processing or upon database commit

VALIDATIONS
Validation rule is used to validate the value against the some other value. Once the validation fails the system add
error message to that field in clipboard.
1. What types of validations are there?
a. Client Side Validations
b. Server Side Validations
2. What are the Methods we have used for validations??
a. Obj-Validate--we can referred this method in Activities and in flow actions at Validate Rule field.
b. Edit-Validate---- we can refer this in property form at edit-validate field and in activities through property-validate method.
Note: I think Obj-Validate is used for Server Side Validation and Edit-Validate is used for Client Side Validation.
3. How do you add custom message to the Property when it fails the Validation.
For this we have to use theProperty.addMessage(your message) tag.
4.

Message is set to the property and the checked in the clipboard also , the messages got set successfully. But the
message is not displayed beside the field in the screen. Why..?
If the property has a html property, the tag <pega:include name =Messages/> tag must be include

Clipboard and Delegation


1. What is a clipboard and how it is organized?
Each connected Proces Commander requestor has an associated temporary memory area on the server known as the clipboard.
.
Clipboard: is a tool used for debugging and troubleshooting aid for application developers. Is an temporary memory area on
server. Its an hierarchy structure consisting of nodes known as pages most of which have a name and an associated class. Pages
act as buffers or temporary copies of object instances (of that class) that are copied from, or may later be stored into, the
PegaRULES database or another database.Pages act as a buffers or temporary copies of object instance that are copied from, or
may later be stored into, the PRPC DB or another DB.
Clipboard tool is used for developing and debugging to:
Examine property values and messages
Quickly create, update, delete and modify pages using Action menu
Quickly execute activities and start flows using action menu
We can find pages and we can Refresh or only refresh current page.
The clipboard contains three broad categories of top-level pages:
1. User Pages
2. Declared pages
3. System managed pages: requestor page, process page, and application pages, Thread page, Operator ID, organization,
orgDivision.
User Page: is a top level clipboard page that an activity creates pages using the methods like Page-New. All the user pages will
appear here once we log off, all the user pages will be removed from the memory i.e. will not be saved to Pega DB.
If your requestor session times out, user pages may be lost, or may be saved for up to 3 days
Thread pagepxThread page is a top level clipboard page known as Thread page. The page has a class of Code-Pega-Thread
Process PagepxProcess page is a top level clipboard page known as Process page. The page has a class of Code-PegaProcess. This page Contains information from the Data-Admin-System instance.
Declare Page-is a clipboard page created by execution of a declare page rules (Rule-Declare-Pages rule type. The name of the
declarative pages start with Declare_. The content of these pages are visible but Read-Only to the requestors. Such pages are
created and updated only through activities identified in a Declare Pages rule.
Declarative pages can improve performance and reduce memory requirement issues when all or many requestors in an
application need to access static information or slowly changing information.
Requestor Page- pxRequestor page is a top level clipboard page known as Requestor page. The page has a class of Code-PegaRequestor. The system creates a page during at login time and contains information about our Access roles, Security, Ruleset list
and HTTP protocol parameters, Work pools available details, workbasket that we can access, connection session, Login Date and
Time details and previous login Date and time details etc.
This page context is useful for troubleshooting and debugging.
Page Context is a property is a pageList or Page Group property reference
property has mode Single Value and appears directly on a page of the Applies To class, or if creating a context-free expression.
2. Explain about Delegating a rule?
A delegated rule is one that appears for a specific group of users so that they may manage these rules outside the development
environment. Delegated rules appear on the My Rules gadget for a single user or for all the users who are associated with a
specific access group.

An application user who has the PegaRULES:WorkMgr4 access role can update the leftmost tab of existing rules that may change
frequently.
Delegation :In addition, a Declare Expression rule can be delegated to business managers who have the
PegaRULES:WorkMgr4 access role. The business managers can see and update only fields on the Expressions tab.
Opening a delegated rule:
From the WorkManager portal, open the Dashboard workspace, locate the My Business Rules area, and click the link that labels
the delegated rule.
From the Developer portal, select View > My Rules > label.
Delegating a rule :To mark a rule as delegated, click the Favourites toolbar button (
box.

) and complete the Delegated Rules dialog

Withdrawing delegation
To cancel the delegation of a rule that is delegated to you:
Using the Developer portal, select Edit > My Rules. Complete the dialog box and click Submit .
Using the WorkManager portal, click the Edit button in the My Business Rules area of the Process Work workspace.
Complete the dialog box and click Submit .
Notes
Delegation of a rule to a user doesn't eliminate the need for that user to hold an appropriate access role and privileges to
check out the rule, modify the rule, and check it back in.

Direct Capture Objectives


Pega defines Direct Capture Of Objectives as a set of Application rules and wizards designed to capture and tie the business
objectives ,project, goals, requirements and usecases to actual implementation.
OverviewPega defines Direct Capture Of Objectives as a set of Application rules and wizards designed to capture and tie the
business objectives, project goals, requirements and use cases to actual implementation.
Pega sees DCO to be a way of maintaining Requirment Tracebility and reduce costs due to rework and fixing bugs created during
the course of fixing some bugs. It ensures accountability because it can check if all the requirements usecases has been met
addressed.

Rule Resolution:
1.

How the system finds rules through rule resolution?


Rule resolution is an internal search algorithm that the system uses to find the best suitable rule to apply in a particular
situation.

Ruletype Name: First rule type is matched.


Class- The search starts at the lowest level of the class hierarchy of the partially-specified rule instance, and works up to the
top (the ultimate base class) gathering all matches on the name found
RuleSet and its Version and Availability- Rule instances are matched against RuleSet list of user and ones not matching
the RuleSet list are excluded

Date & Time range- For time-based rules which are in effect only during specific time interval. System date and time is used
to find those in force. Others are eliminated(the one with soonest end date will be picked).
Circumstance- Circumstance property reference value is compared with the users clipboard value for this property
reference(if defined) , if match is found then that rule is picked and the base unqualified rule is dropped.
Security- Rules are filtered based on the access roles and privileges.
To rules that qualifies the above criteria are picked had the one in lowest in the class hierarchy is executed.

Circumstance
1.

What is Circumstance? How it works?


A circumstance is an optional qualification available for all rules. Using a circumstance allows our application to support
multiple variants of a rule. For example, variations of an ordinary rule instance can be created for different customer status
levels or for different geographic locations.
A circumstance-qualified rule instance (often referred to as a "circumstanced rule") is always based upon an unqualified
rule instance (base rule).
We can circumstance a base rule with a single property and its value, or with multiple properties and their values (called
multivariate circumstancing).
The circumstanced rule is executed during rule resolution if the value of the circumstance property on the rule matches that
property's value on the clipboard at runtime.

2.

How do we create the circumstance-qualified rule?


To create a circumstance-qualified rule, first define an unqualified or base rule instance (with the Circumstance values left
blank).
Then use the toolbar Save As button to create a second rule qualified by a circumstance.
If the original rule has an Applies To class as an initial key part, the circumstance-qualified rule must have the same Applies
To class or a subclass derived from that class.

3.

Explain about single circumstance and multivariate circumstancing?


If we use a single circumstance property, we define the property name and its value directly in the Save As form.
If we use multivariate circumstancing, two rules in the Save As form:
Circumstance Templates (Rule-Circumstance-Template rule type)
Circumstance Definitions (Rule-Circumstance-Definition rule type)

4.

Explain about circumstance template rule?


Circumstance template rule is used to identify properties for multivariate circumstanced rules.

5.

Explain about Circumstance definition rules?


Circumstance definition rules contain a table of values for the properties in circumstance template rules.

USER INTERFACE
A harness rule defines a runtime form that supports application users as they enter, review, update, and resolve work objects.
Harnesses rules support the display of work object forms.
Developers define work object forms through harness rules (Rule-HTML-Harness rule type) and section rules (Rule-HTML-Section
rule type).standard harness forms are New, Perform, Review, Confirm, Reopen, PrintReview
New Support initial entry (creation) of the object.
Perform Support users completion of assignments.
Review Display the work objects in display-only mode, with no fields changeable.
Confirm Accept a text note explaining a user's reasoning about a recently completed assignment.
Reopen Support reopening a previously resolved work object.
PrintReview Support printing of all the fields.
A section is a portion or area of a standard work object form that is incorporated on a harness form. Sections may contain other
sections, informally called subsections.
The appearance, behavior, and contents of a section are defined by a section rule (Rule-HTML-Section rule type). Section rules
are referenced in:
Harness rules
Other section rules
Flow action rules
Paragraph rules with SmartInfo pop-ups
Show-Harness
@baseClass. Show-Harness
It shows the given Harness

Integrators and Connectors:


1.

What are the Integrators worked on?


Integration Services are interfaces between Process Commander and external systems.
These consist of services supplied by Process Commander in response to requests from other systems and connectors,
interfaces initiated by Process Commander.
Integration services category: Service SOAP, Service File
Integration connectors category: Connect SOAP, Connect SQL, Connect File

2.

What is service?
A service is a Process Commander programmatic component that defines and implements an interface between an external
application acting as a client and a Process Commander system acting as a server.
A service is implemented through an instance of one of the rule types below, plus appropriate calling code in the external
client system:
Service SOAP (Rule-Service-SOAP rule type)
Service File (Rule-Service-File rule type)

3.

What is connector?
A connector is a Process Commander programmatic component that defines and implements an interface between a
Process Commander application acting as a client and an external system acting as a server.
A connector is implemented by any of these rule types:
Connect SOAP rules (Rule-Connect-SOAP rule type)
Connect SQL rule (Rule-Connect-SQL rule type)

4.

How to integrate with web services?


a. Using apache axis, create WSDL and jar file.
b. Copy the jar file in application server and deploy it.
c. Copy WSDL file in Service Export Directory.
d. Restart Server.
e. Go to integration wizard.
f. Create connector rules.
g. provide the full path of the WSDL and finish the wizard.
h. Run the generated activity.

About Soap Service


SOAP is an XML based protocol used to exchange information in a disturbed and decentralized environment. Services
implemented using SOAP is often called as web services.
SOAP service is an instance of Rule-Service-SOAP class.
SOAP services generally process service requests synchronously. That is, they immediately perform their requested processing
and return a configured response while the calling application waits. However, you can configure SOAP services to process service
requests asynchronously, which means the service queues the request for asynchronous execution and the calling application calls
back later for the results
Listener
Listener is a PRPC background process that waits for arriving messages in the port.

1.

Listeners are defined by Data objects created as follows:

2.

Email Listener forms: (Data-Admin-Connect-EmailListener class)

3.

File Listeners forms: (Data-Admin-Connect-FileListener class)

4.

JMS Listeners forms: (Data-Admin-Connect-JMSListener class)

5.

MQ Listeners forms: (Data-Admin-Connect-MQListener class)

To debug listener processing, you can use the Tracer to connect to the listener requestor, remote logging, or the System
Management application.

About Connectors
Connector is PRPC components that act as a interface between a PRPC acting as a client and an external system acting as a
Server.
A connector is implemented by any of these ten rule types:
1. Rule-Connect-BPEL
2. Rule-Connect-dotNet
3. Rule-Connect-SOAP
4. Rule-Connect-EJB
5. Rule-Connect-HTTP
6. Rule-Connect-Java
7. Rule-Connect-JSM
8. Rule-Connect-JCA
9. Rule-Connect-MQ
10. Rule-Connect-SQL
Connect-SQL- is a connector rule which is used when any complex SQL queries such as joins or stored procedures to update or
extract information from an external database.
To configure SQL connection to an external database
In an activity use any of the RDB methods- RDB-List, RDB-Open, RDB-Save, RDB-Delete
RDB-Open- is used to retrieve a single record from the external DB and place the retrieved data in the clipboard page as a
property name and values.
RDB-List-- is used to retrieve multiple records from the external DB and place the retrieved results as an embedded pages in a
specified step page of class Code-Pega-List
RDB-Delete- is a method used to delete a row or multiple records from the external DB using SQL. Under Delete Tab of connectSQL rule contains Delete, Truncate, or Drop sql
RDB-SAVE- is used to save the content of the clipboard page into a row of an external database from the external DB. The system
saves the properties on the specified step page to the specified table in the database. This method operates in conjunction with a
Connect SQL rule that contains SQL statements such as INSERT, UPDATE, and CREATE statements on the Save tab
Use the Connect-MQ method to invoke a connector to an external system that uses IBM Web Sphere MQ messaging services.
Connect-SOAP
Use the Connect-Java method to call a public method of an external Java class, using a Rule-Connect-Java rule
Connect-HTTP- Use the Connect-HTTP method to start an HTTP request/response interaction between Process Commander and
the external system identified by a Connect HTTP rule (Rule-Connect-HTTP rule type).
Connect-JMS
Use the Connect-JMS method to send a JMS message to an external system using the Java Message Service application
programmer interface.
Use the Connect-JCA method to communicate through a JCA resource adapter to an external System

SQL (DataBase)
1.

How do we connect to external Data base?


a. Copy the DataBase drivers in to the servers lib folder.
b. Create an instance of Data-Admin-DB-Table.
c. Create a class and do the mapping between table and class.
d. Create Rule-Connect-SQL, write a simple SQL query in it.
e. In an activity use RDB-Open or RDB-List to access this SQL query.

2.

How do we map the External data table and class?


Each database may contain one or more relational (SQL) tables.
Instances of database tables in the Data-Admin-DB-Table class determine which concrete class instances are placed in
which database tables.
Create Data-Admin-DB-Table with Class name (To which class this table map)
In this provide the DataBase name and table name.

3.

Generally RDB methods are used for external database, and Obj methods are used for Internal DataBase. Can they be
used vice versa? if not why?
Do not use Connect SQL rules or RDB methods for the PegaRULES database(s). Because not all properties in the
PegaRULES databases are distinct database columns.
use the Obj- methods, not the RDB- methods, with the PegaRULES database to prevent loss of data.

System Management Applications


The System Management application (SMA) is a Web application that developers can use to monitor and control caches, agents,
listeners, and other processing in your Process Commander system. The URL name is prsysmgmt.
Using the System Management application, you can:
Review the memory used by the Java Virtual Machine on the server.
Review the most recent ServletRequest and HTTPRequest details.
Display the prconfig.xml file.
Access any requestor and view the clipboard, start the Tracer, examine performance statistics, and terminate requestor
processing.

View executing threads and their characteristics.


View, stop, cycle, or restart agents and listeners.
View open JDBC database connections.
View rule cache statistics, and empty the cache.
Force extraction and recompilation of the functions in a library.
Extract and compile one activity rule or model rule.
Start or stop remote logging.
Observe the utilization of requestor pools supporting stateless services.
Review the status of the Java class loader.
Tools > System Management Application

You might also like