Wednesday, August 10, 2011

PRPC Naming Standards

PegaRULES Process Commander (PRPC) naming standards
Naming Standards
General
· Names should reflect the purpose of the rule and should be self-explanatory.
· Use a patterned naming convention to relate rules.
· Names can only contain letters and numbers.
· Names should be kept short, but not so short that the purpose of the rule is not evident.
· Names should start with capital letters. Words within names should start with capital letters. Acronyms within names should be capitalized. (File names are an exception to this. See below for more information.)
· Keep meaningless verbiage out of rule names, like “Citi”. We all know by now that we are at Citi.
· Except as noted below, names should not include underscores or other special characters. Use the “camel” naming convention where you capitalize the first letter of each word.
· Names of “active” rules such as Activities and Flows should start with a verb indicating the main action of the rule and should generally include a noun or noun phrase indicating what the rule operates on.

· Names of “passive” or “object” rules, such as parameters, properties, work parties, libraries, and roles, should be nouns or noun phrases indicating the use of the rule.
· NEVER create the same exact rule in a different class. If it needs to be in a higher class, move it, don’t copy it.

Rulesets
· Rule Set names should start with Name-Application Name. For Instance
o CitiRules :01-01-01
· Do not name a ruleset starting with Pega-.

Classes
· Top level classes Citi- contains all the Reusable components which extends @baseclass which is in CitiRules Rule Set
· All classes extend Citi-. For instance: Citi-Card-.
· Do not name a class starting with Pega-.
· Class names should follow the capitalization standards above. Class names should be nouns or noun phrases describing the use of the class. The names of abstract classes should end with a dash. Class names should not contain underscores.
· Names should support pattern inheritance as well as directed inheritance.
· Abstract class names should end with a dash.
· Subclasses should include the names of all parent classes to support pattern inheritance.

Activities
In general, these names should start with a verb indicating what the activity does. Most of these names should also contain a noun or noun phrase indicating what the activity operates on. For instance:
Create, Delete – Tolerable, but too generic
CreateClassPage, GetHTMLFilePath, AddPageIndex– Good
Toolbar_ChangeAvailability – Good; demonstrates leading functional group name
HarnessShow – Bad. Doesn’t start with verb.
New – Bad. Not a verb; provides insufficient information.
AllCompleted – Bad. Describes how you got to the activity, not what it does.


Flow Actions
Names of FlowActions (and associated HTML) should start with “Action”.

Validation Rules
· Start with “Validate”.

· Names of activities of type Rule-Obj-Validate should start with “On” and describe the situation in which the validation occurs, e.g., “OnAdd”, “OnRuleSave”.
· Validation rules should not require on-going maintenance. For instance, if you want to validate a property against a list of possible values and new values may be added frequently. A validation rule is not the best solution because of this on-going maintenance.

Routing Activities
· Router activities should start with “To” and end in a noun phrase indicating the route destination, e.g., “ToWorkbasket”.

Functions
· Names of functions (Rule-Utility-Function) should follow Java naming standards (initial lower case, then mixed case), since they are actually Java functions.

Properties
· Property names should be nouns or noun phrases that describe the property. Names of lists (StringList, PageList) should end in “List”. Names of groups (StringGroup, PageGroup) should end in “Group”.
· Property names defined by Pega are prefixed with “px”, “py”, or “pz”.
· User-defined property names must not start with these prefixes.
· Use Single-word, meaningful names with significant letters in uppercase.
· Choose similar names for related properties.
· Don’t use same property name to represent different things in different classes.

Models
· Model should usually be named pyDefault if you want to be able to utilize the models of super-classes.
· If you are not using pyDefault, make sure the name you choose is meaningful and describes the purpose.

Flows
· Flow names should describe the overall purpose of the flow. Follow general naming guidelines defined above.

Whens
· Rule-Obj-When instances should have names that could logically follow the word “when”. For instance:
a. IsBlank, StepStatusGood, NotThisClass – Good. Each of these makes sense after “when”.
b. AdministratorID, Unlock – Bad. Meaning unclear in the context of “when”.
c. WhenZero – Bad. “IsZero” would be better.

Files
· Files under Rule-File- should be all lowercase. (This avoids confusion between systems like Unix that have case-sensitive filenames and systems like Windows that don’t.) It is recommended that names of files used for related functions begin with the same prefix characters so that they will be grouped together in listings.

HTML Streams
· Stream names should be nouns or noun phrases that indicate the main data displayed by the stream. If possible, this name should relate to the name of the activity, action, etc., that displays the stream.

Tickets
· Ticket names should describe the condition to be met before processing continues from the ticket. For example:
a. AllCoveredResolved
b. WorkWithdrawn

MQ Connector Rules
· MQ Connect rules should always start with “MQ”. Otherwise, follow general naming guidelines above.

Monday, July 4, 2011

Property modes

