Wednesday, 17 April 2019

Pega PRPC Interview questions

Pega Interview questions


2-3 years of experience can easily get through the interview . Please follow the questions below 


1)      Difference between Edit Validate& Obj-Validate?
Ans: Edit Validate is a rule referred in the definition of a property. This rule is triggered when user modify the value in the UI element mapped to the property. This is also invoked using Page-Validate method in activity.Page-Validate, validates all the page where as the obj-validate validates as per the validate rule( Rule-Obj-Validate)

Obj-validate is a method that can be used in a step of an activity to apply Rule-Obj-Validate rule for the object identified on the step page.

pega-prpc-interview-questions-||

2)      How to call List View from Activities?
Ans: Using Obj-List-View method.

3)      Difference between Forward chaining & Backwardchaining?
Ans: Totally there are 5 declarative rules: Declare Expression, Declare Constraint, Declare Onchange, Declare Index, and Declare TriggerDeclare Expression is the only rule which provides bothForward&Backwardchaining and all other declarative rules by default provide Forward chaining.
Forward chaining in DE is defined for a particular property. The property value is computed and updated on the clipboard “whenever inputs change”. Backward chaining in DE is defined when property value is missing or property value is empty or whenever used.
Backward chaining can be initiated using Property-Seek-Value method in activity. Only DE provides the option to program Backward chaining.

4)      About Connect SOAP? JAR&WSDL?

5)      About Connect SQL? Explain the steps involved?
Ans:   Steps involved: 
1. There needs to be a DB with the particular table.
2. We need to create Database instance in Data-Admin-DB-Name
 3. Create database table instance in Data-Admin-DB-Table
4. Create a service package to hold the Connect-SQL rule.
 5. Create Connect-SQL with required business logic in the respective Open/Save/Delete/Browse tabs.
6.  Use this in activity using RDB methods.

6)      About Declare Expression?
Ans: Declare Expression(DE) is a declarative rule. Declarative rules are never referred from any other rules.  Declare expression provides the option to program backward chaining. No other declarative rule has this capability. The mechanism of Forward or Backward chaining can be specified in the “Change tracking” tab of DE rule. “When ever inputs change” is the only Forward chaining option available. All other options “When used, if no value present”/ “When used, if property is missing”/”Whenever used”/”When applied by a Rule collection” applies to Backward chaining.

7)      Decision rules Vs. Declarative Rules?
Ans: Declarative rules are never referred from any rules. These rules are triggered when the condition specified in the Declarative rules occur. When the value of a property is involved in any of these declarative rules, the system automatically checks using an internal dependency network for other values that are affected and performs other processing as determined by the network. This is known as forward chaining.
Decision rules are referred from Flows, Activities, and Other decision rules. These rules compute the logic specified in the rules and the output is updated accordingly to the clipboard.

8)      How to include Section with in the Section Layoutwithin the Layout?
Ans: Section within other section is possible by simple drag and drop of the section from Layout tab of section rule,and  providing reference to the section properties.Layout within other layout is not possible.
pega-prpc-interview-questions-||

9)      About Flows in our projects?

10)   Flow Types?
Ans:
·          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 item is called a starter flow.
·         A flow that is called by another flow is known as a subprocess; the calling flow is calledparent flow. Processing of a subprocess is synchronous, meaning that the calling flow execution pauses for the duration of the subprocess.

11)   How to create Harness?
an instance of the Rule-HTML-Harness rule type — defines a runtime form. Each harness rule defines the appearance and behavior of a form.

12)   List ViewQuestions? How to create one tab to get List view in a Section?
Ans: ListView is a form of reporting in PRPC,other form being SummaryView and Report Definition. “Embedded?”checkbox needs to be checked to include a Listview into a section.  The default method to pull up the contents of listview is getContent and stored in pyListViewContentPage on clipboard.  The JOIN tab of listview can be used to pull data from multiple related tables. All the required fields for preparation of listview can be mentioned in GET THESE FIELDS section. But the fields to be displayed to the end user should be mentioned in SHOW THESE FIELDS section. Events like Singleclick or Doubleclick can be handled through scripting or activities from EVENT HANDLING section of FORMAT tab. The fields used in CRITERIA section has to be exposed properties.

