SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Gabriele Columbro
Standard Application Lifecycle Management as
Community and Enterprise Enabler
(using Apache Maven)
gabriele.columbro@alfresco.com, Alfresco Software
Agenda
            Gabriele Columbro   gabriele.columbro@alfresco.com – Alfresco Software




•   Ecosystem & developer ergonomics
•   Chemistry & the Apache way
•   The Alfresco journey to standard SDK
•   Maven Alfresco SDK demo
•   Conclusions & Q/A
Who’s this guy?
             Gabriele Columbro   gabriele.columbro@alfresco.com - 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
Why do we love Open Source development?
               Gabriele Columbro      gabriele.columbro@alfresco.com - Alfresco Software




As a developer
•   Self-documenting
•   You are never alone!
•   Open Source ↔ Standard


As an Apache release manager
•   Lean release process
•   Automation
•   Standardization
•   Legal coverage
In substance, freedom!!!
            Gabriele Columbro          gabriele.columbro@alfresco.com - Alfresco Software



   Integrating components
   Running on your laptop!
   No lock-ins
   Learn by example /Fix it yourself
   Community!
Open Source needs Community
             Gabriele Columbro     gabriele.columbro@alfresco.com - 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?
Ecosystem defined
          Gabriele Columbro          gabriele.columbro@alfresco.com - Alfresco Software




   An ecosystem is a community of living organisms
(plants, animals and microbes) in conjunction with the
nonliving components of their environment (things like
  air, water and mineral soil), interacting as a system.




           http://en.wikipedia.org/wiki/Ecosystem
An early Community
Gabriele Columbro               gabriele.columbro@alfresco.com - Alfresco Software




                     Product




       Software
       Docs
       Examples



                    Community
An ecosystem driven Community
           Gabriele Columbro                gabriele.columbro@alfresco.com - Alfresco Software




                                Product



Software                                                      Plugins
Docs                                                          Issues / Fixes
                                Ecosystem                     Enhancements
Examples
SDK                                                           Solutions



                               Community
Now that’s a real ecosystem 
Gabriele Columbro        gabriele.columbro@alfresco.com - Alfresco Software
Developer ergonomics is the KEY!
    Gabriele Columbro       gabriele.columbro@alfresco.com - Alfresco Software




     People should be comfortable in
what they do or otherwise they won't do it!
Developer Ergonomics defined
              Gabriele Columbro      gabriele.columbro@alfresco.com - 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?
How ergonomics turn a community into an Ecosystem?
             Gabriele Columbro      gabriele.columbro@alfresco.com - Alfresco Software




   Allow developers to focus of “creativity”
      Standard
      No infrastructure gotchas
      Jump start, low RTFM
Chemistry and the Apache way
  Gabriele Columbro      gabriele.columbro@alfresco.com – Alfresco Software




Apache Chemistry OpenCMIS
Ecosystem “the Apache Way”
A bit of history
            Gabriele Columbro   gabriele.columbro@alfresco.com - 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...
Maven + ASF. The dynamic duo 
Gabriele Columbro     gabriele.columbro@alfresco.com - Alfresco Software
Maven + ASF… releases like a Charm
Gabriele Columbro      gabriele.columbro@alfresco.com - Alfresco Software
Basically … paradise
Gabriele Columbro      gabriele.columbro@alfresco.com - Alfresco Software
Who benefits from that?
             Gabriele Columbro         gabriele.columbro@alfresco.com - 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
The Maven + Alfresco story
    Gabriele Columbro       gabriele.columbro@alfresco.com – Alfresco Software




The Maven + Alfresco ecosystem
You might have heard this story…
             Gabriele Columbro       gabriele.columbro@alfresco.com - Alfresco Software



Boss: “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…
So what was this Alfresco thing?
Gabriele Columbro        gabriele.columbro@alfresco.com - Alfresco Software
It’s a bit like…
Gabriele Columbro   gabriele.columbro@alfresco.com - Alfresco Software
A typical ECM scenario
Gabriele Columbro        gabriele.columbro@alfresco.com - Alfresco Software
And the solution would be?
Gabriele Columbro       gabriele.columbro@alfresco.com - Alfresco Software
And the solution would be?
Gabriele Columbro       gabriele.columbro@alfresco.com - Alfresco Software
Who benefits from that?
                Gabriele Columbro         gabriele.columbro@alfresco.com - 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?
But a fool with a tool is still a fool…
Gabriele Columbro           gabriele.columbro@alfresco.com - Alfresco Software
Maven Alfresco SDK
Gabriele Columbro    gabriele.columbro@alfresco.com - Alfresco Software




   Maven Alfresco SDK
