Assess the Foundation
The azh company is one of Germany's leading health care clearing houses.
Azh’s central accounting system is a distributed, performance-critical application which is developed in-house by a team of experienced Java experts. Like all Java Enterprise systems the accounting system has a comprehensive technological foundation that consists of an application server, a database, a rule engine and several libraries.
In light of this technological diversity, a neutral and structured assessment of the sustainability of its base technologies is very important to azh.
Within the scope of a comprehensive architecture audit we identify the technologies that are relevant to the accounting system. Due to Java systems usually consisting of more than 80 libraries, these are selected through an automatic analysis that assesses to what extent an application depends on a certain library.
Based on a rating system, we review each selected technology with regards to sustainability as well as its suitability for the accounting system. In doing so, we examine different aspects, such as licensing, extensibility and the level of distribution. The results are an overview matrix as well as a conclusive assessment regarding possible risks.
Azh now has a comprehensive overview of its application’s technological base and knows the roles of the 80 libraries. The company is aware of the strengths and risks of each technology examined and can make informed decisions regarding their further use.
When introducing new technologies in the future, azh can use the applied rating system to assess their suitability for the accounting system in advance.
What we did at azh
The code analysis considers well-accepted quality criteria. It is based on automated analysis using Teamscale, which supports analysis of nearly all programming languages. Our experienced auditors validate the results.
Our experienced auditors contribute manual analyses of criteria not coverable by tools, e.g., the quality of comments in the code, and complement automated analyses by an in-depth review of selected source code files.
Together with the development team, we identify and discuss the components of the system and dependencies between them. We also cover deployment aspects and interaction with other systems, as well as properties like scalability, security and performance.
Together with you, we select relevant changes that are likely to be done to your system. We discuss with the development team the impact of these changes and how well they are supported by the architecture.
Software systems typically rely on a large technology stack including programming languages, databases, frameworks, and libraries. We analyze the relevant technologies for associated risks, based on standardized criteria.
The development process itself contributes significantly to the future-proofness of a system. Based on the phases of a typical process, we discuss tools and methods used by the development team to implement changes. The assessment considers industry standards and established best practices.