Re: [emergency] HAVE Conformance vs. Documentation vs. Released Schemas

From
Carl Reed <>
Date
2010-03-15T21:04:53+00:00
ID
4D955CE021F945A48F56925A69031A2F@CarlandSusieOf
Thread
Re: [emergency] HAVE Conformance vs. Documentation vs. Released Schemas


Don -

 

Ah, now we can really dig into some standards geekness :-) Standards only 
insure interoperability if the developers from different 
organizations implement the same conformance classes the same way. 
Conformance classes are tied to requirements and requirements are the "shalls" 
in a standard. If implementers do not implement against the same conformance 
classes, then when two applications from different vendors implementing the same 
standard (but each in their own way), they most likely will not interoperate 
(plug and play). In a very strict sense (from my previous email), a profile 
could be a community agreement on which conformance classes for a standard are 
implemented.

 

Now you mention the list of standards. Something like SOAP does require 
agreements in a community prior to implementation. The is what http://www.ws-i.org/ is all about. And in 
Europe, the European SDI community has defined initial agreements on profiles of 
SOAP, WSDL, SAML, XACML and other standards so that any organization 
implementing applications and portals that will link into INSPIRE all do so the 
same way. 

 

So, standards do not guarantee interoperability. Agreements on how to 
implement a standard do guarantee interoperability.

 

Cheers

Carl

 

 

 

  
----- Original Message ----- 

  
From: 
  McGarry, Donald 
  P. 

  
To: David RR Webber (XML) 

  
Cc:  
  ; Dwarkanath,Sukumar - INTL 

  
Sent: Tuesday, March 09, 2010 1:09 
  PM

  
Subject: RE: [emergency] HAVE Conformance 
  vs. Documentation vs. Released Schemas

  

  

  
I’m 
  sorry...Standards are to guarantee interoperability.  That’s why they are 
  called standards.

  
 

  
HTML, 
  HTTP, XML, TCP, UDP, IP, 802.11,  XHTML, Unicode, CSS, SOAP, WSDL, XSLT, 
  XML Schema, Ethernet, DNS, Arp, RIP, ICMP, Telnet, FTP, SMTP to name a few. 
  

  
 

  
What 
  if cisco made their own profile for RIP? 

  
What 
  if Sun made their own profile for TCP/IP in unix?

  
 

  
EDXL-HAVE 
  and RM need to work without a developer pow-wow beforehand.  It’s not 
  CIQ’s fault, we just copy-pasted their schema.  If we’re all gonna go off 
  and make our own profiles…why have the standard?  I think when you 
  combine the context above standards list into what the “internet” is today you 
  see why…The TC’s official answer to documentation issues and referenced 
  schemas shouldn’t be to tell developers to go off and make their own 
  profiles…I think we are just shooting ourselves in the 
  foot.

  
 

  
NIEM 
  is not a standard…it’s a standard process model for developing data 
  interchanges based on standard terminology; similar to what goes on in a TC, 
  or in Engineering shops across the world every day, it’s a great process and 
  model for developing defined data interchanges based on a common dataset and 
  allowing for cross organization reuse.  

  
 

  
 

  

  
-Don

  
Office: 
  315-838-2669

  
Cell: 
  315-383-1197

  


  
 

  

  

  
From: David RR Webber 
  (XML) [mailto:] 
Sent: Tuesday, March 09, 2010 1:40 
  PM
To: McGarry, Donald P.
Cc: 
  ; Dwarkanath,Sukumar - INTL
Subject: 
  RE: [emergency] HAVE Conformance vs. Documentation vs. Released 
  Schemas

  
 

  

  
Don,

  

  
 

  

  
I 
  hear you but I don't believe that a standard can guarantee interoperability - 
  and especially not through the use of XSD schema alone.  May be 
  if there is only one XML instance that everyone has to adher to - but 
  that is not what people expect.

  

  
 

  

  
Notice 
  OASIS standards in general - provide the schema framework for the exchange 
  content - implementers expect to have to test conformance (see Drummond Group 
  work on OASIS conformance testing) and declare interoperability - and 
  someone can still send you something that passes the schema but breaks your 
  backend application.

  

  
 

  

  
And 
  to Gary's point - yes - optional is not the schema default - but most 
  standards use optional since the context is unknown and rather than have a 
  situation where a required element is being fudged - its made optional.  
  CIQ is a point in case - which part of an address is required?  That is 
  impossible to determine for all 207 postal authorities and then in country 
  mail handling.  E.g. USA has 5 possible address formats that the USPS 
  will accept.

  

  
 

  

  
