monitoring osgi platforms with proactive

21
Monitoring OSGi Monitoring OSGi platforms with platforms with ProActive ProActive Virginie Legrand Virginie Legrand [email protected] [email protected] .fr .fr OASIS Team - INRIA Sophia OASIS Team - INRIA Sophia Antipolis Antipolis

Upload: philip-donovan

Post on 30-Dec-2015

36 views

Category:

Documents


3 download

DESCRIPTION

Monitoring OSGi platforms with ProActive. Virginie Legrand [email protected] OASIS Team - INRIA Sophia Antipolis. Outline. Introduction : The PISE project A solution for Large scale deployment of services: A library for remote deployment A Monitoring and Management tool - PowerPoint PPT Presentation

TRANSCRIPT

Monitoring OSGi Monitoring OSGi platforms with platforms with

ProActiveProActive

Virginie LegrandVirginie Legrand

[email protected]@sophia.inria.frOASIS Team - INRIA Sophia OASIS Team - INRIA Sophia

Antipolis Antipolis

22Grid@works 2006

OutlineOutline

Introduction : The PISE projectIntroduction : The PISE project A solution for Large scale deployment of A solution for Large scale deployment of

services:services: A library for remote deploymentA library for remote deployment A Monitoring and Management toolA Monitoring and Management tool

Technical elements : New features in Technical elements : New features in ProActiveProActive ProActive on top of OSGiProActive on top of OSGi An extended JMX connector based on ProActiveAn extended JMX connector based on ProActive

Conclusion and PerspectivesConclusion and Perspectives

33Grid@works 2006

Context : The PISE ProjectContext : The PISE Project

French gov. funded project (RNRT program)French gov. funded project (RNRT program) Project consortiumProject consortium

3 French companies3 French companies 2 French research labs2 French research labs

Develop a middlewareto build and to host M2M

serviceson industrial gateways

in power distribution domain

Develop a middlewareto build and to host M2M

serviceson industrial gateways

in power distribution domain

Software engineering methods and tools to develop,

to deployand administrate

business services

Software engineering methods and tools to develop,

to deployand administrate

business services

Runtime environmenton the top of OSGi™ platforms

Compliance with standardsFlexibilitySecurity

Runtime environmenton the top of OSGi™ platforms

Compliance with standardsFlexibilitySecurity

44Grid@works 2006

Code generation

Model Editor

OSGi™ industrial gateway

Device

Service

Device

Service

Device

Service

DS

BS SecureDeployment

Monitoring

BS

Alarm

BS

Description of an application modelFunctional Aspects : Device Services and Business Services

Non-functional Aspects : Security, Distribution, Trace (log)

Sepam

Micrologic

Deployment

and

Monitoring

PISE : objectivesPISE : objectives

55Grid@works 2006

OSGi Gateway : OSGi Gateway : http://www.osgi.orghttp://www.osgi.org

Defines a framework that allows services to be loaded in a service Defines a framework that allows services to be loaded in a service gateway like a set top box, or an application (ex eclipse Framework, gateway like a set top box, or an application (ex eclipse Framework, Jonas …) Jonas …)

A sharable JVM between several applications :A sharable JVM between several applications : Shares packagesShares packages Launch / stop services Launch / stop services Dynamic deployment of services without reboot of the gatewayDynamic deployment of services without reboot of the gateway

66Grid@works 2006

OutlineOutline

Introduction : The PISE projectIntroduction : The PISE project A solution for Large scale deployment of A solution for Large scale deployment of

services :services : A library for remote deploymentA library for remote deployment A Monitoring and Management toolA Monitoring and Management tool

Technical elements : New features in Technical elements : New features in ProActiveProActive ProActive on top of OSGiProActive on top of OSGi An extended JMX connector based on ProActiveAn extended JMX connector based on ProActive

Conclusion and PerspectivesConclusion and Perspectives

77Grid@works 2006

Rationale : Large scale Rationale : Large scale deploymentdeployment

Large scale deployment and Large scale deployment and management is a painful operation management is a painful operation that cannot be done by hand.that cannot be done by hand.

Objectives:Objectives: From a deployment plan, we want to From a deployment plan, we want to

