Tutkija Mikko Salmenperä. huone: sd109. TTY / Systeemitekniikan laitos. puh:

Samankaltaiset tiedostot
TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

Paikkatiedot ja Web-standardit

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

7.4 Variability management

Paikkatiedon mallinnus Dokumentoinnin ymmärtäminen. Lassi Lehto

XML-metakieli, k

papinet -sanomastandardit

Helsingin yliopisto / TKTL XML-Metakieli XML Schema

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta

Ontologiat merkitysten mallintamisessa: OWL. Eeva Ahonen

C++11 seminaari, kevät Johannes Koskinen

RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS

in condition monitoring

Luento 7: XML-ohjelmointirajapinnat

Sisältö. XML, XHTML ja CSS XML XML. XML:n ja HTML:n ero. XML kieliä XML XHTML CSS XSL. T Hypermediadokumentin laatiminen 2002

Interfacing Product Data Management System

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Collaborative & Co-Creative Design in the Semogen -projects

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Yhteentoimivuutta edistävien työkalujen kehittäminen

IoT-platformien vertailu ja valinta erilaisiin sovelluksiin / Jarkko Paavola

Luento 12: XML ja metatieto

HSMT J2EE & EJB & SOAP &...

OHJ-5201 Web-palveluiden toteutustekniikat. Kurssisisällöstä. Tarja Systä

7. Product-line architectures

XML kielioppi. Elementtien ja attribuuttien määrittely. Ctl230: Luentokalvot Miro Lehtonen

Enterprise Architecture TJTSE Yrityksen kokonaisarkkitehtuuri

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Ajankohtaisia SOA tutkimusteemoja

HITSAUKSEN TUOTTAVUUSRATKAISUT

Efficiency change over time

LUONNOS RT EN AGREEMENT ON BUILDING WORKS 1 THE PARTIES. May (10)

Hankkeen toiminnot työsuunnitelman laatiminen

VBE2 Työpaketit Jiri Hietanen / TTY

Paikkatiedon semanttinen mallinnus, integrointi ja julkaiseminen Case Suomalainen ajallinen paikkaontologia SAPO

Trimble Feedback Mobile app ja rajapinnat Kuvaus

Varmennepalvelu Rajapintakuvaus Kansallisen tulorekisterin perustamishanke

Järjestelmäarkkitehtuuri (TK081702) SOA, Service-oriented architecture SOA,

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1

NELLI-Tunnis. Käyttäjän tunnistus NELLI-tiedonhakuportaalissa yleisissä kirjastoissa. Versio Ere Maijala Kansalliskirjasto

The OWL-S are not what they seem

HOJ J2EE & EJB & SOAP &...

OHJ-5201 Web-palveluiden toteutustekniikat. Kurssisisällöstä. Tarja Systä

XML-pohjaiset rakennemäärittelyt

SOA SIG SOA Tuotetoimittajan näkökulma

Integrointi. Ohjelmistotekniikka kevät 2003

812336A C++ -kielen perusteet,

XML merkintäkielten perusteet. Luento 3 Pekka Aarnio

TIE Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

A Service-Oriented Architecture (SOA) View of IHE Profiles

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Järjestelmäarkkitehtuuri (TK081702)

StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen

Johdatus XML teknologioihin

Hohde Consulting 2004

W3C-teknologiat ja yhteensopivuus

Sisällys. Valtion tietotekniikan rajapintasuosituksia. XML:n rooleja sähköisen asioinnin tavoitearkkitehtuurissa. dbroker - asiointialusta

Rakentamisen 3D-mallit hyötykäyttöön

Use of spatial data in the new production environment and in a data warehouse

Digitaalisen median tekniikat. JSP ja XML

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto

1. Lähtökohta ja taustat

Teknologia-arkkitehtuurit. Valinta ja mallinnus

18. Abstraktit tietotyypit 18.1

XML-merkkaus. Merkkidata, prosessointikomennot, kommentit

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

The CCR Model and Production Correspondence

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

Helpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj

Tietorakenteet ja algoritmit

Tutkimuslääkkeiden GMP. Fimea Pirjo Hänninen

LX 70. Ominaisuuksien mittaustulokset 1-kerroksinen 2-kerroksinen. Fyysiset ominaisuudet, nimellisarvot. Kalvon ominaisuudet

Koordinaattimuunnospalvelut Reino Ruotsalainen

XML-saatavuuskysely. XML-tiedoston kuvaus. versio

XML merkintäkielten perusteet. Luento 3 Pekka Aarnio

Green Growth Sessio - Millaisilla kansainvälistymismalleilla kasvumarkkinoille?

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki

SFS:n IT-standardisoinnin vuosiseminaari

Other approaches to restrict multipliers

XML standardeja. nimiavaruudet, namespaces XHTML XML Schema linkitys Jaana Holvikivi 1

Älykkäämmät integraatiot palveluväylän avulla

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

Ohjelmointi 2. Jussi Pohjolainen. TAMK» Tieto- ja viestintäteknologia , Jussi Pohjolainen TAMPEREEN AMMATTIKORKEAKOULU

SÄHKE-hanke. Tekninen mallintaminen SÄHKE-metatietojen XML Schema

Julkaisun laji Opinnäytetyö. Sivumäärä 43

6 XML-työkalut 1. 6 XML-työkalut

.NET ajoympäristö. Juha Järvensivu 2007

Hankintailmoitus: Pohjois-Savon sairaanhoitopiirin kuntayhtymä/kiinteistöyksikkö : Puijon sairaalan Pääaula-alueen uudistus, Sähköurakka

