TF Support Material Versioning - Discussion

From IHE Wiki
Revision as of 13:27, 31 March 2008 by Vassil (talk | contribs) (→‎Approaches)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Background

IHE profiles which use Web Services and XML as part of their transaction definition need to provide Web Services Definition Language (WSDL) and XML Schema Definition (.xsd) files in order to facilitate proper implementation. During the 2006-2007 development cycle, the ITI technical committee provided these computer processable artifacts under its subdirectory, using the following structure:

ROOT--+-examples-+-<Profile Abbreviation>-
      |          |
      |          +-<Profile Abbreviation>-
      |          |
      |          +-<Profile Abbreviation>-
      |
      +-schema-+-IHE-
      |        |
      |        +-<SDO Provided Reusable Schema>-
      |        |
      |        +-<SDO Provided Reusable Schema>-
      |
      +-wsdl-

The example transactions are organized by profile. The XML schema are grouped by their source, if they are coming from a standards developing organization, and currently all IHE defined schema are under the IHE subdirectory. The WSDL for each relevant actor are all under the single wsdl subdirectory. Individual profiles also provide packages (.zip) file with only the necessary files (replicating the structure

Approaches

Have a package, with a date, or version of a package. Directory structure - release structure, or development structure.

We can generalize from the above directory structure as follows:

ROOT-+-SHARED-+-schema-+-IHE-
     |        |        |
     |        |        +-<SDO Provided Reusable Schema>-
     |        |        |
     |        |        +-<SDO Provided Reusable Schema>-
     |        |
     |        +-wsdl-
     |
     +-ITI-+-examples-+-<Profile Abbreviation>-
     |     |          |
     |     |          +-<Profile Abbreviation>-
     |     |          |
     |     |          +-<Profile Abbreviation>-
     |     |
     |     +-schema-+-IHE-
     |     |        |
     |     |        +-<SDO Provided Reusable Schema>-
     |     |        |
     |     |        +-<SDO Provided Reusable Schema>-
     |     |
     |     +-wsdl-
     |
     +-PCC-+-examples-+-<Profile Abbreviation>-
     |     |          |
     |     |          +-<Profile Abbreviation>-
     |     |          |
     |     |          +-<Profile Abbreviation>-
     |     |
     |     +-schema-+-IHE-
     |     |        |
     |     |        +-<SDO Provided Reusable Schema>-
     |     |        |
     |     |        +-<SDO Provided Reusable Schema>-
     |     |
     |     +-wsdl-
     |     

A problem with the above structure is that a SHARED directory implies shared responsibility. A better option is to have anything shared between domains under ITI, so that there is a clear ownership of the artifacts.

TF_Support_Material-+-ITI-+-examples-+-<Profile Abbreviation>-
                    |     |          |
                    |     |          +-<Profile Abbreviation>-
                    |     |          |
                    |     |          +-<Profile Abbreviation>-
                    |     |
                    |     +-schema-+-IHE-
                    |     |        |
                    |     |        +-<SDO Provided Reusable Schema>-
                    |     |        |
                    |     |        +-<SDO Provided Reusable Schema>-
                    |     |
                    |     +-wsdl-
                    |     |
                    |     |
                    |     +-packages-
                    |
                    +-PCC-+-examples-+-<Profile Abbreviation>-
                    |     |          |
                    |     |          +-<Profile Abbreviation>-
                    |     |          |
                    |     |          +-<Profile Abbreviation>-
                    |     |
                    |     +-schema-+-IHE-
                    |     |        |
                    |     |        +-<SDO Provided Reusable Schema>-
                    |     |        |
                    |     |        +-<SDO Provided Reusable Schema>-
                    |     |
                    |     +-wsdl-
                    |     |
                    |     |
                    |     +-packages-
                    |     

Open issues - what goes into a package? How to manage dependencies between packages? A source control system is much better, but even without it, the above structure may work on the ftp site.