Difference between "service" and "script" tasks?
service and script task
All of them are automatic tasks,without humain interaction.
- the service task use a foreign application, unknow from the process (exemple webservice). The process know only the output off the application.
- the script task is built inside the business process engine
End and terminate
For the second question, look at this page:
Terminate will end also the long running activity.
For both questions - in most cases there is no difference between them.
For tasks: Both do the same thing. Maybe there are some differences in implementation (in source code, I never checked that) but both works perfectly for the same purposes.
For end event: When you use normal end event there still can exist some active task in the process (for example when you have parallel paths). When you use "terminate" end event, all other paths will be terminated.