A software architecture-based framework for highly distributed and data intensive scientific applications | Synapse