YOUR FEEDBACK
E-Commerce 2.0
Brian wrote: I think we're heading in the right direction, but we've still...


2007 West
GOLD SPONSORS:
Active Endpoints
Your SOA Needs BPEL for Orchestration
BEA
Virtualized SOA: Adaptive Infrastructure for Demanding Applications
Nexaweb
Overcoming Bandwidth Challenges with Nexaweb
TIBCO
What is Service Virtualization?
SILVER SPONSORS:
WSO2
Using Web Services Technologies and FOSS Solutions
Click For 2007 East
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP THREE LINKS YOU MUST CLICK ON


Who Does Business Logic?
'Business Logic' seems to crop up a lot in presentations, articles, sales pitches and so forth

Digg This!

One of the phrases that has always puzzled me is "business logic". It seems to crop up a lot in presentations, articles, sales pitches and so forth. The one I saw it in most recently was a talk about how great web servers are because they keep all of the business logic on the server where it can be robust, secure, and logged. By analogy the client is a poor place for business logic because, while it can do richer things with the user interface, all of the core rules must be kept on the server.

It's not the first time I've come across server heads who use this argument, that their box has to be the gatekeeper for all of the hard and important corporate logic. By using the adjective "business" they're sort of belittling the desktop in any client server equation to be good for nothing more than fancy editing controls and salad dressing the user experience.

The problem is that often when you push people for what business logic really means, it boils down to something like "this value can't be larger than the sum of these values" or "this date can't be before this date for this kind of transaction". It's an answer that more often than not sounds to me like something the GUI is not only perfectly capable of doing, but is probably most sensibly done on the desktop. After all, it can notify errors instantly on mouse and keyboard events, and provide completion assistance and help without incurring the latency of an expensive server round trip.

Wikipedia describes "business logic" with the following sentence:

"Take a spreadsheet, for example. The spreadsheet in itself is a generic tool and embodies no business logic as such. When you use the spreadsheet by encoding formulas which calculate values of importance to your organization, then you are encoding business logic"

For any server guy reading this, a spreadsheet is a desktop application. However, the key phrase in the definition above is "importance to your organization, then you are encoding business logic".

From that definition I think that all code any of us have ever written is business logic. I assume of course none of us have ever written stuff that wasn't important to whichever organization was paying our salary at the time.

Why then is there such a mystique about the phrase ? I think it's because as soon as the adjective "business" is placed around something it means that it's more important to the organization and therefore attracts the attention of managers, accountants and analysts. Business modeling is something done by analysts (proper analysts, not people who write specs for programs that developers have to stay at work late and write) where they take apart the mechanics and structure organization of an organization in attempt to apply change management and restructure its processes to be more efficient and cost effective in future. A Masters of Business Administration studies for three years or more to understand this in depth, hoping for a destiny in the echelons of senior management to perfect and apply their skills. There are even executive MBA programs for those who are aiming even higher up the corporate ladder. I wonder whether MBAs drill into people a subliminal Pavlovian association that make its graduates salivate each time the word "business" is used to prefix an otherwise boring task, such as coding spreadsheet cells.

It's not just business logic that one can dissect in this way, but there are a slew of terminologies such as "business process execution language", "business event publishing", or "business process modeling notation". If you dig hard enough behind the sea of white papers and PowerPoint charts surround these however, you'll find that at the core of each is some plain old-fashioned, unfashionable, boring old code. "When value foo reach values a limit moo write value foo*100 to buffer boo that program goo reads and updates database yoo with".

There is benefit in abstracting lines of code to higher level units. Both from the benefits of modularity and re-use, while object-oriented programming further reifies blocks of work to become recognizable tasks and functions around anthropomorphic functions. What troubles me though, is when just because someone has grabbed a trendy name for what's basically just code, and then denigrates those who aren't using their coding technique as being fat, thick, poor, or whatever other insult they can dream up, allowing them smugly preaching the benefits of the new "business logic application hardware" (BLAH) technique they created with impunity.

We all write business logic. From games programmers, to COBOL guys, through Java, Visual Basic, and spread sheet macro heads. A good rule of thumb I think is to always apply the wikipedia test, which is when coding or designing, to continually question the importance of what you're doing to the organization for whom the program is being built.

Business logic can, and does, run anywhere, in any language, on any platform. Next time you see an over the top presentation being given by someone who dresses up their newfangled architecture with the "business" adjective start questioning them hard and peel back the layers of their onionware. You'll find that behind the robes there's just some code served up in an alphabet soup of acronyms to make it current and confusing. Then question whose benefit this is for. The customer for who the application is going to work, or the company whose consulting services are behind the presentation. Seems pretty logical to me.

