Business Logic Article Index for
Business
Website Links For
Business
 

Information About

Business Logic





SCOPE OF BUSINESS LOGIC

Business logic:
  • models Real Life business objects (such as accounts, loans, itineraries, and inventories);

  • prescribes how business objects interact with one another; and

  • enforces the routes and the methods by which business objects are accessed and updated.


Business logic comprises:1
  • Business Rule s that express business policy (such as channels, location, logistics, prices, and products); and

  • Workflow s that are the ordered tasks of passing documents or data from one participant (a person or a software system) to another.



LOCATION OF BUSINESS LOGIC


In single-tier applications, business logic, presentation logic, and CRUD are often fused, with each having intimate knowledge of, or being strongly Coupled to, the others. This is seen as problematic, since changes to one result in changes to both of the others, requiring retesting and revalidation of the entire system for a single change. The interweaving also limits the extent to which the CRUD and the business logic can be Reused .2

In a Multitier Architecture , business logic is a separate module. In the common 3-tier Architecture , the business logic in theory occupies the middle tier, the business-services tier or Business Layer . In practice, the business logic is often interwoven in the other two tiers (the user services tier and the database services tier), such as by encoding business logic in Stored Procedure s and in decisions about input validation and display formatting. Hower3 and others strongly argue against this practice, and advocate storing ''all'' business logic in a business layer, and not encoding any business logic in the application's user services or database services tiers.


TOOLS FOR HANDLING BUSINESS LOGIC

Business logic can be extracted from procedural code using a business rule management system.4


REFERENCES



FURTHER READING

  • 5 — McLaughlin discusses the Façade Pattern for implementing the business layer of an application.