Types of Property modes

SNO

Property Type

Description

1

Single Value

Single Value properties can contain a single text string value. Text, numbers, dates, Boolean values, and amounts are stored in Single Value mode properties

2

Value List

Value List property can contain an ordered list of single values.

If you create a Value List property named EmployeeName, you can use it to hold a list of values. For example, you can use an activity or an HTML form to set EmployeeName (1) to John and EmployeeName (2) to Jack.

After setting these values, the EmployeeName Value List contains EmployeeName (1) and EmployeeName (2).

3

Value Group

Value Group property can contain an unordered group of single values.

If you create a Value Group property named Marks, you can use it to hold a group of values. For example, you can use an activity or an HTML form to set Marks(John) to 50 and Marks(Jack) to 80. Marks(John) and Marks(Jack) become elements of the Marks Value Group.

4

Page

Page property can contain an embedded page as its value.

For example, a Page mode property named EmployeeDetails can contain information about the employee, such as the Employee name, account number, and so on.

5

Page List

Page List property can contain an ordered list of embedded pages.

For example, a Page List property named Contacts can contain the pages Contact (1), Contact (2), Contact (3), and so on.

6

Page Group

Page Group property can contain an unordered group of embedded pages.

For example, the standard Page Group property named Work-.pyWorkParty can contain pyWorkParty (Employee), pyWorkParty (Manager), pyWorkParty (Staff), and so on.

7

Java Object

Java Object property mode indicates that this property holds on the clipboard a reference to an instance of a Java object.

8

Java Object List

Select Java Object List to indicate that this property can contain an array of references to instances of Java objects. The first element in the array is identified by the 1 subscript, not the 0 subscript.

9

Java Object Group

Select Java Object Group to indicate that this property can contain an unordered group of references to instances of Java objects.

10

Java Property

Select Java Property to indicate that this property represents a single property of a Java class that defines an external Java object.

11

Java Property List

Select Java Property List to indicate that this property represents an array property of a Java class that defines an external Java object.

What is Property?

What is a Property?

Property provides labels or addresses for values that can be associated with a class

Property is a type of rule, an instance of the Rule-Obj-Property rule type

Properties are defined in Work class hierarchy to hold data

For instances contained in the database, a property corresponds to a database column.

The term property also applies to the labels for values contained in most clipboard pages.


In process commander properties are of two types

1. Single Value Properties: Properties that has single text string value

2. Aggregate Properties:

· A property of mode Page, Page List, Page Group , Value List or Value Group is known as an aggregate property

Aggregate properties provide facilities similar to arrays, repeating groups, and unordered sets or collections found in other development tools

Wednesday, June 22, 2011

Pega Partners around the world

These are the Pega Partners

Pega Partners

Structure

Advantages of BPM

BPM Advantages

a. Easy and fast to create and very fast to modify

b. Notice Delays occur, at which stage a transaction is stuck

c. Provides work flow control

d. Reduces operational and maintenance costs

e. Provides performance measurement

f. Helps in decision making

What is BPM?

1.1 What is BPM?

Business Process Management is a business management methodology, which objective is to improve productivity and organizational effectiveness through the optimization of business processes.

A Business process is a collection of activities and tasks that produce something of value to organization or its customers.

BPM is a set of tools and services that support human and application interaction with business process.

The basic idea is to manage, in a unified manner, processes, people and information for all activities of the company.

Tuesday, June 14, 2011

What’s new in PRPC V6.1 Service Pack 2 ?

What’s new in PRPC V6.1 Service Pack 2 ?

PRPC V6.1 Service Pack 2 is introduced in October, 2010 which has many enhancements in the following areas:

  • * Platform and performance
  • * Supporting the business analyst
  • * Enhanced reporting capabilities
  • * Case Management
  • * Integration
  • * User Interface
  • * System Management

Platform and Performance

· You can install SP2 on IBM’s zSeries mainframes using x/OS DB2 for the database and WebSphere 6.X as the application server.

· The standard composite portals Manager and User are tested and supported for use with Google’s Chrome browser, versions 5 and 6. With appropriate care, applications you build can also operate correctly using the Chrome browser. (Firefox and Safari remain additional browser choices for application users.)

· You can use Microsoft Office 2010 programs with SP2, including Visio 2010, Word 2010, and Excel 2010.

SP2 offers improved performance in multiple areas, including rule assembly, database access, and client UI operations.

Supporting the business analyst

A new portal supports the distinctive needs of business analysts, providing a focused alternative to the Designer Studio. The portal provides access to the Discovery map, use cases, and Key performance indicators.

Enhanced reporting capabilities

· A report can select rows based on comparisons of two property values, such as “UpdateDate is greater than DueDate”.

· When selecting columns for a report, you can include fields from joined abstract classes.

· Categories and shortcuts are rule types, and so can be migrated as part of an application ZIP archive.

