We'll be writing more content about this, but we recommend data sources as a general pattern in Apollo Server 2. That gives you easy access to the context and a shared cache. For batching and deduplication, you can use DataLoader as part of the implementation.

Up until now, all Apollo Server integrations share the same version number. So apollo-server-express 1.4 is using version 1.4 of Apollo Server. We'll be switching to independent versioning after the 2.0 release.