Business object reflections

While absorbing Richard MacManus’ latest, and in turn something from Phil Wainewright, last week, I happened upon a phrase (by Mohan Sawney) that struck a strong historical chord with me, taking me back to my days as a “business object” weenie;

Five years from now, the concept of an application will be obsolete […] They will all be services, combined, mixed, matched and reused as needed.

As you can see from the two papers I authored at each of the OOPSLA ’96 and OOPSLA ’97 Business Object Workshops, in particular the latter one, I had similar thoughts;

Distributed objects, specifically business objects, are not about building a better application. They are about replacing the application as the predominant means of delivering value to customers.

The first paper also gets at this, though indirectly through workflow-coloured glasses;

Work items and lists are outdated. In the world of business objects, the desktop is the interface. As Oliver Sims preaches, OO document centric GUIs are how business objects will present themselves to their users. And they won’t be shy. They won’t disguise themselves because there is no need to. Users will recognize them as entities in their business domain, and they’ll understand (in most cases, intuitively) what it means to do typical OO GUI operations on them. Icons representing the business objects themselves will clutter the screen. Nebulous ‘work item’ concepts don’t fit. They aren’t objects. Work is a consequence of what happens when business objects play together on desktop GUIs as directed by users.

Boy, that’s some awkward writing though. Ouch. That first one, from ’96, was the first paper I ever submitted anywhere. I remember that I wrote it in a couple of hours, right after a discussion with my friend Chester Kwok where he helped me finally “get” objects. It’s funny, looking back, to see how close I was to understanding the Web at that point, and how “getting OO” was so closely related to the “getting” of REST. Why didn’t I associate “typical OO GUI” operations with GET (double-click/open), PUT (save), POST (the ‘drop’ of ‘drag-and-drop’), DELETE (drop-to-garbage-can) then? Grrr… Compare and contrast this too;

Therefore, not only are business objects built from a framework, they can (and should, if they’re competing to be reused) also be frameworks.

Leave a Reply

Your email address will not be published. Required fields are marked *