The reconstruction process of contract center system also witnessed the development of auto finance business. As a very important system of auto finance business line, it changed from complicated research and development and long fatigue cycle at the beginning to simple configuration and fast online business support, reflecting an epoch-making change. I have also witnessed the growth process of this business system. The architecture design and evolution behind it contain the expansibility and flexibility of the design, which I can share with you.

Car finance past life album serial series, follow wechat public account [Autumn night without frost]

Car finance | financial product center of incarnations

Financial | car GPS incarnations of the audit system

Car financial | basic data platform of incarnations

Car incarnations of financial center | contract system

Car financial | financial product rules engine incarnations (last)

Car financial | financial product rules engine incarnations (medium)

Car financial | financial product rules engine incarnations (next)

Car financial | I M in the two years

Zero, preface,

This article was written between November 13, 2020 and November 22, 2020, with a total of more than 3,300 pieces. All the contents were written in Youdao Cloud notes on the way to and from work (Shunyi – Dawang Road) by mobile phone. The illustrations were revised and polished for many times and completed on November 22, 2020 today. Contract reconstruction is the inevitable choice of business development, and also the importance of its position.

A, takeaway

As an important system of auto finance business line, contract system is important because these contracts have legal liability characteristics for intended customers and operating companies. Therefore, business scenarios give this system an important position, which is beyond doubt.

Contracts follow the entire business process from acquiring customers to lending. From the moment the contract is signed, the contract system will be accompanied by the entire life cycle of the order for business transfer.

Contracts include paper contracts and electronic contracts. Usually, a company is responsible for the formulation and risk assessment of a contract (such as the legal department). Contract with the needs of the business scene, from the elements of the contract according to the template rendering, and then generate electronic contract or paper contract.

Therefore, contract management, including template management, element configuration, logical control, version control, different logical control of different business scenarios of different investors, how to design the system, how to meet the complex scenarios, is very important.

This article will cover the history and background of refactoring and how the system has evolved to support business development quickly. At the same time, from the perspective of architectural design, it will further explain the core design behind, which will bring enlightenment and inspiration to some readers.

2. At the beginning of employment

In early September 2017, I joined a company in the Automotive Finance Division. The R&D team I was in is the busiest and most important core R&D team in the automotive finance business line.

This team supports the demand research and development work of the whole business line, including APP research and development, back-end research and development, front-end research and development, test team and product team, and I am a member of back-end research and development. I started my job step by step from the requirements of GPS audit business module.

At first, there was a business system in our business line, namely the contract system. Although this system was rough, it had a series of basic functions such as template management, template rendering, signature management and so on.

However, due to the limitations of the technical architecture, the original system was responsible for managing these contract templates, which were maintained based on JSP pages. Every time a new contract is added or the contract content is adjusted, the back-end developer needs to write its own HTML and CSS, and must comply with certain specifications, such as a line should not be more than a few words, otherwise the content will be generated or printed out of paper.

Therefore, the management of contract templates is complicated and costly, which requires a lot of time to manually adjust the content or style of the contract for each small requirement iteration. Moreover, the contract has certain requirements on the browser version. For some paper contracts to be previews or printed, users must use the specified browser.

Despite this, but responsible for the research and development of this system can be described as hard work, daily management and maintenance of these contracts, although the technology does not have much content, but the heart must be a lot of scold dad, after all, did not do.

Third, the first innovation

Less than half a year after joining the team, the team changed greatly. VP in charge of the R&D team left suddenly, and most of the subsequent staff in the r&d team also left successively. During that time, a new leader came in, took charge of our R&D team, and then led the team to cut mountains and forests.

As an old employee of this research and development team, I was favored and appreciated by the leader and entrusted with the responsibility of financial product system and GPS audit system, although I had been employed for less than half a year.

The new boss will no longer tolerate the architecture of the contract system, so the restructuring of the contract center is imminent. The auto finance business line has a public service, CA system, which provides the connection of various business lines, management of contract templates, generation of electronic contracts and signature management.

In this way, the contract system also began to connect with CA system, so as to further strip out relevant functions and transplant them to CA system. It only focuses on the acquisition of contract element data and the business logic storage of contract image files.

After adjusting the technical structure of the contract system, the business responsibilities of the system concerned by the auto finance business line gradually become clear. In order to improve the efficiency of requirement iteration, XDiamond based value allocation of contract elements is applied in the newly reconstructed Contract system (Doraemon).

Historical opportunities

The new contract system is accompanied by more and more capital parties’ access to auto finance, but the formal configuration of the system based on Xdiamond configuration becomes more and more complex, and the daily maintenance cost increases.

This configuration is based on THE JSON configuration structure and uses the Spring SPE expression to realize the business logic value and logical route control. The complexity of business scenarios also increases the complexity of configuration logic.

