Scala for Business Automation – Solving Real Business Problems with Streams, POI and a dash of BDD
Spreadsheets are the bane of people’s lives in many organisations and – for better or for worse – businesses continue to rely on them very heavily, even for critical parts of their day to day operations. In my presentation I will discuss how the following technologies can be utilised to build neat solutions to help automate these workflows.
- Scala’s Streams and Case classes
- ScalaTest’s FlatSpec
- The Apache POI project
It will begin by talking about how we’ve ended up here in the first place – a case in point is within large financial organisations which have critical risk models (accounting for billions of dollars on their balance sheets) that still reside within huge and highly complex spreadsheets!
Following a brief overview of a typical spreadsheet model, I will demonstrate how one can interact with them programmatically with the excellent Apache POI library. I then go on to breakdown how by utilising stream processing and case classes in Scala one can provide really neat solutions to replace these manually managed spreadsheets with fully automated and concise, functional solutions.
Finally, I will illuminate how one can assist with the end to end validation process, via the magic of BDD – which can help articulate all is behaving as expected.