Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The CETA-Ciemat Digital Repositories Infrastructure

CETA-Ciemat
December 15, 2011

The CETA-Ciemat Digital Repositories Infrastructure

CETA-Ciemat

December 15, 2011
Tweet

More Decks by CETA-Ciemat

Other Decks in Technology

Transcript

  1. CENTRO EXTREMEÑO DE TECNOLOGÍAS AVANZADAS The CETA-CIEMAT DIGITAL REPOSITORIES INFRASTRUCTURE

    CESCA BCN DIC 2009 The CETA-CIEMAT DIGITAL REPOSITORIES INFRASTRUCTURE Autors: Raul Ramos Evento: JOCS 2009 Lugar / Fecha: CESCA Barcelona, 2 dic 2009
  2. CENTRO EXTREMEÑO DE TECNOLOGÍAS AVANZADAS The CETA-CIEMAT DIGITAL REPOSITORIES INFRASTRUCTURE

    CESCA BCN DIC 2009 Motivation  Digital repository:  Large digital content  Metadata (following an arbitrary relational data model)  Examples  Medical Images  METADATA: Patient data, Study, Diagnosis, etc.  LARGE DIGITAL CONTENT: Mammograms  Historial Archives  METADATA: Manuscript reference data, historical context, etc.  LARGE DIGITAL CONTENT: Digitalized manuscript pages  The DRIVING GOAL is to reduce the cost of  Hosting digital repositories (on GRID infrastructures)  Developing applications to exploit them (clients, jobs, …)
  3. CENTRO EXTREMEÑO DE TECNOLOGÍAS AVANZADAS The CETA-CIEMAT DIGITAL REPOSITORIES INFRASTRUCTURE

    CESCA BCN DIC 2009  DRI is a software platform based on Java  Abstracts repository providers from intrinsics of final storage  Abstracts application developers from low level APIs and services  Provides web based applications for repository navigation and content management  Inspired in JSR170 http://jcp.org/en/jsr/detail?id=170 Introduction DRI repository description DRI API applications users repository provider GRID STORAGE RELATIONAL DB metadata large digital content
  4. CENTRO EXTREMEÑO DE TECNOLOGÍAS AVANZADAS The CETA-CIEMAT DIGITAL REPOSITORIES INFRASTRUCTURE

    CESCA BCN DIC 2009 Medical Image Repository Repository definition Name IMED Purpose To host medical image sets, along with patient info, diagnosis and processing data and training datasets Users Clinicians. CAD Builders, Patients Usage Storage and management of medical images and patient data (clinicians), CAD building, CAD using (clinicians), data browsing (patients) Patient Study Series Image ImageType Annotation GenericSeriesLayout one to many many to one many to many FeatureSetDefinition FeatureSetValues ClassFamily ClassMember Classification Classifier ImageProcessorSet ImageProcessor SeriesLayout ImageProcessorSetValues
  5. CENTRO EXTREMEÑO DE TECNOLOGÍAS AVANZADAS The CETA-CIEMAT DIGITAL REPOSITORIES INFRASTRUCTURE

    CESCA BCN DIC 2009 IMED Repository Description <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class catalog="IMED" name="es.cetaciemat.imed.datamodel.Patient" table="patient"> <meta attribute="class-description"> Class Patient Generated by CETA-RepoGenerator.</meta> <meta attribute="extends">DRINode</meta> <meta attribute="extra-import">es.cetaciemat.dri.datamodel.DRINode</meta> <id name="PatientId" type="integer"> <column name="PatientId"/> <generator class="identity"/> </id> <property name="patientName" type="string"> <column name="PatientName" not-null="true"/> </property> <property name="gender" type="string"> <column name="Gender" not-null="true"/> </property> ….. <set inverse="true" lazy="false" name="studies" cascade="all"> <key> <column name="PatientId" not-null="true"/> </key> <one-to-many class="es.cetaciemat.imed.datamodel.Study"/> </set> </class> </hibernate-mapping>
  6. CENTRO EXTREMEÑO DE TECNOLOGÍAS AVANZADAS The CETA-CIEMAT DIGITAL REPOSITORIES INFRASTRUCTURE

    CESCA BCN DIC 2009 IMED Repository Description <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class catalog="IMED" name="es.cetaciemat.imed.datamodel.Image" table="image"> <meta attribute="class-description"> Class Image Generated by CETA-RepoGenerator. </meta> <meta attribute="extends">DRIDigitalContentHolder</meta> <id name="ImageId" type="integer"> <column name="ImageId"/> <generator class="identity"/> </id> <property name="originalFileName" type="string"> <column name="OriginalFileName" not-null="true"/> </property> <property name="thumbnail" type="string"> <column name="Thumbnail" not-null="true"/> </property> <property name=“imageContent" type=“LBC"> <property name="equipmentManufacturerModelName" type="string"> <property name="pixelSize" type="float"> <property name="imageDisplayPosition" type="float"> <property name="breastLocation" type="string"> <property name="quadrant" type="string"> <one-to-many class="es.cetaciemat.imed.datamodel.Annotation"/> </hibernate-mapping>
  7. CENTRO EXTREMEÑO DE TECNOLOGÍAS AVANZADAS The CETA-CIEMAT DIGITAL REPOSITORIES INFRASTRUCTURE

    CESCA BCN DIC 2009 DRI Bundled Applications. JWS Generic Viewer Metadata edition form Digital content as an attachment
  8. CENTRO EXTREMEÑO DE TECNOLOGÍAS AVANZADAS The CETA-CIEMAT DIGITAL REPOSITORIES INFRASTRUCTURE

    CESCA BCN DIC 2009 IMED Repository Navigation Description <displayfields name="patients-dados-pessoais" withtableset="patients-studies"> <field> <fieldname>patient.pIN</fieldname> <displayName>Número paciente</displayName> <format></format> <ordering priority="1">asc</ordering> </field> <field> <fieldname>studies.NHIST</fieldname> <displayName>Número estudo</displayName> <format></format> <ordering priority="2">asc</ordering> </field> ….. </displayfields> ….. <tableset name="patients-studies"> <table name="patient"> <join origintable="patient" destinationtable="studies"> <field-origin>id</field-origin> <field-destination>PatientId</field-destination> </join> </table> </tableset> <tree displayName="Patients-Study"> <branch name="Dados pessoais" tableset="patients-studies" displayFields="patients-dados-pessoais" > <branch name="Mamografia" tableset="patients-studies" displayFields="patients-mamografia" /> <branch name="Localizaçao" tableset="patients-studies" displayFields="patients-localizacao" /> …. </tree>
  9. CENTRO EXTREMEÑO DE TECNOLOGÍAS AVANZADAS The CETA-CIEMAT DIGITAL REPOSITORIES INFRASTRUCTURE

    CESCA BCN DIC 2009 DRI Architecture EJB (J2EE) Soon as Web Service JAVA API
  10. CENTRO EXTREMEÑO DE TECNOLOGÍAS AVANZADAS The CETA-CIEMAT DIGITAL REPOSITORIES INFRASTRUCTURE

    CESCA BCN DIC 2009 DRI Roles  DRI Engine provider  Develops DRI platform  Repository Provider  Defines repository and provider data model and navigation XMLs  DRI Host  Install DRI and hosts repositories  Module Provider  Provides implementations for modules (storage, UI, etc.)  Client Provider  Develops clients (viewers, feeders, jobs, etc.)  User  Uses clients
  11. CENTRO EXTREMEÑO DE TECNOLOGÍAS AVANZADAS The CETA-CIEMAT DIGITAL REPOSITORIES INFRASTRUCTURE

    CESCA BCN DIC 2009 DRI ENGINE API (for client provider) @Remote public interface DRIEngineRemote { DRISession createSession(DRIUserCredentials uc, DRISecurity security) void closeSession(DRISession session); DRIRepository getRepo(DRISession session, String reponame) List<DRIRepository> getRepos(DRISession session) QueryResult list(DRISession session, DRIRepository repository, Sentence sentence, int numPage, int numRow) void save(DRISession session, DRIRepository repository, DRINode node) DRINode load(DRISession session, DRIRepository repository, String source, int id) void remove(DRISession session, DRIRepository repository, DRINode node) String[] getAvailableTrees(DRISession session, DRIRepository repository) DRITreeModel getTree(DRISession session, DRIRepository repository, String name) } THAT’S ALL!!!
  12. CENTRO EXTREMEÑO DE TECNOLOGÍAS AVANZADAS The CETA-CIEMAT DIGITAL REPOSITORIES INFRASTRUCTURE

    CESCA BCN DIC 2009 DRI MODULES API (for module providers) public interface DRIStorage { void save(Object object, DRISession session) Object load(Class objClass, int id, DRISession session) QueryResult queryHQL(Sentence sentence, int startAt, int numRow, DRISession driSession) void remove(Object object, DRISession session) } THAT’S ALL!!! public interface DRIBrowsing extends Serializable{ public List<DRITreeModel> getTrees(); public DRITreeModel getTree(String name); public String[] getTreesNames(); }
  13. CENTRO EXTREMEÑO DE TECNOLOGÍAS AVANZADAS The CETA-CIEMAT DIGITAL REPOSITORIES INFRASTRUCTURE

    CESCA BCN DIC 2009 Conclussions  Cost reduction  To host a new repository through XML declarations  Base set of client applications for repository interaction  To create applications through simple client API  APIs based implementation  Well defined roles  Decoupled from technologies  Repositories under development  Medical Images (Mammograms)  Historical Archive of Trujillo  gPhase
  14. CENTRO EXTREMEÑO DE TECNOLOGÍAS AVANZADAS The CETA-CIEMAT DIGITAL REPOSITORIES INFRASTRUCTURE

    CESCA BCN DIC 2009 Conventual de San Francisco, Sola 1, 10200 Trujillo Teléfono: 927 65 93 17 Fax: 927 32 32 37 www.ceta-ciemat.es