1 lsr objectweb/osmose deployment framework workshop in prague didier donsez, noureddine belkhatir...

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

Post on 19-Dec-2015

226 views

Category:

Documents


2 download

TRANSCRIPT

1

LSR

ObjectWeb/OSMOSE Deployment Framework

Workshop in Prague

Didier Donsez, Noureddine BelkhatirIMAG/LSR/ADELE

2

Agenda Sevilla meeting outcome Goal GDF Proposition

Use cases Model Personalities Positioning

Action points

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

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

5

What we have to provide ? First software deliverable

for the 15th of July

Workshop proposition 27 October in Grenoble

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

Software deliverable v2for the 15th of December

6

GDFGeneric Deployment Framework

7

Motivations Generic Deployment Framework

Independent to the platform But Heterogeneous applications

(OSGi+J2EE+CCM)

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

Model-based Application, Site, Process

8

Which issues are not addressed by GDF ? 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)

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

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

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

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

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

14

Model Unit, DeployedUnit Application, DeployedApplication Site, Organization

Dependency / Attributes Resolver Process

15

Model

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

17

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

18

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

19

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

20

Identity Platform-specific

OSGi: Bundle-UpdateLocation for Unit …

One common method Object getId() Test equality

21

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

22

ApplicationRepository TODO

23

Concrete DependenciesCommon

UnitDependency LdapFilterDependency ConjunctionDependency DisjunctionDependency NotDependency FacetDependency QualifiedFacetDependency ReceptacleDependency

24

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

25

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

26

What is missing Configuration

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

attributes)

Manager (OMG D&C) Actor …

27

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

28

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 +

29

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 ?

30

Relationship with other WPs WP2

System Management WP3

Personalities for J2EE, OSGi, CCM Personalities for Fractal

31

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, …

32

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

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

33

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 ?

34

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)

35

Send commentsto the Deployment Mailing [email protected]