BUSINESS LOGIC
'Business logic' is a non-technical term generally used to describe the functional algorithms which handle information exchange between a database and a user interface. There exists no definition of business logic in any programming language specification or API, nor in any academic research. However, usage of the term persists in trade publications where several individuals have tried to informally advance a meaning that could be standardised. Mostly the term is applied to web application development where programs are separated into a 3-tier architecture with business logic referring to the mid tier. It should be noted that business logic is a poorly-defined term which is used in several different ways by several different groups of people.
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 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.
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 procedures and in decisions about input validation and display formatting. Hower[3] 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.
Business logic can be extracted from procedural code using a business rule management system.[4]
1. The Challenge of BPM Adoption Steven Minsky
2. Developing Enterprise Java Applications with J2EE™ and UML, Khawar Zaman Ahmed and Cary E. Umrysh, , , Addison-Wesley, , ISBN 0-201-73829-5
3. Dude, where's my business logic? Chad Z. Hower
4. Bring business logic to light: JRules 4.5 tames business rules with friendly tools
★ Building Java Enterprise Applications, Vol I: Architecture, Brett McLaughlin, , , O'Reilly and Associates, , ISBN 0-596-00123-1 — McLaughlin discusses the façade pattern for implementing the business layer of an application.
★
★
★ — 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 and Vervest develop an approach for the embedding of business logic into the communications network that underlies a distributed application with a multiplicity of actors, in order to optimise the allocation of business resources from a network point of view.
★ Enterprise JavaBean
★ User interface management systems
★ Magic pushbutton
★ Business logic layer
| Contents |
| Scope of business logic |
| Location of business logic |
| Tools for handling business logic |
| References |
| Further reading |
| See also |
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 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.[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 procedures and in decisions about input validation and display formatting. Hower[3] 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
1. The Challenge of BPM Adoption Steven Minsky
2. Developing Enterprise Java Applications with J2EE™ and UML, Khawar Zaman Ahmed and Cary E. Umrysh, , , Addison-Wesley, , ISBN 0-201-73829-5
3. Dude, where's my business logic? Chad Z. Hower
4. Bring business logic to light: JRules 4.5 tames business rules with friendly tools
Further reading
★ Building Java Enterprise Applications, Vol I: Architecture, Brett McLaughlin, , , O'Reilly and Associates, , ISBN 0-596-00123-1 — McLaughlin discusses the façade pattern for implementing the business layer of an application.
★
★
★ — 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 and Vervest develop an approach for the embedding of business logic into the communications network that underlies a distributed application with a multiplicity of actors, in order to optimise the allocation of business resources from a network point of view.
See also
★ Enterprise JavaBean
★ User interface management systems
★ Magic pushbutton
★ Business logic layer
This article provided by Wikipedia. To edit the contents of this article, click here for original source.
psst.. try this: add to faves
Featured Companies
| Great Time Travel | |
| Sheraton Vancouver Airport Hotel | |
| Optimum 1 Travel | |
| Aquaworld Cancun |

العربية
中国
Français
Deutsch
Ελληνική
हिन्दी
Italiano
日本語
Português
Русский
Español