Your SlideShare is downloading. ×
0
jBPM Community Day: Full Scale STP With jBPM
jBPM Community Day: Full Scale STP With jBPM
jBPM Community Day: Full Scale STP With jBPM
jBPM Community Day: Full Scale STP With jBPM
jBPM Community Day: Full Scale STP With jBPM
jBPM Community Day: Full Scale STP With jBPM
jBPM Community Day: Full Scale STP With jBPM
jBPM Community Day: Full Scale STP With jBPM
jBPM Community Day: Full Scale STP With jBPM
jBPM Community Day: Full Scale STP With jBPM
jBPM Community Day: Full Scale STP With jBPM
jBPM Community Day: Full Scale STP With jBPM
jBPM Community Day: Full Scale STP With jBPM
jBPM Community Day: Full Scale STP With jBPM
jBPM Community Day: Full Scale STP With jBPM
jBPM Community Day: Full Scale STP With jBPM
jBPM Community Day: Full Scale STP With jBPM
jBPM Community Day: Full Scale STP With jBPM
jBPM Community Day: Full Scale STP With jBPM
jBPM Community Day: Full Scale STP With jBPM
jBPM Community Day: Full Scale STP With jBPM
jBPM Community Day: Full Scale STP With jBPM
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

jBPM Community Day: Full Scale STP With jBPM

1,908

Published on

Use case about how jBPM was used at SNS Bank

Use case about how jBPM was used at SNS Bank

