In2flow: solving your BPM human task problems?!<br />Arnoud Wolfard<br />Developer SNS Bank<br />
Agenda<br />SNS Bank -> IT uitdagingen<br />BPM Architectuur<br />Historie<br />- UitvalApplicatie<br />- Tekortkomingen<b...
SNS Bank – Visie en Vlag<br />SNS Bank bedient haar klanten via internet <br />en met mobiele adviseurs<br />In 2010 moete...
SNS Bank – Visie en Vlag<br />De IT uitdagingen:<br /><ul><li> Internet
 Automatiseren van de bankkantoor handelingen</li></li></ul><li>SNS Bank – Relatief kleine bank<br />Balans totalen 2009<b...
SNS Bank – Relatief kleine bank<br />De IT uitdaging:<br /><ul><li> IT kosten beheersbaar houden</li></li></ul><li>Antwoor...
 Workflow management</li></li></ul><li>BPM Architectuur<br />Uitval Applicatie/<br />In2flow<br />BOM/<br />SOAL<br />KIS<...
Uitvalapplicatie<br /><ul><li> Voorloper In2Flow
 Aanvraag gedreven
 Gebaseerd op een generiek aanvraagmodel</li></li></ul><li>Uitvalapplicatie – Screen shot<br />
Uitvalapplicatie – Screen shot<br />
Uitvalapplicatie – Scary picture<br />
Uitvalapplicatie – Scary picture<br />
Uitvalapplicatie – Scary picture<br />
Uitvalapplicatie – Knelpunten<br /><ul><li> Monoliet
 Business wilde andere manier van werken
 Performance issues i.v.m. aanvraagmodel
 Onnodig groot complex model
(J)BPM Schaduwboekhouding</li></li></ul><li>In2Flow - Opdracht<br />Maak een webapplicatie waarmee gebruikers<br />op een ...
In2Flow<br /><ul><li>JBossApplication Server (EAP 4.3)
 JBPM 3.2.8 SOA
 JSF 1.2
 RichFaces 3.3
Seam 2.0.2
Facelets 1.1.15
Scannotation 1.0.2
JBossCache 1.4.1</li></li></ul><li>In2Flow – Screen shots<br />
In2Flow – Screen shots<br />
In2Flow – Screen shots<br />
In2Flow – Screen shots<br />
In2Flow – Screen shots<br />
In2Flow – Modulair ontwerp<br />In2Flow bestaat uit 1 hoofdmodule waarin<br />taakmodules dynamisch(at runtime) kunnen<br ...
In2Flow – Modulair ontwerp<br />Voordelen:<br /><ul><li> Doorbreken monoliet
 Parallelle ontwikkeling eenvoudiger
 Minder integratietesten
Upcoming SlideShare
Loading in …5
×

In2Flow – solving your BPM human task problems!

1,837 views

Published on

Presentation given at JFall 2010 (Dutch Java User Group).

SNS Bank is a leading provider of on-line internet banking products within the Dutch financial market. The last three years she has been converting her activities from a traditional branch offices to an on-line experience. This transition has involved extensive business process implementations to put both internal service processes, external service processes as well as product selling channels on-line.

An important part of their processes has always been connected to human tasks, as the financial world often requires human validation / intervention at crucial points in the various processes. To facilitate BPM human tasks SNS Bank has implemented various jBPM GUI solutions. These solutions have led to some important lessons when interacting with jBPM that we will present.

These lessons have led to the In2Flow application provides this session with a great example of how to interact in your jBPM processes using human tasks. This implementation will be discussed and includes SEAM, JBoss Cache, Rich Faces, JBoss WS and all of the best practices to modularize your human task development in future projects.

The lead developer of the In2Flow application will detail the architecture and cover the most important points that you need to be aware of to develop a scalable, flexible, extensible jBPM human task solution for your next jBPM project. This will include an overview of the management information and empirical data that is collected on the human tasks processed within In2Flow, based on four months in a production environment.

Published in: Technology, Economy & Finance
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,837
On SlideShare
0
From Embeds
0
Number of Embeds
141
Actions
Shares
0
Downloads
29
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

