Background
Company A is a life insurance company that processes nearly 200,000 policies monthly, and during promotional periods, this number exceeds 400,000. Besides providing policyholders with printed physical policies, they must also provide electronic policies in PDF format for record-keeping and inquiries. In the future, they aim to offer interactive electronic policies to enhance customer satisfaction. In addition to policies, they send and print over 160 different types of letter templates electronically at various times each day.
Challenges
Template Development Tools Use Proprietary Language
The original service provider, due to a change in business strategy, will cease subsequent policy template development services.
Existing policy and letter templates are all developed using the provider's proprietary tools, which are not standard open-source tools. The learning curve is steep, developers are hard to find, and maintenance is challenging.
Rendering Speed is Too Slow
The speed of generating PDF documents for policies and letters can no longer meet the current business service time requirements.
During peak periods, the daily PDF generation time often exceeds 24 hours, failing to meet timeliness requirements.
The current policy generation architecture is a Client-Server architecture. During promotional periods, when a large number of policies need to be generated, the server cannot scale up production processing capabilities in real time.
Lack of Collaboration Platform Between Requirements and Development
Frequent changes in requirements lack effective tracking for implementation.
Existing policy templates have been in use for many years, and the logic behind them is now obscure due to developer turnover. Rewriting them risks causing widespread issues, making people hesitant to make changes.
Communication between template development and review often happens through email, leading to inefficient communication.
Lack of Version Control Mechanism
The frequency of template changes is high. Old versions are not immediately discontinued and sometimes are even used interchangeably. Without a good version control mechanism, problems arise easily, increasing complexity.
Issues with Component Dependency
Templates share components. Without a mechanism to manage these template components, changing one template often unknowingly causes issues in another, making it hard to detect.
Unfriendly Validation Tools
Policies and letters need to be validated before official release to ensure each document is correct. However, the vast number of policies makes manual validation time-consuming, labor-intensive, and costly.
Lack of Unified Template Design
Template styles are not uniform, with inconsistent fonts, line spacing, letter spacing, page layout, etc. This lack of standardization results in repetitive designs and maintenance difficulties.
Inability to Generate Formats Other Than PDF
An increasing number of business units are requesting interactive document formats in addition to PDF. However, the current architecture cannot support this and requires development on other platforms.
The original policy generation only considered PDF output without accounting for the diverse presentations on the internet. Now, integration requires redundant development.
How to Smoothly Transition New Templates with Old Ones in Future Rewrites?
When converting templates, how to ensure that new templates generate PDFs consistent with the old ones? With many template styles, if quick verification cannot be achieved, relying solely on manual visual comparison will severely delay the conversion project.
Solution Goals
Adopt standard and open template development tools to replace the provider's proprietary tools.
Use cloud architecture to meet diverse internet business needs.
Follow the "Single Source of Truth" principle to simplify future management complexity.
Adopt a microservices architecture for easy future functional expansion and instantaneous parallel scaling of processing capacity.
Establish a Design System to create a unified corporate image.
Componentize templates to improve the quality and efficiency of template development.
Create an online collaboration platform for online requirement management and version control.
Increase PDF generation speed to at least 50,000 pages A4/hour (including high-resolution images).
Intelligent validation to improve efficiency and accuracy.
Establish regression testing mechanisms to avoid "issue A causing issue B".
PDF document generation must handle both batch and online single requests simultaneously.
TuringText Solutions
Establishing a Design System and Componentizing Templates
While organizing the original templates, it was found that the logos, fonts, headers, footers, page layouts, etc., used in each template were inconsistent. Therefore, in collaboration with the client, a Design System suitable for template development was established, and templates were componentized. The concept of a Design System is similar to a Corporate Identity System (CIS). With this Design System as a basis, template development has a reference, ensuring a consistent corporate image and template development quality despite different developers. Componentizing templates simplifies development, allowing components to be used in different templates, significantly improving delivery speed and quality.
Policy Template Development and Management
Using W3C standards-compliant HTML+CSS3+JavaScript as the template development language, policy and letter templates were rewritten.
HTML+CSS3+JavaScript are entirely native internet languages, ideal for internet applications. Besides static PDF documents, interactive HTML document formats can be developed on the same PDF template basis, achieving "diverse outputs from the same source."
Adopt a Git CI/CD development model to establish requirement and version management mechanisms.
Every requirement is managed as an Issue, with discussions and status tracked throughout the process, ensuring accurate and precise delivery of each requirement.
Use CI/CD mode to automate development and production deployment.
Provide complete records of future template modification requirements and version control.
Policy and Letter Generation (Document Rendering)
Adopt the TuringText SSMO Central (On Premise) platform.
Add:
DocGear rendering engine
DocLens intelligent validation
According to client requirements for document generation timeliness, multiple DocGear licenses are provided on multi-core processing servers, allowing for instantaneous parallel capacity expansion during peak periods. Processing time is reduced from 18 hours in the old system to 2 hours.
Validation
DocLens greatly improves validation efficiency.
Upgrading from manual visual comparison of each PDF to intelligent comparison. Potential errors are identified by software, filtering out unreasonable pages.
During the transition from old to new templates, intelligent validation is used to compare the PDFs generated by old templates with those generated by new templates, automatically identifying differences and significantly shortening template launch timelines.
Document Processing Workflow
A single policy may require paper printing, PDF electronic inquiry, email notifications, etc., and may need to insert different pages, such as covers, signatures, customized images, etc.;
For print output, paper size considerations may be necessary, such as laying out A4 PDFs on A3 paper.
Each output channel has different processing requirements. To meet these diverse needs in the future, processing workflow flexibility must be considered.
DocGear's built-in workflow setup mechanism allows for further processing of different documents after rendering.
Publication Channel Management
Paper printing, PDF electronic inquiry, email notifications, etc., are all types of publication channels. We need to monitor each channel's status, history, load capacity, etc., in real-time to ensure system stability.
Conclusion
The most labor-intensive part of the transition process is rewriting the templates. In the absence of complete template specifications, all policy templates and over 160 letter templates were directly rewritten through reverse engineering.
Another technical challenge is interfacing with other systems. Integrating with databases, core business systems, email services, various applications, and communication protocols requires extensive technical expertise to complete in the shortest possible time.
With the mobilization of 12 engineers over three months, we have already begun integration testing.
<TBC...>