"Federation solves two problems — providing a common access method to different databases of similar data, and providing transparent access to very large distributed databases that would not be practical to concentrate in one location. Federation creates a multilayer interface between the Internet and each DB, with common high-level services and custom low-level access to each different DB. Thus all of the code can be shared except the detailed access code for each DB."