I have seen quite a lot of instances where the term "Web Services" & "Service Oriented Architecture - SOA", have been used interchangeably. But, I am sure a lot of you would agree that they are just not the same, where "SOA" is way beyond and a lot more than just "Web Services"!
Nevertheless, going to my question(s), being a small company that we are as of now, we have this new business to provide a bunch of web services - to external clients (other companies). So, I have the following questions in mind, in this regard:
1) Should we just concentrate on developing these bunch of web services (Java, Spring) and deploying them independently and deliver to the clients to begin with, or should we also consider bringing them all together and providing means for web service governance by using SOA infrastructures like Mule ESB, Apache ServiceMix, etc.
2) Is it a lot easier and less resource-intensive (effort-wise and money-wise) to consider SOA infrastructure right from the beginning or is it going to be almost the same even if we defer it to sometime later? I just want to make sure that we do not over-engineer and so I am not sure if SOA is an over-kill or it really worth the time and investment, from the beginning?
3) Do SOA infrastructures offer better performance with High Scalability and Low Latency, as compared to deploying the web services independently just like any web application? I sometimes wonder that doesn't all this additional infrastructure for SOA add to latency?
4) I have heard of several SOA infrastructures like Apache ServiceMix and Mule ESB, which I guess are open-source while there are other licensed solutions like the Oracle SOA suite, and IBM DataPower. Are they all equally good or is there any best choice? I also wonder if ESB/Service Bus is a part of every SOA infrastructure or is it something different?
5) Do you have any other suggestions/tips for me to consider as an Web-Services and SOA Evangelist?
6) Does Spring-Integration provide any means for SOA? Can you please direct me to some examples?