TIE Principles of Programming Languages CEYLON

BPEL4WS Business Process Execution Language for Web Services. ITK E54 kevät 2005 Ville Seppänen

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

Sosiaalihuollon asiakastiedon arkiston validointipalvelu. Käyttöohje

CSE-A1200 Tietokannat

Common Lisp Object System

Transkriptio:

Tutkija Mikko Salmenperä huone: sd109 TTY / Systeemitekniikan laitos puh: 040-849 0061 email: mikko.salmenpera@tut.fi

Joko kaikilla on aihe? Harjoitustyöt Pitäisikö järjestää välinäyttö & komentointi työn sisällöstä? Muuta kysyttävää?

XML integraatiossa Yleistä integraatiosta Parserit & Schema & Transformaatiot Erimerkkejä XML:n soveltamisesta OPC XML DA OPC UA OMG Rosettanet MIMOSA OASIS ISO 15926 ISA95: B2MML

Integraatiosta yleisesti Kaikissa vaihtoehdoissa on yhteistä: Tieto pitää esittää vakioidussa muodossa Tietoa pitää käsitellä vakioidulla tavalla Käytetään mitä tahansa ratkaisua standardit tietomallit ja prosessit tuovat selkeää etua pitkällä tähtäimellä! Standardeja kehittävät erilaiset yhteisöt. Nykyään standardit pohjaavat pitkälti XML muotoiseen tiedon ja prosessien esittämiseen.

Integraatiosta yleisesti Data warehouse Kaikki tieto keskitetään yhteen paikkaan. U s e r s A p p l i c a t i o n s R e l a t i o n a l D a t a b a s e ( W a r e h o u s e ) D a t a S o u r c e D a t a S o u r c e D a t a S o u r c e On Demand Integration Tieto jätetään lähde järjestelmiin Haetaan tarpeen mukaan. Q u e r y R e s u l t M e d i a t o r R e f o r m u l a t i o n O p t i m i z a t i o n E x e c u t i o n G l o b a l S c h e m a Soveltuu hyvin palvelupohjaiseen arkkitehtuuriin W r a p p e r W r a p p e r D a t a S o u r c e L o c a l S c h e m a D a t a S o u r c e L o c a l S c h e m a D a t a S o u r c e L o c a l S c h e m a

Integraatiosta yleisesti Yhteisöön pohjautuva interaatioarkkitehtuuri: E n d U s e r s W e b D o m a i n W e b F o r m s & R e p o r t s Dynaaminen Uusia tietolähteitä voidaan lisätä Vanhoja tietolähteitä voidaan poistaa Vaatii jonkin riippumattoman tahon ylläpitämään yhteisöä. D e v e l o p e r s C o m m u n i t y O w n e r S o u r c e O w n e r s A p p l i c a t i o n D o m a i n C o m m u n i t y D o m a i n M e d i a t o r S o u r c e D o m a i n A p p l i c a t i o n W e b S e r v i c e C o m m u n i t y S c h e m a W e b S e r v i c e N e w A p p l i c a t i o n D a t a S o u r c e S o u r c e S c h e m a N e w S o u r c e

P2P pohjainen integraatio: Integraatiosta yleisesti Yhteydet muodostetaan järjestelmäkohtaisesti Ei tarvita keskitettyä hallintaa P e e r 4 Q u e r y Q u e r y P e e r 5 P e e r 2 P e e r 1 P e e r 3

XML tuotannon informaatiojärjestelmien integroinnista XML ei sinänsä ole integroinnin ongelmia ratkova tekniikka, mutta XML tarjoaa yleisesti hyväksytyn standardin tavan yhdistää rakenne, merkitys ja sisältö XML on riittävän yksinkertainen ja selkä perusta integraatio sovelluksille XML pohjalta on luonnollista kehittää pitemmälle vietyjä määrittelyjä ja standardeja (BPML, ebxml, RosettaNet, ISA95, OPC XML DA...) XML ei ole jokapaikan höylä, vaan sen soveltuvuus pitää ratkoa tapaus kohtaisesti

XML jäsentimet Jäsentimet voidaan jakaa kolmeen ryhmään: Komentoriviltä käytettävät parserit. Graafisen käyttöliittymän omaavat parserit: XML editorit. Erilaisia graafisia esitysmuotoja. Ohjelman osaksi liitettävät parserit: Integroidaan osaksi ohjelmaa. SAX ja DOM rajapinnat. Toteutuksia löytyy todella paljon. Kaikki varteenotettavat parserit tarjoavat yleensä jonkin tasoisen API rajapinnan ominaisuuksiensa käyttämiseen. API = Application Programming Interface

XML jäsentimet: Yleiset ominaisuudet Tarkastaa xml dokumentin Well formed ja Valid ominaisuudet. Jos dokumentti ei ole kunnossa käsittely yleensä loppuu. XML jäsentimen pitää tarjota kaikki merkkaukseen kuulumattomat merkit (CDATA) sitä käyttävälle ohjelmalle. XML jäsennin normalisoi rivien loppumerkit "LF" merkeiksi ennen tekstin välittämistä eteenpäin. Validoiva XML parseri korvaa entiteetti viittauksen, sen varsinaisella sisällöllä. XML jäsennin korvaa tyhjät elementit niiden skeemasta (dtd tai schema) saatavilla oletusarvoilla.

