Please note that I asked the same question on [stackoverflow](https://stackoverflow.com/questions/32049022/application-logic-vs-business-logic) but they directed me to ask here.

While I am trying to discerne the difference between the application logic and business logic I have found set of articles but unfortunately there is a contradiction between them.

[Here](http://encyclopedia2.thefreedictionary.com/application+logic) they say that they are the same but the answer [here](https://stackoverflow.com/questions/1456425/business-and-application-logic) is totally different.

For me I understand it in the following way:

If we look up for the definition of the `Logic` word in Google we will get

> 
> system or set of principles underlying the arrangements of elements in
> a computer or electronic device so as to perform a specified task.
> 
> 
> 

So, if the logic is `set of principles underlying the arrangements of elements` then the business logic should be `set of principles underlying the arrangements of the business rules`, in other words it means the rules that should be followed to get a system reflects your business needs.

And for me the application logic is `the principles that the application based on`, in other words, how to apply these rules to get a system reflects your business needs, for example should I use MVC or should not I use? should I use SQL or MSSQl?.

So please could anybody help me to get rid of confusion about the difference between the application and the business logic.
['https://softwareengineering.stackexchange.com/questions/293885', 'https://softwareengineering.stackexchange.com', 'https://softwareengineering.stackexchange.com/users/192185/']
I agree with SO's LoztInSpace that this is quite opinionated answer and that everyone can have slightly different definitions. Especially if historical influences are involved. This is how I would define the terms:

Business logic is logic, that is created with collaboration and agreement with business experts. If business expert says that "Customer cannot withdraw more money than he has in his account.", then this is a business rule. In ideal world, this logic would be in some kind of library or service, so it can be either reused across multiple applications or changed in all relevant applications at once.

Application logic is simply everything else. Example can be "clicking this button opens window to add new customer". It has nothing to do with business, but it is still logic that needs to be implemented. In ideal world, application logic will use library or service, that is implementing the business rules. Multiple application, each with different application logic, can reuse one business logic. Imagine web app, web service and mobile app all operating using one business logic, but each clearly need different application logics.

The reason why I think those two get mixed up, is that keeping them separate is extremely hard. Even if you do your most to keep them separate, use cases surface where you have to mix them up. If for example you have all your business logic in service, it keeps it separate. But having some business logic in local application that is using the service might increase responsiveness or user comfort, because the local application doesn't need to call service for every small change.

Another reason why they are mixed together is that for many non-technical people. UI is "the application", so anything reflected in the UI is important. In the ideal "business logic" case, there is no UI. There would probably be suite of automated tests to verify the logic, but nothing that can be shown to business people. So to business people, everything is same kind of "logic". IMO.
Every system or application is going to have its own definitions of what is business logic and what is application logic. It will either be explicit or implicit.

In my experience data driven applications (e.g. DBs etc.) tend to have a more formal definition of what the business logic is.

The application logic tends to focus on getting information from point A to point B, the business logic centres around what the information is - and the language of the business logic is usually domain specific. Put another way, the application logic is focused on the question "how does it work?", the business logic on "what does it do?" - again, the distinction can be very fuzzy and is more often that not domain specific.