Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Apache, osgi and karaf par Guillaume Nodet


Published on

Vous avez entendu parler de OSGi (ou pas d’ailleurs), vous aimeriez que l’on vous explique ce que c’est et à quoi cela sert ?

Vous voudriez savoir comment on participe à des projets Open-Source, comment on devient acteur au sein de la fondation Apache ?

Vous avez lu l’excellent article d’Octo de la semaine dernière sur Camel, mais vous n’avez pas tout compris ou voulez en savoir plus ?

Ou tout simplement vous voudriez avoir une présentation de la solution OSGi d’Apache : Karaf ?

Published in: Technology, Education
  • Be the first to comment

Apache, osgi and karaf par Guillaume Nodet

  1. 1. Apache, OSGi,Blueprint and Karaf Guillaume Nodet April 12, 2011
  2. 2. Your presenter: Guillaume NodetFuseSource http://fusesource.comApache Software Foundation Member, VPApache Karaf, PMC Member of ActiveMQ,Aries, Camel, CXF, Felix, Geronimo,Karaf, Mina, Ode, ServiceMixCo-creator of ServiceMix, Karaf, MinaSSHDMember of the OSGi EEG
  3. 3. Overall agendaThe Apache Software FoundationOSGi overviewOSGi at the ASFQuick Blueprint introApache Karaf
  4. 4. The Apache Software Foundation What it is and how it works...
  5. 5. ScheduleWhat is theApache Software ProjectFoundation ManagementA bit of The Foundationhistory infrastructureMeritocracy Other foundationThe Foundation entitiesstructure ConclusionRoles
  6. 6. What is the ApacheSoftware Foundation? Non-profit organization Open, collaborative software development Independent legal entity for donations Means for individuals to be sheltered from legal suits Protect the ‘Apache’ brand
  7. 7. HistoryHTTPD web server from the NCSACommunity to support itDevelopers called themselves the“Apache Group”ASF created in 1999
  8. 8. MeritocracyNot initiated by a single personMore people attracted and startedcontributingWhen a person “earned” the merit,access to the repository was grantedScales well as newcomers arevolunteers and no power to steal
  9. 9. Foundation structure Projects are delegated authority and are self-governing Board of Directors Project Management Committees
  10. 10. Board of DirectorsManage and oversee the corporation,its assets and resourcesTechnical authority assigned to PMCNine individuals (members), electedevery year
  11. 11. Project Management CommitteesEstablished and terminated byresolution of the BoardOne officer (VP) appointed by theBoard (PMC chair). Establish rules,report to the board, performadministrative tasksPMC oversee legal aspects andcommunity health
  12. 12. OfficersOversee the day-to-day affairsElected by the Board
  13. 13. RolesuserdevelopercommitterPMC memberPMC chairASF member
  14. 14. Project ManagementCollaborative and consensus-basedpocessNo single set of rules between PMCs
  15. 15. Project Management (cont)Communication OperationDocumentation IndividualsDecision making ConfidentialityPhilosophy vs public
  16. 16. The Incubatorfitering (non technical) proposals ofnew projectshelp creation / infrastrucurementor the incubated community tobecome open and meritocraticevaluate the maturity for graduation
  17. 17. The Incubator (cont.)working code basecopyright donationsponsoring memberincrease diversity (long termstability, variety of technicalvisions)
  18. 18. Other entitiesInfrastructure teamAttic, Labs, Legal Affairs, PublicRelations, Conferences ...
  19. 19. OSGi
  20. 20. OSGi AllianceFormerly known as the Open ServicesGateway InitiativeIndustry consortiumDefines OSGi Service PlatformServeral expert groups
  21. 21. OSGi Architecture Overview
  22. 22. OSGi FrameworkComponent orientedService oriented architectureRun multiple applicationsSingle VMSeparate class loader per bundleDynamic
  23. 23. OSGi Framework layers
  24. 24. OSGi momentumOSGi technology has moved beyondoriginal target domainInitial success story was Eclipse RCPMore recent success stories inenterprise scenarios
  25. 25. OSGi SpecificationsOSGi R4.2 released in Sept/09 Blueprint, Remote Services, Web Applications, JNDI, JTA, JDBC, JPANext Core release in Q1 2011Next Enterprise release in Q1 2012 Subsystems, OBR ...
  26. 26. Modularity Layer
  27. 27. Standard JavaModularity Limitations Limited scoping mechanism Simplitic version handling Implicit dependencies Split packages by default Low-level support for dynamics Unsophisticated consitency model Missing module concept
  28. 28. OSGi Frameworkmodularity supportResolves nearly all deficiencies OSGi bundles as a boundary for a module Bundle metadata explicitly declares versioned dependencies Framework automatically manages bundle code dependencies Framework enforces sophisticated consistency rules for class loading
  29. 29. Bundle Lifecycle
  30. 30. OSGi at the ASFOverview of the various projects
  31. 31. 88 Top Level ProjectsMore then 40 incubating projects
  32. 32. ClassificationNon JavaNon OSGi awareOSGi aware (provide OSGi bundles)OSGi based
  33. 33. OSGi BasedAriesFelix IncubatorKaraf AceServiceMix CelixSling ClerezzaGeronimo (i.p.)
  34. 34. OSGi AwareAbdera Directory (i.p.)ActiveMQ HarmonyAxis HttpComponentsCamel MinaCommons OpenEJBCXF OpenJPADB Synapse
  35. 35. BlueprintDI brought to OSGi
  36. 36. OverviewDependency injection / IOCHandle legacy codeHandle OSGi dynamicsHide the OSGi API
  37. 37. ConfigurationExtender patternXML resourcesMetadata Blueprint Bundle Metadata XML Blueprint Extender
  38. 38. Simple example<blueprint xmlns="”> <service interface=“org.poitoucharentesjug.User”> <bean class=“org.poitoucharentesjug.impl.UserImpl”> <argument value=“gnodet” /> </bean> </service></blueprint>
  39. 39. Managers managerbean service-reference service reference reference-list
  40. 40. OverviewApache Karaf is a small OSGi based runtime which provides a lightweight container onto which various components and applications can be deployed.
  41. 41. Karaf ConsolePoweful command line shellHighly extensibleSSH access
  42. 42. LoggingSupport multiple APIs OSGi, JCL, JUL, Log4j, Slf4jUses a single back-endDynamic reconfiguration throughConfigAdminShell integration
  43. 43. Deployer
  44. 44. ProvisionningFeatures conceptMaven integration (plugin, url handler)Drives OSGi SubSystems specification
  45. 45. OtherOS integrationInstances managementJAAS based security
  46. 46.