Critical evaluation of the JDO API for the persistence and portability requirements of complex biological databases