JHS 159 ISO OID-yksilöintitunnuksen soveltaminen julkishallinnossa, Liite 2 Esimerkkejä yksilöintijärjestelmistä

  • Versio: 1.0
  • Julkaistu: 17.6.2010
  • Voimassaoloaika: toistaiseksi

1 Yksilöintijärjestelmät

Yleisesti käytettyjä yksilöintijärjestelmiä ovat mm. ISO OID 1 , URI (Universal Resource Identifier) tai sen kaltaiset URN (Universal Resource Name) tai URL (Universal Resource Locator) sekä UUID (Universally Unique Identifier).

OID-yksilöintijärjestelmän käytöstä on annettu ohjeita varsinaisessa suositustekstissä. Tässä suosituksen liitteessä annetaan valintaperusteita ISO OID-yksilöintijärjestelmän käyttämiselle sekä kuvataan URI ja UUID-yksilöintijärjestelmiä ja niiden soveltuvuutta erilaisiin käyttötarpeisiin. Tavoitteena on auttaa lukijaa valitsemaan käyttötarpeeseen sopiva yksilöintijärjestelmä.

1.1 Milloin yksilöintijärjestelmäksi tulisi valita ISO OID?

ISO OID-yksilöintitunnuksen käyttö on järkevää tapauksissa, joissa jo olemassa oleviin yksilöintikäytäntöihin tarvitaan nykyistä laajempi yksilöitävyys (esimerkiksi järjestelmän sisäinen yksilöintitunnus pitää saada yksikäsitteiseksi kansallisella tai kansainvälisellä tasolla – organisaatiorajat ylittävä tiedonvaihto tai organisaation eri järjestelmien välinen tiedonvaihto). Tähän kategoriaan kuuluu myös käytössä olevien yksilöintijärjestelmien tuominen OID-rakenteeseen.

OID-yksilöintitunnus perustuu hajakeskitettyyn malliin, jossa puurakenteen avulla jaetaan nimiavaruuksien hallinnointi useiden vastuutahojen kesken. Kohteiden (lehtien) yksilöinti tulisi aina toteuttaa ohjelmistojen avulla ja koneellisesti. OID-yksilöintitunnusten manuaalista käsittelyä ja luettavuutta tarvitaan yleensä vain nimiavaruuksien (vastuutahojen) hallinnassa.

Joillakin toimialoilla voi olla sitova päätös tietyn yksilöintijärjestelmän käyttämisestä. Esimerkiksi terveydenhuollossa on kansallisesti sovittu ISO OID-yksilöintijärjestelmän käytöstä mm. potilasasiakirjojen yksilöintiin.

1.2 Internetin resurssien yksilöintijärjestelmä (URI, URN, URL, IRI)

Internetin yhteydessä käytetään erilaisten kohteiden yksilöintiin URI (Universal Resource Identifier)2 tunnusta tai sen kaltaisia URN (Universal Resource Name)3 tai URL (Universal Resource Locator)4 tunnusta. IRI (Internationalized Resource Identifier)5 sallii mm. skandinaaviset merkit tunnuksessa. Niiden yksikäsitteisyyden varmistaminen tapahtuu rekisteröimällä ja sen yhteydessä varmistumalla tunnuksen ainutlaatuisuudesta.

graphics1

Kuva 1 URI, URL ja URN keskinäiset suhteet

1.3 UUID-yksilöintijärjestelmä

UUID (Universally Unique Identifier)6 on OSF:n (Open Software Foundation) määrittelemä yksilöintijärjestelmä, jota käytetään tietojärjestelmien yhteydessä. UUID perustuu tunnusgeneraattoriin, joka tuottaa globaalisti yksikäsitteisiä yksilöintitunnuksia. Näin yksilöintitunnusten muodostaminen voi olla täysin hajautettua ilman vaaraa, että eri tahot tuottaisivat päällekkäisiä tunnuksia.

A Universally Unique Identifier (UUID) is an identifier standard used in software construction, standardized by the Open Software Foundation (OSF) as part of the Distributed Computing Environment (DCE). The intent of UUIDs is to enable distributed systems to uniquely identify information without significant central coordination. Thus, anyone can create a UUID and use it to identify something with reasonable confidence that the identifier will never be unintentionally used by anyone for anything else. Information labeled with UUIDs can therefore be later combined into a single database without needing to resolve name conflicts.

(Lähde: Wikipedia).

Milloin yksilöintijärjestelmäksi tulisi valita UUID?

Tässä suosituksessa keskitytään OID-yksilöintitunnuksen hyödyntämiseen. UUID:n edut on kuitenkin haluttu tuoda selkeästi esille, sillä yksilöintitunnuksen valinta tulee tehdä käyttötarkoituksen ja tarpeiden mukaisesti.