13)   Difference between ListView and SummaryView?
Ans: ListView provides a simple view of the records(nice interactive and attractive display of report) fetched from the db with fields that are configured in the rule.
Summary View provides a beautiful view of the information fetched from db using pie charts, bar graphs etc.DrillDown Option also

14)   Types of SLA?
Ans: SLA abbreviates to Service Level Agreements. SLA is a rule typically referring to 3 different time intervals(Goal, Deadline, Passed Deadline) that indicate the expected or targeted turnaround time for an assignment to be resolved. SLAs are monitored and detectedby Pega-Procom Agent in PRPC. An initial urgency value can be defined in the definition of the SLA. And time interval specific urgency value can be mentioned at the particular timeline level. The urgency value of the assignment increments accordingly once it reaches the particular time interval. For each time interval, escalation activity can be mentioned, which takes care of the action that needs to be done if the assignment reaches this time interval. Passed Deadline can be looped if the assignment is still not resolved for each occurrence. The no. of times can be mentioned in the definition of the SLA. An SLA can be referred from an assignment or to the complete flow in pyModel(i.e. data transform)

15)   Instead of PYWorkPage what are the remaining Pages?
Ans: Top level pages are UserPages, SystemManagedPages, and DeclaredPages.

16)   About Clipboard?
Ans: Clipboard is a temporary memory area on server assigned by PRPC for each logged in operator. The action tab in the clipboard viewer tool enables user to Create Page, Delete Page, Update Page, Execute ActivityStart Flow, Find properties on clipboard. This action tab is only available for users with clipboardViewerUpdateprivilege.

17)   How to handle the Exceptions?
Ans: Exceptions are handled in activities in Transition area. Method status is stored after each step. Methods update the .pxMethodStatus property with a status such as Good, Warn, or Fail. Often, additional information is stored in the property named pxMethodStatusInfo. Standard When conditions like, StepStatusFail orStepStatusGood etc use the above property to determine the status of the transaction done in the step.  Ticket shape can be used for exception handling in flow.

18)   Difference between Screen Flow& Process Flow?
Ans:
Screen Flow
Process Flow
Screen flow is a flow of screens in a sequence which the user can go back and forth of the screens and modify the inputs and finally submit the form. There will be no automated activities in Screen flow.
Process flow is a mix of human intervention or automated activities.
Screen flows cannot create new work object and hence cannot be used to start an application.
Process flows can be used to create a workobject and can be starter flow.
Limited no. of shapes are available.
Complete set of bpm shapes are available.
Screen flows can have embedded subflows. But normal standard flow cannot be added as subflow and only another screen flow can be added as subflow.
Any process can be a Subprocess in process flow.
Flowactions are mentioned in assignments.
Flowactions are mentioned in connectors.



Fork
Decision
A simple when condition is used for decision making to take appropriate route.
Decision tree or Decision table or Map value are referred for complex decision makingto take appropriate route.
Connectors available are: Always, Status, When, Else
Connectors available are: Status, Else.


19)   About Ticket Shape?
Ans: A ticket shape is just a label and doesn’t define any business logic. But there will be business logic followed by Ticket shape. Ticket shape can be used for exception processing in a flow. Ticket shape can be referred in Activities(using Obj-Set-Ticket method) and Flows.It’s similar to GO TO statement in general programming.

20)   Spinoff Shape Vs. Sub Flow?
Ans: ASpinoff shape is used in a workflow when asynchronous processing of another flow (i.e. subflow) is required. The main flow doesn’t wait for the subflow and simply continues processing. This spinoff flow is required when parallel processing is required to improve the efficiency of the process and staff utilization.
A Subflow is a simple flow which can be embedded in a starter flow. A subflow can be triggered on a current work item or a new work item. A subflow can representa branch to another flow without returning (one or more incoming connectors, no outgoing connectors) or a call to another flow with return (one or more incoming connectors, one or more outgoing connectors).
Processing of a subprocess is synchronous, meaning that the calling flow execution pauses for the duration of the subprocess.

