Your SlideShare is downloading. ×
0
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

BP-5 Application Lifecycle Management

2,400

Published on

We’ll discuss the concepts of Application Lifecycle Management applied to Alfresco projects: by covering typical Alfresco Enterprise implementation scenarios like building a Proof of Concept, …

We’ll discuss the concepts of Application Lifecycle Management applied to Alfresco projects: by covering typical Alfresco Enterprise implementation scenarios like building a Proof of Concept, developing an Integration project or Benchmarking your custom deployment, we’ll provide an overview of the state of the art techniques and tools to provide your Alfresco projects with a quick, automated and standard lifecycle. We’ll also demo creating and growing an Alfresco project from scratch using Apache Maven and the Maven Alfresco Lifecycle project.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,400
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
73
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. AlfrescoApplication Lifecycle Management Deploy and customize your favourite content platform your way!
  • 2. AgendaALM & ECM•  Application Lifecycle Management decomposed•  Enterprise ALM scenarios•  ALM requirements for typical Alfresco projectsChoose your flavor for managing your Alfresco lifecycle•  Ad hoc•  Ant + Eclipse SDK•  Maven Alfresco LifecycleDemo•  Build & manage a fully fledged Alfresco 4.x project in 5 minutes
  • 3. ALM & ECMA FOOL with a TOOL is still a FOOL
  • 4. What is ALM?Application Lifecycle Management is not just “the build”(although we will focus mostly on that subset)•  Quoting Wikipedia: “Application Lifecycle Management (ALM) is a continuous process of managing the life of an application through governance, development and maintenance. ALM is the marriage of business management to software engineering made possible by tools that facilitate and integrate requirements management, architecture, coding, testing, tracking, and release management.[1]”•  It’s not about the tooling  it’s about how tools are connected to support processes•  Spans through all software & business disciplines
  • 5. ALM visuals
  • 6. ALM 1.0 vs ALM 2.0Limitation of ALM 1.0•  The theory of unity •  Tries to solve too many problems at once •  Often offered as monolithic proprietary platform•  Not flexible enough •  With respect to the development technologies •  With respect to the management process (Agile, UP variants …)A vision for ALM 2.0•  Open •  Open source and based on standard (open or de facto) •  Flexible and extensible•  Divide et impera (divide and conquer) •  Start focused and solve general problems incrementally
  • 7. ECM declination of ALMECM is enterprise (wide)•  Enterprises (should) have standard mature app lifecycle•  Might involve multiple development projects and team•  Key  Cope with complexity over timeECM is a people business•  POC is a common practice•  Process adaptation over imposition•  Key  Fast prototyping and release cyclesECM is open source powered•  Frequent integration of open source products / libraries•  Enable enterprise processes to cope with platform changes•  Key  Dynamic answer to integration requirements & updates
  • 8. Why Alfresco developers need ALM?Alfresco is a content platform•  Open platform designed for ECM “tailor making”•  Huge spectrum of interdependent projects needing 1.  Creation 2.  Development 3.  Testing and CI 4.  ReleaseAlfresco is growing fast•  In terms of product components & releases•  Typical Alfresco customer penetration phases 1.  POC 2.  Departmental installation 3.  Standard Content Platform for applications 4.  Enterprise CM & Collaboration Foundation
  • 9. Manual vs. Automated Lifecycle Constant Control Predictable evolutions
  • 10. Setting the stage5 top objectives for Alfresco ALM1.  IDE Integration2.  Fast prototyping3.  Manage / customize all Alfresco components4.  External product Integration5.  Integration in enterprise process / lifecycle5 top stakeholders for Alfresco ALM1.  Community / Enterprise Developers2.  Project Managers3.  IT / Operations4.  Enterprise Architects5.  Alfresco Support
  • 11. Flavors of ALM for AlfrescoCause everybody’s free (to wear sunscreen)
  • 12. Available ApproachesAd hoc •  Based on ad-hoc, potentially manual procedures •  Note: Strongly discouraged, error prone & no ALM coverageFull rebuild •  Rebuild Alfresco starting from Trunk/Tags •  Requires enterprise ready process / need for contributionAnt / Eclipse SDK •  Only fully supported Enterprise approach to date •  Covers mostly build / deployment related use cases •  Limited ALM support, difficult integration in Enterprise processesMaven Alfresco Lifecycle •  Available at http://code.google.com/p/maven-alfresco-archetypes/ •  Community artifacts available at http://maven.alfresco.com
  • 13. Full rebuild from SourcesRarely needed •  Only in specific contexts •  Community •  Patches •  heavily customized versions •  Enterprise •  Patches  But please check first for hotfixes •  Enterprise practices on software management •  Dangerous •  You might lose support and QA added value•  Check •  http://wiki.alfresco.com/wiki/Alfresco_SVN_Development_Environment•  Basically at your own risk ! 
  • 14. Alfresco SDKAvailable with every CE / EE releasehttp://wiki.alfresco.com/wiki/Alfresco_SDKFeatures•  Integrated with Eclipse•  Builds with Ant•  Alfresco & 3rd party libraries available in classpath•  Possible to attach sources & javadoc•  Offer samples (amongst others) for •  Custom Repository Extension •  Custom AMP •  Ant script to integrate in an alresco.war
  • 15. Alfresco SDK How ToGet ahold of it •  Download it from •  Community: http://wiki.alfresco.com/wiki/Alfresco_SDK •  Enterprise: http://support.alfresco.com •  Understand it •  Samples •  SDKAlfrescoRemote & SDKAlfrescoEmbedded projectsUse it •  Import it with Eclipse •  Configure alfresco-global.properties to proper DB/data •  Use the samples •  Custom JSF / Foundation services •  Custom AMP
  • 16. A good tool to begin with…5 top objectives for Alfresco ALM1.  IDE Integration2.  Fast prototyping3.  Manage / customize all Alfresco components4.  External product Integration5.  Integration in enterprise process / lifecycle5 top stakeholders for Alfresco ALM1.  Community / Enterprise Developers2.  Project Managers3.  IT / Operations4.  Enterprise Architects5.  Alfresco Support Covers only the development & build!
  • 17. Maven Alfresco LifecycleVision “Provide a flexible standard based approach to support the full lifecycle of an Alfresco application, from inception to release and integration in enterprise processes”State of the nation • Mature project  Releases available since 2009 • Backed by http://maven.alfresco.com • New 4.x compatible release just out! (3.9.0)Get ithttp://wiki.alfresco.com/wiki/Managing_Alfresco_Lifecyle_with_Maven
  • 18. Maven Alfresco Lifecycle 4.0Development features•  4.0 ready Multi module archetype •  Repo/Share •  AMPs•  Dependency management•  Integrated support for TDDRuntime features•  Run embedded in favorite appserver•  Per environment separate configurationProcess•  Mandatory integrated versioning!•  Release & distribution for free•  Integration with other ALM tools (e.g. Jira)
  • 19. Why Maven & Alfresco ?Standard de facto1.  Alfresco (and AMPs / JARs) is a <dependency> away2.  Standard lifecycle commands3.  Foster build reuse & packaging standardization4.  Enable simple integration with OSS J2EE best of breedGet your lifecycle to the next level1.  Support the lifecycle from inception to (maintenance) releases2.  Integrated with code quality & task management tools3.  Scales from single community dev to multiple enterprise teams4.  Legal & Licensing focus5.  Can track usage
  • 20. In other words…the glue for your process!
  • 21. Maven Alfresco Lifecycle 4.0Development features•  Multi module archetype •  Repo/Share/Solr •  AMPs•  Dependency management•  Integrated support for TDDRuntime features•  Run embedded in favorite appserver•  Per environment separate configurationProcess•  Mandatory integrated versioning!•  Release & distribution for free•  Integration with other ALM tools (e.g. Jira)
  • 22. Demo Afresco 4.0 up and running in 2 minutesQuicker than the installer and ready to roll 
  • 23. Demo objectivesCreate a new Alfresco 4.0 project 1.  Open your favorite Maven compatible IDE  Eclipse 2.  Create a project from prototype  Maven Archetypes 3.  Manage / customize all Alfresco components  Multi module 1.  Alfresco Repository 2.  Alfresco Share 3.  SolrRun it & release it (early and often) 1.  Run in embedded (supported) Tomcat 2.  Manage versioning 3.  Simple 1 command release
  • 24. Maven Alfresco Lifecycle 4.0Deterministic and reproducible builds •  Zero pre-requisites •  Learning curve as complex as ‘mvn clean install’ •  Suitable for CI serversQuick Testing deployment support •  Embedded run •  Environment safe •  Selenium integrationFlexible •  Valid for starters and evaluators •  Scale to the enterprise •  Non IDE dependent
  • 25. Alfresco & MavenCommunity Support•  Maven Alfresco Lifecycle Available as of 2007•  Artifacts on http://maven.alfresco.com as of 2009 •  4.x Community artifacts already available •  Using Sonatype Nexus (http://nexus.sonatype.org/)•  Join maven-alfresco@googlegroups.comEnterprise Support1.  Target: 4.x EE deployed on http://maven.alfresco.com 1.  Only JARs / WARs 2.  NO POMs2.  Refreshed version of Maven Alfresco Lifecycle available •  Working to get that integrated as “alternative” SDK
  • 26. You don’t want to say “it’s just work” ™5 top objectives for Alfresco ALM1.  IDE Integration  Any Maven compatible IDE2.  Fast prototyping  Archetypes3.  Manage / customize all Alfresco components  Multi module4.  External product Integration  Most OSS builds with Maven5.  Integration in enterprise process / lifecycle  Seamless5 top stakeholders for Alfresco ALM1.  Community / Enterprise Developers2.  Project Managers3.  IT / Operations4.  Enterprise Architects5.  Alfresco Support
  • 27. And now deep in the ALM space…Future integrations 1.  JIRA •  Mylin •  maven-changes-plugin 2.  Hudson 3.  SonarIn the spotlight •  Open Source 1.  CALM  http://code.google.com/p/maven-calm/ 2.  ALM with Maven  http://jabox.org 3.  Web project hosting  http://www.redmine.org/ •  Proprietary •  Insight (http://www.sonatype.com/Products/Sonatype-Insight)

×