objectweb/osmose deployment framework

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

Upload: neron

Post on 09-Jan-2016

25 views

Category:

Documents


0 download

DESCRIPTION

LSR. ObjectWeb/OSMOSE Deployment Framework. Didier Donsez, Vincent Lestideau, Noureddine Belkhatir IMAG/LSR/ADELE. Agenda. Sevilla meeting outcome Motivations Use cases Model. Deployment Working Group Two Complementary Approaches. Shared models MDA PIM CASE tools Repositories. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ObjectWeb/OSMOSE Deployment Framework

1

ObjectWeb/OSMOSE Deployment Framework

Didier Donsez, Vincent Lestideau, Noureddine Belkhatir

IMAG/LSR/ADELE

LSR

Page 2: ObjectWeb/OSMOSE Deployment Framework

2

Agenda Sevilla meeting outcome Motivations Use cases Model

Page 3: ObjectWeb/OSMOSE Deployment Framework

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: ObjectWeb/OSMOSE Deployment Framework

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: ObjectWeb/OSMOSE Deployment Framework

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: ObjectWeb/OSMOSE Deployment Framework

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: ObjectWeb/OSMOSE Deployment Framework

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: ObjectWeb/OSMOSE Deployment Framework

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: ObjectWeb/OSMOSE Deployment Framework

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: ObjectWeb/OSMOSE Deployment Framework

10

Model Unit, DeployedUnit Application, DeployedApplication Site, Organization

Dependency / Attributes Resolver Process

Page 11: ObjectWeb/OSMOSE Deployment Framework

11

Model

Page 12: ObjectWeb/OSMOSE Deployment Framework

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: ObjectWeb/OSMOSE Deployment Framework

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: ObjectWeb/OSMOSE Deployment Framework

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: ObjectWeb/OSMOSE Deployment Framework

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: ObjectWeb/OSMOSE Deployment Framework

16

Identity Platform-specific

OSGi: Bundle-UpdateLocation for Unit …

One common method Object getId() Test equality

Page 17: ObjectWeb/OSMOSE Deployment Framework

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: ObjectWeb/OSMOSE Deployment Framework

18

ApplicationRepository TODO

Page 19: ObjectWeb/OSMOSE Deployment Framework

19

Concrete DependenciesCommon

UnitDependency LdapFilterDependency ConjunctionDependency DisjunctionDependency

Page 20: ObjectWeb/OSMOSE Deployment Framework

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: ObjectWeb/OSMOSE Deployment Framework

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: ObjectWeb/OSMOSE Deployment Framework

22

Resolution (TODO) An application

UnitDependency

id=1UnitDependency

id=4

UnitDependency

id=2UnitDependency

id=3

Page 23: ObjectWeb/OSMOSE Deployment Framework

23

Algorithm (TODO)

Page 24: ObjectWeb/OSMOSE Deployment Framework

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: ObjectWeb/OSMOSE Deployment Framework

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: ObjectWeb/OSMOSE Deployment Framework

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: ObjectWeb/OSMOSE Deployment Framework

27

Relationship with other WPs WP2

System Management WP3

Personalities for J2EE, OSGi, CCM Personalities for Fractal

Page 28: ObjectWeb/OSMOSE Deployment Framework

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: ObjectWeb/OSMOSE Deployment Framework

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: ObjectWeb/OSMOSE Deployment Framework

30

The OSGi personality First native implementation

Reuse OBR metadata Standalone or as a bundle

Should merge with ResolveIT ?

Page 31: ObjectWeb/OSMOSE Deployment Framework

31

Send commentsto the Deployment Mailing [email protected]