Try OpenEdge Now
skip to main content
BPM Events User's Guide
Accessing Java objects and EJB components

Accessing Java objects and EJB components

BPM Events can now access Java objects and Enterprise JavaBean (EJB) components. And you can use Java classes and objects to define BPM Events rules, rule modules and events. You can define the mapping between Java types and BPM Events types and directly use external Java classes—local or remote—for:
*Rule language extension. BPM Events uses a syntax similar to Java to invoke Java methods in their condition and action statements. This makes it possible to extend the rule language with ad-hoc functions and predicates that serve application-specific needs. Libraries of such language extensions are defined, either for general or application-specific purposes. Static type checking (compile time) is supported for methods and their parameters, as well as for object references assigned to variables.
*Object instantiation. BPM Events uses a Java adapter to create Java objects, which have a life-span beyond the rule execution, and references to these objects can be stored in variables (rule scope or module scope). Object instantiation is performed in such bloc statements as functions, rule actions, and initialize and finalize sections.
*Public method invocation and public property access. Java class access is possible in the rule condition, the rule action, and in initialize{} and finalize{} sections of a rule module.
*EJB component invocation. The integration of BPM Events rules and EJB components enable you to use complex Java objects in rules, communicate with an EJB container, invoke both entity and session beans, perform component reference caching, and get results and exceptions.
* Rule language extensions
* Searching class files
* Mixing two separate instance of a class
* EJB component invocation
* Dynamic loading