210 likes | 312 Views
Monitoring OSGi platforms with ProActive. Virginie Legrand Virginie.legrand@sophia.inria.fr 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
E N D
Monitoring OSGi platforms with ProActive Virginie Legrand Virginie.legrand@sophia.inria.fr 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 • Technical elements : New features in ProActive • ProActive on top of OSGi • An extended JMX connector based on ProActive • Conclusion and Perspectives
Context : The PISE Project • French gov. funded project (RNRT program) • Project consortium • 3 French companies • 2 French research labs Software engineering methods and tools to develop, to deployand administratebusiness services Develop a middlewareto build and to host M2M serviceson industrial gatewaysin power distribution domain Runtime environmenton the top of OSGi™ platforms Compliance with standardsFlexibilitySecurity
Description of an application modelFunctional Aspects : Device Services and Business Services Non-functional Aspects : Security, Distribution, Trace (log) Model Editor Micrologic SecureDeployment BS DS OSGi™ industrial gateway PISE : objectives DeviceService Code generation Sepam Alarm BS DeviceService Monitoring BS DeviceService Deployment and Monitoring
OSGi Gateway : http://www.osgi.org Defines a framework that allows services to be loaded in a service gateway like a set top box, or an application (ex eclipse Framework, Jonas …) • A sharable JVM between several applications : • Shares packages • Launch / stop services • Dynamic deployment of services without reboot of the gateway
Outline • Introduction : The PISE project • A solution for Large scale deployment of services : • A library for remote deployment • A Monitoring and Management tool • Technical elements : New features in ProActive • ProActive on top of OSGi • An extended JMX connector based on ProActive • Conclusion and Perspectives
Rationale : Large scale deployment • Large scale deployment and management is a painful operation that cannot be done by hand. • Objectives: • From a deployment plan, we want to initiate applications installation on a big number of heterogeneous platforms • 1 target, 10 targets, 1000, 10 000 ?
Large scale Deployment processus • Create the deployment structure • Gateways are grouped according precise criteria in a hierarchical set. • Introspect gateways in order to know their dynamic characteristics and already deployed services • Select implementations fitting to the gateways • Resolve dependencies for selected services • Install and start services on the set of gateways
A library for large scale deployment • Based on ProActive • Asynchronous and Group communications that provide the support for scalability needs. • Adresses large scale deployment concerns : • Gateways states are stored in a database: Initial state + event-based updates • Up-to-date gateways snapshot eases the computation of deployment plans – push model. • Execution of deployment plan architecture • Parallel and, • Transactional
OSGi GW OSGi GW OSGi GW Parallel Execution of Deployment Plans Global Plan • Unit deployment plan • Ordered list of actions to remotely execute on the gateway to deploy an application. • Example : • install http://192.168.0.9/obr/service1.jar • Gobal deployment plan • A set of Unit Plans corresponding to each of the gateways • Can be executed in 2 modes: • Broadcast • Scatter • Hierarchical structure of plan executors that manage a sub-group of gateways. Plan Executor
Transactional and Parallel execution • Some actions could have failed driving the gateway into an incoherent state. Rolls back the gateway into a stable state Transactional mechanism for deployment processus Allows to validate or cancel a plan execution • Validation : New state declared as stable. • Cancellation : The gateway unrolls the deployment plan. Behind the scene : • Concurrent execution of several transactions within the same gateway • Transactions could be started on either a single gateway or a group of gateways • Compensation plan: generated during each other parallel execution of a plan on a same gateway : • Contains the list of actions that have not been done but that should have been done.
Model Editor OSGi GW OSGi GW Deployer BS DS OSGi GW OSGi GW Transactional mode example Persistant gateways states Code generation VALIDATION Unit Plan Global Plan CANCELLATION Plan Computation
OSGi GW OSGi GW Compensation plan T1 T2 Compensation plan CANCELLATION : T1 T1’ T2’ Compensation plan
Outline • Introduction : The PISE project • A solution for Large scale deployment of services : • A library for remote deployment • A Monitoring and Management tool • Technical elements : New features in ProActive • ProActive on top of OSGi • An extended JMX connector based on ProActive • Conclusion and Perspectives
Monitoring and Management of OSGi Gateways • Monitoring tool: • Gathers and Displays gateways events on the administrator‘s console : • Allows remote access to the gateway • Management tool: • Manages remote applications’ lifecycle • Correctives management tasks Scalable Grouped actions
Outline • Introduction : The PISE project • A solution for Large scale deployment of services : • A library for remote deployment • A Monitoring and Management tool • Technical elements : New features in ProActive • ProActive on top of OSGi • An extended JMX connector based on ProActive • Conclusion and Perspectives
ProActive on top of OSGi ProActive Application • ProActive Bundle : • contains all classes required to launch a ProActive runtime on top of OSGi . • offers a service , the ProActiveService • HTTP Communication • Use of the OSGi stantard HTTP service ProActive Active bundle” HTTPService OSGi gateway
A ProActive JMX Connector • 3 levels architecture • Resources instrumentation : MBeans • MBean Server • Remote access : connectors and adaptors • Notifications == Events • Connector customization : • ProActive Connector: Active object • Extended for asynchronism RMI Client HTML Browser ProActive JMX Client ProActive Connector RMI Connector HTML Adaptor Agent MBean Server Instrumentation MBean MBean PISE MBean
Outline • Introduction : The PISE project • A solution for Large scale deployment of services : • A library for remote deployment • A Monitoring and Management tool • Technical elements : New features in ProActive • ProActive on top of OSGi • An extended JMX connector based on ProActive • Conclusion and Perspectives
Conclusion and future works • Complete solution for large scale deployment : From deployment plan computation to installation, including remote gateways start up. • Towards : • large scale management of applications (Services4All) • An OSGi-ed version of ProActive fractal applications • … and an « a la carte » ProActive !