Difference between Object Orientation and Service Orientation

It is quite difficult to think in terms of services.Though services are implemented with the help of Object oriented languages We should always remember some basic points while designing the services.

Object Orientation:

  • Assume homogeneous platform and execution environment
  • Share classes, not schemas
  • Assume cheap, transparent communication
  • Are linked: Object identity and lifetime maintained by infrastructure
  • Typically require deployment of both client and server in sync
  • Are easy to talk about and become a natural path for customers to follow
  • Customers have 20+ years of experience and great intuition about what “object oriented is”

Service Orientation:

  • Assume heterogeneous platform and execution environment
  • Share schemas, not classes
  • Assume variable cost, explicit communication
  • Are autonomous:  Security and failure isolation are a must
  • Ease “continuous deployment” of client and server separately
  • Builds on ideas from component software, distributed objects, and MOM
  • Dominant theme is to manage/reduce sharing between services

 

I hope my services saga continues with this post Smile

SOA is Business Strategy

Beyond the hype and buzz created by SOA, here are my few thoughts about SOA.

 1. SOA is business strategy:

 SOA is often looked as the yet another project taken by IT dept or always treated as IT thing. Off course, its implementation is very much IT thing but it should be looked more as a strategy for synchronization and alignment of all business processes of an organization.

2. SOA is not rewriting your ALL applications:

SOA implementations in proper manner always support organization's legacy systems, on which the organization is relying on from past several years. As for implementation of legacy application organization has put many $$ and your team members had put Hercules efforts for maintenance, it has worth continuing what you are using.

3. SOA gains multifold value when it’s implemented as Enterprise architecture:

SOA should not be looked in "isolated application islands" for any organization. When application island happens in organization the worth of every application decreases as the synchronization becomes problem with various systems.In this scenario SOA should be looked as a vehicle and opportunity to waive a "common Enterprise fabric" to get your business processes [and their systems] aligned or realigned.

4. Web services are tip of SOA iceberg:Yes, Web services are essential component for implementing SOA but while building these web services, SOA derives more value from service reuse and scalability. We should look beyond the web services to get the view of SOA horizon.

Hope, this post will carry out more brainstorming sessions...