Presentation on theme: "Transitions of Care Reference Implementation Development Overview July 5, 2011."— Presentation transcript:
Transitions of Care Reference Implementation Development Overview July 5, 2011
Agenda Review Initial Draft of API Tools and Libraries Maven Overview Code Conventions How to Get Started
API Overview Establishes the foundation for the development effort by providing a contract for what a subsystem must provide functionally. –Validators – provide information on the validity of an incoming document. More than one validator may be used on a specified document. –Translators – convert a document from one input document format to an output format. More than one translator may be used to perform the conversion. –Handlers – assemble the validators and translators to best handle a specified input document.
Tools and Libraries Libraries –Spring http://www.springsource.com/developer/spring “Spring is a popular and widely deployed open source framework that helps developers build high quality applications faster. Spring provides a consistent programming and configuration model that is well understood and used by millions of developers worldwide.“ – from springsource.comhttp://www.springsource.com/developer/spring –Maven http://maven.apache.org “Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.” – from apache.orghttp://maven.apache.org –Saxon http://saxon.sourceforge.net The Saxon package is a collection of tools for processing XML documents. The main components are: an XSLT 1.0/2.0 processor, an XPath 2.0 processor, an XQuery 1.0 processor, and an XML Schema 1.0 processor.http://saxon.sourceforge.net –Schematron http://www.schematron.com “ A language for making assertions about the presence or absence of patterns in XML documents.” – from schematron.comhttp://www.schematron.com
Tools and Libraries cont. Tools –Open Health Tools http://www.openhealthtools.org Provides a source code repository Provides document repository Provides wiki forum Provides discussion forum
Maven Overview Typical Project –Pom.xml – specifies the project structure, dependent libraries, reports, unit-testing, etc. –Src Main – contains the deliverable code –Java –Config –Resources Test – contains the code that tests the deliverable code –Java –Config –Resources –Target – the destination for all compiled code, reports, etc. Site – contains the generated reports (checkstyle, cobertura, javadoc, etc) $USER_HOME\.m2 –Settings.xml –Repository – contains the dependent libraries
Maven Overview cont. Sample commands –mvn install – sets up project locally by downloading dependent libraries, etc. –mvn clean – cleans all target items –mvn test – tests the code –mvn site – generate all reports for the project Plugins –M2Eclipse – http://m2eclipse.sonatype.orghttp://m2eclipse.sonatype.org –NetBeans – http://wiki.netbeans.org/MavenBestPracticeshttp://wiki.netbeans.org/MavenBestPractices –IntelliJ – http://www.jetbrains.com/idea/features/ant_maven.htmlhttp://www.jetbrains.com/idea/features/ant_maven.html See http://maven.apache.org for detailed reference, samples, quickstart, etc.http://maven.apache.org
Development Conventions & Process Package structure –gov.hhs.hin.ri.toc gov.hhs.hin.ri.toc.contract – contains the API (e.g., DocumentHandler, DocumentTranslator, etc.) gov.hhs.hin.ri.toc.handlers – contains the handler implementations (e.g., GenericDocumentHandler) gov.hhs.hin.ri.toc.translators – contains the translator implementations (e.g., XslTranslator) gov.hhs.hin.ri.toc.validators – contains the validator implementations (e.g., SchematronValidator) Process –http://wiki.siframework.org/S%26I+Framework+RI+Development +Processhttp://wiki.siframework.org/S%26I+Framework+RI+Development +Process
How to Get Started Please provide feedback and suggestions on development plan and API by 7/7/2011. Create a login account at www.openhealthtools.org.www.openhealthtools.org Install Maven 3.0 and review documentation. Install IDE (Eclipse, NetBeans, etc.) if desired. Suggested Review –Spring http://blog.springsource.com/category/green-beans/ Suggest Getting Started with Spring Integration –Saxon http://www.saxonica.com/documentation/about/gettingstarted/gettingstartedj ava.xmlhttp://www.saxonica.com/documentation/about/gettingstarted/gettingstartedj ava.xml –Schematron http://www.schematron.com/elements.html Tasks assignments are scheduled to begin 7/12/2011.