1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir...
-
Upload
mark-atkins -
Category
Documents
-
view
218 -
download
0
Transcript of 1 ObjectWeb/OSMOSE Deployment Framework Didier Donsez, Vincent Lestideau, Noureddine Belkhatir...
1
ObjectWeb/OSMOSE Deployment Framework
Didier Donsez, Vincent Lestideau, Noureddine Belkhatir
IMAG/LSR/ADELE
LSR
2
Agenda Sevilla meeting outcome Motivations Use cases Model
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
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
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
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
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
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
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
10
Model Unit, DeployedUnit Application, DeployedApplication Site, Organization
Dependency / Attributes Resolver Process
11
Model
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
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
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
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
16
Identity Platform-specific
OSGi: Bundle-UpdateLocation for Unit …
One common method Object getId() Test equality
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
18
ApplicationRepository TODO
19
Concrete DependenciesCommon
UnitDependency LdapFilterDependency ConjunctionDependency DisjunctionDependency
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 …
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
22
Resolution (TODO) An application
UnitDependency
id=1UnitDependency
id=4
UnitDependency
id=2UnitDependency
id=3
23
Algorithm (TODO)
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
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 +
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 ?
27
Relationship with other WPs WP2
System Management WP3
Personalities for J2EE, OSGi, CCM Personalities for Fractal
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, …
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)
30
The OSGi personality First native implementation
Reuse OBR metadata Standalone or as a bundle
Should merge with ResolveIT ?
31
Send commentsto the Deployment Mailing [email protected]