PDF generation and microservices: A critical evolution
The iText DITO API is available as a native Java application or a containerised REST API
SPONSORED - One of the oldest mantras in computing goes back to the UNIX command line: The best software should do one job - and do it well. Half a century on, businesses are re-learning this lesson by embracing microservices. The idea is superficially simple: Instead of building unwieldy business applications where each component is part of a rigid monolithic whole, it makes more sense to treat each process as an independent task – decoupling them into independent services that can communicate with each other through APIs.
(There are various mechanisms to communicate between microservices: synchronous, e.g. REST, GraphQL, gRPC, or asynchronous, e.g. MQTT, STOMP, AMQP and many deployments are being run from the cloud.)
Many of iText’s customers are among those making this shift. The company’s focus is PDF generation and making the handling of PDF documents painless for its customers: “If you’re a bank, or insurance company, or utility, or a government agency, then at some point you’re going to want to use the standard ISO PDF to communicate with your audience,” as iText CEO Gary Fry earlier explained to The Stack.
iText has 125 million users worldwide and is used by 70% of Fortune 50 firms as part of their document management workflows. It can render new PDFs from templates, create from HTML, redact information, flatten dynamic XFA forms to static PDFs, digitally sign, or recognize text using OCR so it can be extracted from images. Increasingly, its customers are deploying their applications as microservices run on the cloud – something that has seen the open-source company offer its collaborative document generator iText DITO as a solution on the AWS marketplace (and soon on Azure and Google Cloud), from which it can be run on ECS or EKS.
iText DITO is a browser-based template designer and a PDF generation API built to handle enterprise-level requirements and volumes. The API is available as a native Java application or a containerized REST API for convenient deployment, easy scaling and language-agnostic interfacing. As iText’s André Lemos puts it: “By running the container we published in AWS, you have a much more convenient way to install and operate your container solution. This way you can efficiently deploy iText DITO as a microservice.
“The other components of your application running in AWS talk to iText DITO using its REST API.”
The innovation pipeline
What makes microservices effective is that they break down complex systems into different processes, while taking advantage of common data transfer standards to communicate between components.
This means that each component can be easily swapped out, iterated or upgraded, making innovation happen faster as the entire system does not have to be rebuilt and redeployed. And mateco, one of the world’s largest industrial equipment rental firms, is a good example of how it took this approach with iText DITO.
mateco Belgium nv, the IT department within the integrated mateco Group comprises 150 IT professionals who support a microservices landscape that generates 20,000-40,000 invoices, contracts and other documents every single day.
The company initially used a different system to handle PDF generation, using a connector for Microsoft Dynamics. But a new cloud-native architecture and a multi-cloud approach meant it needed to bridge the custom applications on Google Cloud and the Dynamics ERP system on Azure. Workarounds were leading to more and more complexity when processing data for generating documents, one lead architect says.
Q.One needed a new PDF solution that was containerised and had a modern API.
“We are all pretty technical people, so iText was known to us as a library” says Wim Debreuck, a managing partner of Cymo, and an integration architect for mateco Belgium: “Also, my company is a development company packed with developers, and technical architects, mainly Java-oriented. In fact, I think for all technical people iText is known as a very good PDF library. So, it was natural for us to look at iText for this task.”
Its adoption of containerised iText software meant that instead of a legacy approach of deploying and maintaining PDF software across the company on so-called “fat” clients, it could ensure documents are generated consistently on a “zero-touch, zero footprint” basis -- where every device in the business is considered replaceable: having iText as a microservice on the server-side means that even if a laptop goes missing or a hard disk fails, work can continue while a browser-based editor means even less bloat.
iText’s document generator iText DITO simplifies the process of creating and maintaining forms and templates. When a new template is required, iText DITO makes it easy to create in an intuitive editor, where the person in charge of template creation can specify where different data is supposed to appear - and iText DITO supports conditional logic for more complex forms that may require different layouts depending on the incoming data. Styling is straightforward too, templates can be fully customised to a company’s look and feel, as it comes with approval processes which enable smooth collaboration and communication between technical teams and the marketing or design teams. Then once built, iText’s API will receive the specific transaction data, drop it into the template, generate the required PDF and send it back to the application to wherever it needs to go.
iText’s ability to be deployed via Java API or Docker API Kubernetes further improves flexibility.
As André Lemos puts it, “the point of the cloud is flexibility and cloud applications are designed to work like building blocks, So it makes perfect sense for iText to be one of those blocks, called upon whenever a PDF is needed. Microservices and cloud share the same goals, of reducing operational burden while increasing flexibility - and we’ve seen first-hand what a difference it makes to the businesses we work with.”
Sponsored by iText