In2Flow – solving your BPM human task problems!

  1. 1. In2flow: solving your BPM human task problems?!<br />Arnoud Wolfard<br />Developer SNS Bank<br />
  2. 2. Agenda<br />SNS Bank -> IT uitdagingen<br />BPM Architectuur<br />Historie<br />- UitvalApplicatie<br />- Tekortkomingen<br /><ul><li> In2flow</li></ul>- Uitgangspunten<br />- Architectuur<br /><ul><li>Vragen</li></li></ul><li>SNS Bank<br />Bedrijfsstrategie ‘Visie en Vlag’<br />Relatief kleine bank<br />
  3. 3. SNS Bank – Visie en Vlag<br />SNS Bank bedient haar klanten via internet <br />en met mobiele adviseurs<br />In 2010 moeten consumenten alle eenvoudige producten in vijf muisklikken kunnen kopen via internet.<br />De bank bouwt aan een landelijk netwerk van winkels waar de klant afspraken kan maken met adviseurs.<br />
  4. 4. SNS Bank – Visie en Vlag<br />De IT uitdagingen:<br /><ul><li> Internet
  5. 5. Automatiseren van de bankkantoor handelingen</li></li></ul><li>SNS Bank – Relatief kleine bank<br />Balans totalen 2009<br />ABN 350 miljard<br />ING 900 miljard<br />Rabobank 600 miljard<br />SNS 70 miljard<br />Spaar tegoeden (2009)<br />ING Bank 115,0<br />Rabobank 107,0<br />ABN 32,1<br />SNS 18,1<br />
  6. 6. SNS Bank – Relatief kleine bank<br />De IT uitdaging:<br /><ul><li> IT kosten beheersbaar houden</li></li></ul><li>Antwoorden op de IT uitdagingen<br /><ul><li> Open Source Software
  7. 7. Workflow management</li></li></ul><li>BPM Architectuur<br />Uitval Applicatie/<br />In2flow<br />BOM/<br />SOAL<br />KIS<br />Mijn SNS<br />XML<br />Scheduler<br />Process<br />DOC1<br />SAS<br />
  8. 8. Uitvalapplicatie<br /><ul><li> Voorloper In2Flow
  9. 9. Aanvraag gedreven
  10. 10. Gebaseerd op een generiek aanvraagmodel</li></li></ul><li>Uitvalapplicatie – Screen shot<br />
  11. 11. Uitvalapplicatie – Screen shot<br />
  12. 12. Uitvalapplicatie – Scary picture<br />
  13. 13. Uitvalapplicatie – Scary picture<br />
  14. 14. Uitvalapplicatie – Scary picture<br />
  15. 15. Uitvalapplicatie – Knelpunten<br /><ul><li> Monoliet
  16. 16. Business wilde andere manier van werken
  17. 17. Performance issues i.v.m. aanvraagmodel
  18. 18. Onnodig groot complex model
  19. 19. (J)BPM Schaduwboekhouding</li></li></ul><li>In2Flow - Opdracht<br />Maak een webapplicatie waarmee gebruikers<br />op een taak-georiënteerde manier kunnen werken<br />die makkelijk uitbreidbaar is zonder gebruik te<br />maken van een generiek aanvraagmodel. <br />
  20. 20. In2Flow<br /><ul><li>JBossApplication Server (EAP 4.3)
  21. 21. JBPM 3.2.8 SOA
  22. 22. JSF 1.2
  23. 23. RichFaces 3.3
  24. 24. Seam 2.0.2
  25. 25. Facelets 1.1.15
  26. 26. Scannotation 1.0.2
  27. 27. JBossCache 1.4.1</li></li></ul><li>In2Flow – Screen shots<br />
  28. 28. In2Flow – Screen shots<br />
  29. 29. In2Flow – Screen shots<br />
  30. 30. In2Flow – Screen shots<br />
  31. 31. In2Flow – Screen shots<br />
  32. 32. In2Flow – Modulair ontwerp<br />In2Flow bestaat uit 1 hoofdmodule waarin<br />taakmodules dynamisch(at runtime) kunnen<br />worden toegevoegd.<br />Een taakmodule bevat 1 of meerdere taakschermen. <br />
  33. 33. In2Flow – Modulair ontwerp<br />Voordelen:<br /><ul><li> Doorbreken monoliet
  34. 34. Parallelle ontwikkeling eenvoudiger
  35. 35. Minder integratietesten
  36. 36. Scope is beperkt; minder complexiteit</li></li></ul><li>In2Flow – Modulair ontwerp<br />
  37. 37. In2Flow – Shared Session<br />@Name("sharedSession")<br />@Scope(ScopeType.APPLICATION)<br />@Startup<br />publicclassSharedSession {<br />        <br />        privateTreeCacheMBean cache;<br />        <br />        publicSharedSession() {<br />                MBeanServer server = MBeanServerLocator.locateJBoss();<br />                cache = (TreeCacheMBean) MBeanProxyExt.create(TreeCacheMBean.class, "jboss.cache:service=in2flow", server);<br />        }<br />        <br />        public Object get(finalStringfullyQualifiedName, finalStringattribute) {<br />                returncache.get(fullyQualifiedName, attribute);<br />        }<br /> <br />        publicvoid put(finalStringfullyQualifiedName, finalStringattribute, final Object value) {<br />                …<br />        }<br />…<br />}<br />
  38. 38. In2Flow – Taak <-> URL Mapping<br />@TaskConfigurator<br />publicclassAanvragenTokenTaskConfiguratorimplementsTaskConfiguration {<br /> <br />public String getPage() {<br />return"/stpafsluitprocessen/faces/content/AanvragenToken.xhtml";<br /> }<br />publicTaskSettingsgetTaskSettings() {<br />TaskSettingstaskSettings = newTaskSettings();<br />taskSettings.setTaskName("Verstrekken token");<br />…<br />returntaskSettings;<br /> }<br />}<br />
  39. 39. In2Flow – Layering<br />
  40. 40. In2Flow – Domein model<br />
  41. 41. In2Flow – Proces-taakinteractie<br />
  42. 42. In2Flow – Proces-taak interactie<br />
  43. 43. In2Flow – Proces-taak interactie<br />Page Bean Code:<br />@Name("beoordeelPasPB")<br />@Scope(ScopeType.PAGE)<br />public classBeoordeelPasPBextendsAbstractTaskDetailsPageBean {<br /> private BeoordeelPasInputVOinputVO;<br /> private BeoordeelPasOutputVOoutputVO;<br /> @Create<br /> public voidinit() {<br />inputVO = this.getValueObject(BeoordeelPasInputVO.class);<br /> }<br /> @Override<br /> public StringdoProcessTask() throwsBusinessException {<br />this.outputVO = createOutputVO();<br />this.saveValueObject(this.outputVO);<br /> return null;<br /> } <br />}<br />
  44. 44. In2Flow – Taak beëindiging<br />
  45. 45. In2Flow – Leasons learned<br />Keep It Simple & Straightforward:<br /><ul><li> Modulair
  46. 46. Taakgeoriënteerd
  47. 47. Simpel domein model
  48. 48. Abstractielaag
  49. 49. Eenvoudige communicatie met proces
  50. 50. Simpele schermen; alleen het noodzakelijke</li>

×