Download presentation
Presentation is loading. Please wait.
Published byRichard Adams Modified over 9 years ago
1
Curation Tool June 11, 2009
2
Curation Tool Overview Architecture Implementation Dependencies Futures 2
3
Curation Tool - Overview caDSR content curation (create, edit) Establish associations between metadata and ontology’s (vocabularies) Attach reference documentation to the metadata Search metadata Support metadata reuse among the community Provide subject independent customizable application of metadata Support all members of the community, e.g. form designers, modelers, curators, etc Maintain the metadata integrity consistent with business rules and workflow 3
4
Curation Tool - Overview Stakeholders: –Form Designers –Modelers –Developers –Analysts –Clinicians –Statisticians –Researchers –Curators –caBIG –NCI 4
5
Curation Tool - Architecture Technologies –Java 1.5 –Javascript –HTML 4 –JDBC –EVS 4.2 5
6
Curation Tool - Architecture JSP / HTML View JBoss Controller Java 1.5 Application Class, Interface Model JDBC, PL/SQL, ANSI SQL Database Oracle 10g Persist 6
7
Curation Tool - Architecture Auto-deploy –Deployable via Anthill –Ant –DPROP.FILE=… build-all deploy SCM –CVS –.cvsignore for all transient files –One file, no duplicates, e.g. template.web.xml vs. web.xml All files placed in deployment-artifacts Production deployment artifacts –Accessible via links in email from Anthill –Files hosted on GForge for distribution –URL references to GForge hosting for Wiki, Download, etc 7
8
Curation Tool - Architecture tool name CURATION SENTINEL … property URL EMAIL … value https://cdecurate... sentinel@scenpro.com … … 8 Tool Options Table Tool options table hosts configuration values beyond 3 rd party requirements, e.g. XML Dynamic –Values are read as needed – user sees changes in real time –Values cached when new session created – user must close window –Values never cached with application – requires restart of JBoss
9
Curation Tool - Architecture SQL script updates/sets tool option values –Updates limited to CURATION tool name SQL may check database schema during deployment –E.g. When a new column is added to a table/view a SELECT using the column name will throw an error if the database is not updated before deploying the tool SQL may *never* alter schema SQL may perform data migration Must be coordinated and negotiated with caDSR database deployment scripts 9
10
Curation Tool - Implementation Project Structure –Conf Configuration files, e.g. XML, which require value substitution during build and deployment –Db-sql SQL scripts which are run during build and deployment or as part of a manual process –Doc Patterned after phases in development lifecycle with the addition of “Administration” for all documentation specific to NCI policies and processes and not directly pertinent to the product features Administration Construction Elaboration Inception Transition –Lib JAR files needed for building the project *but* not included in the deployment, e.g. ojdbc14.jar is deployment on Jboss and not packaged in project WAR but must be present to compile and build the WAR, allows for the separation of the build machine and the deployment target machine 10
11
Curation Tool - Implementation 11 Project Structure –Scripts Console scripts to manage temporary file system space, e.g. Ref Doc Upload and browsing –Src Java source, more details follow –WebRoot The deployed cdecurate.war content Css Html Images Js Jsp Meta-inf Web-inf –Lib –Tld
12
Curation Tool - Implementation Packages –gov.nih.nci.cadsr.cdecurate.database Database access used by Alt Names/Defs –gov.nih.nci.cadsr.cdecurate.datalov Common database attribute definitions –gov.nih.nci.cadsr.cdecurate.test Test wrappers –gov.nih.nci.cadsr.cdecurate.tool Primary source –gov.nih.nci.cadsr.cdecurate.tool.tags Tag support for JSP –gov.nih.nci.cadsr.cdecurate.ui UI for Alt Names/Defs –gov.nih.nci.cadsr.cdecurate.utl Internal utility support 12
13
Curation Tool - Implementation Packages –gov.nih.nci.cadsr.persist.* A collection of classes intended to be packaged and shared as services across all caDSR tools. Logging –Cdecurate_log.txt Haphazard use of fatal(), error(), etc Specific to gov.nih.nci.cadsr.cdecurate… –Server.log Contains all 3 rd party messages, e.g. Hibernate, Jboss, etc 13
14
Curation Tool - Implementation One of the oldest tools –Changes in technology –Diverse programming staff –Not “clean” Evolution –Mixes Procedural and OO –Strategy to move logical units into discrete components –Publish components as services –Different parts of the code are in different stages of evolution Originally deployed under Tomcat (pre Jboss) Extends HttpServlet –gov.nih.nci.cadsr.cdecurate.tool.NCICurationServlet.java 14
15
Curation Tool - Dependencies EVS –Specific Vocabularies defined in tool options –Currently uses the 4.2 remote client API –Adopter can remove dependency by populating concept table and removing EVSAPI.URL from tool options –Some additional code changes may be required – never tested by QA Admin Tool –Curation Tool does not curate (create, edit) CS, CSI, LOV, etc, must be done in Admin Tool 15
16
Curation Tool - Futures Move Admin Tool features to Curation Tool Allow metadata attributes to be optional –Implement data validation rules per Workflow Status Interface with Object Cart to replace “Append” Implement Customizable Download (Export) Implement Object Compare, e.g. VD 1 to VD 2, etc Move Ref Doc attachments out of Oracle to file system Update UI for consistency and to minimize mouse clicks and scrolling Reduce server requests –e.g. change Search For to swap for criteria Upgrade Tech Stack Move to Struts Move PL/SQL procedures to Java Move some Javascript to Java Move some embedded Java to tags 16
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.