Have you read the jBPM 5 documentation? I would start there as most of your questions can be answered by reading the documentations.
I red the jbpm and drools documentation...
My main concern is how to supply input to each task not like providing all variables at the start of process in form of Map<String,Object>?
wat is i have two variables with the same name in two different tasks in the process...Will there be any collision? How to differentiate which variable belongs which task?
In scipt executor, can i put any palin java code...Do i need to care anything?
What if app is running in two boxes, Is there any possibility to share session?
What is jbpm session? If application crashes, can i restore that session?