For example, for the same capital, the same financial scheme, but for the new car or second-hand car logic scene control is very different, so in order to expand the diversity of the company’s business and realize the difference of different regions, virtually makes the contract system easy to configure more and more prone to error.

The pain point of the contract system is that there is no sound review process release mechanism and contract version control mechanism. Once the configuration error, the online electronic contract and paper contract will be affected.

In fact, the fault is also caused by configuration error. Once a failure occurs, by the time we receive the failure information, it is already very late.

Later, the leader arranged me to take charge of the contract and post-loan demand research and development management work. I needed to make decisions and plans for the problems existing in the current system and make detailed plans for the next step to solve the problems facing the current system.

Led the team preliminarily, understood the current demand situation and daily management mechanism, and had a preliminary understanding of the current RESEARCH and development management. Then, the next step is to improve the daily project management mechanism and improve the project process specifications.

The following improvements have been made in this regard:

  • Improve the project process specification mechanism and emphasize the importance of process specification through daily team meeting.
  • The review mechanism of project r&d should be improved, and the pre-study and review of technical scheme should be done well.
  • Improve the monitoring, diagnosis and treatment of the system, independently develop the flow repetition and sample coverage functions, which can make up for the shortcomings of functional testing for online release and testing, and further guarantee the quality of online release.
  • Independently developed the quality inspection center system, and conducted data quality inspection for contracts and payment requests.

Indeed, in the long run, we need to make decisions as soon as possible about the new challenges facing the current contract system in order to solve the current problems as soon as possible.

Therefore, our RESEARCH and development team reorganized the online contract business logic and contract element value, and made a detailed review in the form of tabular or mind map and sorted it into WIKI, laying a foundation for the next step of data monitoring and reconstruction system.

At the same time, communicate with product team about technical design plan and prototype function design, and make overall plan for the next step reconstruction work.

Five, reshape the design

We abandoned the Xdiamond configuration because it became clear to us that this configuration, while flexible, was not conducive to the operation and maintenance of non-technical students. In order to improve the convenience and quick use of the product for students and reduce the cost of daily operation, we adopted the interactive design scheme of the financial product platform.

Due to different contract provisions between the management and the diversity of business logic, and to facilitate the reconstruction system can facilitate the management of the contract, after we spend a lot of ideas and thoughts in this respect, to build a simple and easy to use platform for the contract system, to further improve the efficiency of daily operations, fast support daily business change request online.

At the same time, we also need to consider a few other issues, which is the assumption of the contract version mechanism. After the requirement goes online, the original business value logic is maintained for contracts with historical orders, but the new version control logic is applied for new orders. For the urgent demand of this demand scenario, we have made many innovative achievements in the functional design of contract version control through careful research of the team.

1. Capital management

The capital is the capital of the financial scheme. The contracts of different capital parties are different, so this is the first big dimension of the contract system. One capital party contains several contracts.

The creation of the capital is based on the initial configuration of the capital enabled by the financial product platform.

2. Contract management

Here, contract management, i.e. the full set of all stakeholders, is divided into two categories, general and special, according to the business. The general class is applicable to all investors, and the special class is used to solve the application of special business scenarios for special investors.

The contract here includes its own contract code and the contract code of the CA system. The CA’s contract code is used to generate contract images from the contract template when calling its system.

At the same time, the contract has a batch field, which is used to identify the contracts signed in different scenarios, such as the credit granting stage or the pre-loan stage.

In capital management, you can configure and apply the enabled contract set, where the contract set is all the contracts that need to be signed according to the business requirements.

3. Factor allocation

After the contract is created, it can be applied to the employer, that is, it can configure the value logic for different contracts of the employer. The value logic determines the value configuration based on conditional scenarios. The conditional priorities of multiple scenarios are the same.

Value configuration can continue with data item or expression configuration, all data items are determined by internal system prerequisites.

4. Factor management

Element is the contract data field, a contract has several fields, used to declare legal fields. After filling these fields, a valid contract image can be generated based on the contract template.

As the elements are the earliest business units in the contract, the number is relatively large, so they can be managed based on different groups for easy retrieval and use in the configuration of the contract.

5. Version management

Versions are based on contract management to adapt to the evolving needs of business scenarios.

6. Template management

The contract template is ultimately determined by the product, which then uploads the template through the CA system and enables it.

7. Signature and seal management

The signature is the subject company on the contract. These signatures manage the contract in the CA system. The CA system calls the CA system and needs to declare the key word of the signature of a certain contract.

8. Interactive examples

Six, tail

A system cannot be considered and perfectly designed from the beginning. Because of this, we need to continuously solve the pain points facing the system according to the actual development trend of the business. Reconstruction and optimization is accompanied from the beginning to the future, and the purpose of reconstruction and optimization is to better adapt the system to the development trend of the business. The two are closely related.

From the essence of system architecture, it is to further improve the system’s expansibility and scalability through reconstruction, and to lay a solid foundation and effective guarantee for meeting the next round of challenges.