Applying Semantic Technologies to Asset and Configuration Management in the Enterprise

31
Applying Semantic Technologies to Asset and Configuration Management in the Enterprise Taylor Cowan Brian Boyd Travelocity.com

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 Presentation

Transcript of Applying Semantic Technologies to Asset and Configuration Management in the Enterprise

Page 1: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise

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

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

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

Conceptual Model

Travelocity.comAKA

Travelocity

Online travel

agency

Expedia.com

Page 5: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise

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

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

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

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

“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

Ontology

Software People

Systems

Business processes

Page 11: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise

Travelocity Systems Knowledge

• 42,000 explicit assertions.

Page 12: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise

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

demo

Page 14: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise

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

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

SPARQL #2What System Services are provided by Computer System “srvhlp550”?

Page 17: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise

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

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

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

How the UI works

• Our ontology declares a set of widgets

Page 21: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise

Each Widget has a Server Side representation

Page 22: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise

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

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

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

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

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

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

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

Future Work

Page 30: Applying Semantic Technologies to Asset and Configuration Management in the Enterprise

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

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