1 / 19

Introduction

Introduction. Model contains different kinds of elements (such as hosts, databases, web servers, applications, etc) Relations between these elements are dependency-oriented ( Hosts,Is -server-to, Transfers-data-to, modifies,etc .)

baakir
Download Presentation

Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction • Model contains different kinds of elements (such as hosts, databases, web servers, applications, etc) • Relations between these elements are dependency-oriented (Hosts,Is-server-to, Transfers-data-to, modifies,etc.) • Together the elements and relations form connected components representing a high-level view of our infrastructure

  2. Uses • Impact Analysis • Change management: what happens if I change application x • Failure analysis: If system x fails what else is affected • Operational Awareness • How does my stuff fit into the bigger picture of the organization

  3. IT Ecosystem Software • Developed using Java • Production system is client/server • Components are flexible, and the server code is not dependent on one particular application server (Tomcat,JBoss,WebLogic,etc.) • Monolithic version that contains both the client and server components in the same distribution with no application server has been created • This allows an individual to create their own model and manipulate it for their private use

  4. Demo

  5. Server overview • Communicates with clients using Java Object Serialization, where different kinds of client requests are wrapped in objects • RESTful Web service API in progress • Highly configurable • Logs transactions for accountability and recovery in case of an error • Read/write access authorization model • Pluggable authentication and authorization model

  6. Data Model Overview • Uses the Web Ontology Language (OWL) to describe the schema • W3C standard: http://www.w3.org/TR/owl-features/ • More flexible than a traditional relational database, allowing new data types to be added at any time • Collection of classes and properties together form an ontology describing a domain • Xml file format allows many tools to process the schema

  7. Data Model Overview • OWL allows the definition of different classes (types) of objects and the properties associated with those types • Types can be sub-classed, allowing the creation of hierarchies of objects • An object of a type is called an “instance” • An instance can have more than one type, unlike a relational database

  8. Data Model Overview • The IT Ecosystem has two hierarchies of types: “Element” and “ITEcoRelation” where all the element and relation types are defined, respectively • We refer to the instances of an element type as an “element” and instances of a relation type as a “relation” • The system currently constrains relations to have only a single type since the semantic consequences of multiple relation types is unnecessarily complicated

  9. Data Model Overview • Properties are used to store the attributes of an instance and act like the columns of a relational database • The properties are attached to the classes in the model • An instance of multiple types inherits properties from all those types

  10. Model Extensibility • Schema is easily adaptable to individual needs • Changes can be made to the element and relation types and properties • Tutorial for extending schema given in documentation

  11. Server: Data Model • Plug and play database schemes: currently two implementations are available • Neo4j with OWL support • Good performance and memory usage for large data sets (100,000+) and is the preferred scheme • http://neo4j.org/ • Obstacle: neo4j community edition has moved from AGPL (Apache 2.0-like) to GPL so currently version locked • Protégé 3.3.2 • Faster for small databases (< 500 elements + relations) • Must maintain all data in memory – unsuitable for large datasets • http://protege.stanford.edu

  12. Server: Authentication and Authorization • Pluggable model allows new authentication schemes to be developed • Currently supports LDAP, file-based, and none (only practical for monolithic client) • Read/write based authorization model

  13. Integrations • Java client framework to feed information from other systems into the IT Ecosystem • Simple grammar developed to load elements, relations, and their properties from a text file • If above insufficient, can build clients with provided client framework and Java API that uses serialized objects over HTTP • RESTful web service API in progress • Framework for creating user interface extensions that are dynamically loaded as plugins

  14. Integrations • Zenoss monitoring system • Nightly batch load of monitored hosts through web service api • VMWare integration with ESX • Virtual hosts through batch dump of information from VIConsole interface

  15. Roadmap • RESTful web service API • Web front-end • Further Graph enhancements • Neighborhood clustering • Improved layout physics • Property overlays

  16. Roadmap • Network integration – switches, VLANs • Storage management integration with EMC • ServiceNow integration • Object tagging • Object creation templates/patterns

  17. Jasig • semantic web experience • Configuration of different ontology for use with other Jasig projects • Refactor authentication/authorization to be more in line with other Jasig projects • uPortal integration? • Call for contributors • Email me at jmontgomery@uchicago.edu

More Related