That is perfect fit for jBPM which is lightweight process engine with isolated human task service (which could run in embedded mode as well). So in general there are quite few options for you:
- you could completely embed jbpm into you application
- you could expose jbpm as service makes calls to it from your application
- use default setup with console which exposes basic functionality over REST interface
So as you can see there are possibilities to achieve what you described and examples given above is just a start. It all depends on your requirements. From technology point of view there is no limitation (at least that I am aware of). Of course in embedded mode you have to use Java :)
HTH