I wanted to blog about this topic for a while so I might as well make it the first post. Line of Business (LOB) applications come up quite frequently in conversations around me. However I'm not sure whether everybody has a common understanding of what that means. They're business rather than consumer applications, but what else? There's one definition here but is it sufficient? I've brainstormed LOB applications with p&p's Web Client team, weaved the results with my consulting experience with Global 1000 companies, and came up with a few traits (I'm sure there are more).
LOB applications are (in no particular order):
- Interactive--self explanatory
- Have multiple screens--the interaction happens on screens, and typically several of them are involved
- Domain specific--examples include finance, insurance, health care, telecom, and e-commerce applications
- OLTP--transaction processing rather than analytical processing
- Have relatively simple user interface/presentation--text fields, checkboxes, buttons
- Integrate with other systems that manage the data and execute the transactions--databases, systems of record, etc.
Do the above chracteristics represent a tall order? It depends. Here's just one data point to consider. A while back I followed the flow of a claim to understand the claim processing workflow. That particular claim processor (like pretty much all the other insurance companies I worked with) ran claims through a legacy application running on a mainframe. The folks working with the application used green screens to enter the claim information and process the claim. If you've never seen a mainframe before, this translates into very fast response times (when navigating, validating, pulling reference data, and moving from one screen to another) and keyboard-intensive navigation and input (typically with all those function keys performing some action). This may be a tall order if you're building a browser-based application.
[Update] The point about relatively simple UI warrants an explanation. Don't read it as "LOB applications ought to have boring UIs." Far from it. But if you find yourself implementing the functionality of a windowing system or that of a portal site, it's likely that you're over engineering.