PRPC for Java developers — Concepts and terms |
If you are a Java developer experienced with server applications, this topic can help you learn basic PRPC concepts and terms quickly.
PRPC 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.
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.
The servlets that make up PRPC 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 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.
The PRPC 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 PRPC 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 PRPC saves a clipboard page, the database, key, and many other (non-array) properties each become a database column.
For several rule types, you can review an example of the Java code that PRPC 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:
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 PRPC. Use it on your workstation to edit, search, syntax-check, and format the source code. Then upload the code to the PRPC 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.
The following table may help you relate PRPC terms to similar Java terms. These are analogies, not exact correspondences.
PRPC
|
Rule type |
Similar Java, XML, or
|
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 PRPC Types. |
|
primary page of an activity | this keywordA word that, in certain circumstances, has a specific meaning to PRPC. Keywords are sometimes called "reserved words." |
|
ultimate base class | @baseclass | Object class — topmost class |
Value Group property mode | HashMap
|