SAX 2.0 Simple API for XML processing. SAX on siis vain API rajapinta. Alunperin tarkoitattu JAVA sovellusten käyttöön, mutta sittemmin levinnyt myös useille muille ohjelmointikielille. API määrittelee vain rajapinnan ja siten toteutusfilosofian. Varsinainen toteutus API:n määrittelemille toiminnoille pitää tehdä erikseen. SAX toteutuksia on tarjolla ilmaiseksi paljon. Tapahtumapohjainen XML dokumentin prosessointi.

Tapahtumia generoidaan seuraavista asioista: Dokumentin alusta Elementin aloitus merkkauksesta Elementin lopetus merkkauksesta Dokumentin lopusta Ohjelmoijan tehtävänä on kirjoittaa käsittelijät, jotka toteuttavat halutun toiminnallisuuden elementtien käsittelemiseksi Yksinkertainen, kevyt ja matalan tason tapa käsitellä XML dokumenttia. Suurin etu on tietokoneen muistin vähäinen kulutus.

Toteuttettavat funktiot: void characters(char[] char, int start, int length) void enddocument() void endelement(string uri, String localname, String rawname) void startdocument() void startelement(string uri, String localname, String rawname, Attributes attributes) XML-dokumentti: <?xml version="1.0"?> <Name> <Last_Name>Punin</Last_Name> <First_Name>John</First_Name> </Name> Syntyneet tapahtumat: start document start element: Name start element: Last_Name characters: Punin end element: Last_Name start element: First_Name characters: John end element: First_Name end element: Name end document

DOM on myös API määritys. DOM 2.0 Toteutus täytyy hankkia erikseen. DOM käsittelee XML dokumenttia solmujen (node) puumaisena rakenteena. Mahdollistaa joustavan osoittamisen mihin tahansa XMLdokumentin osaan. XML Dokumenttia voidaan selata edestakaisin. Selkeästi monimutkaisempi ja muistia enemmän vaativa tapa käsitellä XML dokumenttia kuin SAX.

XML Parserit Esitellyt SAX ja DOM tekniikat ovat matalan tason rajapintoja XML dokumenttien käsittelyyn Nykyään on tarjolla hyvin pitkälle kehitettyjä XML työkaluja ja kehyksiä jotka tarjoavat runsaasti ominaisuuksia. Kuitenkin XML dokumenttien prosessoinnin perusluonne on pysynyt muuttumattomana.

XML Schema XML Schema XSD = XML Schema Description Language

Miksi viestin rakenne pitää kuvata? Järjestelmien kehitys ja integrointityö helpottuu, kun dokumenttien ja sanomien tietorakenteet voidaan määritellä yksikäsitteisesti etukäteen. Tiedonsiirto on turvallisempaa kun sekä lähettäjä että vastaanottaja voivat myös tarkastaa sanoman rakenteen kelpoisuuden (validity). Sanomissa kelpoisia tietorakenteita ja sanastoja voidaan standardoida esimerkiksi toimialoittain globaalisti (RosettaNet, B2MML, ) ja kansallisesti (PSK, ).

Mitä skeemalla oikein määritellään? XML skeema määrittelee dokumentin tai sanoman rakenteen samaan tapaan kuin olio ohjelmoinnissa luokka määrittelee olion rakenteen. Dokumentin instanssilla viitataan tietyn skeemamäärityksen mukaiseen konkreettiseen XML dokumenttiin.

XML Schema W3C Recommendation, 2 May 2001. DTD (Document Type Definition) seuraaja. Tarkoitettu korvaamaan vanhentunut DTD määrittely (XML 1.0 spesifikaatio). XML Schema tarjoaa useita etuja DTD:n nähden: Monipuolisemmat mahdollisuudet määritellä sallitun rakenteen. XML Schema määritykset ovat rakenteeltaan itsekin XMLdokumentteja. XML Schema tukee tietotyyppejä ja raja arvoja. Schema tukee XML Namespaces määritystä.

XML Schema: määrittelydokumentaatio XML Schema Part 0: Primer: Johdanto ja yleisesittely spesifikaatiosta. Ei sisällä mitään varsinaista määrittelyä. http://www.w3.org/tr/rec xml XML Schema Part 1: Structures: Määrittelee tavan rakenteen määrittelyyn. Elementit ja attribuutit XML Schema Part 2: Datatypes: Perustietotyypit (string, boolean, float, jne.) Perustietotyypeistä johdetut tietotyypit (time, recurringdate) Mahdolliset rajoitukset määritellyille tietotyypeille (minlength, maxlength, precision, jne.)

XML Schema: External entity reference XML Schema määrittely on aina viittaus ulkoiseen dokumenttiin. (external entity) Sitä ei siis voi upottaa osaksi XML dokumentin instanssia, vaan siihen pitää viitata. (entity reference) SchemaLocation attribuutti nonamespaceschemalocation attribuutti <ns:person xmlns:xsi= http://www.w3.org/2001/xmlschema-instance xsi:schemalocation= http://www.sample.org/ns/schemas/ns.xsd xmlns:ns= http://www.sample.org/ns > <ns:firstname>clemens</ns:firstname> <ns:lastname>kerer</ns:lastname> </ns:person>

XML Schema: Elementtien määritteleminen Skeemassa voidaan määritellä elementtejä globaalisti, lokaalisti ja viittauksena. Globaalit elementit: Määritellään suoraan <scema> elementin lapsiksi. Globaaliin elementtiin voidaan viitata muualta dokumentista. name attribuutti. type attribuutti. <schema xmlns= http://www.w3.org/2001/xmlschema> <element name= FirstElement type= string /> </schema>

