Talk:Business logic

From Wikipedia, the free encyclopedia
Jump to: navigation, search
          This article is of interest to the following WikiProjects:
WikiProject Systems (Rated C-class, Mid-importance)
WikiProject icon This article is within the scope of WikiProject Systems, which collaborates on articles related to systems and systems science.
C-Class article C  This article has been rated as C-Class on the project's quality scale.
 Mid  This article has been rated as Mid-importance on the project's importance scale.
Taskforce icon
This article is within the field of Enterprise modelling.
 

What's the difference between a business logic and a daemon?[edit]

Technically speaking, not so much I think. The same goes for Web services. It is more of a conceptual thing really. It seems to me that daemons are more likely to be a feature of an operating system than a stand-alone software application though.

A daemon is not a 'business logic'- end of story. Since I do not know where to begin with all the things that are wrong with your confused and nonspecific answer, I will just let it lie.--Fergie 12:52, 1 June 2006 (UTC)

Daemons are processes run for any purpose, including things such as system mainenance. "Business logic" is supposed to be related to an application at least. (I hope.) Nixdorf 10:29, 1 Mar 2004 (UTC)' ==

Erm- cant we do a bit better than this?--Fergie 12:52, 1 June 2006 (UTC)
The logic used by an application, a daemon, a web service, or any other program could qualify as business logic if it is kept apart from other logic used. The point of business logic is so that common processes such as calculating taxes and transportation fees can be changed without changing anything else and so that the same logic can be used in different contexts. For example, an application that calculates taxes and trasportation fees, a daemon that does this calculation automatically, or a web service that does the calculation for a fee might by law be required to use the same business logic for the calculation of taxes and transportation fees. -- M0llusk 03:25, 17 August 2006 (UTC)

I'm curious when this term first started seeing widespread use. To me it feels like something recent... I don't recall hearing it 10 years ago.

Does business logic mean anything specific?[edit]

Personally I have my doubts, and the article as it stands does little to allay them. A citation or two would put old cycnics like me in their place, but if no clear references are found, I think that a vote for deletion would be in order. In my (not inconsiderable) database admin career, I have only heard this phrase muttered in the wooliest of terms by people who, to put it unkindly, were speaking our of their arses. Not that this in itself is a reason to can 'business logic', it is merely an observation. So: sensible definition or VFD--Fergie 12:44, 1 June 2006 (UTC)

Application vs Business/Enterprise Application[edit]

"The core of any application is the business functionality it provides" I am sorry but this quote is just plain incorrect. There are many examples of applications with no affiliation to business needs. grep, cat, many if not most open source applications. Business logic only has meaning in a business or enterprise context. Even then whether it is the "core" of an application is debatable.

Arghhh! Entering the Dilbert-zone![edit]

My criticisms below referred to the version circa July 2006 [1]. Neale Monks 18:25, 26 October 2006 (UTC)

Sorry, this article reads to me like a pitch from a management consultant. It doesn't explain anything at all. I'm a smart guy with a science degree and a PhD, and I have _no idea_ what it's about.

To actually make sense here, the article needs to explain whay business logic is, give actual examples, define new terms, and so on. For example, how can "logspecific" be used without either linking to another article defining it, or actually defining it within this article? Ditto "business layers", "business processes", "long running transactions", etc.

Cheers, Neale Neale Monks 10:03, 18 July 2006 (UTC)

Amen--Fergie 09:34, 30 July 2006 (UTC)
I went ahead and nominated for deletion. If experts in the field think this article is worth saving, please go ahead and make the case. I just don't think -- as it stands now -- this article explains anything at all. Neale Monks 15:33, 31 July 2006 (UTC)

This is a critical concept[edit]

Please do not delete this page. This concept has been a critical unifying element of modern business software which has been a major contributor to the recent explosion in productivity in the United States.

Here is my quick attempt a a brief explanation. With more time perhaps I can come up with a draft of this page in an alternative form:

Business logic is a concrete representation of abstract business rules that is usually used in conjunction with a database of business transactions. For example, retail transactions may include sales taxes, per customer purchase limits, a small credit for not needing a bag, and so on. By keeping the business logic apart from the storage of the data it is possible to use the same business logic with different data or with different applications, for example summarizing periodic sales performance or calculating yearly taxes by using the same data that came from the cash register program and which is checked for validity using the same logic. Encoding business logic is a strategy used by enterprises with complex data or transactions to minimize the cost of automating their operations. Without using this strategy the cost of developing software applications for automating business processes may become prohibitive. -- M0llusk 05:40, 8 August 2006 (UTC)

The meanings for 'Business Logic' suggested so far...[edit]

Mainly from the vote for deletion page. People who have expressed an opinion think that Business logic can mean one or more of the following:


1)A mid-level abstraction layer in a multi-tier architecture