Mentioning 
  context - that is another weakness in XSD Schema design - no explicit context 
  mechanism - that allows you to control when something is mandatory or 
  optional.  You will be shocked to know that OASIS CAM has explicit 
  context mechanisms - so you can dynamically control 
  that.

  

  
 

  

  
Don 
  - at this point in the process here - the schema is what it is.  My 
  suggest is to augment that with additional profile tools that can provide the 
  types of interoperability measures you are looking 
  for.

  

  
 

  

  
BTW 
  - OASIS CIQ now have the v3 format which is a significant improvement on 
  matching addressing needs and removing the ugly from CIQ v2.  
  

  

  
Thanks, 
  DW

  

  
 

  

  
 

  
    

    
-------- 
    Original Message --------
Subject: RE: [emergency] HAVE Conformance vs. 
    Documentation vs.
Released Schemas
From: "McGarry, Donald P." <>
Date: Tue, 
    March 09, 2010 12:34 pm
To: "David RR Webber (XML)" <>, 
    
"Dwarkanath,Sukumar - INTL" <>
Cc: 
    "" 
    <>

    

    

    
David-

    

    
By 
    this assessment what distinguishes a standard from a common data 
    dictionary?  I envision a standard as defining interoperability in that 
    if two systems have never “met” before being able to expect exactly what the 
    other system is generating so that they can generate messages for data 
    sharing and process the other messages system.  By this assessment, if 
    I go by the schemas I have to implement the entire xPIL standard, if I go by 
    the HAVE document, I’m not exactly sure what out of xPIL I have to 
    implement, which means that I could conceivably represent my Hospital’s 
    location information by its stock ticker symbol.  I don’t think this is 
    what we intended to do as a TC.  If we all go off making our own 
    tailored profiles, then when our two systems meet we will discover they 
    can’t interoperate because the “MITRE” profile only works with stock 
    symbols, while the “Other” profile only works with Membership 
    information.  This doesn’t seem like what a standard is supposed to 
    do.

    

    
 

    

    

    
-Don

    

    
Office: 
    315-838-2669

    

    
Cell: 
    315-383-1197

    

    


    

    
 

    

    

    

    
From: 
    David RR Webber (XML) [mailto:] 
Sent: 
    Tuesday, March 09, 2010 12:20 PM
To: Dwarkanath,Sukumar - 
    INTL
Cc: McGarry, Donald P.; 
    
Subject: RE: [emergency] HAVE 
    Conformance vs. Documentation vs. Released Schemas

    

    
 

    

    

    
Don,

    

    

    
 

    

    

    
You 
    are encountering the limitation of schema itself.  Everything has to be 
    defined as optional.

    

    

    
 

    

    

    
If 
    you are following the NIEM IEPD approach - you would publish your IEPD and 
    subset schemas as your profile.

    

    

    
 

    

    

    
The 
    CAM toolkit provides full support for this.  
    

    

    

    
 

    

    

    
Ingest 
    the HAVE XSD into CAM template - tailor that as you desire - use 
    excludeTree() rules to prune out pieces you don't need (to match EDXL 
    conformance) - and then add other rules as desired to show 
    dependencies on other parts that you do, and or your content 
    restrictions.  Then run File / Export / Compress process - to complete 
    your template.  You can then generate the subset schema, via File / 
    Export / Template to XSD - to build either a flattened schema, or a NIEM 
    compliant subset schema (depending on what type of application development 
    tooling you are using).

    

    

    
 

    

    

    
You 
    can also build the business documentation, XML examples, cross-reference to 
    NIEM spreadsheet and NIEM wantlist - all as required for NIEM IEPD 
    publishing.

    

    

    
 

    

    

    
This 
    gives you a true complete profile of your use of EDXL HAVE, derived from the 
    original OASIS schema.  

    

    

    
 

    

    

    
Interoperability 
    is then dependent on the conformance to that profile.  
    

    

    

    
 

    

    

    
There 
    is also the CAMV engine - which you can use in lieu of schema checks for 
    production runtime.  This has added benefit of providing graduated 
    failure levels - error, warning, info - rather than the XSD which only has 
    error.  This allows you to tailor the runtime actions of your backend 
    systems to respond to differences in XML instances.  An upcoming 
    Developerworks article will be covering this with an example use 
    case.

    

    

    
