Services are good communication technique to use across application and platform boundaries. Service-oriented approach always preferred when you are building a distributed application. Object orientation approach provides a view of what a system should look and effective for producing logical models. Object based approach can fail to consider real-world factors like physical distribution and network communication. This post compares the two approaches.
Object Orientation | Service Orientation |
Suitable in a homogeneous platform and execution environment. |
Suitable in a heterogeneous platform and execution environment. |
Shares types, not schemas. | Shares schemas, not types. |
Runs in cheap and transparent communication. | The cost is variable and requires explicit communication. |
Life-time of objects is maintained by the infrastructure. | Services are autonomous –Security and failure isolation are necessary. |
It requires synchronized deployment of both client and server. | It allows continuous, separate deployment of client and server. |
Provides no guide-lines for state management and ownership. | It maintains and uses the reference state. |
You can predict the sequence of events, timeframe and outcome of invocations. | Message orientation approach and supports asynchronous and long-running communications. |
Goal is to transparently use functions and types remotely. | Goal is to provide inter-service isolation and interoperability based on standards. |
Share this post : |