2)The logic of business processes (any type of logic, any type of business) --Fergie 09:26, 17 August 2006 (UTC) 3)Nothing. Yet can be used as filler in situations where the speaker wishes to use an impressive sounding software-engineering term (such as promotional material for expensive software). In other words the term is notable precisely because it is vague meaningless software terminology.

4)Various confused definitions containing combinations of random strings of buzzwords such as 'business rules', 'enterprise' and 'business objects' a la point 3 above.

Are there any more meanings that I have missed? If so- please note them here.--Fergie 07:44, 8 August 2006 (UTC)

The picture in the article explains the concept i'm most (and only) familiar with. In all my software engineering classes, that is the definition always given to us, and the layer separations we should be making. It is correct about coupling and interweaving; strong coupling is bad in object oriented design, and diametrically opposed to seperating business/presentation/data logic. Interweaving creates unmaintainable code that is more apt to break and require more test cases.
I'm inclined to agree with a previous posting, too: reading the article in its current state does make it mostly useless, since it only has a picture and a single section, "Location of business logic," that describes the only definition i've ever heard: It is the logic done in response to a user action to fetch data.
It may be best to merge it in with an article more related to software engineering that describes common distinctions made between parts of an application. (Further more, I've never heard it used anywhere except in a software context. daemon process - Never; Money/corporate business - Never)
In any event, it shouldn't be deleted because its an important part of good software design, and does have a real meaning in software engineering. Merging it into another section may be more applicable than deletion.

--24.4.211.92 09:05, 9 August 2006 (UTC)

This characterization shows a lack of understanding of the context. For example, as typically applied, both number 1 and number 2 are the same. The context in which this is used is software engineering, that is people working to produce various types of software to automate business processes. Whether or not business people are aware of how that works does not have any real meaning. Most people do not understand sewage treatment, but have a grasp of the idea of toilet water being processed for safety before dumping. When software was initially used to automate business processes the designs were monolithic. All logic used was bunched together such that rules for accessing a particular database technology were mixed up with rules for generating pictures with specific graphics technologies so that any change to the business logic would lead to complicated rewrites and redesigns. Keeping business logic apart from other logic reduces production costs of business software so dramatically that new types of automation become possible. Should we also delete the hedge fund and short sale pages because those descriptions may not work for all laymen? -- M0llusk 03:38, 17 August 2006 (UTC)
FYI, this is a thread to list all of the suggested meanings of business logic that have been made on these pages, you might want to understand the context a bit better yourself. Anyway, onto your opinion: You are describing modularity and encapsulation. Are you saying that you think either of these is a synonym for business logic? If so I will list them up--Fergie 09:26, 17 August 2006 (UTC)
Your comments are garbage. My response was to discussion of the meaning of business logic and made direct reference to the implications of the asserted lack of meaning. The larger context here is a Wikipedia dominated by deletion crazed luddites. Oddly enough there are some listings on Monster and other job search sites offering excellent salaries to anyone who can generate or manipulate business logic, so these listings might be a source of information. You are arguing for everything to be redefined in ways that make the verbiage work for you, but the world is not like that. Business logic is code for representing business processes. Ideally it would be both modular and encapsulated, but it may not be. Why do you hate the real world examples business logic is used to describe so much? How can you calculate taxes and shipping and handling charges without some calculation? -- M0llusk 06:09, 16 September 2006 (UTC)

Poor Article - Important Topic[edit]

This article is not polished. However, the term "Business logic" is used too frequently to ignore the need for proper definition. A standard understanding should be developed as to what exactly the term "Buisness logic" means. —The preceding unsigned comment was added by 72.25.168.234 (talk) 17:17, 10 April 2007 (UTC).

Previous attempts at improving the wikipedia definition of Business Logic have proved so unsuccessful that the article has been voted for deletion. In the meantime, out in the real world, the term Business Logic has been gaining more traction by the hour. The problem is one of noise: the phrase 'Business Logic' often crops up as filler in situations where somebody is speaking in vague computery terms, hence non-specific meaning is assigned to it. Wizened old software engineering veterans such as myself would recognise 'Business Logic' as a synonym for 'Function Process Logic' or 'Mid-tier in 3-tier web-app', even though it would give me physical pain to actually utter such a dilbertesque phrase without absolutely having to. Last time we attempted to gently shepherd wikipedians toward this point of view (in a NPOV way you understand), we were bombarded with all sorts of outlandish suggestions as to the meaning of business logic, and in the absense of good citations, it was a bit tricky to actually enshrine one meaning over all the others.--Fergie 06:22, 11 April 2007 (UTC)
I love how things keep coming back to the fact that while the phrase may be widely used, its use means different things to different speakers, and at least some industry professionals consider it a buzzword that doesn't actually mean anything specific at all! User 72.25.168.234, there *is no standard definition for the phrase* hence this article can't develop a single understanding of the topic. At best, it is a phrase used loosely to define a variety of distinct tasks more or less confined to business applications. Obviously, this article can't be a free-standing critique of the phrase, but I'd love to see some kind of review of all the different meanings plus any suitable commentary in the computer press. The side of computing that I write for, the Mac industry, doesn't seem to use this phrase at all, presumably because it isn't a concept that matters much in education, publishing, or graphic design. So I can't offer any personal insight at all. Cheers, Neale Neale Monks 09:31, 11 April 2007 (UTC)
Commercial activity is critical for functioning Capitalist societies. Business Logic characterizes critical aspects of commercial activity to enable automated transactions. Commerce has rules that can and must be encoded. If there is a better term for this, then that might serve instead. The idea that encoding of the rules of commerce is somehow irrelevant strikes me as completely insane. -- M0llusk (talk) 02:14, 30 July 2008 (UTC)

What's the difference between business logic and normal logic[edit]

I am currently reading a book on the cherryPy python-based HTTP framework. The author mentions "business logic." I've heard this time many, many times before, and I still have no idea what it means. I fudge understanding every time. I'm not a businessman, and my work doesn't involve business, but somehow all of the technologies I use are predicated on this concept of business logic. It seems to me that when they talk about business logic, what they really mean is something like "the methods by which the application performs its intended function". Isn't this just what we've been calling "features" all this time? Or possibly "use cases?" I hope someone explains everything in this article - it certainly won't be me. I don't have a clue. --[[User:my computer said love][my computer said love]] —Preceding unsigned comment added by My computer said love (talkcontribs) 14:51, 20 March 2009 (UTC)

"Business Logic is Business as Intelligence is for CIA". Or you could say, the "business" name is just a name, you can call business logic = processor or business logic = "according some data or input i will do something".

--200.83.2.4 (talk) 20:37, 6 July 2009 (UTC)--200.83.2.4 (talk) 20:37, 6 July 2009 (UTC)

I perceive the "business logic" to be the underlying application logic. Subtract GUI, data and databases, storage, and communication, and imagine that those are substituted for something else similarly working. The general behavior and "frame of usage" is what I believe is the "business logic" (my theory, based on a similar idea in my mind). The term was coined in a business environment, therefore the term perused "business" instead of a more general "application behavioral" or something like that. "Features" is as vague as anything, yes "business logic" is a set of "features", maybe "feature logic?" ... said: Rursus (mbork³) 08:33, 15 December 2009 (UTC)
"Task logic"? "Task" is then what the program user is doing is his/her normal working day. "Task" may also mean "lightweight process" AKA "thread", which is an indication on the illness of the language of computer "science". ... said: Rursus (mbork³) 09:09, 15 December 2009 (UTC)

Time to start from scratch?[edit]

I am tempted to clear this entry out and start over. An earlier entry mentions that it is a vague term and there are many interpretations of its meaning. That was deleted but I think it is important. Based on the revision history of this page, plus the numerous articles and books that mention the term I think we can say that business logic is the code that handles what ever you define the business of your application to be.

If you determine that the business of your application is to handle information exchange between a database and a user interface (as the current author suggests) then the "business logic" would be the code that makes decisions regarding those operations. However, if for example you are writing an application that manages a DVD store, you might determine that the business of your application is the management of DVD rentals and purchases. With this line of thinking, the code that makes decisions and has operations related to the management of a DVD store would be considered the business logic code.

The current definition suggests that only an application that has a database could then have business logic which is not valid. A service written to monitor a file system directory and manage the files based on various events would probably not require a database. However, it would require logic related to the business of managing files.

--Joseph A. Reddy (talk) 15:52, 17 April 2009 (UTC)

definition[edit]

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.

How lame definition. —Preceding unsigned comment added by 200.83.2.4 (talk) 20:27, 6 July 2009 (UTC)

--200.83.2.4 (talk) 20:33, 6 July 2009 (UTC)--200.83.2.4 (talk) 20:33, 6 July 2009 (UTC)

First Sentence[edit]

I suggest the possibility that the fragment "the functional algorithms that handle information exchange between a database and a user interface" is very misleading. I have almost no software background, but based on other material I have read I thought that, most fundamentally, business logic is the logic that implements the functionality of interest. It would, on this view, therefore be constituted by a set of "processes/operations" and "objects" that express domain concepts and domain behaviours. The fragment (extracted from the very first sentence of the article) seems to suggest that business logic is focused on information exchange in particular. Is that correct? I doubt it. Again, I have almost no background in this area, but I suspect the words in this first sentence may not have been carefully chosen. I stand to be corrected, of course.Expos4ever (talk) 22:39, 11 February 2013 (UTC)

Major rewrite[edit]

Certainly in my work as a professional software engineer, I have always understood "business logic" as a pretty concrete, non-buzzword term. I rewrote the intro and significant parts of the rest of the article to more clearly explain what this term means and how to spot it. Hopefully this addresses the complaints and confusion expressed above. -- Beland (talk) 21:07, 15 July 2013 (UTC)