Published in: Economy & Finance, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,908
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
85
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Full Scale STP with jBPM Use case about jBPM at SNS Bank Eric D. Schabell RedHat, Solution Architect Maurice de Château SNS IT, System Specialist (Java) jBPM Community Day – May 8th, Antwerp, Belgium
  • 2. Agenda jBPM Community Day – May 8th, Antwerp, Belgium <ul><li>SNS Bank STP Strategy
  • 3. Current STP Products
  • 4. How does jBPM fit in?
  • 5. 'Legacy' tooling and way of working
  • 6. Current improvements
  • 7. Future directions </li></ul>
  • 8. About SNS Bank jBPM Community Day – May 8th, Antwerp, Belgium <ul><li>4th largest bank in the Netherlands
  • 9. Origin in savings banks
  • 10. Aims mainly at private individuals and small and medium-sized businesses
  • 11. Financial conglomerate with REAAL Insurances since 1997
  • 12. Several sublabels (ASN, BLG, ZwitserLeven) </li></ul>
  • 13. STP Strategy jBPM Community Day – May 8th, Antwerp, Belgium <ul><li>S traight T hrough P rocessing
  • 14. 5 clicks to purchase new products (2010)
  • 15. Central focus: customer experience
  • 16. Transparent, quick and simple
  • 17. Effective and efficient, eliminating handwork
  • 18. Paperless (as much as legally possible) </li></ul>
  • 19. Agenda jBPM Community Day – May 8th, Antwerp, Belgium <ul><li>SNS Bank STP Strategy
  • 20. Current STP Products
  • 21. How does jBPM fit in?
  • 22. 'Legacy' tooling and way of working
  • 23. Current improvements
  • 24. Future directions </li></ul>
  • 25. STP Products jBPM Community Day – May 8th, Antwerp, Belgium <ul><li>Savings accounts ( Jaarsparen, Internetsparen, Maxisparen, Spaarmix, Plussparen )
  • 26. Deposit accounts ( Depositosparen (interest per year or per month), Klimrente, Varivast, Rendementsparen )
  • 27. Service processes ( among others Change of address, Change of contra account, Temporary increase of debit card limit, and many more to follow... ) </li></ul>
  • 28. Agenda jBPM Community Day – May 8th, Antwerp, Belgium <ul><li>SNS Bank STP Strategy
  • 29. Current STP Products
  • 30. How does jBPM fit in?
  • 31. 'Legacy' tooling and way of working
  • 32. Current improvements
  • 33. Future directions </li></ul>
  • 34. Simplified System Overview jBPM Community Day – May 8th, Antwerp, Belgium . . . . . . Customer Administrator DB
  • 35. System Restrictions jBPM Community Day – May 8th, Antwerp, Belgium <ul><li>No ESB
  • 36. No integrated rules engine
  • 37. Some (prominent) back ends don't support transactionality/asynchronicity/events
  • 38. And... </li></ul>
  • 39. Agenda jBPM Community Day – May 8th, Antwerp, Belgium <ul><li>SNS Bank STP Strategy
  • 40. Current STP Products
  • 41. How does jBPM fit in?
  • 42. 'Legacy' tooling and way of working
  • 43. Current improvements
  • 44. Future directions </li></ul>
  • 45. Tooling jBPM Community Day – May 8th, Antwerp, Belgium
  • 46. Tooling jBPM Community Day – May 8th, Antwerp, Belgium
  • 47. Way of working (1) jBPM Community Day – May 8th, Antwerp, Belgium <ul><li>The only node types used: </li><ul><li>Node (for all automated tasks, containing all necessary business logic)
  • 48. Decision
  • 49. Task-node (for the human tasks) </li></ul><li>Synchronous execution </li><ul><li>Entire process runs in the thread it is started with (so no intermediate persisting) </li></ul></ul>
  • 50. Way of working (2) jBPM Community Day – May 8th, Antwerp, Belgium <ul><li>Synchronous scheduler </li><ul><li>Starts a list of process instances one after another, so... </li></ul><li>Java exception handling by using one top-level jBPM exception-handler </li><ul><li>Control is passed to the drop-out application by jumping to a loose task </li></ul><li>Hibernate configured to auto-commit </li></ul>
  • 51. jBPM Community Day – May 8th, Antwerp, Belgium
  • 52. Funny (?) Code Example (1) jBPM Community Day – May 8th, Antwerp, Belgium public class BackendExceptionHandler implements ActionHandler { public void execute(ExecutionContext context) throws Exception { Token token = context.getProcessInstance().getRootToken(); String originatingNode = token.getNode().getName(); if (!BackendExceptionHandler.BACKENDERROR_REDIRECTING_NODE.equals(originatingNode)) { ExecutionContextHelper.setVariable(context, BACKENDERROR_DROPOUT_NODE, token.getNode().getName()); } token.setNode(context.getProcessDefinition().getNode(BACKENDERROR_NODE_NAME)); token.signal(); throw new Exception(&quot;Functional error on back end.&quot;); } }
  • 53. Funny (?) Code Example (2) jBPM Community Day – May 8th, Antwerp, Belgium public class SaveProcessInstanceHandler implements ActionHandler { public void execute(ExecutionContext context) throws Exception { context.getJbpmContext().getConnection().setAutoCommit( false ); context.getJbpmContext().getConnection().commit(); context.getJbpmContext().getConnection().setAutoCommit( true ); // Do something with context and changes will be saved, this call results // in an empty list Remark: not every call to context will result in a DB update. // This one does... context.getJbpmContext().getTaskList(); [further processing...] } }
  • 54. Agenda jBPM Community Day – May 8th, Antwerp, Belgium <ul><li>SNS Bank STP Strategy
  • 55. Current STP Products
  • 56. How does jBPM fit in?
  • 57. 'Legacy' tooling and way of working
  • 58. Current improvements
  • 59. Future directions </li></ul>
  • 60. Improvements jBPM Community Day – May 8th, Antwerp, Belgium <ul><li>Most business logic moved to services </li><ul><li>At most one WS call to a back end
  • 61. Lack of transactionality less of a problem </li></ul><li>“ State Proxy” solution </li><ul><li>Makes the back end calls asynchronous
  • 62. Allows for the use of proper state nodes </li></ul></ul>
  • 63. Agenda jBPM Community Day – May 8th, Antwerp, Belgium <ul><li>SNS Bank STP Strategy
  • 64. Current STP Products
  • 65. How does jBPM fit in?
  • 66. 'Legacy' tooling and way of working
  • 67. Current improvements
  • 68. Future directions </li></ul>
  • 69. Wish List jBPM Community Day – May 8th, Antwerp, Belgium <ul><li>Asynchronous (parallel) scheduling
  • 70. Implementing multi-process solutions
  • 71. Removal of the legacy tooling
  • 72. Upgrade to jBPM 3.2.x
  • 73. Proper use of swimlanes and the possibilities of tasks in the jBPM console </li></ul>
  • 74. Questions? jBPM Community Day – May 8th, Antwerp, Belgium

×