In information system logical architecture practice, a business logic layer (BLL) consists of business logic contained in a code base that is separated from the data layer and the presentation, or graphical user interface, layer. Business logic can include not only calculations, it also can represent business objects such as products or employees. It will provide for methods of accessing and maintaining data, and it might accommodate the movement of work from one function to another. In addition, the BLL defines other business rules. It is also known as the domain layer, because it contains the business or domain logic.
The use of a business logic layer is a recommended software engineering convention. Establishing a business logic layer along with a data and presentation layer in a multitier architecture supports modular design and code reusability. There are a number of benefits to be gained from compartmentalizing an application into several tiers.
One of the benefits of multitier architecture is easier code maintenance. When business requirements change, the BLL might be the only area that requires code changes. When compartmentalized design is not used, it can be unclear where in the application the business logic code changes should be made.
Another benefit is that rollouts of application releases can be simpler. In cases where only the BLL has been updated, that is the only component that needs to be released into the production environment. The data layer and the presentation layer can remain unchanged.
Development teams also might benefit when a BLL and multitier architecture are used. The staff members can specialize in data, business logic or presentation development skills and can more quickly learn their part of the application. Work in each layer can be done concurrently, which can compress the overall development time frame.
The use of a BLL and supporting data and presentation layers is important in web applications. As an example of a web application that uses multitier architecture, an insurance company website could host an application where customers can view their insurance policies. The customers use a web browser to visit the website, and the browser interacts with the application’s presentation layer code. The customer policy data is maintained in a database; this is the data layer. The application code that determines which policies a customer is entitled to see and any calculations or business logic applied to that data is housed in the BLL.
Multitier architecture, with a compartmentalized business logic layer, can be used in traditional software application development as well as web application development. The traditional software application’s system architecture will be similar to that of the web application. The same benefits will also be realized.