XML Schema: Elementtien määritteleminen Lokaalit elementit Määritellään toisten elementtien sisällä. Lokaaliin elementtiin ei voi viitata. name attribuutti type attribuutti <schema xmlns= http://www.w3.org/2001/xmlschema> <element name= FirstElement type= string > <element name= LocalElem type= float /> </element> </scema>

XML Schema: Elementtien määritteleminen Globaaliin elementtiin viittaaminen name attribuutin tilalla ref attribuutti ei type attribuuttia tarkoitettu elementtien uudelleenkäyttöön. lokaaliin elementtiin ei voi viitata. <schema xmlns= http://www.w3.org/2001/xmlschema> <element name= FirstElement type= string > <element ref= SecondElement /> </element> <element name= SecondElement type= string /> </schema>

XML Schema: Esimerkki globaalin elementin käyttämisestä <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" > <xs:element name="tilaus"> <xs:element name="tilaaja"> <xs:element ref=" ="Osoite"/> </xs:element> <xs:element name="lähettäjä"> <xs:element ref=" ="Osoite"/> </xs:element> </xs:element> <xs:element name=" ="Osoite"> <xs:element name=" ="Postiosoite"/> <xs:element name=" ="Postitoimipaikka"/> <xs:element name=" ="Postinumero"/> </xs:element xs:element> </xs:schema> Viittaus globaaliin Osoite elementtiin Globaali elementti Osoite

XML Schema: Esimerkki lokaalien elementtien käyttämisestä <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" > <xs:element name="tilaus"> <xs:element name="tilaaja"> <xs:element name=" ="Postiosoite"/> <xs:element name=" ="Postitoimipaikka"/> <xs:element name=" ="Postinumero"/> </xs:element> <xs:element name="lähettäjä"> <xs:element name=" ="Postiosoite"/> <xs:element name=" ="Postitoimipaikka"/> <xs:element name=" ="Postinumero"/> </xs:element> </xs:element> </xs:schema>

Lokaali vs. globaali Kumpaa tapaa pitäisi käyttää globaaleja vai lokaaleja elemettejä? Suunnittelu ratkaisu. Johdonmukainen lähestyminen tuottaa selkeän kokonaisuuden. Globaalit elementit tuottavat jossain määrin lyhyemmän ja selkeämmän lopputuloksen

Tyypit Schema kielessä Perustietotyypit (Primitive types) ovat: atomisia loogisesti jakamattomia Johdetut tyypit (Derived types) ovat: Perustietotyypeistä johdettuja DTD yhteensopivuuden parantamiseksi Osaa voidaan käyttää vain attribuuttien määrityksen yhteydessä.

Perustietotyypit string boolean decimal float double QName datetime time date...

Johdetut tietotyypit normalizedstring positiveinteger nonpositiveinteger long int byte unsignedint...

Complex ja simple tyypit Tyyppimäärittelyllä luodaan uusia tyyppejä. XML Schema tarjoaa mahdollisuuden tehdä kahdenlaisia tyyppimäärittelyjä: Simple Complex Elementit voivat olla kumpia vain. Attribuutit voivat olla vain Simple tyyppisiä.

Simple type Perustietotyyppien jalostamiseen. Voi sisältää vain merkkidataa. Ei voi sisältää elementtejä eikä attribuutteja. Esimerkiksi: merkkijono, jonka pituus on 4 merkkiä. <xsd:simpletype name="myinteger"> <xsd:restriction base="xsd:integer"> <xsd:mininclusive value="10000"/> <xsd:maxinclusive value="99999"/> </xsd:restriction> </xsd:simpletype>

Complex type Voi sisältää toisia elementtejä ja attribuutteja. Mahdollistaa elementtien sijoittamisen toisten elementtien sisään (nesting). <xsd:schema xmlns:xsd= http://www.w3.org/2001/xmlschema > <xsd:element name= tilaus type= tilaustyyppi /> <xsd:complextype name= tilaustyyppi > <xsd:sequence> </xsd:sequence> <xsd:attribute name= tilauspaiva type= xsd:date /> </xsd:complextype> <xsd:schema>

Nimetön tyyppi Jos tietty tyyppi esiintyy vain kerran voidaa se jättää nimeämättä. Nimeäminen antaa mahdollisuuden käyttää tyyppiä useassa eri kohdassa. <xsd:schema xmlns:xsd= http://www.w3.org/2001/xmlschema> <xsd:element name= FirstElement > <xsd:complextype>... </xsd:complextype> </xsd:element> <xsd:element name= SecondElement type= MyName /> <xsd:complextype name= MyName >... </xsd:complextype>

minoccurs, maxoccurs kumpikin oletusarvoisesti = 1 Lukumäärärajoitteita minoccurs: Minimi määrä elementin ilmentymille. minoccurs="0" tarkoittaa, että elementti on vapaaehtoinen. maxoccurs: Maksimi määrä elementin ilmentymille. maxoccurs="unbounded"

Attribuutit Elementtiin määritellyt attribuutit voivat oletusarvoisesti esiintyä kerran tai eivät ollenkaan. use attribuutti tarkentaa attribuuttien esiintymistä optional: käyttö vapaaehtoista. required: käyttö pakollista. prohibited: käyttö kielletty. optional parametrin kanssa voidaan antaa oletusarvo.

