Maven Calm

2,568 views
2,432 views

Published on

Maven Calm is an early implementation of main ALM use cases on an Open Source and collaborative framework based on Apache Maven.
http://pillitu.wordpress.com/2009/06/26/maven-calm/

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,568
On SlideShare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
43
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Maven Calm

  1. 1. ALM, the CALM way A Calm approach to Enterprise software development Wednesday, June 17, 2009
  2. 2. What is ALM Application lifecycle management (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. http://en.wikipedia.org/wiki/Application_lifecycle_management Wednesday, June 17, 2009
  3. 3. ALM Best Practices Manage your Code Repository (SCM checkout/tagging/checkin) Manage your Artifact creation process Manage Artifact versions Deploy Artifacts DTAP Street Wednesday, June 17, 2009
  4. 4. Processes and Roles the less processes, the better the more automatized processes, the better a process must be owned by someone a process must be monitored Wednesday, June 17, 2009
  5. 5. Why Maven Concept of Lifecycle Inheritance and property overriding Widely spread Wednesday, June 17, 2009
  6. 6. ALM + Maven = Calm Contains process-oriented behaviors Separation of Concerns Just a Corporate POM (or its parent)... ... but OpenSource Wednesday, June 17, 2009
  7. 7. Calm Features Maven Enforcer Plugin (checks Maven and JDK version) Maven Site Plugin for documentation Maven Cargo Plugin for remote WAR deployment Maven Deploy Plugin + Nexus as a central Repository Maven Selenium/Surefire Plugin for testing Maven Release Plugin for SCM Wednesday, June 17, 2009
  8. 8. Infrastructure Ready http://juddsolutions.blogspot.com/2009/05/ultimate-enterprise-java-build-system.html Wednesday, June 17, 2009
  9. 9. ... and we’re not the only ones http://juddsolutions.blogspot.com/2009/05/ultimate-enterprise-java-build-system.html Wednesday, June 17, 2009
  10. 10. ... and we’re not the only ones http://wiki.community.objectware.no/display/smidigtonull/Enterprise+Maven+Infrastructure Wednesday, June 17, 2009
  11. 11. ... and we’re not the only ones http://weblogs.java.net/blog/johnsmart/archive/2009/05/javaone_getting.html Wednesday, June 17, 2009
  12. 12. ... and we’re not the only ones http://sonar.codehaus.org/hudson-sonar-plugin-10-to-industrialize-the-ultimate-build-system/ Wednesday, June 17, 2009
  13. 13. ... and we’re not the only ones http://www.sonatype.com/people/2009/06/nexus-open-source-and-hudson-on-ec2/ Wednesday, June 17, 2009
  14. 14. Give it a try! <parent> <groupId>com.sourcesense.maven</groupId> <artifactId>maven-calm</artifactId> <version>1.0-beta-5</version> </parent> ... <repositories> ... <repository> <id>sose-public</id> <url>http://repository.sourcesense.com/nexus/content/groups/public</url> </repository> </repositories> ... <scm> <connection>${maven.release.connection}</connection> <developerConnection>${maven.release.developerConnection}</ developerConnection> <url>${maven.release.url}</url> </scm> Wednesday, June 17, 2009
  15. 15. Customize your properties <!-- The most common properties that you might want to override --> <!-- Enforcer Defaults --> <maven.version>2.0.6</maven.version> <java.version>1.5.0</java.version> <!-- Dev Environment Defaults --> <java.compiler.version>1.5</java.compiler.version> <application.properties.location>src/main/properties/${env}</application.properties.location> <application.properties.filename>application.properties</application.properties.filename> <eclipse.downloadSources>true</eclipse.downloadSources> <env>local</env> <!-- Maven Release Plugin Defaults --> <maven.release.goals>install deploy</maven.release.goals> <maven.release.scm.provider>svn</maven.release.scm.provider> <maven.release.scm.url>http://my.code.repo</maven.release.scm.url> <maven.release.multimodule>true</maven.release.multimodule> <maven.release.arguments></maven.release.arguments> <!-- Maven Deploy Plugin Defaults --> <maven.deploy.repository.id>maven-repo</maven.deploy.repository.id> <maven.deploy.repository.url>http://localhost/your/repo</maven.deploy.repository.url> <!-- Maven Site Plugin Defaults --> <maven.site.id>maven-site</maven.site.id> <maven.site.url>scp://localhost/var/www/${project.build.finalName}</maven.site.url> <!-- Selenium Defaults --> <selenium.browser>*firefox</selenium.browser> <selenium.server.port>4444</selenium.server.port> <!-- Plugin Versions Defaults --> <plugin.selenium.version>1.0-rc-2-SNAPSHOT</plugin.selenium.version> <plugin.cargo.version>1.0.1-SNAPSHOT</plugin.cargo.version> Wednesday, June 17, 2009
  16. 16. References http://www.sourcesense.nl/process/alm.html http://code.google.com/p/maven-calm/ http://maven-calm.googlecode.com/svn/trunk/pom.xml http://maven-calm.googlecode.com/svn/trunk/README.txt Wednesday, June 17, 2009

×