IT Ecosystem - Jasig

sounderslipInternet και Εφαρμογές Web

22 Οκτ 2013 (πριν από 3 χρόνια και 9 μήνες)

78 εμφανίσεις

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

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

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

Demo


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

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

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



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

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

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

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


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


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



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



Roadmap


RESTful

web service API


Web front
-
end


Further Graph enhancements


Neighborhood clustering


Improved layout physics


Property overlays


Roadmap


Network integration


switches, VLANs



Storage management integration with EMC


ServiceNow

integration


Object tagging


Object creation templates/patterns


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