Elementtien järjestys Elementtien järjestykseen voidaan vaikuttaa myös muulla tavalla: xsd:sequence (kaikki sarjassa) xsd:choice (yksi monesta) xsd:all (kaikki missä järjestyksessa tahansa) Näitä voidaan myös sekoittaa keskenään. maxoccurs, minoccurs... ja muut elementtien lisämääreet sopivat myös mukaan soppaan. Saavutetaan huomattavasti DTD:tä parempi ilmaisuvoima!

Perintä Komplekseja tietotyyppejä voi myös periyttää toisista komplekseista tietotyypeistä. perintä rajoittamalla. perintä laajentamalla. perintä määrittelemällä uudelleen. abstraktit elementit vain perintää varten. Eivät voi esiintyä dokumentti instansseissa.

Yhteenveto Schemassa on määriteltynä paljon muutakin, kuin tässä esityksessä käsitellyt asiat. Schema tarjoaa monipuolisen tavan kuvata dokumentin rakenne. Silti siitä puuttuu: tapa kuvata elementtien sisällölle monipuoliset raja arvot. tapa kuvata elementtien välisiä riippuvuuksia. jos elementin arvo on A niin toisen elementin arvon pitää olla B.

XSLT ( Extensibe Stylesheet Language Transformations ) XSLT ( Extensibe Stylesheet Language Transformations )

XSLT ( Extensibe Stylesheet Language Transformations ) Versio 2.0 W3C Working Draft 16 August 2002. Tukeutuu XPath määritykseen. XSLT on formaalisti määritelty tapa kuvata muutokset eri tietomallien (schema) välillä. XSLT määrittelee sanaston muutoksen kuvaamiseen. Muuttaa dokumentin rakennetta annettujen sääntöjen pohjalta. Ei sinällään voi lisätä puuttuvaa tietoa dokumenttiin.

XSLT ( Extensibe Stylesheet Language Transformations ) XSLT sääntöjen yleinen muoto on: <xsl:template match= [[XPath lauseke]] > [[ Korvaava teksti ]] </xsl:template> XPath kieltä käytetään osoittamaan haluttu kohta XMLdokumentissa Korvaava teksti kirjoitetaan vanhan XPath lausekkeen osoittaman tekstin päälle. XSLT prosessointi on luontaisesti rekursiivista. Muunnos sääntöjä Silmukoita

OPC Foundation

OPC Foundation http://www.opcfoundation.org 300 jäsentä Toiminassa vuodesta 1996 Speksit: OPC (DCOM) OPX XML DA OPC UA (ei vielä valmis)

OPC XML DA tavoitteet Yhden yrityksen sisäiseen integraatioon vertikaalisesti To develop flexible, consistent rules and formats for exposing plant floor data using XML. Specifically it is the desire of the OPC Board that this effort initially focus on exposing the same data that the existing OPC interfaces expose today. To leverage the work done by Microsoft and others on Biztalk, SOAP and other XML frameworks. To continue to enable and promote interoperability of applications and to simplify sharing and exchange of data at an even higher level. To allow clients to subscribe to the types of messages it needs via some form of filtering. To provide samples and examples as needed to help vendors understand and leverage this technology.

OPC XML DA Lähde: OPC XML-DA Introduction Feb. 2003 Kurt T. Haus, Technosoftware Inc.

OPC XML DA Web Service Methods

OPC XML DA yksinkertainen ja selkeä, mutta... OPC XML DA ei kuvaa muuta kuin vanhan OPC DA speksin yksinkertaistetun version Web sovelluspalvelu muodossa. Tämä ei riitä tulevaisuudessa. Tarvitaan joustavampi ja kattavampi malli jolla kuvataan tehtaan tietosisältö kokonaisuudessaan. Kehitettiin uusi OPC UA speksi.

OPC UA OPC UA on selkeästi laajin OPC speksi. Kattaa integraation kaikki alueet ja tarjoaa kokonaisratkaisun. O b j e c t M o d e l D a t a M o d e l D A, H D A, a n d A & E T y p e D e s c r i p t i o n s O P C U A S O A M o d e l A b s t r a c t S e r v i c e s P r o t o c o l I n d e p e n d e n t Vielä kehitysasteella P l a t f o r m I n d e p e n d e n t C o m m s M o d e l P l a n t f l o o r a n d I n t e r n e t A c c e s s T h o m a s J. B u r k e V e n d o r I n f o r m a t i o n M o d e l I n f o r m a t i o n M o d e l S p e c i f i c a t i o n s I E C, I S A, O A G i, E D D L D A A & E H D A C M D s O P C I n f o r m a t i o n M o d e l O P C U A B a s e S e r v i c e s A l l N e c e s s a r y S e r v i c e s

OMG (Object Management Group) http://www.omg.org/ Perustetu 1989 Yleisenä tarkoituksena on edistää oliotekniikoita hajautettujen järjestelmien käyttöön. Speksejä: Corba BPMN BPML > BPEL

BPML Tarkoitus on mallintaa liiketoimintaan liittyviä prosesseja ja tiedon käsittelyä. Määrittelee xml sanaston ja tavan kuvata abstrakti malli liiketoimintaprosessista ja siihen liittyvästä informaatiosta. Mahdollista soveltaa laajalaisesti. ( Monimutkaisten palveluiden kuvaukseen, usean osapuolen väliseen yhteistyön kuvaamiseen jne.) Transaktiot ja useiden palvelujen välinen yhteistyö on mahdollista

BPML

BPML & BPMN

BPML & BPMN

