Concepts and terminology for Java developers

If you are a Java developer experienced with server applications, this information can help you learn about basic concepts and terminology.

Pega Platform is a Java server application. It employs a standard relational database hosted by Oracle, IBM DB2, or Microsoft SQL Server to store rules, data, and other persistent objects.

Pega Platform provides the run-anywhere, inheritance, memory management, multithreading, scalability, and encapsulation benefits of Java to business rules and business process management (BPM) applications. Integrating Pega Platform with Java EE and EJB applications, JMS, SOAP/XML, and other new technologies is simpler because of its Java foundation.

The servlets that make up Pega Platform are designed to run with the Apache Tomcat servlet implementation or with commercial Web application servers such as IBM WebSphere and Oracle WebLogic (formerly BEA Systems). Consult other documents for exact platform, database, and server support.

To create an 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 Pega Platform accesses rules to execute them, it assembles executable Java code.

The clipboard is a hierarchically structured temporary Java object for holding and naming property values for a user session. The clipboard data structure is known as a page, which can contain embedded pages that in turn may contain embedded pages. Names of properties on the clipboard use the page names as prefixes, following Java dot notation conventions, such as:

MortgageApplication.Signer(2).Address(3).StateCode

Property values on the clipboard are UNICODE-based Java objects. When Pega Platform sends a Single Value property (corresponding to the java.lang.String class) using HTTP, the value is transmitted using the UTF-8 character encoding. When Pega Platform saves a clipboard page, the database, key, and many other (non-array) properties each become a database column.

You can see or enter Java source code in several places

For several rule types, you can review an example of the Java code that Pega Platform generates after you save a form by clicking View Java from the Actions menu. (This generated Java is not exactly the Java that is compiled and executed at run time, as additional rules might be inlined to improve performance.) Such generated Java source code is read-only.

See:

About Activity rules

About Access When rules

About Case Match rules

About Correspondence rules

About Correspondence Fragment

rules

About Declare Expressions rules

About Declare Trigger rules

About Decision Tables

About Decision Trees

About Edit Input rules

About Edit Validate rules

About Flows

About Flow Actions

About Harnesses

About HTML rules

About HTML Fragment rules

About Control rules

About Data Transforms

About Map Values

About Parse XML rules

About Sections

About Validation rules

About When Condition rules

About XML rules

In a few cases, you can enter Java source code directly into rule forms. See:

To speed your Java entry, you can register your preferred Java IDE and editor with Pega Platform . Use it on your workstation to edit, search, syntax-check, and format the source code. Then, upload the code to the Pega Platform server as part of a rule. See How to set up a Java development environment.

Like the system-generated Java, your Java code can call on a large documented Application Programmer Interface known as the PublicAPI.

For more information about generated Java, see the PDN article Reviewing generated Java code.

Relating Java terms to Pega Platform terms

The following table provides related Pega Platform terms to similar Java terms.

Pega Platform term

Rule type

Similar Java, XML, or database concepts

expressions - Java expressions
data transforms Rule-Obj-Model initializers, constructors
activities Rule-Obj-Activity public Java instance methods with a void return type
method Rule-Method system-supplied stored procedure
properties Rule-Obj-Property instance variables
Single Value property Java String object
rule resolution inheritance
property of mode Page List repeating group
overridden rule overloaded method
When condition rule Rule-Obj-When if statement
decision tree Rule-Declare-DecisionTree nested if statement
Type for Value mode properties primitive data types. Most Java primitive data types are available as Pega Platform Types.
primary page of an activity this keyword
ultimate base class @baseclass Object class — topmost class
Value Group property mode HashMap