21)   Fork Vs. Decision Shape?
Ans: 

22)   How set Message?
Ans: Messages can be set to a property or a page. Message can be a static value mentioned in quotes directly or through a Field Value rule or Message rule. Message rule can be parameterized also.
Messages can be set in Activity, Constraintsand Validate rules.
Activity: MethodPage-Set-Messages – To set message to the step page.
                 Method Property-Set-Messages – To set message to particular property on step page.
Constraint rule: This is a declarative rule. Based on constraint (i.e. one business condition), a message can be set to a particular property.
Validate rule: Based on a business condition, a message can be set to a particular property.

23)   About Validations?
Ans: Validations in PRPC can be achieved in two ways, Page Validation & Obj Validation using Rule-Edit-Validate&Rule-Obj-Validaterules respectively.
Rule-Edit-Validate rule is referred in a property definition.  This is invoked using Page-Validate method in activity. Page-Validate method in activity invokes all the Rule-Edit-Validate rules on all the properties on the step page. It also triggers constraint rules of all properties. So, it’s an expensive in terms of performance.
Rule-Obj-Validate rule is referred in activity using Obj-Validate method in activity.
Rule-Obj-Validate is referred in Action tab of FlowAction also.

24)   How to validate Properties in flow action?
Ans: Rule-Obj-Validate is referred in Action tab of FlowAction.

25)   What is Model?
Ans: 6.2 onwards model is named as DataTransform.  By convention, a model named pyDefault is available for most standard classes. However, the name pyDefault is not reserved and has no special significance. Generally model is used to set default values to properties that will be applicable throughout the class. Model is referred only in a Flow.  Select the “Call superclass data transform?” checkbox to chain together this data transform and data transforms with the same Name in any of its parent classes. At runtime, the system first performs the actions defined in the highest-level data transform highest.

26)   What arethe different Debugger tools available in Pega?
Ans: 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), Logfiles.

27)   Where we will write Java code in pega?
Ans:  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.

28)   What is correspondence?
Ans: Correspondence in PRPC can be a printed letter, fax, email, or SMS phone text. Printing and faxing is handled by an optional component known as the Correspondence Output Server. A correspondence can be referred from Flow, FlowAction and Activities. Custom Correspondence type can be prepared. Correspondence templates can be made with the properties referring from clipboard. This enables reusability.

29)   Why Pega? Why not Java?
Ans: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.

30)   What are the important readings in PAL?
Ans: Total Elapsed, Total CPU, Total Rules Used, Activity Count,AlertCount, RDBI/O Count.

31)   What is IAC?
Ans: To display the PegaRULES Process Commander (PRPC) application harness on the web page, you include an HTML <DIV ...> element that specifies the PRPC application as a gadget. You also include a JavaScript application on the page, the Pega Gadget Manager (PegaInternetApplicationComposer.js) that supports event handling between the PRPC and the Pega gadgets on the page, and enables communication between multiple gadgets on the same page.
If the client web page is in the same enterprise intranet as the PRPC application, you can configure the Gadget to connect directly to the PRPC application. 

32)   Difference between SpinOff, SplitForEach & SplitJoin shapes?
Ans:SpinOff: It will be used for asynchronous processing of a subflow within a main flow. The main flow triggers the subflow and continues with its processing. It doesn’t wait for the subflow 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. Ifany 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. 

33)   Difference between DeclareContraint &ValidateRule?
Ans: DeclareConstraint need not be referred from any other rule but Validate rule needs to be called to get it triggered. DeclareConstraint support the guard rail of programming declaratively rather programmatically.
ValidateRule defines the validations that are required on a particular property rule. This rule has to be referred from any other rule to come into action.

