applying semantic technologies to asset and configuration management in the enterprise
DESCRIPTION
Applying Semantic Technologies to Asset and Configuration Management in the Enterprise. Taylor Cowan Brian Boyd Travelocity.com. Agenda. RDF intro Problem space Demo Real Software ASYDEO Ontology Learn about how we built it. RDF != XML. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/1.jpg)
Applying Semantic Technologies to Asset and Configuration
Management in the Enterprise
Taylor CowanBrian Boyd
Travelocity.com
![Page 2: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/2.jpg)
Agenda
• RDF intro• Problem space• Demo Real Software• ASYDEO Ontology• Learn about how we built it
![Page 3: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/3.jpg)
RDF != XML
“The site at http://www.travelocity.com, also known as Travelocity, is an online travel agency competing with expedia.com”
![Page 4: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/4.jpg)
Conceptual Model
Travelocity.comAKA
Travelocity
Online travel
agency
Expedia.com
![Page 5: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/5.jpg)
Same concepts serialized as “N3”
:OnlineTravelAgency
a owl:Class .
:hasCompetitor
a rdf:Property .
<http://www.travelocity.com>
a :OnlineTravelAgency ;
rdfs:label "Travelocity"@en ;
:hasCompetitor <http://www.expedia.com> .
![Page 6: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/6.jpg)
As RDF/XML…<rdf:RDF …>
<owl:Class rdf:about="http://foo#OnlineTravelAgency"/>
<rdf:Property rdf:about="http://foo#hasCompetitor"/>
<OnlineTravelAgency
rdf:about="http://www.travelocity.com">
<hasCompetitor rdf:resource="http://www.expedia.com"/>
<rdfs:label xml:lang="en">Travelocity</rdfs:label>
</OnlineTravelAgency>
</rdf:RDF>
![Page 7: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/7.jpg)
As N-Triples canonical format…
<hasCompetitor> <rdf:type> <rdf:Property> .
<http://travelocity.com> <hasCompetitor> <http://expedia.com> .
<http://travelocity.com> <rdfslabel> "Travelocity"@en .
<http://travelocity.com> <rdf:type> <OnlineTravelAgency> .
<OnlineTravelAgency> <rdf:type> <owl:Class> .
Subject, Verb, Object…
![Page 8: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/8.jpg)
And finally, as Java code…
OntModel m = ModelFactory.createOntologyModel();
OntClass ota = m.createClass("OnlineTravelAgency");
Individual tvly = ota.createIndividual("http://www.travelocity.com");
tvly.setLabel("Travelocity", "en");
OntProperty p = m.createOntProperty("hasCompetitor");
tvly.setPropertyValue(p, m.createResource("http://www.expedia.com"));
![Page 9: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/9.jpg)
“Understanding the relationships between systems, software, and the business processes they enable”.
![Page 10: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/10.jpg)
Ontology
Software People
Systems
Business processes
![Page 11: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/11.jpg)
Travelocity Systems Knowledge
• 42,000 explicit assertions.
![Page 12: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/12.jpg)
Problems ASYDEO Solves
• If a change is made to an application, what could be impacted?
• Rate of change exceeds our capacity to manage documentation, is there an alternative?
• What URL/ports should we monitor?
![Page 13: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/13.jpg)
demo
![Page 14: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/14.jpg)
SPARQL #1Question: What other software does software named
“air-shopping” with version “1.0” connect to?
?srcSoftware
?sap
?service
?dstSoftware
Conn
ects
to
Acce
ssed b
y
Prov
ides s
ervic
e
version=“1.0”label=“air-shopping”
![Page 15: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/15.jpg)
SELECT DISTINCT ?dstSoftware WHERE {
?srcSoftware a asydeo:ApplicationSoftware . ?srcSoftware rdfs:label ?label .
?srcSoftware :version "1.0" . ?srcSoftware :connectsTo ?sap . ?service :isAccessedBy ?sap . ?dstSoftware :providesService ?service . FILTER regex(?label, "air-shopping", "i") }
?srcSoftware
?sap
?service
?dstSoftware
Conn
ects
to
Acce
ssed b
y
Prov
ides s
ervic
e
version=“1.0”label=“air-shopping”
![Page 16: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/16.jpg)
SPARQL #2What System Services are provided by Computer System “srvhlp550”?
![Page 17: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/17.jpg)
SELECT DISTINCT ?service WHERE { ?system rdfs:label "srvhlp550" . ?system a :System . { ?system :hasInstalled ?software }
UNION { ?cluster :hasMember ?system .?cluster :hasInstalled ?software } .?software :providesService ?service }
![Page 18: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/18.jpg)
Asydeo basicsApache 2.0 license
Working software
Open to contribution
Java/Jena based
http://asydeo.googlecode.co
m
![Page 19: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/19.jpg)
ASYDEO Platform
Jetty (or any servlet container)
Stripes 1.5
jquery
Jena 2.7
Jenabean
![Page 20: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/20.jpg)
How the UI works
• Our ontology declares a set of widgets
![Page 21: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/21.jpg)
Each Widget has a Server Side representation
![Page 22: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/22.jpg)
Ontology provides UI with tips for how to show each property
hasModel
![Page 23: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/23.jpg)
Path from property to java…
• Has editorhasModel • Has type
Basic DropDown
• Maps to Java class
DropDown
![Page 24: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/24.jpg)
In Raw RDF (N3 format)
schema:hasModel a owl:FunctionalProperty , owl:ObjectProperty ;
rdfs:domain schema:System ; rdfs:label "Model"^^xsd:string ; rdfs:range schema:Model ; schema:editor schema:BasicDropDown; schema:order "94" . schema:BasicDropDown a schema:DropDown .
![Page 25: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/25.jpg)
Included because RDF type is in property hasModel’s domain.
schema:hasModel rdfs:domain schema:System
![Page 26: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/26.jpg)
Candidates from the property’s range(rdfs:range schema:Model)
schema:hasModel rdfs:range schema:Model
![Page 27: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/27.jpg)
The property’s RDF Label provides human readable label text
schema:hasModel rdfs:label "Model"^^xsd:string
![Page 28: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/28.jpg)
The property’s position, relative to other items comes from ontology as well.
schema:hasModel schema:order "94“
![Page 29: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/29.jpg)
Future Work
![Page 30: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/30.jpg)
Auto-discovery Scripts
Systems Engineering
(ASYDEO)
Network dumps
Deployed software manifests
System uptime and configuration
rdf
rdf
rdf
![Page 31: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise](https://reader035.vdocuments.mx/reader035/viewer/2022062501/5681677e550346895ddc852a/html5/thumbnails/31.jpg)
Some Advantages We Discovered
CMDB (mysql)
Flat/tabular model
Code and database cognizant of ontology
No restriction language
All data must be explicit
ASYDEO (Jena)
Hierarchical
Code is ontology agnostic
OWL provides restrictions
Some data is inferred