[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]