34)   How many work objects can be created in Production environment?
Ans: ‘n’ number of work objects can be created. That means, the number of work objects is not limited by any parameter in Pega. It’s completed based on the availability of RAM/memory on the server.

35)   Explain the deployment process in production environment?
Ans: A rule of type Rule-Admin-Product (RAP) can be prepared with the required applications and rule sets and rule set versions. This product can be exported to a zip file or jar file. This application zip file will be sent for deployment.
In the production server, PegaButton à Application à Distribution à Import wizard can be used to import the application zip file.

36)   Differences between Connect-SOAP & Connect-HTTP?
Ans: Use 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 your Process Commander applications need to call an external Web service.
Use HTTP connector rules when you want your application to send XML or string data (text) as messages to an external system without the need to comply with messaging standards or protocols like SOAP. 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.       
    pega-prpc-interview-questions-||
37)   What are Declare pages? And what the different modes available?
Ans: Declared pages are instances of Rule-Declare-Page class. These pages on clipboard are used to hold static information that is used and referred by all requestors in the application. This can also be some infrequently changing information. These rules are created only when they are first accessed. Different modes are specified in PageScope field and can be Node, Thread & requestor.

38)   What is Passivation?
Ans: Passivation allows the state of a Java object — such as an entire Process Commander PRThread context, including the clipboard state — to be saved to a file. A later operation, known as activation, restores the object.
PRPC supportstwo types of passivation,
·         Clipboard Page passivation:When all or part of a requestor clipboard is idle for an extended period and available JVM memory is limited, Process Commander automatically saves clipboard pages in a disk file on the server. This frees up JVM memory
·         HTTP Session passivation:Optional HTTP session passivation can help provide high availability in a multinode environment. If a node fails, activation of the session can usually continue on a different node.

39)   Which feature of Pega supports Two Phase Commit?
Ans: Two phase commit is the term used for distributed transaction. If your Process Commander application must participate in distributedtransactions (in simple language, this means, One PRPC  app writing to two completely different data sources using different db driver and setup), Process Commander must be deployed as an enterpriseapplication and your system is configured to use a JDBC driver withXA support.
There are two ways for Two Phase Commit:Bean Managed, Container managed.
·         Bean Managed: Bean-managed transactions are those for which Process Commander directlyuses the Java Transaction API (JTA) to begin, commit, or roll back changes. I.e., Process Commander manages the transaction.
·         Container managed:Container-managed transactions are those for which Process Commanderparticipates as one resource in a distributed transaction. When transactions are container-managed, they are committed orrolled back by the J2EE application server – the container

40)   What is Vulnerability?
Ans: One type of vulnerability is, whenever handcrafted java is used, we need to run Rule Security Analyzer tool to check for any security vulnerabilities.  

41)   What is rule restriction? Asked this question with an example of Framework layer and implementation layer.
Ans: This can be achieved using Access-Deny rule type. Use an Access Deny rule to restrict users who have a specified access role from accessing instances of specific classes under certain conditions.

42)   Difference between Framework layer & Enterprise layer?

43)   When we use Java method is activities, Preflight throws a warning for guardrail violation. So, client may be unhappy seeing the warnings. What can be done in this situation?
Ans: Preflight throws warnings if any of the guardrails are violated. In this case, you can justify why this particular warning is unavoidable using the Justify warning link in the rule itself(besides the warning).

44)   How many requestor types are available?
Ans: BROWSER, BATCH, PORTAL, APPLICATION

45)   How can you see what other users are doing on their Pega sessions?
Ans: Remote tracer can be used to watch the Pega session activities of other users. This feature is available in Tracer window only.  Remote tracing is also possible from SMA.

46)   What are the different types of tools available inPega? 
Ans: Move Rules Tool, SMA Tool, PAL, Tracer, Guardrails, Clipboard Viewer, StyleViewer, Rule Security Analyzer.

47)   What is SMA tool?
Ans: 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, webserver/appserver installation details and edit prconfig.xml too.

pega-prpc-interview-questions-||


Please leave your comments below to help me improve my content. 



No comments:

Post a Comment