Hi Rob and Jan.
Excellent discussion – perfect list of options Rob. I totally agree with everything said here. So I would definitely try to go with option 5 and fall back to option 1 if 5 is impossible or too much effort. In case of JPA/Hibernate the EntityManager should actually do 5 automatically. A ThreadLocal cache would not be rocket science for other cases in my eyes though – but you have to do housekeeping right indeed.
I would only store local copies (e.g. as process variables, e.g. like described in option 2) if it is an explicit business requirements (e.g. access the rating you loaded at the time the customer registered, work on a copy of the customer data until it is merged into the real system after approval, …).
I would never try to do option 3 or 4.
Option 6 is indeed interesting – but I see this completely additional. You might want to store some key data duplicated as process variable for several reasons: Quick access, possibility to easily for them in the process engine and some other good example I forgot at the moment ;-) But be aware that these are copies – best only use immutable data (immutable in terms of business requirements).
I would love to put all these stuff into some well written tutorial – as we discussed that already in detail in our working group – but we are all lacking time at the moment to do :-/ Volunteers for a first draft here on the list??
Cheers
Bernd
Consultant & Evangelist (www.camunda.org/community/team.html)
We are hiring: http://www.camunda.org/community/jobs.html
--
You received this message because you are subscribed to the Google Groups "camunda BPM users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to camunda-bpm-us...@googlegroups.com.
To post to this group, send email to camunda-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/camunda-bpm-users/51831a12-97ea-4034-8293-0dcc6f4cec46%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.