Back Forward Process Commander for Java developers — Concepts and terms

Concepts and terms

 zzz Show all 

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

 zzzProcess Commander is based on Java

Process Commander 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.

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

The servlets that make up Process Commander 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 Process Commander 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 Process Commander accesses rules to execute them, it assembles executable Java code.

The Process Commander 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 Process Commander 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 Process Commander saves a clipboard page, the database, key, and many other (non-array) properties each become a database column.

 zzzYou can see or enter Java source code in several places

For several rule types, you can review an example of the Java code that Process Commander generates after you save a form, by clicking the Show Java toolbar button (Show Java). (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 Table rules
About Decision Tree rules
About Edit Input rules
About Edit Validate rules

About Flow rules
About Flow Action rules
About Harness rules

About HTML rules
About HTML Fragment rules
About HTML Property rules
About Model rules
About Map Value rules
About Parse XML rules
About Section rules
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 Process Commander. Use it on your workstation to edit, search, syntax-check, and format the source code. Then upload the code to the Process Commander 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 Pega Developer Network article PDNPRKB-17592 Reviewing generated Java code.

 zzzRelating Java terms to Process Commander terms

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

Process
Commander
term

Rule type

Similar Java, XML, or
database concepts

expressions - Java expressions
models 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 Rule-Declare-DecisionTree nested if statement
Type for Value mode properties   primitive data types.
Most Java primitive data types are available as Process Commander 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
Examples — Using inline Java and PublicAPI facilities

UpConcepts