A Community success story
              Gabriele Columbro      gabriele.columbro@alfresco.com - 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!
Yes we can!
Gabriele Columbro   gabriele.columbro@alfresco.com - Alfresco Software
SDK Components
          Gabriele Columbro   gabriele.columbro@alfresco.com - 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
SDK architecture
    Gabriele Columbro                gabriele.columbro@alfresco.com - Alfresco Software



                        Archetypes
                        SDK POM
                         Plugin


                        Alfresco
Deployment                              <dependency>
                        Artifacts
Because development can be easy…
Gabriele Columbro      gabriele.columbro@alfresco.com - Alfresco Software
And Alfresco development can be!
Gabriele Columbro       gabriele.columbro@alfresco.com - Alfresco Software
SDK Use Cases
               Gabriele Columbro         gabriele.columbro@alfresco.com - Alfresco Software


AMP archetype
  – Create an Alfresco module from scratch
  – Create a Share customization from scratch
All-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 minutes
SDK Parent POM
  – Enable your existing Maven project to use SDK features
  – You are a guru and know much better than using archetypes!
Documentation website
                             Gabriele Columbro                       gabriele.columbro@alfresco.com - Alfresco Software

https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-lifecycle-aggregator/latest/index.html
Quick demo
               Gabriele Columbro   gabriele.columbro@alfresco.com - Alfresco Software




            All-in-One multi-module
           packaging & embedded run



0 manual downloads, 2 commands and you’re up and running!


  MAVEN_OPTS="-Xms256m -Xmx1G -XX:PermSize=300m"
Conclusions
Gabriele Columbro   gabriele.columbro@alfresco.com - Alfresco Software




      Conclusions & QA
SDK Use Cases
           Gabriele Columbro   gabriele.columbro@alfresco.com - 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!
SDK as ecosystem enabler
              Gabriele Columbro      gabriele.columbro@alfresco.com - 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
A very promising start
Gabriele Columbro        gabriele.columbro@alfresco.com - Alfresco Software
A very promising start
     Gabriele Columbro        gabriele.columbro@alfresco.com - Alfresco Software




The Maven SDK provides a platform to build
        a sustainable ecosystem!
Conclusion
                Gabriele Columbro   gabriele.columbro@alfresco.com - 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)
Hopefully one step closer to …
Gabriele Columbro        gabriele.columbro@alfresco.com - Alfresco Software
Thanks!
                     Gabriele Columbro          gabriele.columbro@alfresco.com - 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

Weitere ähnliche Inhalte

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

Build a social network in 4 weeks with Serverless and GraphQL
Build a social network in 4 weeks with Serverless and GraphQLBuild a social network in 4 weeks with Serverless and GraphQL
Build a social network in 4 weeks with Serverless and GraphQLYan Cui
 
Building a social network in under 4 weeks with Serverless and GraphQL
Building a social network in under 4 weeks with Serverless and GraphQLBuilding a social network in under 4 weeks with Serverless and GraphQL
Building a social network in under 4 weeks with Serverless and GraphQLYan Cui
 
DevCon 2018 - 5 ways to use AWS with Alfresco
DevCon 2018 - 5 ways to use AWS with AlfrescoDevCon 2018 - 5 ways to use AWS with Alfresco
DevCon 2018 - 5 ways to use AWS with AlfrescoGavin Cornwell
 
Tech talk live alfresco add ons
Tech talk live alfresco add onsTech talk live alfresco add ons
Tech talk live alfresco add onsAlfresco Software
 
Building a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekBuilding a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekDr. Felix Raab
 
Breaking the monolith (an example)
Breaking the monolith (an example)Breaking the monolith (an example)
Breaking the monolith (an example)Massimo Ferre'
 
10 things you need to know to deliver a successful Alfresco project
10 things you need to know to deliver a successful Alfresco project10 things you need to know to deliver a successful Alfresco project
10 things you need to know to deliver a successful Alfresco projectSymphony Software Foundation
 
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...Docker, Inc.
 
Dockercon EU 2014
Dockercon EU 2014Dockercon EU 2014
Dockercon EU 2014Rafe Colton
 
Orchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineOrchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineDevOps.com
 
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...Symphony Software Foundation
 
Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015
Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015
Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015Chef
 
StackEngine Demo - Docker Austin
StackEngine Demo - Docker AustinStackEngine Demo - Docker Austin
StackEngine Demo - Docker AustinBoyd Hemphill
 
