1 objectweb/osmose deployment framework didier donsez, vincent lestideau, noureddine belkhatir...

31
1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

Upload: mark-atkins

Post on 03-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

1

ObjectWeb/OSMOSE Deployment Framework

Didier Donsez, Vincent Lestideau, Noureddine Belkhatir

IMAG/LSR/ADELE

LSR

Page 2: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

2

Agenda Sevilla meeting outcome Motivations Use cases Model

Page 3: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

3

Deployment Working GroupTwo Complementary Approaches

J2EE CCM OSGi ProActive Fractal …Descriptors& API

Shared code as• tools• libraries• components• frameworks

PersonalisationEffort

Shared models• MDA PIM• CASE tools• Repositories

AbstractionEffort

PersonalisationEffort

AbstractionEffort

From Philippe Merle

Page 4: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

4

Motivations Generic Deployment Framework

Independent to the platform Mixin of platform (OSGi+J2EE+CCM)

Personalities of this FW OSGi, J2EE, CCM, Fractal, ProActive

Model-based Application, Site, Process

Page 5: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

5

Use Case : OSGi gatewayLo

cal D

eplo

yer

OSGi Gateway

DeployerUnitRepository

Déployer

HTTP

Serv

ice

BarS

ervic

e

Cust

omer

Serv

let

ApplicationRepository

OSGi Gateway

Wire

Adm

in

Web

Cam

Prod

ucer

Tem

pera

ture

Prod

ucer

Cust

omer

Alar

m

Wire

Adm

in

GPS

Posit

ionP

rodu

cer

Tem

pera

ture

Prod

ucer

Loca

l Dep

loye

r

SMSI

O

FooS

ervic

e

console

Page 6: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

6

Use Case :J2EE distributed application

Loca

l Dep

loye

r

DeployerUnitRepository

Loca

l Dep

loye

r

Loca

l Dep

loye

r

Deployer

Fund

Tran

sfer

SB

Acco

untE

B

Acco

untE

B

Loca

l Dep

loye

r

ApplicationRepository

J2EE Server J2EE Server J2EE ServerJ2EE Server

FTSe

rvle

t

End User

WebBrowser

tranfer(a,b,100)debit(a,100)

credit(b,100)

console

Page 7: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

7

Use Case : Weather StationsMix of OSGi+J2EE+CORBA

DeployerUnitRepository

Loca

l Dep

loye

r

Loca

l Dep

loye

r

Deployer

console

ApplicationRepository

J2EE Server CCM Runtime

Loca

l Dep

loye

r

OSGi Gateway

HTTP

Serv

ice

Repo

rtSer

vlet

Wire

Adm

in

Tem

pera

ture

Prod

ucer

Hum

idity

Prod

ucer

JMS

Repo

rtSen

der

SOAP

Serv

ice

Push

MDB

Mea

sure

men

tEB

Repo

rtSB

Repo

rtSer

vlet

Card

omon

DCP

S

Tem

pera

ture

Sens

or

End User

M[] getLast()

PullM

easu

rem

entS

B

poll(M m[])poll(M m[])

http://ctrlcenter/report?gw=123

End User

PDA

http://gw123/report

webbrowser

Page 8: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

8

Use Case :Platforms deployment

Deployer(RPM)UnitRepository

Loca

l Dep

loye

r

Loca

l Dep

loye

r

Deployer

console

ApplicationRepository

Linux Embedded Linux

Loca

l Dep

loye

r

Embedded Linux

IBM

J9

OSC

AR

SUN

JRE1

.5

JOnA

S

Apac

he H

TTPD

Kaffe

Ope

nCCM

MyS

QL

PHP

Card

amon

Page 9: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

9

Use Case : OSGi “cluster”Lo

cal D

eplo

yer

OSGi Gateway

DeployerUnitRepository

Loca

l Dep

loye

r

Loca

l Dep

loye

r

Deployer

HTTP

Fund

Tran

sfer

Corb

aSer

vice

FTSe

rvle

t

Acco

unt

Corb

aSer

vice

Acco

unt

ApplicationRepository

OSGi Gateway OSGi Gateway

End User

webBrowser

tranfer(a,b,100)

debit(a,100)

credit(b,100)

Loca

l Dep

loye

r

OSGi Gateway

console

Page 10: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

10

Model Unit, DeployedUnit Application, DeployedApplication Site, Organization

Dependency / Attributes Resolver Process

Page 11: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

11

Model

Page 12: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

12

Attributes & Dependency Attributes

Set of properties <key,values> Platform-specific

OSGi: Export-Package, Import-Package, Bundle-Version … …

Application Developpement status: beta …

Dependency Represents a constraint

