Business logic is a non-technical term generally used to describe the functional algorithms that handle information exchange between a database and a user interface. It is distinguished from input/output data validation and product 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
  • enforces the routes and the methods by which business objects are accessed and updated

Business logic comprises:

  • business rules that express business policy (such as channels, location, logistics, prices, and products); and
  • workflows 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.

In a multilayered architecture (compared to 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 procedures and in decisions about input validation and display formatting. Hower 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.

References

  1. ^ Steven Minsky (2005-03-27). "The Challenge of BPM Adoption". eBizQ . http://www.ebizq.net/topics/bpm/features/5757.html?&pp=1 .  
  2. ^ Khawar Zaman Ahmed and Cary E. Umrysh (2001-10-17). "Introduction to Enterprise Software". Developing Enterprise Java Applications with J2EE and UML . Addison-Wesley. ISBN 0-201-73829-5 . http://www.awprofessional.com/articles/article.aspx?p=24260&seqNum=3 .  
  3. ^ Chad Z. Hower. "Dude, where's my business logic?". The Code Project . http://www.codeproject.com/gen/design/DudeWheresMyBusinessLogic.asp#_topicpageref_WhatisBusinessLogic .  
  4. ^ James Owen (2003-09-19). "Bring business logic to light: JRules 4.5 tames business rules with friendly tools". JavaWorld . http://www.javaworld.com/javaworld/jw-09-2003/jw-0919-iw-jrules.html .  

Further reading

  • Brett McLaughlin (March 2002). "Business Logic, Part 1". Building Java Enterprise Applications, Vol I: Architecture . O'Reilly and Associates. ISBN 0-596-00123-1 . http://www.onjava.com/pub/a/onjava/excerpt/bldgjavaent_8/index1.html .   — McLaughlin discusses the façade pattern for implementing the business layer of an application.
  • Kathy Bohrer (November 1997). "Middleware isolates business logic". Object Magazine (New York, USA: SIGS Publications, Inc.) 7 (9): 41–46;. ISSN 1055-3614 . http://portal.acm.org/citation.cfm?id=284112.284140 .  
  • Harumi Kuno, Mike Lemon, Alan Karp, and Dorothea Beringer (2001). "Conversations + Interfaces = Business Logic". in F. Casati, D. Georgakopoulos, and M.-C. Shan. Technologies for E-Services: Second International Workshop, TES 2001, Rome, Italy, September 14–15, 2001, Proceedings. 2193 . Springer Berlin / Heidelberg. ISSN 0302-9743.  
  • Volker Turau (2002). "A framework for automatic generation of web-based data entry applications based on XML". Proceedings of the 2002 ACM symposium on Applied computing, Madrid, Spain: Web and e-business application. ACM Press. pp. 1121–1126. ISBN 1-58113-445-2 . http://portal.acm.org/citation.cfm?id=509011 .   — Turau presents an application framework implemented using Java Servlets and JavaServer Pages that enables the separation between business logic and presentation logic, allowing development of each to proceed in parallel along relatively independent but cooperating tracks.
  • Pau, L-F. and Vervest, P.H.M. (2003-12-08). Network-based business process management: embedding business logic in communications networks . ERIM Report Series Research in Management. Erasmus University . http://hdl.handle.net/1765/1070 . ...

    SBA Loan Application Checklist | Business.gov

    This checklist provides all the forms and documents you will need to apply for an SBA loan

    ...

    ASI FCU - Business Loan Application

    Business tax ID #: Purpose of the loan: Loan amount: Desired term of the loan: Equity injection: Use of loan proceeds: Purchase business: $

    ...

    Apply for a Small Business Loan with First National Bank of Olathe

    Small Business Loan Application. To apply for your First National Bank of Olathe Small Business Banking Loan ...

    ...

    Business Loan Checklist | Business.gov

    Business Plan. All loan programs require a sound business plan to be submitted with the loan application. The business plan should include a complete set of projected financial ...

    ...

    Business Loan Application - Individual, Corporation Business Loan ...

    Loan Application. To start your Cascade Bank business loan application, you can print out the documents below, fill them out and return them to your Cascade ...

    ...

    Huntington Business Loan Application

    Providing secure online banking, checking/savings accounts, CDs, mortgages, loans, retirement plans, bill pay and other financial services to individuals and businesses.

    ...

    Line of Credit Application

    Business Loan Application 04/23/2008 Business Loan Application SECTION I - ABOUT YOUR BUSINESS Business Name Contact Person Annual Sales ...

    ...

    APPLICATION FOR BUSINESS LOAN

    SBA Form 4 (2-05) Previous Edition Obsolete Page 1 OMB Approval No. 3245-0016 Expiration Date: 4/30/2008 U. S. Small Business Administration APPLICATION FOR BUSINESS LOAN ...

    ...

    COMMUNITY CAPITAL DEVELOPMENT

    COMMUNITY CAPITAL DEVELOPMENT This is an Equal Opportunity Program. Discrimination is prohibited APPLICATION FOR BUSINESS LOAN by Federal Law.

    ...