OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ubl-dev message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [ubl-dev] Datatype Methodology RE: [ubl-dev] SBS and Restricted Data Types


Ken, 

Oh - now you touch into my other pet peeve here - fault tolerance. 

And aligned with this - is the ability to specify mechanisms that
accept a broad unconstrained information stream (such as "string").

One of the biggest factors is - as you note - just-write-code taking
over 
and dominating the business view. 

The business view says - "I need a company name to be included in the 
transaction".  There's no mention here of this being only 30 bytes long,

and that a null pointer exception will occur if its empty or it contains

characters that are non-ASCII, and so on! Similarly if a XML instance
contains elements that you do not care about - your software should not
throw a pointer exception and crash and stop!

Unfortunately there's a major slippery slope here - where implementers
queue up to add these "checks" to the transactions and perpetuate
badness - and if you add mechanisms to do this - they will rush to
build more of the same.

The CAM work has strived hard to make fault tolerance a foundation for 
its design.
  
This makes a vast difference to the stability and agility across the 
entire community of practice.

Today - just-write-code and program level exception throwing is the 
dominant modus operadi.  

Fault tolerance is not even a critical design criteria or test case!

Usually when you ask the question "What happens if the XML is not
exactly what you expect to receive" the answer is "It cannot be, 
we won't accept it, and our partners won't send it to us any other way".

"And remind me what are you doing about versioning again...?".

It comes down once again - if you are going to allow people to muck with
the formatting at this level - you need to have a mechanism that 
exposes that - by role and context - and does not hide it into the
normal
stream.  That way software can either detect it easily, or ignore it 
depending on its relevance to the processing being done.

DW

 -------- Original Message --------
Subject: Re: [ubl-dev] Datatype Methodology RE: [ubl-dev] SBS and 
Restricted Data Types
From: "G. Ken Holman" <gkholman@CraneSoftwrights.com>
Date: Mon, May 08, 2006 2:44 pm
To: ubl-dev@lists.oasis-open.org,ubl@lists.oasis-open.org

At 2006-05-08 12:10 -0600, stephen.green@systml.co.uk wrote:
>Following the conversations prompted by Joseph Chiusano I've an idea
>UBL might need, besides its Codelist Methodology, a general methodology
>for at least restricting datatypes and maybe extending them in some
>cases.

I'm not yet convinced, but I don't want to stop the debate and I may 
yet be swayed.

>I was thinking that it is possible with UBL to extend and restrict
>enumerated codelists without it being called customisation. Yet to do
>this with other datatypes it might be necessary at the present to call
>it customisation. How about in future adding to the Codelist Methodology
>a way to do the same or similar (as one can for codelists) with other
>datatypes.

But why is it being done in the first place?  It seems to me to be 
accommodating vendors and not users, creating an artificial limit to 
accommodate programs rather than letting business use what they need 
and having the program accommodate the users.

>A trading agreement which limits the currencies used to just USD might
>be such that a document with other currencies included isn't regarded
>as valid.

From a business perspective, yes.

>The codelist methodology allows for this. We seem to need a
>way to apply such criteria to datatypes other than codes.

Again I'm interested to know why ... I know what you are asking, but 
not the justification to limit some business users' needs for, say, 
long description fields.

>In some cases
>it might be that an instance is invalid with Text types having an over
>long string value. In other cases it might be that they aren't invalid but
>an non-fatal exception is raised (the latter being more along the lines
>of the SBS subsetting methodology).

But is this being done because of poor program design that 
arbitrarily limits the string values rather than accommodating 
business needs for long strings?  I thought I got away from string 
limits when I got away from programming in COBOL and RPG II ... those 
were the last programming languages I used where records were mapped 
to fixed-length fields.

I think fixed-length limitations are anathema to *document-oriented* 
processing and is too *record-oriented*.

>Maybe the latter could be called 'UBL subsetting' and the former 'UBL
>profiling' (the codelist methodology seeming to suggest 'UBL profiling'
>for codelists).

Why not just "business rules" or "application rules"?

Though I'm still not convinced they are justified.  If a business 
user finds the XML vocabulary suits their needs but the application 
software doesn't, they could look for application software that 
does.  If they, then, decide that they cannot for whatever reason 
change the application, then they have a business rule for limiting 
it, say, as a non-fatal error message.

Jon has already requested the supplementing of code list constraint 
checking with trading partner business rules in a single Schematron 
pass, so I'm building into the 0.5 methodology a way to include 
arbitrary Schematron rules in addition to synthesized Schematron 
rules so that trading partners can exchange and point to their own 
supplemental Schematron expressions that have constraints to be 
included with, but considered higher priority, than the synthesized 
Schematron rules.  BTW, I haven't figured the most elegant way to do 
this yet, but I'm working on it.

But, again, string limitations are just not (to me) 
document-oriented.  If a business user needs to express their line 
item description in 1001 characters, then using 1000 characters must 
not have been appropriate.

. . . . . . . . . . . . . Ken

--
Registration open for XSLT/XSL-FO training: Wash.,DC 2006-06-12/16
Also for XSLT/XSL-FO training:    Minneapolis, MN 2006-07-31/08-04
Also for XML/XSLT/XSL-FO training:Birmingham,England 2006-05-22/25
Also for XSLT/XSL-FO training:    Copenhagen,Denmark 2006-05-08/11
World-wide on-site corporate, govt. & user group XML/XSL training.
G. Ken Holman                 mailto:gkholman@CraneSoftwrights.com
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/o/
Box 266, Kars, Ontario CANADA K0A-2E0    +1(613)489-0999 (F:-0995)
Male Cancer Awareness Aug'05  http://www.CraneSoftwrights.com/o/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal


---------------------------------------------------------------------
This publicly archived list supports open discussion on implementing the
UBL OASIS Standard. To minimize spam in the
archives, you must subscribe before posting.

[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Alternately, using email: list-[un]subscribe@lists.oasis-open.org
List archives: http://lists.oasis-open.org/archives/ubl-dev/
Committee homepage: http://www.oasis-open.org/committees/ubl/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
Join OASIS: http://www.oasis-open.org/join/ 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]