UUID (Universally Unique Identifier) on hyvin laajassa käytössä oleva yksilöintitunnus, joka on määritelty seuraavissa standardeissa:

  • ISO:IEC 11578:1997
  • ITU Rec. X. 667
  • ISO/IEC 9834-8:2005
  • IETF RFC 4122 7

Eräs UUID:n hyvin tunnettu toteutus on GUID (Globally Unique Identifier). Monesti GUID-termillä viitataan Microsoftin toteutukseen UUID-standardista, mutta termiä käytetään yleisesti myös muiden ohjelmistojen ja laitteistojen toteutuksissa.

UUID-yksilöintitunnuksen merkittävimmät edut ovat seuraavat:

  • Yksilöintitunnus on kiinteän kokoinen merkkijono, joka soveltuu hyvin tietokantoihin ja muihin sovelluksiin, jossa yksilöintitunnukselle allokoitavalla merkkijonon pituudella on merkitystä.
  • Binäärimuodossa yksilöintitunnus voidaan esittää 128-bitin avulla (16 tavua).
  • Merkkijonomuodossa UUID vie 36 merkkiä (32 heksadesimaalilukua esittävää merkkiä ja 4 väliviivaa).
  • Riittävän luotettavalla tasolla yksikäsitteinen8: generointimenetelmästä riippuen UUID pystyy joko takaamaan ainutlaatuisuuden vuoteen 3400 asti tai hyvin suuren todennäköisyyden, että samaa yksilöintitunnusta ei generoida.
  • Esimerkkinä on laskettu, että jos jokaisella maailman ihmisellä on hallussaan 600 miljoonaa UUID yksilöintitunnusta, niin todennäköisyys, että näiden joukosta löytyy yksi duplikaatti on 50%.
  • Soveltuu suurta kapasiteettia ja suorituskykyä vaativiin tapahtumankäsittelysovelluksiin (yksi generaattori pystyy tuottamaan 10 miljoonaa yksilöintitunnusta sekunnissa).
  • Soveltuu sekä tilapäisten että pysyvien kohteiden yksilöintiin.
  • Äärimmäisen laajasti käytetty ja hyvin koeponnistettu yksilöintitunnus, joka on käytössä mm. useimmissa käyttöjärjestelmissä (Windows, Linux, Unix, VMS, jne.).
  • Täysin hajautettu hallinnointimalli: yksilöintitunnusten generointi voidaan tehdä ilman minkäänlaista keskitettyä hallinnointia.
  • Useiden standardisointijärjestöjen (ISO, ITU ja IETF) hyväksymä ja näiden standardien välillä täysin teknisesti yhteensopiva.
  • Yksilöintitunnusten generointi on toteutettu valmiiksi kaikissa ohjelmointiympäristöissä – ohjelmointiympäristö tarjoaa suoran funktiokutsun yksilöintitunnuksen luomiselle tai käyttöjärjestelmän tarjoamaa palvelua voidaan hyödyntää.
  • Hyvin kustannustehokas, koska globaalisti ainutlaatuisen tunnuksen generointi on ilmaiseksi saatavissa kaikissa ympäristöissä. Ei edellytä minkäänlaista hallinnointimekanismia, jolla hajautetut tahot olisivat tietoisia minkä juuren alle tms. tunnus generoidaan.

UUID ei sisällä mitään semantiikkaa, kuten eivät yksilöintitunnukset yleensäkään. UUID-yksilöintitunnukset eivät sovellu kaikkiin käyttötarkoituksiin, koska sen rakenne on satunnainen ja hankalasti ihmisen hahmotettavissa. UUID-tunnuksia ei ole mahdollista hallinnoida manuaalisesti.

Alaviitteet

1) OID (Object Identifier) http://en.wikipedia.org/wiki/Object_identifier

2) URI (Universal Resource Identifier) http://en.wikipedia.org/wiki/URI

3) URN (Universal Resource Name) http://en.wikipedia.org/wiki/Uniform_Resource_Name

4) URL (Universal Resource Locator) http://en.wikipedia.org/wiki/URL

5) IRI (Internationalized Resource Identifier) http://en.wikipedia.org/wiki/Internationalized_Resource_Identifier

6) UUID (Universally Unique Identifier) http://en.wikipedia.org/wiki/UUID

7) IETF RFC 4122 http://www.ietf.org/rfc/rfc4122.txt

8) A Universally Unique IDentifier (UUID) URN Namespace, Leach, Mealling ja Salz, 2005