Abstract. The Service-Oriented Architecture (SOA) paradigm supports a collaborative business model, where business applications are built from independently developed services, and services and applications build up complex dependencies. Guaranteeing high dependability levels in such complex environment is a key factor for the success of this model. In this chapter we discuss issues concerning the design of such software systems, evidencing the limits of the proposed approaches, and suggesting directions for advancements in this field. Moreover, we also discuss issues concerning the case of self-adaptive SOA systems, whose goal is to selfconfigure themselves, to cope with changes in the operating conditions and to meet the required dependability with a minimum of resources.