Abstract

The application of ports and adapters architecture (other names bulbous, layered, hexagonal) in iterative software development is considered in accordance with the requirements that come in chronological order in the practical example. Each iteration is supported by the schema architecture, problems encountered and their solution. The expediency of using the considered architecture in the iterative development of software with time constraints is shown. The system of collecting data on the concentration of carbon dioxide of the environment and air temperature in real time from a distributed network of sensors with a predetermined geolocation for medical institutions was developed. Put sensor information (ID, commissioning date and end date) in the Google Sheets spreadsheet. The data from the sensors should be collected on the server by REST service. The process of PPP in a specific project with significant time constraints is investigated, applying the rules and principles laid down in the architecture of ports and adapters, using the basic metrics to evaluate the complexity of adding new functionality, testing, concurrent development, speed and ease of development; draw conclusions about the conditions when it is appropriate to apply the chosen software design approach, and the ability of such an approach to perceive software requirements changes. The architecture of ports and adapters is useful if the system has many external integrations (mail service, push messages, databases, reporting system, etc.). The one-way communication with adapters guarantees the integrity of the main algorithmic part of the program. A thorough knowledge of the domain allows you to immediately determine the domain layer. Building a system structure that optimally reflects the domain requires the most time, and it will be costly in the future to correct errors made during the process of defining system layers (interfaces and systems). Domain logic testing is fast due to Unit tests, other tests are easy to write due to the small connectivity between layers. This architecture is not a completely new approach, but it takes the best of OOP, SOLID, DDD and determines how to apply these principles in the best way.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.