Continuous Delivery and Zero Downtime: What your architecture needs to succeed
Continuous Delivery and Zero Downtime: What your architecture needs to succeedContinuous Delivery and Zero Downtime: What your architecture needs to succeed
Continuous Delivery and Zero Downtime: What your architecture needs to succeedAxel Fontaine
 
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle ManagementBP-5 Application Lifecycle Management
BP-5 Application Lifecycle ManagementAlfresco Software
 
Is your kubernetes negative or positive
Is your kubernetes negative or positive Is your kubernetes negative or positive
Is your kubernetes negative or positive LibbySchulze
 
0910 cagliari- spring surf and cmis - the dynamic duo
0910 cagliari- spring surf and cmis - the dynamic duo0910 cagliari- spring surf and cmis - the dynamic duo
0910 cagliari- spring surf and cmis - the dynamic duoSymphony Software Foundation
 
Your Goat Anti-Fragiled My Snowflake! Demystifying DevOps Jargon (30 minute v...
Your Goat Anti-Fragiled My Snowflake! Demystifying DevOps Jargon (30 minute v...Your Goat Anti-Fragiled My Snowflake! Demystifying DevOps Jargon (30 minute v...
Your Goat Anti-Fragiled My Snowflake! Demystifying DevOps Jargon (30 minute v...Clinton Wolfe
 

Ähnlich wie Standard Application Lifecycle Management as Community (and Enterprise) ecosystem enabler (20)

Build a social network in 4 weeks with Serverless and GraphQL
Build a social network in 4 weeks with Serverless and GraphQLBuild a social network in 4 weeks with Serverless and GraphQL
Build a social network in 4 weeks with Serverless and GraphQL
 
2009-04-21 - Alfresco and Maven NXP case study
2009-04-21 - Alfresco and Maven NXP case study2009-04-21 - Alfresco and Maven NXP case study
2009-04-21 - Alfresco and Maven NXP case study
 
Building a social network in under 4 weeks with Serverless and GraphQL
Building a social network in under 4 weeks with Serverless and GraphQLBuilding a social network in under 4 weeks with Serverless and GraphQL
Building a social network in under 4 weeks with Serverless and GraphQL
 
Xenit diary dev con 2018
Xenit diary dev con 2018Xenit diary dev con 2018
Xenit diary dev con 2018
 
DevCon 2018 - 5 ways to use AWS with Alfresco
DevCon 2018 - 5 ways to use AWS with AlfrescoDevCon 2018 - 5 ways to use AWS with Alfresco
DevCon 2018 - 5 ways to use AWS with Alfresco
 
Tech talk live alfresco add ons
Tech talk live alfresco add onsTech talk live alfresco add ons
Tech talk live alfresco add ons
 
Building a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekBuilding a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one week
 
Breaking the monolith (an example)
Breaking the monolith (an example)Breaking the monolith (an example)
Breaking the monolith (an example)
 
10 things you need to know to deliver a successful Alfresco project
10 things you need to know to deliver a successful Alfresco project10 things you need to know to deliver a successful Alfresco project
10 things you need to know to deliver a successful Alfresco project
 
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
 
Dockercon EU 2014
Dockercon EU 2014Dockercon EU 2014
Dockercon EU 2014
 
Orchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineOrchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release Pipeline
 
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
 
Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015
Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015
Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015
 
StackEngine Demo - Docker Austin
StackEngine Demo - Docker AustinStackEngine Demo - Docker Austin
StackEngine Demo - Docker Austin
 
Continuous Delivery and Zero Downtime: What your architecture needs to succeed
Continuous Delivery and Zero Downtime: What your architecture needs to succeedContinuous Delivery and Zero Downtime: What your architecture needs to succeed
Continuous Delivery and Zero Downtime: What your architecture needs to succeed
 
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle ManagementBP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
 
Is your kubernetes negative or positive
Is your kubernetes negative or positive Is your kubernetes negative or positive
Is your kubernetes negative or positive
 
0910 cagliari- spring surf and cmis - the dynamic duo
0910 cagliari- spring surf and cmis - the dynamic duo0910 cagliari- spring surf and cmis - the dynamic duo
0910 cagliari- spring surf and cmis - the dynamic duo
 
Your Goat Anti-Fragiled My Snowflake! Demystifying DevOps Jargon (30 minute v...
Your Goat Anti-Fragiled My Snowflake! Demystifying DevOps Jargon (30 minute v...Your Goat Anti-Fragiled My Snowflake! Demystifying DevOps Jargon (30 minute v...
Your Goat Anti-Fragiled My Snowflake! Demystifying DevOps Jargon (30 minute v...
 

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

  • 1. Gabriele Columbro Standard Application Lifecycle Management as Community and Enterprise Enabler (using Apache Maven) gabriele.columbro@alfresco.com, Alfresco Software
  • 2. Agenda Gabriele Columbro gabriele.columbro@alfresco.com – Alfresco Software • Ecosystem & developer ergonomics • Chemistry & the Apache way • The Alfresco journey to standard SDK • Maven Alfresco SDK demo • Conclusions & Q/A
  • 3. Who’s this guy? Gabriele Columbro gabriele.columbro@alfresco.com - 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. Why do we love Open Source development? Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software As a developer • Self-documenting • You are never alone! • Open Source ↔ Standard As an Apache release manager • Lean release process • Automation • Standardization • Legal coverage
  • 5. In substance, freedom!!! Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software  Integrating components  Running on your laptop!  No lock-ins  Learn by example /Fix it yourself  Community!
  • 6. Open Source needs Community Gabriele Columbro gabriele.columbro@alfresco.com - 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. Ecosystem defined Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software An ecosystem is a community of living organisms (plants, animals and microbes) in conjunction with the nonliving components of their environment (things like air, water and mineral soil), interacting as a system. http://en.wikipedia.org/wiki/Ecosystem
  • 8. An early Community Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software Product Software Docs Examples Community
  • 9. An ecosystem driven Community Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software Product Software Plugins Docs Issues / Fixes Ecosystem Enhancements Examples SDK Solutions Community
  • 10. Now that’s a real ecosystem  Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software
  • 11. Developer ergonomics is the KEY! Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software People should be comfortable in what they do or otherwise they won't do it!
  • 12. Developer Ergonomics defined Gabriele Columbro gabriele.columbro@alfresco.com - 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. How ergonomics turn a community into an Ecosystem? Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software  Allow developers to focus of “creativity” Standard No infrastructure gotchas Jump start, low RTFM
  • 14. Chemistry and the Apache way Gabriele Columbro gabriele.columbro@alfresco.com – Alfresco Software Apache Chemistry OpenCMIS Ecosystem “the Apache Way”
  • 15. A bit of history Gabriele Columbro gabriele.columbro@alfresco.com - 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. Maven + ASF. The dynamic duo  Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software
  • 17. Maven + ASF… releases like a Charm Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software
  • 18. Basically … paradise Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software
  • 19. Who benefits from that? Gabriele Columbro gabriele.columbro@alfresco.com - 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. The Maven + Alfresco story Gabriele Columbro gabriele.columbro@alfresco.com – Alfresco Software The Maven + Alfresco ecosystem
  • 21. You might have heard this story… Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software Boss: “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. So what was this Alfresco thing? Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software
  • 23. It’s a bit like… Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software
  • 24. A typical ECM scenario Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software
  • 25. And the solution would be? Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software
  • 26. And the solution would be? Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software
  • 27. Who benefits from that? Gabriele Columbro gabriele.columbro@alfresco.com - 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. But a fool with a tool is still a fool… Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software
  • 29. Maven Alfresco SDK Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software Maven Alfresco SDK
  • 30. A Community success story Gabriele Columbro gabriele.columbro@alfresco.com - 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. Yes we can! Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software
  • 32. SDK Components Gabriele Columbro gabriele.columbro@alfresco.com - 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. SDK architecture Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software Archetypes SDK POM Plugin Alfresco Deployment <dependency> Artifacts
  • 34. Because development can be easy… Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software
  • 35. And Alfresco development can be! Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software
  • 36. SDK Use Cases Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software AMP archetype – Create an Alfresco module from scratch – Create a Share customization from scratch All-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 minutes SDK Parent POM – Enable your existing Maven project to use SDK features – You are a guru and know much better than using archetypes!
  • 37. Documentation website Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-lifecycle-aggregator/latest/index.html
  • 38. Quick demo Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software All-in-One multi-module packaging & embedded run 0 manual downloads, 2 commands and you’re up and running! MAVEN_OPTS="-Xms256m -Xmx1G -XX:PermSize=300m"
  • 39. Conclusions Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software Conclusions & QA
  • 40. SDK Use Cases Gabriele Columbro gabriele.columbro@alfresco.com - 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. SDK as ecosystem enabler Gabriele Columbro gabriele.columbro@alfresco.com - 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. A very promising start Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software
  • 43. A very promising start Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software The Maven SDK provides a platform to build a sustainable ecosystem!
  • 44. Conclusion Gabriele Columbro gabriele.columbro@alfresco.com - 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. Hopefully one step closer to … Gabriele Columbro gabriele.columbro@alfresco.com - Alfresco Software
  • 46. Thanks! Gabriele Columbro gabriele.columbro@alfresco.com - 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