Sometimes, non-IT managers hear stories about how "SOA Failed" or " SOA is out of touch" or "SOA is passe". Ten years ago, all the Enterprise Application Integration vendors, were clamoring to re-brand their products as "SOA" because that was the current hot buzzword. These days new buzzwords like "MicroServices" and "DevOps" are being marketed as "SOA Done Right."
Look at this image!
This was taken at a local Port where this rock crusher drum was unloaded from a Ship and placed on a Flat Bed Trailer. Now somebody should have known to check the weight of the cargo (the rock crusher) and compared that to the capacity of the trailer. This leads to damage, lost time, cost to repair and cost to replace. Thank goodness this didn't happen when traveling down the road where loss of life could have been the consequence.
In Enterprise Architecture, Prior Planning Prevents Piss Poor Performance. The success or failure of SOA to meet the requirements of the enterprise requires Planning. Lack of Planning will lead to losses, lost time, cost to repair, cost to replace, all on the negative side of the ledger.
Just like the flat bed trailer should have been judged on whether it can take the load of the cargo, any SOA implementation needs to be evaluated on whether it can take on the load of the enterprise.
One enterprise that uses one COTS solution for ERP and most of the other solutions are home grown custom software, will need a different enterprise architecture than another enterprise that uses 80% COTS. The former may use a RESTful API for consumers and a back office data services layer using Message Oriented Middleware and Solution Composition Architecture and adapters to the COTS ERP solution. The other may need far more Enterprise Application Integration or API Management than the need to Compose new solutions from agnostic services. In both cases however SOA can play a role in how to get the most flexibility and reuse out of your IT assets.
While the makeup and implementation details may be entirely different the approach of decomposing APIs into reusable agnostic services is the same and the ESSENCE OF SOA.