Most of the discussions around SOA revolves around basic issues as RPC vs Doc/Lit, Remoting vs Web Services, usage of WS-* protocols etc. These are relevant issues and has to be discussed in detail. But, there are other important issues that needs to tackled in order to implement SOA in an enterprise. In my opinion, WS-* is necessary, but not sufficient. So far we have been talking about the necessary part. This post will cover the sufficient part.
Today, SOA is mainly used in connecting applications. In other words, the sweet spot for SOA is primarily in the integration space. If you look at the solutions that are built in a typical enterprise today, they fall into two classes of solutions - Service Delivery and Information Analysis. Service delivery - as its name suggests - is about delivering services offered by business systems (like ERP) to end-users directly. Self-Service solutions such as Employee Self-Service portal falls into this category. Primary motivation for self-service type solutions is to reduce the cost by dis-intermediating the interaction between user and system.
Let's take Employee Self-service portal as an example. Building this portal involves integrating multiple systems - HR System, Payroll system and Benefits system. Usually, these are separate systems and are autonomous in nature. Some of these systems may even be outsourced. For example, Payroll capability is usually outsourced.
Now, let's look at the challenges involved in building a self-delivery application.
There are more issues. But, these are the primary challenges one would face while trying to design a solution based on services. In my future posts, I will spend some time on each of these issues and share with you some of our experiences and key learnings.
I would love to hear your opinions on this subject. I am sure some of you may have implemented SOA in your IT and faced similar challenges. I am also sure that you may have come up with better solutions and have a better insight into this problem. Please, please share your learnings. We can all learn from each other.