Sometimes I have the impression that SOA is the tortoise that Achilles can never reach (as in Zeno's paradox).
For each process that can finally be automated and orchestrated with the Enterprise Service Bus there's some other that requires a native, peer-to-peer connector; for each one that is built to use the centralised Identity and Access Management service, another one pops up where some proprietary user management system must be used; for each workflow that is perfectly implemented with the enterprise BPM suite someone must come up with an urgent need of scheduling a sequence of batch jobs where somehow it is assumed that they will run flawlessly; for each pure SOAP or REST interface some ugly file transfer or share drive must come up; and for each shared service that is set up, someone will claim that their application is too critical, needs too much flexibility or time-constrained to use it.
Architecture is indeed an exercise in frustration, sometimes preaching in the desert, sometimes fighting windmills and other times being seen as a project risk.
More often than not, after all the negotiations and compromises that inevitably take place one of 2 things happen:
- if the architect conceded too much and allowed exceptions then something will go wrong. Usually the architect will be in a position to say "I told you so" but that won't help at all then;
- if instead, the architect sticks to his guns defending the best way to implement a system even against strong political forces, then over time everyone will start realising the advantages and using them to their benefit which is the best reward the architect can get. He will take no credit for it though - someone else will instead advertise how smart he was for reusing some component that the architect had spent years to get agreement for deploying as a shared service.
Ultimately being an architect is something that one must do with passion and find the reward in his own work. After all it is a great job. Also, after a few years a certain reputation does build up - for the best or for the worst.
But no would-be architect should ever think that it's all glamour and respect.