Web services play an important role in today’s business computing environment for the development of distributed applications across different networks. With the rapid growth of web services on the internet, it is increasingly challenging to find the ‘right’ web service that meets service requesters’ functional and non-functional requirements. To facilitate the effective retrieval of web services, various web service discovery mechanisms have been proposed in the extant literature. This paper provides an overview of these mechanisms by outlining the process and challenges of web service discovery systems. A summary of current web service discovery mechanisms is provided in the form of a typology that draws upon five main characteristics. We also provide a comparison of current web service discovery mechanisms based on the proposed typology, and discuss open issues and directions for future research.