ECLASS workflow
Introduction
In this document a guideline to implementing the ECLASS workflow is given. Target audience is implementers of the ECLASS workflow.
Scope
Guidelines for using the ECLASS XML 3.0 Schema with regards to the ECLASS workflow, i.e. in particular the use or query and response Out of scope are:
Detailed coverage of Dictionary and units
Implementation details in a particular programming language
Definitions, Acronyms and Abbreviations
Path: A path describes where a property can be found within a nested structure. The path is a sequence of Aspect Reference properties Cardinality values Specialized blocks (from polymorphism) Property that one needs to traverse starting from an application class to a leaf property
Note: The blocks which are implicitly clear from having a certain reference property in the path are omitted.
(further terms to be defined on request)
References
Standards
Foundations
Workflow: purpose and conceptual design
The purpose of the ECLASS workflow is to offer a means of formalized catalogs of requests for products according to the features of their technical data. It is required that both involved parties have access to the knowledge that is captured in the ECLASS dictionary. Only the dictionary is needed to understand the meaning of the messages (query, response) of the conversation. On top of the dictionary Requestor and Responder can agree on a data requirement specification (template), i.e. what data from the dictionary shall be exchanged. This includes data necessary for the Responder to refine what products are in scope of a response as well as the data needed by the Requestor. Queries (article requirements) for products based on the quality of properties of their technical data and responses to such queries can circulate between Requestor and Responder until the Requestor is satisfied or decides to issue no further request and bury their query.
Schema overview
Dictionary and Structure Elements
Defines structure elements (SE) e.g. classes (Classification classes (CC), Aspects (AS), Blocks (BL), Application classes (AC)), the properties / domains / values they are described by and patterns that apply (polymorphism, cardinality).
See: Category:Structure and structural elements
Units and Quantities
Defines Units referenced by properties, puts them into the context of a dimension and gives quantities and aspect of conversion to enable conversion of values.
See: Unit
Template
An ECLASS template is a bilaterally agreed data requirement specification. It defines which data from the dictionary shall occur in transactional data (messages) or catalogs and how this data is expected to be presented. Moreover it can clarify the usage of individual properties by narrowing down the options e.g. for a property being multivalued or having a restricted set of proposed values. Templates define the visible properties of classes and establishes their order. Moreover the template allows to control as well as over-ride features of properties in regards to transactions between certain business parties.
See: Templates
Query
For ECLASS XML 3.0: The query schema defines a catalog of ISO 29002-31 based queries for items described according to the ECLASS dictionary; the query is meant to be sent to a communication partner as basis for their answer.
Response
For ECLASS XML 3.0: The response schema defines a catalog of responses (=items according to ISO 29002-10). It is meant to be a response to a particular set of queries contained in a query document.
Identifiers
IRDI
IRDIs are used to identify all structure elements in the dictionary / units as supplied by ECLASS. Also the default templates originated from ECLASS get an IRDI assigned. The picture below shows the detailed structure of the concept identifier according to ISO 29005-5.
The Code Space Identifier (CSI) defines the category of the item. Below picture shows an excerpt of CSIs used for ECLASS elements.
| Code Space Identifier (CSI) | Category of administrated item |
|---|---|
| 01 | Class |
| 02 | property |
| 05 | unit of measurement |
| 07 | property value |
| Z2 | dimension |
| Z3 | template |
| Z4 | quantity |
Table 1: Excerpt of Code Space Identifiers(CSI)according to ISO 29005-5
Below picture shows an example of an identification code for an ECLASS class. It becomes clear that the length of this IRDI is well below the 60 character limit for the length of an identifier in the current BMEcat-format. So it can be assumed that it’s save to write an IRDI as the ECLASS identifier into the catalogue.
| 0173-1#01-AAA123#001 | |
| Code: | Description |
| 0173 | ICD Code for ECLASS |
| 1 | ECLASS Office |
| 01 | eclass |
| AAA123 | identifier of class |
| 001 | version of class |
Table 2: Identification code for an ECLASS class according to ISO 29005-5
GUID
GUIDs are used in the ECLASS workflow to identify individual messages, items and requests / responses. Also templates agreed bilaterally between a buyer and a supplier can only be identified by GUIDs. No central code assignment is possible here; therefore the unicity must come from the GUID algorithm. GUIDs in ECLASS are written as 32 lowercase, alphanumeric characters (from ASCII range [a-z0-9]) without any separator signs. GUIDS are according to IETF RFC 4122.
ECLASS Release
The dictionary is separated into releases. A given dictionary explicitly mentions an ECLASS release in dic:eclass_dictionary/hea:header/content_identification/irdi
Note: For the query-response workflow this is not necessary to know the particular ECLASS release as the application class is specified together with its version. A version of an application class can be contained in more than one ECLASS release.
Dictionary Change Management
The ECLASS dictionary change management is transaction centric, i.e. the decision base of the versioning mechanism of structure elements is whether transactions referencing these structure elements remain valid or not. Therefore an application can implicitly understand the meaning of an older version element when the application only knows the newer version. Note: When an application has only an older version of a dictionary element and encounters a new one, it can be that it does not fully understand the meaning of the element. Still, a value valid for an older version of the element can never become invalid.
Dictionary and Units in Schema
General information
It is out of scope of this document to describe the dictionary and units. It is assumed that both parties have access to the content of an ECLASS XML 3.0 advanced release of dictionary and units. Therefore the meaning of each identifier can be obtained by a dictionary lookup.
Further reading
Usage of units
The query may select any unit that is allowed for the property in the dictionary. The response should contain values according to the requested unit. It may use another of the available units of the property. It must not use a unit that is not available for the property.
Template in Schema
Purpose
An ECLASS template is a bilaterally agreed, formal data requirement specification. It defines which data from the dictionary shall occur in transactional data (messages) or catalogs and how this data is expected to be presented. Moreover it can clarify the usage of individual properties by narrowing down the options e.g. for a property being multivalued or having a restricted set of proposed values. The template can also define which property is mandatory in a certain business context. It is out of scope of this document to give a detailed specification of templates. A query can reference a particular template by providing a reference like:
qry:eclass_queries/eclass_query/query_header/previous_query_identifier/@type=GUID
qry:eclass_queries/eclass_query/query_header/previous_query_identifier/cmn:identifier