Q) What is SOA?
R) As Per Gartner, "Service Oriented Architecture (SOA) is a client-server software design approach in which an application consists of software services and software service consumers (also known as clients or service requesters). SOA differs from the more general client/server model in its definitive emphasis in loose coupling between software components, and in its use of separately standing interfaces."
Q) When should you use SOA?
R) SOA should be the proposed when
1) There are multiple applications which are running in an enterprise and if there is a data dependency in the applications (i.e. data output from one application is data input for another application).
2) And This interfacing is not automated (i.e. it is being done manually or some other tedious method which leads to data issues)
3) And The enterprise is huge and can afford costs for implementing SOA. (SOA software and corresponding hardware would be costly, which makes it suited for big companies)
4) And Speed of implementing the integration is important. (Instead of SOA, custom interfaces can be written to integrate all the applications of the process, but that would be a time consuming process, which will create custom interfaces, requiring lot of testing, maintenance and support. By the time you build it the need for integration might not be there.) SOA will not only help you to build your applications faster. The maintenance and support costs would be minimal as you would be using standard adapters/operations provided by your SOA software.
Q) When should you propose Oracle SOA?
A) It would be a easy sell for Oracle’s SOA stack when customer is using lot of other Oracle products. If they are not using many Oracle products, then you might have to think about alternative SOA products from IBM, Tibco etc.
Q) When does the SOA process start or get triggered?
A) It would start when the first application in the new business process (which needs to be implemented using SOA) gets the data required for the process to start. It might then provide the data to SOA process in variety of different ways such as SOAP post or place the data in a file at particular location which the SOA process is polling etc. SOA process as such would never have it own UI in the process.