I8K

Solution Description

The I8K plug-in for Eclipse enables the communication from applications to the I8K Services Architecture. The main aim of the architecture is to assure the data exchange between applications along with the necessary support for the evaluation and certification of the levels of data quality of the data contained in the master data messages.

The I8K Services Architecture is an implementation of the family of standards ISO 8000-1x0:2009 , more specifically the parts 100, 102, 110, 120, 130 and 140. These parts introduce some requirements for the exchange of master data, like the definition of a data dictionary propose to use a format preset for messages of master data exchanged in communication between customers and suppliers. The corresponding terms in the master data of the message is stored in a data dictionary. In addition parts, specify the requirements that must be met such messages to incorporate information about the level of quality of data contents, about the dimensions of quality of accuracy and completeness.
This plug-in contains an application programming interface called ICS-API that provides the mechanisms for setting up and establishing communication with the I8K Services Architecture.

ICS-API has the following functionalities:

  • Configure information about the organization.
  • Configure aspects of certification desired.
  • Give support to realize communication with I8K to encode messages.
  • Support for communication with I8K to decode messages.
  • Manage the request for certification of the quality level of the data contained in a message from master data.

The first thing you must do if you want to use I8K is contact with Ismael.Caballero@uclm.es or Isabel.Bermejo@uclm.com. This is because for the proper functioning of I8K, terms (master data) of the domain must be stored in the Data Dictionary, along with information about the applications or data providers.

More information about I8K is available in: I8K: AN IMPLEMENTATION OF ISO 8000-1X0, page 356. Paper presented at Internacional Conference on Information Quality 2013 (ICIQ)

An example of messages can observe in this link. In this example, an application, called TripPlanner, requests some data about flights, car renting and hotels from different providers to select the cheapest trip between two cities including flights, car rental and hotel staying. To do so, some master data messages are exchanged between TripPlanner, and the corresponding providers.

USER MANUAL
    I8K plugin can be used for two types of applications:
  • Applications that query data to providers (organization type AP)
  • Data provider applications (organization type Provider)

First, you have to download I8K plugin. This is a .jar file that you have to import into your project.

Application type AP

Encode a Master Data Message

  1. Create an object of type MDQManager
  2. MDQManager manAP= new MDQManager();

  3. Configuration
  4. manAP.configureOrganization(application_name, OrganizationType.AP);

  5. Establish the provider which the message is sent
  6. manAP.setDestination(application_destination_name);

  7. Encode message
    • Identify terms (master data) that form the message
    • manAP.addTermAndValue(master_data, value);

    • Invoke method that encodes the message
    • manAP.encodeAndCertificated();

Encode and Certify a Master Data Message

  1. Create an object of type MDQManager
  2. MDQManager manAP= new MDQManager();

  3. Configuration
  4. manAP.configureOrganization(application_name, OrganizationType.AP);

  5. Establish the provider which the message is sent
  6. manAP.setDestination(application_destination_name);

  7. Establish the parameters for certification to receive the data message certified response
  8. manAP.configureCertification(minimum_level_accuracy, minimum_level_completeness, boolean_accuracy, boolean_completeness);

  9. Encode message
    • Identify terms (master data) that form the message
    • manAP.addTermAndValue(master_data, value);

    • Quality rules
      • Accuracy level
      • Identify terms of provider whose value can specify a regular expression that value should satisfy
      • manAP.addTermPattern(term, pattern, boolean_obligatory);

      • Identify terms of provider whose value is validate with an authoritative source
      • manAP.addTermSource(term, source, boolean_obligatory);

        Completeness level
      • Identify terms of provider whose value cannot be null in message
      • manAP.addTermRequired(term, boolean_obligatory);

  10. Invoke method that encodes the message
  11. manAP.encodeAndCertificated();

Decode a Master Data Message

  1. Create an object of type MDQManager
  2. MDQManager manAP= new MDQManager();

  3. Configuration
  4. manAP.configureOrganization(application_name, OrganizationType.AP);

  5. Establish the provider which the message is sent
  6. manAP.setDestination(application_destination_name);

  7. Decode message
  8. manAP.decode(message);

  9. Know accuracy level (part 130) and completeness level (part 140) (If message was encoded and certify)
  10. manAP.getLevel130provided();
    manAP.getLevel140provided();

Application type Provider

Encode a Master Data Message

  1. Create an object of type MDQManager
  2. MDQManager manAP= new MDQManager();

  3. Configuration
  4. manAP.configureOrganization(application_name, OrganizationType.Provider);

  5. Establish the provider which the message is sent
  6. manAP.setDestination(application_destination_name);

  7. Encode message
    • Identify terms (master data) that form the message
    • manAP.addTermAndValue(master_data, value);

    • Invoke method that encodes the message
    • manAP.encodeAndCertificated();

Decode a Master Data Message

  1. Create an object of type MDQManager
  2. MDQManager manAP=new MDQManager();

  3. Configuration
  4. manAP.configureOrganization(application_name, OrganizationType.Provider);

  5. Establish the provider which the message is sent
  6. manAP.setDestination(application_name);

  7. Decode message
  8. manAP.decode(message)

  9. Know values of terms
  10. manAP.getValue(term);

Additional Details

Organization Name: Alarcos Research Group. University of Castilla-La Mancha

Development Status: Beta

Date Created: Wednesday, January 15, 2014 - 06:10

Date Updated: Wednesday, January 22, 2014 - 06:21

Submitted by: Isabel Bermejo

Date Ranking Installs Clickthroughs
April 2024 0/0 0 0
March 2024 0/0 0 0
February 2024 0/0 0 0
January 2024 0/0 0 0
December 2023 0/0 0 0
November 2023 0/0 0 0
October 2023 0/0 0 0
September 2023 0/0 0 0
August 2023 0/0 0 0
July 2023 0/0 0 0
June 2023 0/0 0 0
May 2023 0/0 0 0
View Data for all Listings

Unsuccessful Installs

Unsuccessful Installs in the last 7 Days: 0

Download last 500 errors (CSV)