Certification Layers

The certification of a data producing product such as an electronic logbook requires that it meet standards, business rules, and expected results.
We assume that the data will be exchanged in XML files.
The layers from the most concrete to the most abstract are:

  1. Encoding - is the XML file encoded correctly. The top level element includes an encoding attribute, the file encoding must match that attribute. The eLandings system accepts UTF-8 encoding, with or without the Byte Order Mark, and UTF-16 encoding, which always includes a 2 byte Byte Order Mark. Currently it does not check if the encoding specified in the top level element is the same as the detected encoding.
  2. Well-formed XML - does the XML file meet the standard of XML. Does each tag have a closing tag, etc. Prior to the well-formedness check, formatting and indenting are highly desirable. Otherwise, if the user has produced a file without newline characters the messages will refer to line 1, with a high column number. These messages will be less useful to the user
  3. XML meets Schema - does the structure of the XML file adhere to the XML schema for the particular exchange. This layer needs to comprehend changes in the XML schema over time. Does the data in the XML document match the data type rules specified by the schema. Note that this layer checks for the presence of required tags according to the schema. An empty tag will satisfy the schema, even though the eLandings convention is that required elements must contain data.
  4. Data meets Business Rules - does the data in the XML file meet the requirements of the business rules in terms of required data, rules for data content of each elements, and rules for how the data elements interact. This layer checks for required data according to the eLandings conventions about required fields.
  5. Data meets Scenarios- The certification service has another layer that should be considered and tested for during the certification process. This is the logical scenario layer. The testing in this layer is more difficult to conduct unambiguously. Scenarios must define circumstances related to fishing and processing that rigorously define inputs to the data producing product, but do not specify how the data should be represented in the XML. (Those rules should be available elsewhere.) The certification service needs to be able to interpret submitted data to insure it correctly represents the circumstances of the scenarios, since the same logical data could be reported in multiple ways. For example, 1000 pounds of H&G halibut could be reported on one itemized catch line as 1000 pounds, or 10 itemized catch lines as 100 pounds each.
  6. Data scenarios in sequences- The highest certification layer should test common sequences of operations to ensure that the electronic logbook manages sequential process consistently with the eLandings system.  For example, two scenarios are creating and submitting a new eLandings document, and, subsequently modifying that document and submitting the modification. (In more tightly coupled systems, for example, systems communicating through web services, this subject area is called /wiki/spaces/et/pages/8061033. Systems that interface more indirectly though exchange of XML documents face similar issues.)