Entry Service (ES) 3.1 is a software library for Java developers. It provides centralized access to distributed data though a single hierarchy of typed objects (entries). Entries can be stored in data sources of different types (XML files, RDBMS, etc.). Every data source is to be overbuilt with one entry service; services group together into one distributed hierarchy. Every service publishes its own part of a global entry (object) tree. The whole entry tree is accessible through any service running, through one program interface, in spite of where and how the objects are stored in fact. All the services provide the same view of data transparently. Entries have stable and unique string identifier to refer from anywhere; the identifier reveals entry nesting structure. Entry nesting and service hierarchy are independent one from another, so entries can be moved into another service without changing their identifiers. ES-Path (XQuery/XPath-like language) exists to query the entry tree. Distributed Refreshable Objects underlies this library, which adds more flexibility and efficiency to ES: a bunch of remote calls are collected and sent as one package through network; all remote entries are cached on client side with no stale data possible; subscription on entry changes is possible. All this is done with no any messaging server (peer-to-peer communication takes place), which gives very high scalability of the entry tree and possibility to use it in global scope. The key features are: - Single view of typed objects covering all data sources involved of any types (RDBMS, XML, etc.). - Stable string object identifier to refer from anywhere; back reference navigation is supported; - XQuery/XPath-like ES-Path language to query the whole tree. - Remote entries are cached locally; no stale data is possible. - No central messaging server needed to notify of changes; increased scalability. - Effective network data interchange