BPDM http://www.omg.org/cgi bin/doc?bei/03 01 06 Speksaus alkoi 2003 ja valmistui vasta 2007 Standard definition of concepts used to express business process models (wiki) OMG "Meta Object Facility" (MOF) perustana Tarkoitus: Provide a common basis for all process oriented models Provide support for the service oriented world Integrate rules within processes Ensure Execution Interoperability of process models Use BPMN as the standard notation for processes Leverage other process knowledge : UML, BPMN, PSL

OASIS Standard BPEL4WS Mutta myös OMG:n valinta tätä nykyä Ratkoo samaa ongelmakenttää kuin edeltäjänsä BPML Osajoukko BPML:stä > selkeämpi Hyvin samanlaiset toiminta ajatukset ja tarkoitus BPEL4WS on yksinkertaisempi ja sillä on isoja pelaajia takanaan IBM, Microsoft, BEA, SAP AG... file://c:\users\mikkos\documents\kurssit\tiji\2008\ws bpel.pdf

Kehitys alkoi vuonna 1998 Rosettanet Kohteena; elektroniikkateollisuus, IT ala, logistiikka, puolijohdeteollisuus, palveluyritykset ja teleyhtiöt Tarkoituksena luoda yhtenevät prosessit tiedon siirron helpottamiseksi yhteistyökumppanien välillä Kolme osa aluetta: Rosettanet Implementation Framework Rosettanet Business Directory Partner Interface Processes (PIP) http://www.rosettanet.org/cms/sites/rosettanet/

Kehitys alkoi vuonna 1998 Rosettanet Kohteena; elektroniikkateollisuus, IT ala, logistiikka, puolijohdeteollisuus, palveluyritykset ja teleyhtiöt Tarkoituksena luoda yhtenevät prosessit tiedon siirron helpottamiseksi yhteistyökumppanien välillä Kolme osa aluetta: Rosettanet Implementation Framework Rosettanet Business Directory Partner Interface Processes (PIP) http://www.rosettanet.org/cms/sites/rosettanet/

MIMOSA An Operations and Maintenance Information Open Systems Alliance http://www.mimosa.org/index.aspx OSA EAI (Enterprise Application Integration) OSA CBM (Condition Based Maintenance) The OSA CBM specification is a standard architecture for moving information in a condition based maintenance system

OSA CBM

OASIS http://www.oasis open.org/specs/ Standardeja: ebxml UDDI WS Security & Reliability...

Building the Semantic Web for the Process Industries with ISO 15926 http://www.infowebml.ws/ http://en.wikipedia.org/wiki/iso_15926 Lifecycle information integration the number of different application programs is very large. the terminology for the various phases in that life cycle are widely different. we need a stable standard that will be there for decades.

the ISO 15926 stack

ISO 15926 2 data model http://www.tc184 sc4.org/wg3ndocs/wg3n1328/lifecycle_integr Yleinen ja helposti yleistyvä tietomalli Muuttumaton 2003 vuodesta lähtien 201 käsitettä (entity): Esimerkiksi ClassOfInanimatePhysicalObject ja PhysicalObject Puolet näistä käsitteistä liittyy viitteisiin.

ISO 15926 4 reference data Tietomallin lisäksi tarvitaan sanasto Sanaston pohjalta muodostetaan luokittelu (taxonomy) Standardoitava http://projects.dnv.com/reference_data/rd7browser/default.aspx

ISO 15926 7 implementation methodology Based on Semantic Web RDF (Resource Description Framework): Triples subject property object John isfatherof Sue OWL ( Web Ontology Language) http://www.infowebml.ws/intro/intro.htm Tehtaan elikaareen liittyvä tieto tallennetaan RDF tripleiksi. OWL määrittelee skeeman miten tietty asia kuvataan RDF kielellä. ISO 15926 2 on sovitettu OWL muotoon ISO 15926 4 on tällä hetkellä työn alla

Generic templates Määritellään yksittäisiä käsitteitä 1:n suhde Standardoitu esitysmuoto http://www.tc184 sc4.org/ts/15926/ 7/ed 1/tech/tpl/templates.xm

OIMs Object Information Models Generic Template määrittelee yleisiä malleja Tarvitaan tarkkoja tiettyyn komponentti tyyppiin liittyvä tietomalli ontologia OIM määrittelee kaikki suhteet/riippuvuudet/käsitteet, jotka liittyvät tiettyyn tyyppiin koko sen elinkaaren ajalta.

Deployment: Facades

Esimerkki http://www.infowebml.ws/descr/overview/overview.htm

http://www.openoandm.org/ OpenO&M The OpenO&M Initiative involves multiple industry standards organizations collaborating to provide a harmonized set of information standards for the exchange of Operations & Maintenance data.

ISA 95 XML skeemat Business To Manufacturing Markup Language (B2MML) The World Batch Forum has developed XML Schemas that map to the ANSI/ISA 95 models Defines how to represent the ISA 95 information in XML One schema for each object model Formal way to exchange information Http://www.wbf.org

Common Schema Equipment Schema Material Schema Personnel Schema Process Segment Schema Product Definition Schema Production Capability Schema ISA 95 Schemas Production Performance Schema Production Schedule Schema Maintenance Schema

Common schema The data represented in these schemas define information that is common across all of the schemas defined from the ANSI/ISA 95.00.02 standard. The common schema defines data types used in the other schemas. Version 03, August 26, 2005 file://c:\users\mikkos\documents\kurssit\tiji\2007\isa 95\B2MML V03 Common.doc file://c:\users\mikkos\documents\kurssit\tiji\2007\isa 95\B2MML V0300 Common.xsd

