ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

37
1 LSR ObjectWeb/OSMOSE Deployment Framework Workshop in Prague Didier Donsez, Noureddine Belkhatir IMAG/LSR/ADELE

description

LSR. ObjectWeb/OSMOSE Deployment Framework Workshop in Prague. Didier Donsez, Noureddine Belkhatir IMAG/LSR/ADELE. Agenda. Sevilla meeting outcome Goal Discussions: Platform independent model Use cases Model Personalities Positioning Sum up. - PowerPoint PPT Presentation

Transcript of ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

Page 1: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

1

LSR

ObjectWeb/OSMOSE Deployment Framework

Workshop in Prague

Didier Donsez, Noureddine BelkhatirIMAG/LSR/ADELE

Page 2: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

2

Agenda Sevilla meeting outcome Goal Discussions: Platform independent model

Use cases Model Personalities Positioning

Sum up

Page 3: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

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 Workshop in Prague

4

2 levels of interest Deployment µkernel

Bootstrap core for loading extended functionalityClass LoadingDownloading/Installation/Uninstallation

Application deployment Potential extended functionality modules

Packaging, Description, Deployment Life Cycle Activities(configuration, dependencies, …), Monitoring, Fault tolerance,Distributed vs Local (1 site), others ???

Target PlatformsJOnAS JSR88, OpenCCM, OSGi use cases, Fractal

Common deployment toolsAdministration console, etc.

Common deployment modelsReference deployment infrastructure architectureApplication deployment models

E.g., ORYA, OMG D&C

Fra

mew

ork

dev

elo

per

ori

ente

dA

pp

lica

tio

n d

eplo

yer

ori

ente

d

Page 5: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

5

What’s next Software deliverable V1: 15th of July

Workshop proposition 27 October in Grenoble

DÉCOR conference (28-29 october) First evaluation on personalities

implementations Software deliverable v2 : 15th of

December

Page 6: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

6

GDF(High Level)

Generic Deployment Framework

Page 7: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

7

Motivations (High Level) Generic Deployment Framework

Independent from the platform But Heterogeneous applications (OSGi+J2EE+CCM)

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

Model-based Application, Site, Process

Page 8: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

8

Which issues are not addressed by GDF ? Bootstrapping ? ClassLoading Packaging

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

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 9: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

9

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 10: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

10

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 11: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

11

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 12: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

12

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 13: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

13

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 14: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

14

Model Unit, DeployedUnit Application, DeployedApplication Site, Organization

Dependency / Attributes Resolver Process

Page 15: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

15

Model

Page 16: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

16

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 17: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

17

Unit represents a deployment unit

have attributes Encapsulated platform specific metadata (Bundle-UpdateLocation,

…) 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 18: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

18

Unit DeployedUnit

represents a deployed unit on a site or in an organization

OMG D&C term : package

Page 19: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

19

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 20: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

20

Application Q: Can an application be a set of

(sub)applications

Federation of Applications Heterogeneous applications

One part on OSGi Another on J2EE …

Other examples

Page 21: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

21

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 22: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

22

Identity Platform-specific

OSGi: Bundle-UpdateLocation for Unit …

One common method Object getId() Test equality

Page 23: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

23

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 24: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

24

ApplicationRepository TODO

Page 25: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

25

Concrete DependenciesCommon

UnitDependency LdapFilterDependency ConjunctionDependency DisjunctionDependency NotDependency FacetDependency QualifiedFacetDependency ReceptacleDependency

Page 26: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

26

Concrete Dependencies:OSGi Unit -> Unit, Application -> Unit

VersionedUnitDependency ImportPackageDependency (OBR)

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

Eg: A telnet deamon requires a Shell QualifiedImportServiceDependency ExportServiceDependency

Eg: A command requires a Shell ConsumerWireAdminDependency

Eg: Requires consumers consuming temperatures ProducerWireAdminDependency

Eg: Requires producers producing GPS positions …

Unit -> Site NativeDependency

Page 27: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

27

Resolver Parameters

application dependencies site dependencies

Select Units in a UnitRepository According to

application dependencies, site dependencies, unit dependencies And Already deployed units

Return a Process to execute

Page 28: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

28

What is missing Configuration

Multi-step ? Pre-installation Post-Installation (according site

attributes)

Manager (OMG D&C) Actor …

Page 29: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

29

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 30: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

30

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 31: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

31

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 32: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

32

Relationship with other WPs WP2

System Management WP3

Personalities for J2EE, OSGi, CCM Personalities for Fractal

Page 33: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

33

Open issues Code/State migration

ProActive ActiveObject Positioning / 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 34: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

34

GDF personalities OSGi J2EE CCM Fractal ProActive DCUP/SOFA Linux .NET Generic

Context Aware, Atonomic, SOA (JINI, WS, OSGi…)

Page 35: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

35

The OSGi personality First naïve implementation

Reuse Oscar Bunlde Repository metadata

standalone or as a bundle (on site resolver/deployer)

Should merge with ResolveIT ?

Page 36: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

36

Action points We have a deadline : 15 th of july Complete the current GDF

OMG D&C subset or OMG D&C compliance

Share out the work among us Horizontal (process, resolution, …) Vertical (platform)

Page 37: ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

37

Send commentsto the Deployment Mailing [email protected]