Case Study: Complex Insurance Document Solution with LibreOffice, Docker, and AWS
Client is an SaaS provider for the insurance industry. They have a small team of full time developers and contractors working to build and maintain a solution for their insurance industry customers. The application has a need to fill in details in Microsoft Word and Microsoft Excel spreadsheet templates that can then be downloaded by users as both editable files and rendered as printable PDF documents.
Client’s Tech Stack
Prior to the engagement with Rietta, client already had a SaaS solution built in the Ruby on Rails web application framework. A previous contractor had introduced Docker and the Amazon Web Services (AWS) cloud. The application had web server, worker, and other micro services written in Ruby.
However, the client struggled to implement their document rendering solution. Multiple contractors tried and failed to render correct documents using various Ruby on Rail libraries that supposedly support Office document generation. Microsoft itself was not an option because of other technology choices and licensing challenges.
The Rietta Solution
After reviewing the requirements and existing technology stack with the client, Rietta proposed a bespoke solution using mature open source solutions running within Docker technology deployed to the AWS cloud.
We created a special micro-service that took “print” commands from the main application and produced documents and PDFS using LibreOffice open source office suite running on an Ubuntu Linux Docker image. LibreOffice is a totally free-to-use open source solution that is descended from Apache OpenOffice.org, which was descended from the Sun StarOffice suite, which was originally released in 1985!. It has a very mature Java API.
Because the client’s development team is specialized in Ruby and not Java, we utilized JRuby and created a custom Java API wrapper around the parts of the LibreOffice SDK API that are used to satisfy the client’s needs. We additionally created thorough Ruby-language rspec test suite to exercise this functionality.
Finally, we ensured that this solution runs headless (that is on the server without a GUI) in Docker and is deployed to the Elastic Container Service on the AWS cloud.
With the Rietta-implemented solution in place, client’s SaaS offering generates correct Microsoft Word documents, Excel spreadsheets, and PDFs that meet their requirements without the need for ongoing license payment requirements. The Dockerized solution is seamlessly deployed to their AWS cloud infrastructure.