Java SE and Java EE applications

Java™ Platform, Standard Edition (Java SE) and Java Platform, Enterprise Edition (Java EE) are platforms widely used for programming application servers in the Java programming language. You can use rule sessions to call Java SE or Java EE applications.

Java SE

Java Platform, Standard Edition (Java SE) is a specification that describes an abstract Java platform. It provides a foundation for building and deploying network-centric enterprise applications that range from the PC desktop computer to the workgroup server. Java SE is implemented by the Java Software Development Kit (SDK).

Rule Execution Server can execute rulesets with 100% Java SE code. Many use cases exist for pure Java SE execution, such as running batches or running rules from a Java Message Service (JMS) provider or non-Java EE Enterprise Service Bus (ESB).

Java EE

Java Platform, Enterprise Edition (Java EE) is based on the Java SE specification. It represents a collaboration between numerous vendors and industry leaders, and provides the infrastructure support for applications.

In the Java EE framework, you add rules at two levels:
  • To the application layer, to manage dynamic business logic and the task flow.
  • To the presentation layer, to customize the page flow and work flow, and to construct custom pages based on the session state.

Java EE is portable and scalable, and supports existing integration and EJB architecture-based components. Java EE simplifies enterprise applications by defining and specifying a complete set of common standard services, such as naming, transaction management, concurrency, security, and database access.

Java EE also defines a container model, which houses and manages instances of Java EE application components. Containers are in turn housed within Java EE servers.

Java SE versus Java EE

The following diagram illustrates Rule Execution Server stacks in Java SE and Java EE:

Shows Rule Execution Server stacks in Java SE and Java EE

When an application requires services such as transaction management, web containers, or security, you can either add the necessary Java extensions to the Java SE platform or change over to a full Java EE application server. For example, Java Management Extensions (JMX) is an extension to manage the lifecycle of the components and services of an application. You can also use JMX from a Java SE application. With the JMX standard, you get the benefit of remote property inspection and manipulation, which is useful for debugging and management.

Restriction: If you choose to work with Java SE, some services are not available. See Before you configure Rule Execution Server on Java SE.

The migration path from a pure Java SE environment to a full Java EE environment is simplified by the Rule Execution Server execution components, which use a unified API. Users with web-tier requirements can develop applications by using a web server and then move, with relatively few code changes, to a full Java EE application server for production. A production server is primarily for administration and quality of service (QoS) capabilities.