1 / 35

ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

LSR. ObjectWeb/OSMOSE Deployment Framework Workshop in Prague. Didier Donsez, Noureddine Belkhatir IMAG/LSR/ADELE. Agenda. Sevilla meeting outcome Goal GDF Proposition Use cases Model Personalities Positioning Action points. Deployment Working Group Two Complementary Approaches.

Download Presentation

ObjectWeb/OSMOSE Deployment Framework Workshop in Prague

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 FrameworkWorkshop in Prague Didier Donsez, Noureddine Belkhatir IMAG/LSR/ADELE

  2. Agenda • Sevilla meeting outcome • Goal • GDF Proposition • Use cases • Model • Personalities • Positioning • Action points

  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. 2 levels of interest • Deployment µkernel • Bootstrap core for loading extended functionality • Class Loading • Downloading/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 Platforms • JOnAS JSR88, OpenCCM, OSGi use cases, Fractal • Common deployment tools • Administration console, etc. • Common deployment models • Reference deployment infrastructure architecture • Application deployment models • E.g., ORYA, OMG D&C Framework developeroriented Application deployeroriented

  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 v2 for 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. 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

  10. 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

  11. 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

  12. 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

  13. 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

  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.AttributeController • - 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 Listdeployment@objectweb.org

More Related