Service orientation and service-oriented architecture (SOA) are a successful. Although many SOA systems have the same leading idea (they are composed as virtual peer to peer networks), practical implementations of SOA can be quite different.
The implementation depends on several factors. The main factor is the logical size of the developed system measured by the number of services forming it and also by the relations between them.
The technical properties of SOA and its capabilities depend substantially also on the way the SOA is designed and developed (whether the design and development are the top-down or the bottom-up ones). It, in turn, depends on the fact whether agility of implemented business processes and partly the agility of system development are required and how open the resulting system should be.
The need for agile business processes induces the use of coarse-grained user-oriented messages and often excludes the application of OASIS SOA Reference Model.