Service-Oriented Computing (SOC) promises a world of cooperating services loosely connected, creating dynamic business processes and agile applications that span organizations and platforms. As a computing paradigm, it utilizes services as fundamental elements to support rapid, low-cost development of distributed applications in heterogeneous environments. Realizing the SOC promise requires the design of Service-Oriented Architectures (SOAs) that enable the development of simpler and cheaper distributed applications.