SUMMARYGrid computing emerged as a paradigm for high-performance computing and massive parallel processing. Currently, Grid systems have become an important paradigm for efficiently solving large-scale complex problems from many fields. On the other hand, P2P paradigm originated from file-sharing, but each time more is being used for the development of large-scale distributed platforms. Grid and P2P systems have thus followed different trajectories pushed by different motivations, needs and research communities. In fact, both paradigms are evolving in a way that each time they are sharing more common characteristics and are mutually benefiting from their best features. Among these characteristics, we could distinguish the cooperative model for solving complex problems by exploiting their large computing capacity. As such, Grid and P2P systems have achieved notable success, in particular, for e-Science applications, a family of complex applications arising in science and engineering that need considerable computation power. Despite important advances in the design and use of Grid and P2P systems, they remain still difficult to implement and apply to real-life problems. The main difficulties reside in the lack of easy-to-use middleware for Grid and P2P, in the complexities of setting up and in the tedious task of deploying real-world Grid/P2P platforms as well as in experimental studies which are often complex and not easy to repeat. In this paper we survey and analyze the advances in communication libraries and middleware for both Grid and P2P systems as well as their limitations when used in real Grid and P2P infrastructures. We also bring examples of real-life applications of massive data processing that can be efficiently handled through Grid and P2P approaches.