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.

Standard Application Lifecycle Management as Community (and Enterprise) ecosystem enabler


Published on

  • Be the first to comment

Standard Application Lifecycle Management as Community (and Enterprise) ecosystem enabler

  1. 1. Gabriele ColumbroStandard Application Lifecycle Management asCommunity and Enterprise Enabler(using Apache Maven), Alfresco Software
  2. 2. Agenda Gabriele Columbro – Alfresco Software• Ecosystem & developer ergonomics• Chemistry & the Apache way• The Alfresco journey to standard SDK• Maven Alfresco SDK demo• Conclusions & Q/A
  3. 3. Who’s this guy? Gabriele Columbro - Alfresco Sofware Gabriele Columbro Master in Engineering @ Roma3 Principal Architect, Alfresco Software Release Mgr, Apache Chemistry OpenCMIS Maven enthusiast & fundamentalist :) Alfresco Software Open Source ECM Community vs. Enterprise Java Based, Integrates Apache * and more
  4. 4. Why do we love Open Source development? Gabriele Columbro - Alfresco SoftwareAs a developer• Self-documenting• You are never alone!• Open Source ↔ StandardAs an Apache release manager• Lean release process• Automation• Standardization• Legal coverage
  5. 5. In substance, freedom!!! Gabriele Columbro - Alfresco Software Integrating components Running on your laptop! No lock-ins Learn by example /Fix it yourself Community!
  6. 6. Open Source needs Community Gabriele Columbro - Alfresco Software Marketing and Social Buzz Longevity of the product Quick issues turnaround Amount of (unstructured) documentation But: enough to ensure quality and self sustained long life of the product?
  7. 7. Ecosystem defined Gabriele Columbro - Alfresco Software An ecosystem is a community of living organisms(plants, animals and microbes) in conjunction with thenonliving components of their environment (things like air, water and mineral soil), interacting as a system.
  8. 8. An early CommunityGabriele Columbro - Alfresco Software Product Software Docs Examples Community
  9. 9. An ecosystem driven Community Gabriele Columbro - Alfresco Software ProductSoftware PluginsDocs Issues / Fixes Ecosystem EnhancementsExamplesSDK Solutions Community
  10. 10. Now that’s a real ecosystem Gabriele Columbro - Alfresco Software
  11. 11. Developer ergonomics is the KEY! Gabriele Columbro - Alfresco Software People should be comfortable inwhat they do or otherwise they wont do it!
  12. 12. Developer Ergonomics defined Gabriele Columbro - Alfresco Software How simple is to build, test and run your software? Framework based development Clean / clear release cycle Dependency Management Core build vs. integration facilities Extension points How well / self documented it is?
  13. 13. How ergonomics turn a community into an Ecosystem? Gabriele Columbro - Alfresco Software Allow developers to focus of “creativity” Standard No infrastructure gotchas Jump start, low RTFM
  14. 14. Chemistry and the Apache way Gabriele Columbro – Alfresco SoftwareApache Chemistry OpenCMISEcosystem “the Apache Way”
  15. 15. A bit of history Gabriele Columbro - Alfresco Software CMIS standard implementation Project started in 2009 ASF contribution in late 2009 / early 2010 First incubator release in early 2010 Graduation in 2011 9 releases in 2 years Maven Release management might have been quite tedious! But...
  16. 16. Maven + ASF. The dynamic duo Gabriele Columbro - Alfresco Software
  17. 17. Maven + ASF… releases like a CharmGabriele Columbro - Alfresco Software
  18. 18. Basically … paradiseGabriele Columbro - Alfresco Software
  19. 19. Who benefits from that? Gabriele Columbro - Alfresco Software Me, me, me! Community Well-know contracts and interfaces No brainer evaluation Did I mention ME? Enterprise Ecosystem Standard integration lifecycle Thorough legal / licensing enforcement Control over inbound software
  20. 20. The Maven + Alfresco story Gabriele Columbro – Alfresco SoftwareThe Maven + Alfresco ecosystem
  21. 21. You might have heard this story… Gabriele Columbro - Alfresco SoftwareBoss: “You gotta learn Alfresco, quick!”Gab: “Mhmhmh…ok ” We all ♥ frameworks Modern and cool Open Source and Easy to use And Alfresco is all of that but…
  22. 22. So what was this Alfresco thing?Gabriele Columbro - Alfresco Software
  23. 23. It’s a bit like…Gabriele Columbro - Alfresco Software
  24. 24. A typical ECM scenarioGabriele Columbro - Alfresco Software
  25. 25. And the solution would be?Gabriele Columbro - Alfresco Software
  26. 26. And the solution would be?Gabriele Columbro - Alfresco Software
  27. 27. Who benefits from that? Gabriele Columbro - Alfresco Software Confession  I have never used the “old” Alfresco SDK! (ehm…)  I need more productivity and standards! Why not?  Alfresco is just a webapp (WAR)  AMPs are no more than ZIPs managed by Alfresco Module Management tool Why can’t I use my favorite tool of choice?
  28. 28. But a fool with a tool is still a fool…Gabriele Columbro - Alfresco Software
  29. 29. Maven Alfresco SDKGabriele Columbro - Alfresco Software Maven Alfresco SDK
  30. 30. A Community success story Gabriele Columbro - Alfresco Software• 2008: Maven Alfresco Archetypes founded• 2009: Maven Alfresco Lifecycle (up to 3.9.1) – More than 100 people on the public list• 2009: Maven Alfresco Lifecycle (up to 3.9.1) • More than 100 people on the public list• 2012: Alfresco Artifacts Repository! • More than 100 Enterprise customers subscribed!• Nov 2012: Maven Alfresco SDK™ released! • Backed by Alfresco Artifacts and POMs!
  31. 31. Yes we can!Gabriele Columbro - Alfresco Software
  32. 32. SDK Components Gabriele Columbro - Alfresco Software• Alfresco Maven Plugin – Embeds Alfresco MMT• Alfresco SDK Parent POM – SDK single point of entrance• Alfresco Platform Distribution POM – Community / Enterprise• Alfresco Maven archetypes – AMP & All-in-One
  33. 33. SDK architecture Gabriele Columbro - Alfresco Software Archetypes SDK POM Plugin AlfrescoDeployment <dependency> Artifacts
  34. 34. Because development can be easy…Gabriele Columbro - Alfresco Software
  35. 35. And Alfresco development can be!Gabriele Columbro - Alfresco Software
  36. 36. SDK Use Cases Gabriele Columbro - Alfresco SoftwareAMP archetype – Create an Alfresco module from scratch – Create a Share customization from scratchAll-in-One archetype – Manage a full blown (foundation) Alfresco project – Build and distribute WARs (potentially depending on AMPs) – Evaluate Alfresco with one command – Demo Alfresco or reproduce an issue in minutesSDK Parent POM – Enable your existing Maven project to use SDK features – You are a guru and know much better than using archetypes!
  37. 37. Documentation website Gabriele Columbro - Alfresco Software
  38. 38. Quick demo Gabriele Columbro - Alfresco Software All-in-One multi-module packaging & embedded run0 manual downloads, 2 commands and you’re up and running! MAVEN_OPTS="-Xms256m -Xmx1G -XX:PermSize=300m"
  39. 39. ConclusionsGabriele Columbro - Alfresco Software Conclusions & QA
  40. 40. SDK Use Cases Gabriele Columbro - Alfresco Software• Community is our best asset • Cannot be “controlled” • Cannot be “convinced” • Cannot be easily fooled • Ecosystem needs to be “seeded” • Turn your community into a lively ecosystem making it “easy for them” • Mainstream and Viral effect!• A standard process is critical for its sustainability!
  41. 41. SDK as ecosystem enabler Gabriele Columbro - Alfresco Software• What’s possible now • 2 commands, no downloads  up’n’running • Easy extension testing  Quality & easier support • Process reuse via archetypes• Community ecosystem enablement • Quick evaluation and contribution • Zero-BS approach with archetypes (nobody likes RTFM)• Enterprise ecosystem enablement • OEM and embedding of Alfresco (fine grained) • Drop all their custom Maven repositories! • Easy Community  Enterprise switch
  42. 42. A very promising startGabriele Columbro - Alfresco Software
  43. 43. A very promising start Gabriele Columbro - Alfresco SoftwareThe Maven SDK provides a platform to build a sustainable ecosystem!
  44. 44. Conclusion Gabriele Columbro - Alfresco Software Community and Enterprise network require an enabling technology to build a lively framework ecosystem Maven is a perfect enabler for  Simple, minimal RTFM, product evaluation  Scaling from individual to enterprise processes seamlessly  Opening up a black box in a controlled way!  Enabling integration process reuse (via archetypes)
  45. 45. Hopefully one step closer to …Gabriele Columbro - Alfresco Software
  46. 46. Thanks! Gabriele Columbro - Alfresco Software•References Join the community• Alfresco Software • Alfresco Software• Maven Alfresco SDK • Maven Alfresco Community• Alfresco SDK Parent POM • Maven Alfresco on GoogleCode• Alfresco 4.2.b Platform Distribution POM • Twitter• Alfresco Artifacts Repository • @mindthegabz