initiate applications installation on a big initiate applications installation on a big number of heterogeneous platformsnumber of heterogeneous platforms

1 target, 10 targets, 1000, 10 000 ? 1 target, 10 targets, 1000, 10 000 ?

88Grid@works 2006

Large scale Deployment Large scale Deployment processusprocessus

Create the deployment structureCreate the deployment structure Gateways are grouped according precise criteria in Gateways are grouped according precise criteria in

a hierarchical set.a hierarchical set. IntrospectIntrospect gateways in order to know their gateways in order to know their

dynamic characteristics and already deployed dynamic characteristics and already deployed services services

Select implementations fitting to the gatewaysSelect implementations fitting to the gateways Resolve dependencies for selected servicesResolve dependencies for selected services Install and start services on the set of gatewaysInstall and start services on the set of gateways

99Grid@works 2006

A library for large scale A library for large scale deployment deployment

Based on Based on ProActiveProActive Asynchronous and Group communications that Asynchronous and Group communications that

provide the support for scalability needs.provide the support for scalability needs. Adresses large scale deployment concerns :Adresses large scale deployment concerns :

Gateways states are stored in a database: Initial Gateways states are stored in a database: Initial state + event-based updatesstate + event-based updates

Up-to-date gateways snapshot eases the computation Up-to-date gateways snapshot eases the computation of deployment plans – push modelof deployment plans – push model..

Execution of deployment plan architectureExecution of deployment plan architecture Parallel and,Parallel and, TransactionalTransactional

1010Grid@works 2006

Parallel Execution of Parallel Execution of Deployment PlansDeployment Plans

Unit deployment planUnit deployment plan Ordered list of actions to Ordered list of actions to

remotely execute on the gateway remotely execute on the gateway to deploy an application.to deploy an application.

Example : Example : install install http://192.168.0.9/http://192.168.0.9/obrobr

/service1.jar/service1.jar Gobal deployment planGobal deployment plan

A set of Unit Plans corresponding A set of Unit Plans corresponding to each of the gatewaysto each of the gateways

Can be executed in 2 modes:Can be executed in 2 modes: BroadcastBroadcast ScatterScatter

Hierarchical structure of plan Hierarchical structure of plan executors that manage a sub-executors that manage a sub-group of gatewaysgroup of gateways..

Plan ExecutorPlan Executor

GlobalGlobalPlanPlan

OSGi GW OSGi GWOSGi GW

1111Grid@works 2006

Some actions could have failed driving the gateway into an incoherent Some actions could have failed driving the gateway into an incoherent state.state.

Rolls back the gateway into a stable stateRolls back the gateway into a stable state

Transactional mechanism for deployment processusTransactional mechanism for deployment processusAllows to validate or cancel a plan executionAllows to validate or cancel a plan execution

Validation : New state declared as stable.Validation : New state declared as stable. Cancellation : The gateway unrolls the deployment plan.Cancellation : The gateway unrolls the deployment plan.

Behind the scene :Behind the scene : Concurrent execution of several transactions within the same Concurrent execution of several transactions within the same

gatewaygateway Transactions could be started on either a single gateway or a group Transactions could be started on either a single gateway or a group

of gatewaysof gateways Compensation plan: generated during each other parallel execution Compensation plan: generated during each other parallel execution

of a plan on a same gateway of a plan on a same gateway : : Contains the list of actions that have not been done but that should have been Contains the list of actions that have not been done but that should have been

done.done.

Transactional and Parallel Transactional and Parallel executionexecution

1212Grid@works 2006

OSGi GW

OSGi GW

OSGi GW

OSGi GW

Transactional mode Transactional mode exampleexample

Deployer

Model Editor

DS

BS

Code generation

Plan ComputationPlan Computation

Persistant gateways statesPersistant gateways states

Global Plan

Unit Plan

VALIDATIONVALIDATION

CANCELLATIONCANCELLATION

1313Grid@works 2006

Compensation planCompensation plan

OSGi GW

OSGi GW

T1

T2

T1’

T2’

CANCELLATION :CANCELLATION :T1T1

Compensation plan

