Abstract. Increasing attention is being paid to the development of socalled behavioural types as a means to formally address the problem of ensuring the correct interoperation of software components as well as of Web services. The objective of this paper is to provide an insightful synthesis of the state-of-the-art in this area, both to summarise the main results achieved and to point out some important challenges to be faced for a real impact of these ideas in the software world.