Significant progress has been made in the design and development of Grid middleware which, in its present form, is founded on service-oriented architecture and web services technologies. Nevertheless, Grid middleware is still severely limited in key areas. In this paper we discuss work that aims to address some of these limitations. First, we consider how ideas and principles from the wider middleware research community can usefully be applied in a Grid middleware context. Then we focus on our own current work on integration of the Grid middleware platform with an extensible set of interaction types and advanced network services, and on an architectural framework for Grid middleware internals. We believe that these areas, along with complexity management, will become increasingly important as sophisticated e-Science applications start to exploit the potential of service-oriented architecture-based middleware.