19

Introduction

  • Upload
    baakir

  • View
    30

  • Download
    0

Embed Size (px)

DESCRIPTION

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 .) - PowerPoint PPT Presentation

Citation preview

Page 1: Introduction
Page 2: Introduction

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

Page 3: Introduction
Page 4: Introduction

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

Page 5: Introduction

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

Page 6: Introduction

DemoDemo

Page 7: Introduction

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

Page 8: Introduction

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

Page 9: Introduction

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

Page 10: Introduction

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

Page 11: Introduction

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

Page 12: Introduction

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

Page 13: Introduction

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

Page 14: Introduction

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

Page 15: Introduction

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

Page 16: Introduction

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

Page 17: Introduction

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

Page 18: Introduction

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

Page 19: Introduction

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 [email protected] me at [email protected]