You are here: Designer Studio > Basic concepts > Guidance for Java developers

Pega 7 for Java developers — Concepts and terms

If you are a Java developer experienced with server applications, this topic can help you learn basic Pega 7 concepts and terms quickly.

Pega 7 is based on Java

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

The Pega 7 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 7 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 7 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 7 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 runtime, as additional rules may 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 Summary View rules
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 7 . Use it on your workstation to edit, search, syntax-check, and format the source code. Then upload the code to the Pega 7 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 7 terms

The following table may help you relate Pega 7 terms to similar Java terms. These are analogies, not exact correspondences.

Pega 7
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 7 Types.
primary page of an activity   this keyword
ultimate base class @baseclass Object class — topmost class
Value Group property mode   HashMap
Definitions model-view-controller pattern, PublicAPI, RuleSet Name, rule resolution, services oriented architecture, Technical category, type, Virtual File interface
Related topics How rule resolution works
How to set up a Java development environment

Using existing Java code — A comparison of design alternatives

UpConcepts