1 / 31

ObjectWeb/OSMOSE Deployment Framework

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.

lynnd
Télécharger la présentation

ObjectWeb/OSMOSE Deployment Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Agenda • Sevilla meeting outcome • Motivations • Use cases • Model

  3. Deployment Working GroupTwo Complementary Approaches • Shared models • MDA PIM • CASE tools • Repositories Personalisation Effort Abstraction Effort J2EE CCM OSGi ProActive Fractal … Descriptors & API Abstraction Effort • Shared code as • tools • libraries • components • frameworks Personalisation Effort 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. OSGi Gateway OSGi Gateway Use Case : OSGi gateway Deployer UnitRepository ApplicationRepository console Déployer Local Deployer HTTPService CustomerServlet BarService Local Deployer SMSIO WireAdmin WebCamProducer TemperatureProducer CustomerAlarm FooService WireAdmin GPSPositionProducer TemperatureProducer

  6. WebBrowser tranfer(a,b,100) debit(a,100) credit(b,100) J2EE Server J2EE Server J2EE Server J2EE Server Use Case :J2EE distributed application Deployer UnitRepository ApplicationRepository console Deployer End User Local Deployer FundTransferSB FTServlet Local Deployer AccountEB Local Deployer Local Deployer AccountEB

  7. End User http://ctrlcenter/report?gw=123 http://gw123/report M[] getLast() PDA poll(M m[]) poll(M m[]) J2EE Server CCM Runtime OSGi Gateway Use Case : Weather StationsMix of OSGi+J2EE+CORBA Deployer UnitRepository ApplicationRepository Deployer End User console web browser Local Deployer Local Deployer Local Deployer HTTPService ReportServlet SOAPService WireAdmin TemperatureProducer HumidityProducer ReportSender JMS PushMDB MeasurementEB ReportSB ReportServlet PullMeasurementSB Cardomon DCPS TemperatureSensor

  8. Embedded Linux Embedded Linux Linux Use Case :Platforms deployment Deployer (RPM)UnitRepository ApplicationRepository Deployer console Local Deployer Local Deployer Local Deployer IBM J9 OSCAR SUN JRE1.5 JOnAS Apache HTTPD MySQL PHP Kaffe OpenCCM Cardamon

  9. webBrowser debit(a,100) End User tranfer(a,b,100) credit(b,100) OSGi Gateway OSGi Gateway OSGi Gateway OSGi Gateway Use Case : OSGi “cluster” Deployer UnitRepository ApplicationRepository console Deployer Local Deployer HTTP FTServlet FundTransfer Local Deployer CorbaService Account Local Deployer CorbaService Account Local Deployer

  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=1 UnitDependency id=4 UnitDependency id=2 UnitDependency 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.AttributeController • - 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 Listdeployment@objectweb.org

More Related