Compensation plan

1414Grid@works 2006

OutlineOutline

Introduction : The PISE projectIntroduction : The PISE project A solution for Large scale deployment of A solution for Large scale deployment of

services :services : A library for remote deploymentA library for remote deployment A Monitoring and Management toolA Monitoring and Management tool

Technical elements : New features in Technical elements : New features in ProActiveProActive ProActive on top of OSGiProActive on top of OSGi An extended JMX connector based on ProActiveAn extended JMX connector based on ProActive

Conclusion and PerspectivesConclusion and Perspectives

1515Grid@works 2006

Monitoring and Management Monitoring and Management of OSGi Gatewaysof OSGi Gateways

Monitoring toolMonitoring tool:: Gathers and Displays gateways events Gathers and Displays gateways events

on the administrator‘s consoleon the administrator‘s console :: Allows remote access to the gatewayAllows remote access to the gateway

Management toolManagement tool:: Manages remote applications’ lifecycle Manages remote applications’ lifecycle Correctives management tasksCorrectives management tasks

Scalable Scalable Grouped actionsGrouped actions

1616Grid@works 2006

A graphical tool for large scale A graphical tool for large scale monitoringmonitoring

1717Grid@works 2006

OutlineOutline

Introduction : The PISE projectIntroduction : The PISE project A solution for Large scale deployment of A solution for Large scale deployment of

services :services : A library for remote deploymentA library for remote deployment A Monitoring and Management toolA Monitoring and Management tool

Technical elements : New features in Technical elements : New features in ProActiveProActive ProActive on top of OSGiProActive on top of OSGi An extended JMX connector based on ProActiveAn extended JMX connector based on ProActive

Conclusion and PerspectivesConclusion and Perspectives

1818Grid@works 2006

ProActive on top of OSGiProActive on top of OSGi

ProActive Bundle :ProActive Bundle : contains all classes contains all classes

required to launch required to launch a ProActive a ProActive runtime on top of runtime on top of OSGi .OSGi .

offers a serviceoffers a service , , the the ProActiveServiceProActiveService

HTTP Communication HTTP Communication Use of the OSGi stantard Use of the OSGi stantard

HTTP service HTTP service

OSGi gatewayOSGi gateway

HTT

PSer

vice

HTT

PSer

vice

ProActive

ProActive ApplicationProActive Application

Act

ive

bund

le”

1919Grid@works 2006

A ProActive JMX ConnectorA ProActive JMX Connector 3 levels architecture3 levels architecture

Resources instrumentation Resources instrumentation : : MBeansMBeans

MBean ServerMBean Server Remote access : Remote access :

connectorsconnectors and adaptors and adaptors

Notifications == Events == Events Connector

customization : : ProActive Connector: ProActive Connector:

Active object Active object Extended for Extended for

asynchronismasynchronism

MBean Server

MBean

RMI ConnectorRMI Connector HTML AdaptorHTML Adaptor

Instrumentation

MBean MBeanPISE

Agent

RMI ClientHTML

Browser

ProActive ProActive ConnectorConnector

ProActive JMX Client

2020Grid@works 2006

OutlineOutline

Introduction : The PISE projectIntroduction : The PISE project A solution for Large scale deployment of A solution for Large scale deployment of

services :services : A library for remote deploymentA library for remote deployment A Monitoring and Management toolA Monitoring and Management tool

Technical elements : New features in Technical elements : New features in ProActiveProActive ProActive on top of OSGiProActive on top of OSGi An extended JMX connector based on ProActiveAn extended JMX connector based on ProActive

Conclusion and PerspectivesConclusion and Perspectives

2121Grid@works 2006

Conclusion and future Conclusion and future worksworks

Complete solution for large scale Complete solution for large scale deployment : deployment : From deployment plan computation to From deployment plan computation to

installation, including remote gateways installation, including remote gateways start up.start up.

Towards :Towards : large scale management of applications large scale management of applications

(Services4All)(Services4All) An OSGi-ed version of ProActive fractal An OSGi-ed version of ProActive fractal

applications applications … … and an « a la carte » ProActive !and an « a la carte » ProActive !