What Are ISO 15926 Endpoints – Part 2

In our previous post, What Are Endpoints – Part 1, we said that endpoints are simply places to store stuff in a way that ISO 15926 tools can query and get a response. This is a good enough explanation for an introductory level, but if you intend to implement ISO 15926 in the real world you will be building endpoints and will need a more complete explanation.

 Reader warning: This post gets more technical than most in this blog.

Definition of Endpoint

  • An endpoint is a web interface that is addressed by a URI.
  • Endpoints are contained in a web service.
  • An endpoint can expose an RDL or it could expose the individuals for a specific project, or both.

Hierarchy

  • A web service can contain
    • One or more endpoints, which can each contain
      • One or more resources, which can each contain
        • One or more classes, and/or
        • One or more individuals
      • The classes and individuals of a resource can be
        • Reference Data
        • Payload
        • Metadata

Categories of Resources

Resource is the general name for any information of value you put on an endpoint. It includes:

Reference Data

  • In the previous post, What Are Endpoints – Part 1, we used an example of an endpoint that contained definitions of words to be used in contracts. The words in the contracts were ”referenced to” the definitions. The definitions are Reference Data.

Payload

  • Payload here is similar to the meaning of the payload of a freight train. It is what someone will pay money to move somewhere.
  • If you were sending me a proposal for some work and I asked you to verify every word in the proposal with “That dictionary over there”, the words in the dictionary would be reference data and the proposal itself would be payload.
  • If ISO 15926 were used to turn over the data for a capital project from the EPC contractor to the owner, the payload would be the project data.
  • An endpoint can contain both reference data and payload. All categories of data do not have to share the same access restrictions. For example, while the dictionary data might be made be available to the general public (depending on the purpose of the endpoint), the turnover data would be confidential requiring certain credentials to gain access.

Metadata

  • Metadata is data about data. It is everything that isn’t reference data or payload.
  • A typical example is information about the endpoint itself. For instance:
    •  I am in XML version x.x.x
    • I contain the following….
  • Anything that helps users understand the purpose of the endpoint is metadata.

Common Denominator

The common denominator is the manner in which all this information is stored. To the software it all looks the same. We call it Reference Data, Payload, or Metadata depending on how we use it.

Classes and Individuals

Classes are groups of things. Individuals (i.e., individual objects) are things. But groups are also things. Thus a class can be a Class of Class (a group of groups), or just a Class (which means a class of individuals.)

You can think of individuals as real objects that you can stub your toe on while a list of such individuals is a class. In a capital projects environment, individuals are often given a tag number which serves much like the name of a human.

For instance, in the set of data describing the equipment of a processing plant, the equipment hierarchy would likely start with several classes of classes before getting to a class of individuals. For instance the hierarchy might be

  • Equipment
    • Rotating Equipment
      • Centrifugal Pumps
        • 37-P-101
      • Rotating Cavity Pumps
        • 37-P-201
    • Fired Equipment

In this example the classes ”Equipment” and ”Rotating Equipment” would each be a “class of class” because their members are classes. ”Centrifugal Pumps” and ”Rotating Cavity Pumps” would each be a “class of individuals”, or just “class” because their members are actual objects you can stub your toe on.

Reference Data or Payload

Classes and Individuals can be Reference Data or Payload depending on what they are used for.

For instance, in ”An Introduction to ISO 15926” we used the example of political divisions in the world. We might create the classes of Country, Province, and City. Within each might be a number of ”Reference Individuals”, such as all the countries in the world, the provinces or states they are divided into, and all the cities.

If I were to send you a report about the City of London in the UK that is near the Prime Meridian, I would use this as reference data by connecting the words “City of London” in my report to the URI for “City of London” in the RDL. This would positively identify which of the many cities of the world named “London” that I was referring to. If I were to send you the report using ISO 15926 tools, the report would be payload. The URI for the City of London would be reference data.

Similarly, if I were to use ISO 15926 to send you a report of all the countries and cities I visited in a trip around the world, the ”list” of individual countries and cities that I visited would be payload while the references of the cities would be reference data.

Application Data vs. Endpoint

A typical use of ISO 15926 is to turn over project information to the owner. But the project information starts its life as data within a number of different software applications. While the data is still in the application’s database it is not an ISO 15926 endpoint. After we process the data with an adaptor (to represent the data in the standard form of ISO 15926) we might store it in an ISO 15926 endpoint. For instance, if the owner wanted to be able to access and download the project information on its own schedule, we would post the information to a web service with its own URI and give the owner the necessary credentials to access it.

Universal Resource Identifier (URI)

Earlier we said “An endpoint is a web interface that is addressed by a URI.” This seems a bit general in that a great many things can be addressed by a URI that are not ISO 15926 endpoints. An explanation is in order.

From the Wikipedia entry on Universal Resource Identifier:

URIs can be classified as locators (URLs), as names (URNs), or as both. A uniform resource name (URN) functions like a person’s name, while a uniform resource locator (URL) resembles that person’s street address. In other words: the URN defines an item’s identity, while the URL provides a method for finding it.

As you can see, the difference between a URI, URL, and URN is a bit technical. (There is lots of information on the internet if you are curious.) For our purposes here we can make this distinction:

  • A URL represents a web page that is intended for human readers.
  • A URI represents a web page that is intended for software. (But just to keep you on your toes, some URI’s also have a web page that can be used by people.)

One Response to What Are ISO 15926 Endpoints – Part 2

  1. Matthew West September 28, 2012 at 6:47 am #

    A minor correction. When you said “Thus a class can be a Class of Class (a group of groups), or just a Class (which means a class of individuals.)”. Actually a class can be a class of indviduals (there is a subtype of class in part 2 called class_of_individual) a class of class, or even a class that has members that are a mixture of classes and individuals, but that is admitedly mostly a theoretical possibility. In practice we are mostly interested in classes of individuals (groups of individuals) and classes of class of individual, (groups of classes of individual).

Leave a Reply