Why the OOP?
June 21st, 2005Reading David Chappell’s latest newsletter:
To understand why a service-oriented world implies an explicit role for access, think about why these different parts of an application exist at all. Arguably the biggest reason is that each uses a different abstraction, and so crossing from one to another requires mapping between these abstractions. For example, moving between data and logic typically requires translating from relations to objects. This translation—restructuring data from tables into objects and mapping from SQL types to programming language types—is a well-understood, if still painful, problem.

[Image reproduced here from David Chappell’s website]
Why the objects in this diagram? Why don’t be build services just over the database? An XML database with XQuery translating back and forth to different services seems like an interesting combination to me.
June 24th, 2005 at 7:41 am
I think the paradigm of a “robust middle tier” / domain model is the prevalent way of designing applications at the moment.
The Domain Model approach is totally at ends with a “Service Based Architecture” (which as a term is misused more than the term “High Availability”).
Playing the middle ground here, we realize that :
1) business logic in services isnt going anywhere (we’ll need a business tier/objects in at least some situations)
2) sometimes we just want to expose a low level (relational) operation as a service. (i.e. getMeAUniqueKey())