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