What is Pega?
“Pega is a Business Process Management tool. It is developed on Java and uses OOP and java
concepts. It is a platform which provided a systematic approach to build and deploy process-oriented and rule-based solution and applications. And the big advantage is we don’t have to build the system from the scratch like any conventional programming. It is becoming popular because of that, though most conventional programmers would disagree. And also because of it is agile way, Flexibility, and being extensible.
Advantages of Pega:
The features of this tool for addressing business application is very friendly. In contrast to convectional BPM tools, there is very less complex, technical syntax to manage the modeling processes and barely any hard-coded programming. A expert business user can be trusted to generate a business application from this Pega BPM Tool if desired.
This Pega BPM software suite has feature called “Case Life cycle Management” – which permits any business user to capture and process the flow of in their operations, be it document handling, approvals, decision making, etc. All these tasks can be built into a process flow to automate as much as possible.
The most interesting part about Pega’s BPM suite is its design-once, deploy-anywhere user interface. This saves lot of time and lot of effort is. And there is the capability to hook in business data and also tap on big data to get better decision making in any process flow.
Other advantages include customizability, Very less Coding, adaptability to future needs and Quick Developments.
What is Pega/PRPC?
Pega/PRPC (PegaRULES Process Commander) is a software product created, licensed, and marketed by Pegasystems Inc (PEGA). PRPC is the core component of Pegasystems’s “SmartBPM” suit of BPM (Business Process Management) solutions.
PRPC comes essentially as two discreet entities,
PegaRULES: Core Java-based/Object-Oriented Rules Engine.
Process Commander: Layers of pre-configured rules that provide a solid foundation on which to perform development and customization.
Incorporating both of the following components, PRPC addresses simple to complex business challenges:
BPM Procedural processing through a user-interactive BPM / BPMS (BPM Suite) tool.
BRE Declarative “On-Change” processing through an event-driven tool.
TYPES OF INTEGRATIONS IN PEGA-PRPC
Process Commander offers many approaches, technologies, and facilities collectively known as Integration. They include:
Connector
Service
Internally, these facilities are in the Pega-IntSvcs RuleSet.
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:
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 Data-
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.
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.
Organizational and Specialized Application Layer: The Organizational and Specialized Application Layer represents an organizational application instance. Here we will be implementing the generic application.
Why Pega use? Why not Java?
PRPC is a Java server application. PRPC provides the run-anywhere, inheritance, memory management, multithreading, scalability, and encapsulation benefits of Java to business rules and business process management (BPM) applications. Integrating PRPC with Java EE and EJB applications, JMS, SOAP/XML, and other new technologies is simpler because of its Java foundation.
To create a PRPC application (a set of rules grouped into one or a few Rulesets) business analysts and other developers create and update forms to define the rules, rather than writing Java source code. This approach improves developer productivity, program modularity, and maintainability.
Using rule forms enables less technical people to work with familiar “objects” rather than learn a new language or syntax. When PRPC accesses rules to execute them, it assembles executable Java code.
What are the types of classes?
A class is an instance of the Rule-Obj-Class rule type. There are two types of classes.
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.
What are the super classes present in pega immediate to @baseclass?
There are 12 top level classes which are immediate to @baseclass. They are
Assign, Code, Data, Embed, Histor, Index, Link, Log, Pega, Rule, System, Work.
What is the difference between Work and Data classes?
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.
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.
Name some Obj-Methods in pega?
By using OBJ-Methods, we can fetch the data in to internal data base.
OBJ-OPEN: By using OBJ-Open method, we can fetch single record from the data base by passing primary key value.
OBJ-SAVE: By using OBJ-save method, we can save the data in to data base table.
OBJ-BROWSE: By using OBJ-browse method, we can fetch multiple records from the data base table.
OBJ-DELETE: By using OBJ-delete method, we can delete in to class insistence in a data base table.
What is the difference between Obj-open and Obj-open By-Handle?
Obj-open opens the work object Using Keys Ex: pyID
Both the methods return single instances from data base
Obj-open -By-Handle: It is used to we have the handle to open the object that is “pzInskey” this method will open only one record at a time
How to import rules using pzinskey?
Open the rule, from that pick the pzinskey, go to prdbutil and using the pxinskey export the rule Import that zip file where you want.
What is the difference between forward chaining and backward chaining?
Forward Chaining: Forward chaining is an internal mechanism that provides the automatic propagation of changes in one property value to changes in other property values.
Backward Chaining: PRPC allows a computation to advance even when the value of an input or parameter property is not available.
Difference between Pega Data and Pega RULES DB?
Pega Data: Pega data is the database that contains the data – instances of work-base class. Pega data is used to store data and work instances.
Pega RULES DB: The database that contains the rules — all the instances of concrete classes derived from the Rule- base class — is known as the Pega RULES database.
Difference between OBJ methods and RDB methods?
OBJ methods: At runtime, five methods (Obj-Browse, Obj-Filter, Obj-List, Obj-List-View, and RDB-List), list view rules, and summary view rules use a page of the class Code-Pega-List class as a source of search criteria and to hold output. 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.
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.
What are different types of Obj methods?
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.
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.
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.
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.
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.
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. 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.
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.
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).
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).
Obj-Sort method: Obj-Sort method is used to sort the clipboard pages that are the values of a property of mode Page List.
What are the different types of RDB methods?
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.
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.
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.
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.
What is the difference between Page-Validate and Property-Validate methods?
Page-Validate method is used to validate all the properties present on a page. If a page has embedded pages, this method works recursively to validate all the properties. This method consumes lot of system resources and takes more time. If you want to validate specific properties use Obj-Validate method with Rule-Obj-Validate rule.
Property-Validate method is used to impose restrictions on a property value. Use Edit validate rule along with Property-Validate method to impose restrictions. You can validate multiple properties using Property-Validate method.
What is the difference between work list and work basket?
Work List: Work list contains the tasks assigned to the individual Person.
Work Basket: Work Basket will contain the tasks assigned to the group of individuals in the project.
Difference between Screen flow and Sub flow?
Screen flow: we can traverse back. Best example for screen flow is filling the application form which consists of several pages, each page is dependent on the other pages. If a user is in 6th page and would like traverse to 3 page it is done using screen flows. Thru screen flows we collect all information and this collected information is given to work object finally.
Sub Flow: It is to reduce complexity, here we can’t traverse back.
What is the difference between Call and Branch?
The Call instruction calls 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.
How to call List View from Activities?
Using Obj-List-View method.
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.
Explain about Page-New method, Page-Copy method, Page-Remove method and Page-Set-Messages method?
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.
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.
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.
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.
What is the difference between Edit validate and Edit Input rules?
Edit Validate: Use edit validate rule to validate the property value using java code. Edit validate rules can be used property-validate, Rule-Obj-Validate and Property rules.
Ex: Valid Email Address.
Edit Input: Edit input rules converts user entered data into required format. For example is the user enters date MM/DD/YYYY format, edit input rule coverts this date into DD-MMM-YYYY (required format). Again we need to write java code for this transformation.
What is the difference between decision Table and Decision Tree?
Decision Tree: If you are making decisions on series of data that are different from one branch to the next, use decision tree. Decision Trees are best used for complex if/then/else statements. Decision Trees offer a bit more flexibility when different properties are using for different evaluations.
Decision Table: If you are making decisions against the same data element, use decision table. Decision Tables are used when we need some output based on same property inputs with varying values.
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)
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 these rule types:
Connect SOAP rules (Rule-Connect-SOAP rule type)
Connect SQL rule (Rule-Connect-SQL rule type)
What are the types of log files we have?
Pega logs: these are also called as system logs. Message was created since the server starts recently.
Alert log: it contains only alerts and supports performance related monitoring.
What is the locking concept in PRPC?
Lock should be held on the work object in order to save/update/delete the content in the db.
What is the major difference between the Cover and Folder?
Cover is a work object that are parent to one or more related work objects.
Folder is concrete class that is inherited from work-folder- class. Folder holds the collection of one or more other work objects.
What is the difference between screen flow and process flow?
Screen flow is for UI improvement. While process flow is for business logic execution. So both have diff purpose. In screen flow we can’t create a WO, in process flow we can create a WO. In Screen flow we have next, previous options are available in process flow not available.
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.
Where we will write Java code in pega?
In a few cases, you can enter Java source code directly into rule forms.
Edit Input rules
Function rules
Java in an activity step
Java directive in source HTML
Using hand crafted java is against the pega guard rails. If custom java is written, as situation demanded, it is recommended to run Rule Security Analyzer tool to identify any security vulnerabilities.
How do we connect to external Data base?
Copy the Database drivers in to the servers lib folder.
Create an instance of Data-Admin-DB-Table.
Create a class and do the mapping between table and class.
Create Rule-Connect-SQL, write a simple SQL query in it.
In an activity use RDB-Open or RDB-List to access this SQL query.
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.
What are the different Debugger tools available in Pega?
Tracer, Clipboard, Rules Inspector (Can inspect HTML Rules, Property Rules, Declarative Rules, Field Value Rules, Styles), Trace open rule (Available only for service rule or activity), Log files.
What is AJAX? How we used in Pega?
Asynchronous JavaScript and XML (AJAX) is a Web technology that allows browser-based
applications to communicate with a server without transmitting the entire HTTP input, and to render only parts of the form rather than the entire form.
Using XML and the Document Object Model, AJAX-based software can provide more interactivity to browser-based applications and reduce the traffic between the client (browser) and the server.
What is the difference between HTTP and SOAP?
The HTTP integration interface supports interactions between our Process Commander applications and other systems through Hypertext Transport Protocol.
Using Simple Object Access Protocol (SOAP) over HTTP, the SOAP integration interface in Process commander supports interactions with external systems through Web services. Use SOAP connector rules when our Process Commander applications need to call an external Web service.
How do Pega recognize if the table is internal or external table?
Pega recognizes based on the existence of pxObjClass property in the particular table. If the property exists, it’s an internal table else external table.
What is SMA tool?
SMA stands for System Management Application, is a web application that developers can use to monitor and control cache, agents and other processing in your PRPC system. You can monitor memory management, agent’s management, http service request details, remote logging and webserver/appserver installation details and edit prconfig.xml too
What is the difference between Spinoff, SplitForEach & SplitJoin shapes?
Spinoff: It will be used for asynchronous processing of a sub flow within a main flow. The main flow triggers the sub flow and continues with its processing. It doesn’t wait for the sub flow to complete.
SplitJoin: It will be used for synchronous processing as well as asynchronous processing. Split Join guarantee that “sub flows” of your flow are completed before continuing with the current flow. Choose “Any” or “All”, to resume your main flow. If all is specified, your main flow will resume only when all sub flows are completed. If any is selected, your main flow will resume when any one of the sub flows are completed.
SplitForEach: Split for Each shape is used to send a work object through another flow based on information in the pages of a Page List or Page Group property.
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.
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.
What is 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.
What is the difference between Work group and Access Group?
A work group is an instance of the Data-Admin-Work Group 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-Access Group class. Access groups make a set of RuleSet versions available to requestors.
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 reference or “belongs to” a RuleSet.
What is the difference between harness & section?
Harness: Use Harness rule to define appearance and processing of wok object forms used in Ur app to create WO and process Assignments. Harness rule define the complete forms that support all user interactions that create, update and resolve the WO.
Section: A section rule defines the appearance and contents of the form.
What is AES?
Autonomic Event Services is a process commander application that monitors, retrieves and organize the alert data from one or more clustered process commander system throughout the enterprise. AES provides the charts, reports information about the events.
What are the agents?
Agents are internal background process operating on the server to run an activity. These are asynchronous and independent. These are 2 type rule agent queue, data-agent-queue.
1.What is the work parties in Pega?
2.When you create a section in data layer how to invoke that in work layer?