AnsweredAssumed Answered

Maven Multi Module Project and Generating Bar Archives?

Question asked by mxc4 on Oct 27, 2012
Latest reply on Oct 29, 2012 by mxc4
Hi all,

I am new to Activiti and trying to figure out how to include it in our build process. We tend to use a layered approach to our architecture with your typical model/DAL layer, service Layer and UI layer.

We don't want the UI layer to access the activiti engine directly but to do so through our service layer. The service layer will be responsible for locating the various process definition modules and deploying them into the embedded activiti engine. Each of the process will be defined in a different module. although each module may contain multiple process definitions. i.e logical grouping of process definitions.

The process definition modules will exists just above the model/dal layer in case they need to access any domain specific model objects. So in maven we have a parent project and then modules as follows

DAL Module
Process Module
Service Module
UI Module

The question I have is how do we get the process definitions as dependencies in the service module? I have tried just adding the jar file as a dependency but keep getting file not found errors when trying to load the xml files. I checked the jar archive produced by maven and it does not include any process definition files.

I can get a BAR archive produced by clicking "create deployment artefacts" but how do I do this from within maven? So how do I get maven to produce the BAR files and how do I include them my service layer as dependencies? Should I just define the jar creation process to include the bpmn diagramme files in my generated jar files and then just use an approach similar to the unit test code generated by the activiti eclipse plugin?

I am not sure what the typical design is for using activiti in projects i.e embedded or standalone/central server used by multiple applications. How do people integrate this into their build process?

I know it will depend on your requirements but to start with I would just like to use an embedded approach.