We review selected technical challenges addressed in our digital library project. Our InfoBus, a CORBA-based distributed object infrastructure, unifies access to heterogeneous document collections and information processing services. We organize search access using a protocol (DLIOP) that is tailored for use with distributed objects. A metadata architecture supports novel user interfaces and query translation facilities. We briefly explain these components and then describe how technology choices such as distributed objects, commercial cataloguing schemes and Java, helped and hindered our progress. We also describe the evolution of our design tradeoffs.