Most of the new features are available to managers (as well as developers), through the Report Browser and Report Viewer, rather than only through the rule form. New help topics are available to managers using the Report Browser or Report Viewer.

Eighty new standard function alias rules reduce the need for custom-crafted “getContent” activities that select, sort, or compute values for reports. Many involve date computations, such as “within the last month”. IN addition to these standard function alias rules, you can crate custom function alias rules as needed for SQL calculations.

You can present, in a report, data from multiple classes through multiple joins that form a cascade.

Case Management Support

Extensive new facilities for both developers and users extend Process Commander’s suitability for managing large, complex cases.

Integration

Optionally, your application can connect to an external content management system such as Alfresco, or any other enterprise content management system that supports the Content Management interoperability Services standard maintained by OASIS.

You can choose to save and access file-type work object attachments, in the content management system, rather than in the PegaRULES database.

Connect HTTP rules now support binary MME attachments.


When the system sends outbound email, if the connection to the email server fails, messages are automatically queued for resending later. No configuration changes are needed.

SP2 provides initial support for the Java Specification Request 286 portlet standards.

User Interface

SP2 introduces auto-generated HTML Properties (now known as controls). These make it easier to find and configure controls, will support smoother application upgrades, and provide a unified model for events/actions, and improved runtime performance.

System Management

A new Application Packaging wizard prompts you to identify and select not only the RuleSets that make up an application, but the important data objects such as access groups, workbaskets, and database table records.

Tuesday, June 7, 2011

Performance and Security Alerts in PRPC

Performance Alerts

Alert

Category

PEGA0001 - HTTP interaction time exceeds limit

Browser Time

PEGA0002 - Commit operation time exceeds limit

DB Commit Time

PEGA0003 - Rollback operation time exceeds limit

DB Rollback Time

PEGA0004 - Quantity of data received by database query exceeds limit

DB Bytes Read

PEGA0005 - Query time exceeds limit

DB Time

PEGA0006 - Update operation time exceeds limit

DB Time

PEGA0007 - Database operation time exceeds limit

DB Time

PEGA0008 - PegaRULES engine started

PRPC Started

PEGA0009 - PegaRULES engine failed to start

PRPC Failed Start

PEGA0010 - Agent processing disabled

Agent Disabled

PEGA0011 - Total request time exceeds limit

Service Total Time

PEGA0012 - Outbound mapping time exceeds limit

Service Mapping Time

PEGA0013 - Activity interaction time exceeds limit

Service Activity Time

PEGA0014 - Inbound mapping time exceeds limit

Service Interaction Time

PEGA0015 - Data parsing time exceeds limit

Service Parse Time

PEGA0016 - Cache reduced to target size

Cache Reduced

PEGA0017 - Cache exceeds limit

Cache Force Reduced

PEGA0018 - Number of PRThreads exceeds limit

PRThreads Limit

PEGA0019 - Long-running requestor detected

Long Requestor Time

PEGA0020 - Total connect interaction time exceeds limit

Connect Total Time

PEGA0021 - Clipboard memory for declarative pages exceeds limit

Declarative Page Memory

PEGA0022 - Rule cache has been disabled

Rule Cache Disabled

PEGA0023 - Rule cache has been enabled

Rule Cache Enabled

PEGA0024 - Time to load declarative network time exceeds limit

Loading Declarative Network

PEGA0025 - Performing list with blob due to non-exposed columns

Reading Blob Need Columns

PEGA0026 - Time to connect to database exceeds limit

Acquire DB Connection

PEGA0027 - Number of rows exceeds database list limit

DB List Rows

PEGA0028 - GC cannot reclaim memory from memory pools

Memory Pool Collection

PEGA0029 - HTML stream size exceeds limit

HTML Stream Size

PEGA0030 - The number of requestors for the system exceeds limit

Requestor Limit

PEGA0031 - Generated stream overwritten and not sent to client

Stream Overwritten

PEGA0032 - Rule change invalidated the specified threshold of entries in the Rule Assembly cache

Invalidated Rules

PEGA0033 - Database query length has exceeded a specified threshold

DB Query Length

PEGA0034 - The number of declare indexes from a single interaction exceeds a threshold

Declare Index

PEGA0035 - A Page List property has a number of elements that exceed a threshold

Clipboard List Size

PEGA0036 - PegaRULES engine intentionally shut down

PRPC Shutdown

PEGA0037 - Rule assembly time exceeded threshold

Rule Assembly Time

PEGA0038 - The wait time for rule assembly cache access exceeds a threshold

Cache Find Synch Time

PEGA0039 - The size of a BLOB column read exceeds a threshold

Blob Size Read

PEGA0040 - BLOB size written to the database exceeds a threshold

Blob Size Written

PEGA0041 - Work object written to the pr_other table

Work Object PR_OTHER


Security Alerts