Eg: the Unit A requires os=Windows Eg: the Site B requires stable Units Eg: the Application C is composed only of signed units by

ObjectWeb Resolved or not by a Attribute

Page 13: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

13

Unit represents a deployment unit have attributes have dependencies

towards unit Eg: the unit requires the package javax.servlet; version=2.3

towards sites Eg: the unit runs only under WindowsXP and more

towards applications Eg: the unit cannot be use in a commercial application

could embed others units Eg J2EE EAR = EJBJAR + n WAR + m JAR (of client side

applications) WAR could contain MidLets and Applets

DeployedUnit represents a deployed unit on a site or in an organization

Page 14: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

14

Application represents an application have attributes have dependencies

towards units UnitDependency enables to fix the units that compose the

application towards sites

Eg: the unit runs only under WindowsXP and more Dependencies are added by

the assembler, the deployer, … DeployedApplication

represents a deployed applicationon a site or in an organization

Page 15: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

15

Site represents a site on which a part (units) of

an application are deployed have attributes have dependencies

towards applications Eg: the application must be stable dev. version

towards units Eg: the units must be licenced Open Source

Organization A set of sites

Page 16: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

16

Identity Platform-specific

OSGi: Bundle-UpdateLocation for Unit …

One common method Object getId() Test equality

Page 17: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

17

UnitRepository Only an index of available units Not a storage system (platform-

specific) Units could be loaded from a URL or

from a InputStream In the case of URL loaded, the URL

must be one of the attributes of the Unit

Page 18: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

18

ApplicationRepository TODO

Page 19: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

19

Concrete DependenciesCommon

UnitDependency LdapFilterDependency ConjunctionDependency DisjunctionDependency

Page 20: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

20

Concrete Dependencies:OSGi VersionedUnitDependency ImportPackageDependency (OBR)

Eg: the unit requires the package javax.servlet; version=2.3

ImportServiceDependency Eg: A telnet deamon requires a Shell

ServiceBinderImportServiceDependency ExportServiceDependency

Eg: A command requires a Shell ConsumerWireAdminDependency

Eg: Requires consumers consuming temperatures ProducerWireAdminDependency

Eg: Requires producers producing GPS positions …

Page 21: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

21

Resolution The units are the root of a multi-colored graph Edges are satisfing dependencies One color per type of dependency

A deployment is succeful if all dependencies are satisfied

For the application, sites and units

Page 22: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

22

Resolution (TODO) An application

UnitDependency

id=1UnitDependency

id=4

UnitDependency

id=2UnitDependency

id=3

Page 23: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

23

Algorithm (TODO)

Page 24: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

24

Interface design issues (i) Interface Attributes could be replace by

javax.management.DynamicMBean - muttable interface + link with JMX and OSMOSE Admin WG

or org.objectweb.fractal.api.control.AttributeCon

troller - muttable interface ? Functional or Non functional interface

or both

Page 25: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

25

Interface design issues (ii) Attribute values may be

java.lang.Comparable Eg: Version, VersionedPackage, …

Collection parameters and return Type[] Iterator Iterator<Type> JDK 1.5 and + List/Set List/Set<Type> JDK 1.5 and +

Page 26: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

26

Interface design issues (iii) Mutable interfaces

add(Type), remove(Type), … Observable interfaces

Observes if the Unit A changes its implementation version get/set Observer javax.management.NotificationBroadcaster

Finder interfaces Improve performance during dependency resolution Dependency can use those indexes to search Attributes

objects quickly Method find(String filter) ApplicationRepository,

Organization, … Others ?

Page 27: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

27

Relationship with other WPs WP2

System Management WP3

Personalities for J2EE, OSGi, CCM Personalities for Fractal

Page 28: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

28

Open issues Code/State migration

ProActive ActiveObject Compliance with

OMG D&C (Deployment and Configuration of Component-

based Distributed Applications) JSR 88

(J2EE Server API for 3-tier Deployment Tools) Others ?

SUN JNLP, DVB-MHP, Linux RPM, …

Page 29: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

29

Which issues are not addressed by GDF ? Packaging

Platform specific : RPM, Bundle Jarfile, EAR Jarfile Metadata Format

Java .MF, RPM multi-files, .NET XML manifest, … Protocols

Between global and local deployer rsh, rlogin, ssh, Globus 1,2 …, PBS, LSF, MapRsh telnet, http, https, soap, xmlrpc, javagroup ?, ip

multicast+carrousel … Should GDF address them ?

The right place (low level GDF)

Page 30: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

30

The OSGi personality First native implementation

Reuse OBR metadata Standalone or as a bundle

Should merge with ResolveIT ?

Page 31: 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE LSR

31

Send commentsto the Deployment Mailing [email protected]