# Proxy Abstract Services and dynamic composition: create services using abstract classes and annotations without providing any implementation.
# Annotation inheritance, create your customs annotations from the corea annotations.
# Compose your service workflows graphically using the jBPM native support.
# Implement services using Java or Ruby.
# 100% Annotation based configuration (plus .properties files for externalization).
# Can be used as a standalone container, in a web environment or integrated with other containers.
# Spring native support (Spring/Spring MVC).
# Testing support integrated within the framework using static Assert classes.
# Monitor and manage the services through JMX (status, start, stop...).
# Spring native support (Spring/Spring MVC).
# Maven plugin.
# Several embedded services are provided out of the box and ready to use.
Business process management (BPM) – while also its own independent practice / school of thought – is an application of technology that is served by many products, not the least of which is jBPM. The best definition of BPM that I've found is: "Business Process Management (BPM) is the concept of shepherding work items through a multi-step process. The items are identified and tracked as they move through each step, with either specified people or applications processing the information. The process flow is determined by process logic and the applications (or processes) play virtually no role in determining where the messages are sent.".