Modern science is a distributed wide-area enterprise, requiring real-time coordination of scientific instruments and remote sensors, computational resources, large data repositories and teams of researchers in different locations, even on different continents. The high-bandwidth networking demands of any such real-time and data-intensive collaborations tax the largest network pipes, and when conducted across the Internet, their Gigabit/sec data streams must utilize heterogeneous platforms with network link speeds that vary from 10Gbps to 10Mbps and with end user machines that range from desktop PCs to large supercomputers. However, effective scientific collaboration demands that team members be able to interact with each other and with critical remote resources in real-time, despite platform heterogeneity and despite dynamic variations in the availability of platform resources.<br/><br/>The key idea of the NetReact middleware services is to utilize the substantial server and processing resources associated with distributed collaborations to improve end user performance and compensate for potential deficiencies in network capabilities. NetReact provides rich functionality for dynamically reconfiguring both middleware and applications in response to network and platform monitoring, and to coordinate (1) middleware and application-level reactions to changes in network state with (2) the possibly simultaneous actions taken at the transport level. NetReact's monitoring (NRM) services dynamically determine available network bandwidth and communication latencies. NetReact uses such information to adjust middleware and application actions, to tune the underlying network transport, and even to dynamically select suitable network paths for ongoing middleware-enabled scientific collaborations. By embedding NetReact services into the grid computing middleware commonly used for scientific collaboration, the functionality of such NetReact-enriched middleware is improved substantially, enabling end users to collaborate in real-time even when they do not have access to high end machines or high capacity network links, thereby supporting scientific applications that currently remain out of reach for existing networking and grid computing technologies.