esimerkki P a r a m e t e r T y p e A c o m p l e x t y p e d e f i n i n g a p a r a m e t e r, w i t h a n I D a n d a v a l u e. P a r a m e t e r s m a y a l s o b e n e s t e d. A n y T y p e A t y p e t o h o l d a # # a n y e l e m e n t f o r u s e r d e f i n e d e x t e n s i o n s.

Equipment schema This document defines the information about equipment classes, equipment, and capability tests that may be exchanged between business systems and manufacturing operations systems. E N T E R P R I S E S I T E M a y c o n t a i n 1 o r m o r e W o r k C e n t e r A R E A M a y c o n t a i n 1 o r m o r e M a y c o n t a i n 1 o r m o r e M a y c o n t a i n 1 o r m o r e M a y c o n t a i n 1 o r m o r e M a y c o n t a i n 1 o r m o r e P R O C E S S C E L L P R O D U C T I O N U N I T P R O D U C T I O N L I N E S T O R A G E Z O N E M u s t c o n t a i n 1 o r m o r e M a y c o n t a i n 1 o r m o r e M a y c o n t a i n 1 o r m o r e M a y c o n t a i n 1 o r m o r e U N I T U N I T W O R K C E L L S T O R A G E U N I T W o r k U n i t U s e d i n b a t c h U s e d i n c o n t i n u o u s U s e d i n r e p e t i t i v e o r d i s c r e t e U s e d i n s t o r a g e

Information About Equipment Classes Information About Equipment E N T E R P R I S E M a y c o n t a i n 1 o r m o r e S I T E W o r k C e n t e r P R O M a y c o n t a i n 1 o r m o r e C E S S C E L L A R E A P R O D U C T I O N U N I T M a y c o n t a i n 1 o r m o r e M a y c o n t a i n 1 o r m o r e P R O D U C T I O N L I N E M a y c o n t a i n 1 o r m o r e M u s t c o n t a i n 1 o r m o r e M a y c o n t a i n 1 o r m o r e M a y c o n t a i n 1 o r m o r e M a y c o n t a i n 1 o r m o r e S T O R A G E Z O N E M a y c o n t a i n 1 o r m o r e May be made up of W o r k U n i t U N I T U s e d i n b a t c h U N I T U s e d i n c o n t i n u o u s W O R K C E L L U s e d i n r e p e t i t i v e o r d i s c r e t e S T O R A G E U N I T U s e d i n s t o r a g e Equipment Class Defined by Equipment Has properties of Has values for Equipment Class Property Maps to Equipment Property Information About Capability Tests Is tested by a 1..n Equipment Capability Test Specification Defines a procedure for obtaining a Records the execution of Equipment Capability Test Result

Material Schema This document defines the information about material definitions, material classes, material lots, material sublots, and QA (Quality Assurance) tests that may be exchanged between business systems and manufacturing operations systems. file://c:\users\mikkos\documents\kurssit\tiji\2007\isa-95\b2mml-v03-material.doc file://c:\users\mikkos\documents\kurssit\tiji\2007\isa-95\b2mml-v0300-material.xsd

Information About Material Classes Information About Material Definitions Information About Material Lots & Sublots Material Class Defines a grouping Material Definition 1..1 Defined by Material Lot Made up of Material Sublot Has properties of Has properties of Has values for May be made up of sublots Is tested by a Material Class Property 1..n May map to Information About QA Tests Material Definition Property Is tested by a 1..n Maps to QA Test Specification Material Lot Property Defines a procedure for obtaining a Records the execution of Is associated with a QA Test Result

Material example xml <Material> <MaterialLot> <ID> W89 </ID> <Description> A lot of material </Description> <MaterialDefinitionID> WXE908 </MaterialDefinitionID> <Location> Tank 1 </Location> <Quantity UnitOfMeasure = "KL" > 4500 </Quantity> <MaterialLotProperty> <ID> datetimeproduction </ID> <Value> 2001 01 06T00:14:23+11:30 </Value> </MaterialLotProperty> <MaterialLotProperty> <ID> Quality Status </ID> <Value> Good </Value> </MaterialLotProperty> </MaterialLot> </Material>

Personnel Schema This document defines the information about persons, personnel class, and qualification tests that may be exchanged between business systems and manufacturing operations systems.

Information About Personnel Classes Information About Persons Personnel Class Defined by Person Has properties of Has values for Personnel Class Property Maps to Person Property Information About Qualification Tests Is tested by a 1..n Qualification Test Specification Defines a procedure for obtaining a Records the execution of Qualification Test Result

I d e n t i f y C l a s s b y I D I d e n t i f y s u b c l a s s B y C l a s s I D & P r o p e r t y V a l u e P e r s o n n e l C a p a b i l i t y - C l a s s = O p e r a t o r - Q u a n t i t y = 8 P e r s o n n e l C a p a b i l i t y - C l a s s = O p e r a t o r - Q u a n t i t y = 8 O p e r a t o r O p e r a t o r P e r s o n n e l C a p a b i l i t y P r o p e r t y - R a n k i n g = M a s t e r - Q u a n t i t y = 3 O p e r a t o r P r o p e r t y - R a n k i n g = M a s t e r P e r s o n n e l C a p a b i l i t y P r o p e r t y - R a n k i n g = S t a n d a r d - Q u a n t i t y = 4 O p e r a t o r P r o p e r t y - R a n k i n g = S t a n d a r d P e r s o n n e l C a p a b i l i t y P r o p e r t y - R a n k i n g = J u n i o r - Q u a n t i t y = 1 O p e r a t o r P r o p e r t y - R a n k i n g = J u n i o r S u p e r v i s o r M e c h a n i c

