We live and work a world where tech talk quick devolves into muddy, undefined communication revolving around one of three concepts: the object, the component, or the service.
While I’m not going to try and define each of these for you, I will say a word about how they collaborate to get work done..
- Object interactions typically are reserved for in-process collaborations.
- Component interactions attempt to mask whether the collaboration is in or out of process. In fact, a collaborating component may reside on a remote server in a Distributed Component Architecture.
- Service interactions are explicitly cross-boundary. Many times they cross a network boundary.
I ran across a great taxonomy earlier today based on the model of interaction between the elements of a design, whether you happen to be looking at objects, components, or services.
For this particular taxonomy, the consumer is the consumer of some information and the provider is the provider of that information. Direct addressing means that the initiator calls the other party by address (directly). Indirect addressing is a function provided, typically, by some form of Middleware.
I may come back and post more on the various interaction models, but for now, I’d rather leave this post at bite-sized.