In recent years, the continuous development of the Web and network infrastructures has had a profound impact both on the way users’ access information and utilize traditional computer applications, and on the manner these applications are designed and developed. The network development, in fact, has been a key factor for the transition from stand alone and centralized software architectures to distributed ones, enabling software components located in different geographic locations to communicate through the network in order to provide for coordinated services and joint results.