Services can be seen as an extension of the component and object oriented paradigms. Just like objects and components services need well defined, well documented interfaces. However, unlike most components and objects, services must be designed to work in a wide range of computing environments. Service design must cope with problems ranging from the integration of remote-procedure based legacy systems to the use state-of-art message based orchestration servers. In this paper we provide an overview of three fundamental approaches to service interface design; method centric, constrained and message centric interface design. Furthermore, we briefly discuss how each approach impact the use of web service standards and conclude with future research directions.