cancel
Showing results for 
Search instead for 
Did you mean: 

Web service dependencies

esteban_roblesl
Champ in-the-making
Champ in-the-making
Hi,
I'm working on the implementation of the Web service task and we were discussing about how many MB are added because of the dependencies.
The implementation is done using CXF and an example on how Activiti integrates with Mule ESB is also added.
The size of the dependencies of the activiti-engine module is as follows (dev branch):
  • Original size: 13mb

  • With Cxf: 18mb

  • With Cxf and Mule: 35mb
I think that 5mb for adding a web service task is ok but the example with Mule is too much.
What do you think?
Is it ok to move the example to the activiti-examples module?
Is it ok also to add 17mb for the example with Mule?
Cheers,
Esteban
3 REPLIES 3

tombaeyens
Champ in-the-making
Champ in-the-making
this makes it clear to me that we should re-think how we deal with dependencies in our distribution.  while we could consider 5mb for cxf, it is still a lot if you don't need it.  especially since Activiti will grow to include a lot of that type of dependencies.

the current approach is that our download users should only depend on ant.  but more and more this starts to become a problem.  more and more we are duplicating dependency management in the setup ant build files.  maybe we should think about a mechanism where the examples can depend on mvn dependency management.  maybe even analyse if we can include a mvn distro in our own distribution.

let's think a moment about the options/ideas we have and try to list them here.

tombaeyens
Champ in-the-making
Champ in-the-making
First thought: split up the examples into separate maven modules per dependencies.  That would enable us to show more clearly and precise our dependencies to our users: naked pvm examples these deps, engine examples these dependencies, with spring, these dependencies, same for cxf, mule, rules etc

We could document how our downloaders could
1) do a mvn dependency:tree so that they can see the whole tree of transitive dependencies (as in mvn)
2) do a mvn copy to download all the dependencies to a local directory

I am a bit concerned that splitting up the examples into many modules would slow down the developer check build since we have to run that build before every commit.

Also I see an implication for users setting up their eclipse projects based on these poms.  Either they have to install the eclipse-mvn plugin.  Or they have to run some command first to download the libs to some local dir.

We could include mvn distro inside our distro (it's 2.7MB).  That might simplify things.

Still not clear if this is the way to go.  I think we should keep a very close eye to usability from the perspective of the downloader.  From our perspective as Activiti developers, it's easy to overlook the steps and hoops that our users have to go through when they want to try it out and learn about it.

raulvk
Champ in-the-making
Champ in-the-making
Would basing Activiti on an OSGi framework be a solution for building a modular platform? Users would then be able to provision the modules they need for their particular scenario without bloating the initial distribution. Additional modules could be easily downloaded and provisioned in the Activiti kernel via ant scripts, in a Ruby-like gem fashion.

What do you think? I believe work is being done to adapt Activiti to an OSGi module. Will it make it to the 5.0.0GA release?