introduction
Post on 07-Feb-2016
30 Views
Preview:
DESCRIPTION
TRANSCRIPT
IntroductionIntroduction
Model contains different kinds of elements Model contains different kinds of elements (such as hosts, databases, web servers, (such as hosts, databases, web servers, applications, etc)applications, etc)
Relations between these elements are Relations between these elements are dependency-oriented (Hosts,Is-server-to, dependency-oriented (Hosts,Is-server-to, Transfers-data-to, modifies,etc.)Transfers-data-to, modifies,etc.)
Together the elements and relations form Together the elements and relations form connected components representing a high-connected components representing a high-level view of our infrastructurelevel view of our infrastructure
UsesUses
Impact AnalysisImpact Analysis– Change management: what happens if I change Change management: what happens if I change
application xapplication x– Failure analysis: If system x fails what else is Failure analysis: If system x fails what else is
affectedaffected Operational AwarenessOperational Awareness
– How does my stuff fit into the bigger picture of How does my stuff fit into the bigger picture of the organizationthe organization
IT Ecosystem SoftwareIT Ecosystem Software Developed using JavaDeveloped using Java Production system is client/serverProduction system is client/server Components are flexible, and the server code is Components are flexible, and the server code is
not dependent on one particular application server not dependent on one particular application server (Tomcat,JBoss,WebLogic,etc.) (Tomcat,JBoss,WebLogic,etc.)
Monolithic version that contains both the client and Monolithic version that contains both the client and server components in the same distribution with server components in the same distribution with no application server has been createdno application server has been created– This allows an individual to create their own model and This allows an individual to create their own model and
manipulate it for their private usemanipulate it for their private use
DemoDemo
Server overviewServer overview Communicates with clients using Java Object Communicates with clients using Java Object
Serialization, where different kinds of client Serialization, where different kinds of client requests are wrapped in objectsrequests are wrapped in objects
RESTful Web service API in progressRESTful Web service API in progress Highly configurableHighly configurable Logs transactions for accountability and recovery Logs transactions for accountability and recovery
in case of an errorin case of an error Read/write access authorization modelRead/write access authorization model Pluggable authentication and authorization modelPluggable authentication and authorization model
Data Model OverviewData Model Overview
Uses the Web Ontology Language (OWL) to Uses the Web Ontology Language (OWL) to describe the schemadescribe the schema– W3C standard: W3C standard: http://www.w3.org/TR/owl-features/
More flexible than a traditional relational database, More flexible than a traditional relational database, allowing new data types to be added at any timeallowing new data types to be added at any time
Collection of classes and properties together form Collection of classes and properties together form an ontology describing a domainan ontology describing a domain
Xml file format allows many tools to process the Xml file format allows many tools to process the schemaschema
Data Model OverviewData Model Overview
OWL allows the definition of different OWL allows the definition of different classes (types) of objects and the properties classes (types) of objects and the properties associated with those typesassociated with those types
Types can be sub-classed, allowing the Types can be sub-classed, allowing the creation of hierarchies of objectscreation of hierarchies of objects
An object of a type is called an “instance” An object of a type is called an “instance” An instance can have more than one type, An instance can have more than one type,
unlike a relational databaseunlike a relational database
Data Model OverviewData Model Overview The IT Ecosystem has two hierarchies of types: The IT Ecosystem has two hierarchies of types:
“Element” and “ITEcoRelation” where all the “Element” and “ITEcoRelation” where all the element and relation types are defined, element and relation types are defined, respectivelyrespectively
We refer to the instances of an element type as an We refer to the instances of an element type as an “element” and instances of a relation type as a “element” and instances of a relation type as a “relation”“relation”
The system currently constrains relations to have The system currently constrains relations to have only a single type since the semantic only a single type since the semantic consequences of multiple relation types is consequences of multiple relation types is unnecessarily complicatedunnecessarily complicated
Data Model OverviewData Model Overview
Properties are used to store the attributes of Properties are used to store the attributes of an instance and act like the columns of a an instance and act like the columns of a relational databaserelational database
The properties are attached to the classes in The properties are attached to the classes in the modelthe model
An instance of multiple types inherits An instance of multiple types inherits properties from all those typesproperties from all those types
Model ExtensibilityModel Extensibility
Schema is easily adaptable to individual Schema is easily adaptable to individual needsneeds
Changes can be made to the element and Changes can be made to the element and relation types and propertiesrelation types and properties
Tutorial for extending schema given in Tutorial for extending schema given in documentationdocumentation
Server: Data ModelServer: Data Model Plug and play database schemes: currently two implementations Plug and play database schemes: currently two implementations
are availableare available Neo4j with OWL supportNeo4j with OWL support
– Good performance and memory usage for large data sets Good performance and memory usage for large data sets (100,000+) and is the preferred scheme(100,000+) and is the preferred scheme
– http://neo4j.org/– Obstacle: neo4j community edition has moved from AGPL Obstacle: neo4j community edition has moved from AGPL
(Apache 2.0-like) to GPL so currently version locked(Apache 2.0-like) to GPL so currently version locked Protégé 3.3.2Protégé 3.3.2– Faster for small databases (< 500 elements + relations)Faster for small databases (< 500 elements + relations)– Must maintain all data in memory – unsuitable for large Must maintain all data in memory – unsuitable for large
datasetsdatasets– http://protege.stanford.edu
Server: Authentication and Server: Authentication and AuthorizationAuthorization
Pluggable model allows new authentication Pluggable model allows new authentication schemes to be developedschemes to be developed
Currently supports LDAP, file-based, and Currently supports LDAP, file-based, and none (only practical for monolithic client)none (only practical for monolithic client)
Read/write based authorization modelRead/write based authorization model
IntegrationsIntegrations
Java client framework to feed information from other Java client framework to feed information from other systems into the IT Ecosystemsystems into the IT Ecosystem– Simple grammar developed to load elements, Simple grammar developed to load elements,
relations, and their properties from a text filerelations, and their properties from a text file– If above insufficient, can build clients with If above insufficient, can build clients with
provided client framework and Java API that uses provided client framework and Java API that uses serialized objects over HTTPserialized objects over HTTP
RESTful web service API in progressRESTful web service API in progress Framework for creating user interface extensions Framework for creating user interface extensions
that are dynamically loaded as pluginsthat are dynamically loaded as plugins
IntegrationsIntegrations
Zenoss monitoring systemZenoss monitoring system– Nightly batch load of monitored hosts through Nightly batch load of monitored hosts through
web service apiweb service api VMWare integration with ESXVMWare integration with ESX
– Virtual hosts through batch dump of information Virtual hosts through batch dump of information from VIConsole interfacefrom VIConsole interface
RoadmapRoadmap
RESTful web service API RESTful web service API Web front-endWeb front-end Further Graph enhancementsFurther Graph enhancements
– Neighborhood clusteringNeighborhood clustering– Improved layout physicsImproved layout physics– Property overlaysProperty overlays
RoadmapRoadmap
Network integration – switches, VLANsNetwork integration – switches, VLANs Storage management integration with EMCStorage management integration with EMC ServiceNow integrationServiceNow integration Object taggingObject tagging Object creation templates/patternsObject creation templates/patterns
Jasig Jasig
semantic web experiencesemantic web experience Configuration of different ontology for use Configuration of different ontology for use
with other Jasig projectswith other Jasig projects Refactor authentication/authorization to be Refactor authentication/authorization to be
more in line with other Jasig projectsmore in line with other Jasig projects uPortal integration?uPortal integration? Call for contributorsCall for contributors
– Email me at jmontgomery@uchicago.eduEmail me at jmontgomery@uchicago.edu
top related