The concept of a component is central to the development of a service. Component-based development has been around since the early 1990s. The principles behind component-based development have evolved and matured since then. Service-oriented architecture depends on the same principles of component-based development. A service's development lifecycle is identical to a component's lifecycle. The only difference is the addition of a services layer on top of the component. A service also adds complexity, because the service's clients are sometimes outside the organization that created the service. These special considerations of a service-oriented architecture must be kept in mind, and the principles of component-based development that address the particular concerns of services, such as interface definition and testing, should be highlighted by the service development process.