Book Image

OSWorkflow: A guide for Java developers and architects to integrating open-source Business Process Management

Book Image

OSWorkflow: A guide for Java developers and architects to integrating open-source Business Process Management

Overview of this book

OSWorkflow is an open-source workflow engine written entirely in Java with a flexible approach and a technical user-base target. It is released under the Apache License. You can create simple or complex workflows, depending on your needs. You can focus your work on the business logic and rules. No more Petri Net or finite state machine coding! You can integrate OSWorkflow into your application with a minimum of fuss. OSWorkflow provides all of the workflow constructs that you might encounter in real-life processes, such as steps, conditions, loops, splits, joins, roles, etc.This book explains in detail all the various aspects of OSWorkflow, without assuming any prior knowledge of Business Process Management. Real-life examples are used to clarify concepts.
Table of Contents (13 chapters)
OSWorkflow
Credits
About the Author
About the Reviewers
Introduction

Integrating with Spring


In this section we'll discuss the integration of OSWorkflow with the Spring lightweight object container.

Spring is an object container, specifically an Inversion of Control (IoC) container. IoC containers manage their component's dependencies and lifecycle. Component dependencies are managed declaratively via injection. This way each component only knows its dependency interface but not its implementation. The implementation is the one instantiated by the container and set to the component as an interface, so you don't need to create new object dependencies inside your code. This means no more use of the new keyword in Java.

The Object Registry—BeanFactory

Spring uses the concept of a BeanFactory. This BeanFactory is an application-wide registry and manages components. It is responsible for instantiating and injecting objects and their dependencies.

OSWorkflow can be integrated with the Spring container as a bean in the BeanFactory. In this way you can declaratively...