business logic

2004.11.27
Another cop-out day... but the good thing is I'm this close to finishing up a new feature on the site: throwing open the sidebar location to pretty much anyone who's a regular on the message boards. I hope it'll be a really dynamic part of the site, letting people who may or may not have their own blog get a bigger audience, and adding more interesting content to mine. I really loved what Dylan and Sarah have done, but lately they haven't been able to keep updated as much as I like...but their posts are a great start for the sidebar...more details later!


Geekness of the Moment
One day Jane asked me "what's business logic" in a work e-mail, and I thought it was a great question, and saved my response for future use on this site...which is now. It might be mildly interesting to people who wonder what I do for a living.

-----Original Message-----
From: Jane
Sent: Thursday, March 04, 2004 4:41 PM
To: Israel, Kirk
Subject: all this talk of 'business delegates'

kirk - in one document i'm looking at, they keep mentioning 'business delegates' - do you suppose they just mean 'clients'? or is this some unique term in the industry that i'm not getting?
ex.:

'Verifies calls issued by the back end of the adapter in response to front-end API invocations. These calls are issued to Business Delegates, whose interfaces are prescribed by the corresponding Zeus Session Facades'

It's a techie term.

Zeus is a "client/server" system, right? The bit connecting to the ERP is over here on the left, it then sends data over the wires, so to speak, to the server over there on the right, and then stuff comes back over the wires to the client.

Now, the thing is, sending the stuff over the wires is relatively hard from a programming point of view. People connecting the client to their code don't want to deal with crap like that. So Business Delegates hide the over the wires crap from that programmer.

More specifically, I think "Business Delegates" usually have the same "signature" as the functions that do the actual work on the server...by signature I mean they take in the same objects in the same order, and spit out the same objects. But of course, the "Business Delegate" on the client aren't doing the "real work"...it's just sending it over the wire.

The whole term "business logic" seemed weird to me for a while, becuase it seemed like every damn thing we were writing was "business logic"...so what's the point of having a special term for it? But later I realized the opposite of "business logic" is...well, "system logic" or "system code", stuff that's directly involved with keeping the infrastructure humming. Business Delegates is a "design pattern" (meaning, a generalized setup that you can apply to many problems) that is a good example of letting the programmer focus on the "business logic" (in our case, grabbing financial data and what not from the ERP and putting it into the tax document objects) while not having to sweat the system level stuff, the sending it over the wire.