How to reduce costs of business logic maintenance
Tomáš Černý, Michael Jeff Donahoo · 2011
Three tier enterprise applications introduce multiple challenges for software engineers. Although we can divide the application into three tiers, we still need to design properly each tier internally to achieve multiple design qualities. The middle business tier captures logic in which we associate objects, validate business rules, etc. Often multiple cross-cutting concerns are mixed in the services which results in bloated, highly coupled design with very low cohesion. In this paper we present a case study that we develop based on our four year experience with enterprise application that struggled from multiple weak design decisions. We emphasize multiple aspects that should be decoupled from the rest of the services which increase service cohesion and results in better readability, maintenance, testability, reuse and error-avoidance. Our “best practices” suggestions for business tier are generally applicable and allow the designer to separate service concerns into multiple units allowing to achieve the mentioned quality attributes.