Thanks, 
    DW

    

    

    
 

    

    

    
 

    
      

      
-------- 
      Original Message --------
Subject: RE: [emergency] HAVE Conformance vs. 
      Documentation vs.
Released Schemas
From: "Dwarkanath, Sukumar - 
      INTL" <>
Date: 
      Tue, March 09, 2010 10:08 am
To: "McGarry, Donald P." <>,
<>

      

      

      

      
Don, 
      

      

      

      
 

      

      

      
The 
      restrictions on using CIQ were considered to be business rules and the 
      intention was not create a profile as far as I remember. I am not against 
      creating a CIQ Profile but if we go down that path, we should consider 
      requirements across the other standards such as EDXL RM, DE etc. We have 
      dealt with this particular issue quite a few times and it is a balance – 
      offering flexibility vs ensuring interoperability. 

      

      

      
 

      

      

      
Sukumar

      

      

      
 

      

      

      
 

      

      

      
 

      

      

      
      

      

      

      
From: 
      McGarry, Donald P. [mailto:] 
      
Sent: Monday, March 08, 2010 8:31 AM
To: 
      
Subject: [emergency] HAVE 
      Conformance vs. Documentation vs. Released Schemas

      

      

      
 

      

      

      
All-

      

      

      
After 
      spending some time doing some coding this weekend I noticed something that 
      we may want to address:

      
        
HAVE uses 
        xPil which in turn uses xAL and xNL
        
We included 
        the full schemas for all of these referenced schemas on the OASIS page 
        to download the standards.

      

      

      
 

      

      

      
I 
      think the problem here is that when I went to implement this the 
      documentation states that we are using a “profile” recommendation to limit 
      the choices for xPil to “maximize interoperability”.  It then goes on 
      to state that <have:Organization> should have the sub-elements 
      OrganizationInformation and OrginizationGeoLocation.  

      

      

      
OrganizationInformation 
      should have the sub-elements as defined in the CIQ standard:

      
        
OrganisationName
        
OrganisationInfo
        
Addresses
        
ContactNumbers
        
CommentText

      

      

      
 

      

      

      
It 
      also states that we won’t use georss but will use the gml in the 
      OrganizationGeoLocation Section.

      

      

      
It 
      also refers me to Appendix C which suggests that I refer to the CIQ TC 
      website, and also states that for the purpose of HAVE the naming & 
      location elements are used.  The use of other elements is left to 
      implementation choices.  

      

      

      
 

      

      

      
Conformance 
      is defined in the document as:

      
        
Validating 
        to the schema
        
Meets the 
        mandatory requirements of section 3

      

      

      
 

      

      

      
My 
      concern is that the referenced xPil schemas (and in turn the xAL and xNL) 
      are the FULL SCHEMAS.  There is no restriction in the HAVE 
      schema enforcing our smaller profile of CIQ.  Additionally the 
      reference to the georss namespace or elements was not removed.  
      Furthermore, the document is somewhat confusing in that it states what 
      elements to use, but then tells the develop that it’s an implementation 
      choice whether to use the other elements or not.  Right now as it 
      stands I can generate an XML document that has a bunch of xPIL fields that 
      we didn’t include in our documentation, but will validate against our 
      schemas.  With the vagueness in the document I could argue that this 
      was an implementation choice and my document is valid according to the 
      conformance section, but I suspect my document may break some 
      systems.

      

      

      
 

      

      

      
So 
      which is it?  If I am building an XML processor to ingest HAVE 
      documents I need to know what to expect.  If I need to be prepared to 
      handle Accounts, Documents, Revenues, Stocks, etc. as defined in xPIL 
      because some system out there decided that they wanted to do it, that 
      makes HAVE more heavyweight that I think the designers intended.  If 
      indeed we are using a CIQ “profile” we should develop the schema for that 
      profile and post it with the standard and add some more info to our 
      documentation so it isn’t as vague.  I’ll upload my generated sample 
      file as HAVE_FullToSchemaButNotDocument.xml to the TC page so you can 
      check it out.  This example validated against the schemas from our 
      page.  I added in Geo-RSS as well (which will validate if you 
      reference the georss schema)…

      

      

      
 

      

      

      
Don 
      McGarry 

      

      

      
Office: 
      315-838-2669

      

      

      
Cell: 
      315-383-1197