SOA is hard. While the payoffs can be big—greater agility, increased efficiency, etc.—doing SOA right requires some significant changes to the traditional development lifecycle.
Or, more appropriately, it requires a rededication and realignment of the traditional development lifecycle. Especially when it comes to capturing the benefit of reuse.
Service oriented architectures require services, and to use more than one service you need to have a way of keeping track of services. Reusing services requires the ability to find, identify and use pre-existing services. Hence the rise of SOA service registries. SOA registries are services which themselves keep track of other services. Organizations can use service registries based on web services standards such as UDDI to help them identify and connect to appropriate services for their needs. It’s the initial step toward creating an environment where services can be re-used.