Software development for the HERMES experiment faces the challenges of many other experiments in modern High Energy Physics: Complex data structures and relationships have to be processed at high I/O rate. Experimental control and data analysis are done on a distributed environment of CPUs with various operating systems and requires access to different time dependent databases like calibration and geometry. Slowand experimental control have a need for flexible inter-process-communication. Program development is done in different programming languages where interfaces to the libraries should not restrict the capabilities of the language. The needs of handling complex data structures are fulfilled by the ADAMO2 entity relationship model. Mixed language programming can be provided using the CFORTRAN3 package. DAD, the Distributed ADAMO Database library, was developed to provide the I/O and database functionality requirements.