About Joe Winchester
Joe Winchester, JDJ's Desktop Technologies Editor, is a software developer working on development tools for IBM in Hursley, UK.

SYS-CON Brazil News Desk wrote: One of the phrases that has always puzzled me is 'business logic'. It seems to crop up a lot in presentations, articles, sales pitches and so forth. The one I saw it in most recently was a talk about how great web servers are because they keep all of the business logic on the server where it can be robust, secure, and logged. By analogy the client is a poor place for business logic because, while it can do richer things with the user interface, all of the core rules must be kept on the server.
read & respond »
JDJ News Desk wrote: One of the phrases that has always puzzled me is 'business logic'. It seems to crop up a lot in presentations, articles, sales pitches and so forth. The one I saw it in most recently was a talk about how great web servers are because they keep all of the business logic on the server where it can be robust, secure, and logged. By analogy the client is a poor place for business logic because, while it can do richer things with the user interface, all of the core rules must be kept on the server.
read & respond »
JDJ News Desk wrote: One of the phrases that has always puzzled me is 'business logic'. It seems to crop up a lot in presentations, articles, sales pitches and so forth. The one I saw it in most recently was a talk about how great web servers are because they keep all of the business logic on the server where it can be robust, secure, and logged. By analogy the client is a poor place for business logic because, while it can do richer things with the user interface, all of the core rules must be kept on the server.
read & respond »
JDJ News Desk wrote: One of the phrases that has always puzzled me is 'business logic'. It seems to crop up a lot in presentations, articles, sales pitches and so forth. The one I saw it in most recently was a talk about how great web servers are because they keep all of the business logic on the server where it can be robust, secure, and logged. By analogy the client is a poor place for business logic because, while it can do richer things with the user interface, all of the core rules must be kept on the server.
read & respond »
Raymond Pendergraph wrote: I agree, business types (as with most other terminology) overuse and mis-use buzz words. "Band-width" is a personal irritant. "Business logic" will be no exception but the true meaning has never been an issue to developers in general I don't think. It has never really confused me anyway. You do make a valid point though... applications are mostly business logic. I think when people (developers?) say that phrase they mean the logical steps it takes to fulfill a task which may or may not be unique to that organization. The proper behind the scenes creation and routing of a 54-D report to accounting after the online submission of a 24-F for instance. What are these? I have no idea but I'll bet the company has specific rules about who, when, where and how. Rules that do not need to rest on sever...
read & respond »
JDJ News Desk wrote: One of the phrases that has always puzzled me is 'business logic'. It seems to crop up a lot in presentations, articles, sales pitches and so forth. The one I saw it in most recently was a talk about how great web servers are because they keep all of the business logic on the server where it can be robust, secure, and logged. By analogy the client is a poor place for business logic because, while it can do richer things with the user interface, all of the core rules must be kept on the server.
read & respond »
LATEST JAVA STORIES & POSTS
Case Study: Java and the Mac
This is the story of a Mac application developer (okay - it's about two of them) who set out on a quest to find an application development tool based on Java so his boss would let him develop on the Mac platform, which he loved. There was only one catch - he had to find a tool th
A Lightweight Approach to SOA and BPM in Java Using jBPM
SOA is mostly associated with technologies such as BPEL, SCA and Web Services. But does SOA really imply these technologies? In this session we will show how you can use the service oriented approach while staying inside the Java world. jBPM is a powerful lightweight framework th
JavaOne 2008: Uncommon Java Bugs
Any large Java source base can have insidious and subtle bugs. Every experienced Java programmer knows that finding and fixing these bugs can be difficult and costly. Fortunately, there are a large number of free open source Java tools available that can be used to find and fix d
The 4 Core Principles of Agile Programming
One of the things I really enjoy at the moment is the recognition and adoption of agile programming as a fully fledged powerful way to deliver quality software projects. As its figurehead is a group of very talented individuals who have created the agile manifesto (http://agilema
JavaOne 2008: Sun Adds Comprehensive Video Capabilities to JavaFX
Sun Microsystems announced it has entered into a multi-year agreement with On2 Technologies to add comprehensive video capabilities, using On2 Technologies TrueMotion video codecs, to Sun's JavaFX, a family of products for creating Rich Internet Applications (RIAs) with immersive
JavaOne Archives - Dvorak Comments on AMD Intel Lawsuit on SYS-CON.TV
Conference in San Francisco. Dvorak held forth on a number of topics, including the new AMD/Intel lawsuit, the viability of Java and Sun, the value of (or lack thereof) of corporate PR, and whether or not a new book about Silicon Valley is really worth reading.
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE
BREAKING JAVA NEWS
KongZhong Corporation Reports Unaudited First Quarter 2008 Financial Results
KongZhong Corporation , a leading wireless value-added services (WVAS) and wireless media co