Development Stack

Building Process Aware Java EE Applications with camunda fox

Activiti and hence camunda fox are very flexible and can be used in numerous different technology stacks or architectures, like Spring, Java EE or even .NET (yes, we have customers doing this :-) ). But if “just” you want to build a solution containing an automated process and you don’t care too much about the used technologies, the Java world with its huge amount of framework and architecture choices is really confusing. To give some guidance, we developed a standard technology stack, which we use not only in our own BPM projects but for customers as well. This stack may be a good starting point for your own application, because we provide a lot of guidance how to develop a process aware application in a very productive way, even if you are not (yet) a Java Enterprise or Activiti Expert. The proposed stack is based on industry accepted standards wherever possible. It contains solutions for

  • BPMN 2.0 business processes,
  • Domain objects, Business logic and persistence and
  • Web User Interfaces.

These are the concrete technical standards our stack is based on:

  • camunda fox (BPMN 2.0)
  • Java Enterprise (Java EE 6)
  • Enterprise Java Beans (EJB 3)
  • Java Persistence API (JPA 2)
  • Context Dependency Injection (CDI)
  • Java Server Faces (JSF 2)
  • JAX-RS (REST)

When to use it?

Using this stack make sense, if you don’t want to integrate camunda fox or Activiti in an already settled architecture, but to set up a completely new application or component. There should be no political or personal objections against this stack in your company (but that is basically true for all bigger technical decisions :-) ). So it is most suited if you don’t care which technology is used and you don’t want to do a few weeks of architecture evaluation and trial and error. Instead you want to make sure that your architecture is based on reasonable decisions, works well in development and production and allows your developers to concentrate on the business requirements to solve in the most productive way. Since or stack is based on BPMN, Java and Java Enterprise Standards, there is no proprietary knowledge required, no vendor lock-in occurs and hence a couple of risks are minimized.

Why Java EE?

Java EE is the industry standard for enterprise applications in Java. In version 6 it is very light-weight, but on the other hand very powerful, since you can build rather complex, distributed, robust and scalable applications with it. Java EE can nowadays solve a lot of different kind of problems (simple Java apps, web applications, SOA environments) with the same programming model, thus investing in these technologies pays off.

So a pre-defined Java EE stack you can start small and easy, but you can scale in any direction later on. Start small, but think big!

How to start?

This depends very much on your level of knowledge on Java EE and Activiti. For developers with less or nor Java EE know how we recommend our training on the full development stack, which can be easily customized as on-site workshop. Especially if you are already experienced in some of the topics included, customizing make sense. Maybe only a normal Activiti training or a workshop is sufficient. Contact us to speak about your needs!

At this moment we do not yet provide a comprehensive documentation of the development stack online, but basically all components are themselves documented pretty good in various sources or books. So for self-study we can just recommend to grab the list of topics and search for examples in the Internet.