Process Segment Schema This document defines the information about process segment definitions that may be exchanged between business systems and manufacturing operations systems.

has an execution dependency on May be made up of Process Segment Is defined as a collection of Process Segment Dependency Personnel Segment Specification Equipment Segment Specification Material Segment Specification Process Segment Parameter Has properties of Has properties of Has properties of Personnel Segment Specification Property Equipment Segment Specification Property Material Segment Specification Property

I d e n t i f y C l a s s b y I D I d e n t i f y s u b c l a s s B y C l a s s I D & P r o p e r t y V a l u e I d e n t i f y I n s t a n c e b y I D E q u i p m e n t S p e c i f i c a t i o n - C l a s s = M i l l - Q u a n t i t y = 8 E q u i p m e n t S p e c i f i c a t i o n - C l a s s = M i l l - Q u a n t i t y = 8 M i l l i n g M a c h i n e E q u i p m e n t S p e c i f i c a t i o n - I D = M i l l e r # 1 M i l l i n g M a c h i n e E q u i p m e n t S p e c i f i c a t i o n P r o p e r t y - S p e c = F i n e - Q u a n t i t y = 3 E q u i p m e n t P r o p e r t y - S p e c = F i n e M i l l e r # 1 E q u i p m e n t S p e c i f i c a t i o n P r o p e r t y - S p e c = M e d i u m - Q u a n t i t y = 4 E q u i p m e n t P r o p e r t y - S p e c = M e d i u m E q u i p m e n t S p e c i f i c a t i o n P r o p e r t y - S p e c = C o u r s e - Q u a n t i t y = 1 E q u i p m e n t P r o p e r t y - S p e c = C o u r s e

Product Definition This document defines the information about the definition of product information that may be exchanged between business systems and manufacturing operations systems.

Bill of Resources (External) Has associated Has associated Product Production Rule Has associated Has associated Bill of Material (External) May be made up of 1..n Product Segment Corresponds to Process Segment Manufacturing Bill Product Segment Dependency Is defined as a collection of 1..1 Product Parameter Personnel Specification Equipment Specification Material Specification 1..n Personnel Equipment Material Specification Specification Specification Property Property Property

Production Capability This document defines the information about capability by resource, and by process segment, that may be exchanged between business systems and manufacturing operations systems.

Production Capability Is defined as a collection of Personnel Capability Equipment Capability Material Capability Process Segment Capability Corresponds to Process Segment Has properties of Has properties of Has properties of Is defined as a collection of Personnel Capability Property Equipment Capability Property Material Capability Property Personnel Segment Capability Equipment Segment Capability Material Segment Capability Has properties of Has properties of Has properties of Personnel Segment Capability Property Equipment Segment Capability Property Material Segment Capability Property

esimerkki <ProductionCapability> <ID>Area 54 : 2008 Area 54 : 2008-05 05-01 01</ID> <PublishedDate>2008 2008-05 05-01 01</PublishedDate> <StartTime>8:00:00 8:00:00</StartTime> <EndTime>16:00:00 16:00:00</EndTime> <EquipmentCapability> <EquipmentID> Production Line 2 Production Line 2 </EquipmentID> <CapabilityType> Available Available </CapabilityType> <Reason> Reduced rate due to maintenance Reduced rate due to maintenance </Reason> <Quantity> <QuantityString> 200 200 </QuantityString> <DataType> Int Int </DataType> <UnitOfMeasure> Boards Per Hour Boards Per Hour </UnitOfMeasure> </EquipmentCapability> </ProductionCapability>

Production Performance This document defines the information about production performance information that may be passed from manufacturing operations systems to business systems.

Production Performance Is made up of 1..n Production Response Is made up of 1..n Segment Response Corresponds to a Process Segment May contain 0..n Production Data Personnel Actual Equipment Actual Material Produced Actual Material Consumed Actual Consumable Actual 1..n 1..n 1..n Personnel Equipment Material Produced Actual Actual Actual Property Property Property 1..n Material Consumed Actual Property 1..n Consumable Actual Property

Production Schedule This document defines the information about production schedules sent from business systems to manufacturing operations systems.

Production Schedule Corresponds to a Is made up of 1..n Production Request Product Production Rule Is made up of Process Segment Corresponds to a 1..n Segment Requirement Requested Segment Response May contain Production Parameter Personnel Requirement Equipment Requirement Material Produced Requirement Material Consumed Requirement Consumable Expected 1..n 1..n 1..n Personnel Equipment Material Produced Requirement Requirement Requirement Property Property Property 1..n Material Consumed Requirement Property 1..n Consumable Expected Property

Maintenance Schema This document defines the information about process segment definitions that may be exchanged between business systems and manufacturing operations systems.

Maintenance Request Is against 1..1 Maintenance Work Order 1..1 Maintenance Response May result in 0..1 Is made against May be generated for 1..1 Equipment

B2MML Käytännössä Kalvoja ISA 95 sivustolta käytännön B2MML projekteista. file://c:\users\mikkos\documents\kurssit\tiji\2007\isa 95\Adoption_of_ISA 95_by_Dow_Chemical.PDF file://c:\users\mikkos\documents\kurssit\tiji\2007\isa 95\How_to_hook_up_sap.pdf file://c:\users\mikkos\documents\kurssit\tiji\2007\isa 95\isa 95_oil.pdf