Date post: | 13-May-2015 |
Category: |
Technology |
Upload: | maurizio-pillitu |
View: | 2,193 times |
Download: | 3 times |
ALM, the CALM wayA Calm approach to Enterprise software development
Wednesday, June 17, 2009
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
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
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
Why Maven
Concept of Lifecycle
Inheritance and property overriding
Widely spread
Wednesday, June 17, 2009
ALM + Maven = Calm
Contains process-oriented behaviors
Separation of Concerns
Just a Corporate POM (or its parent)...
... but OpenSource
Wednesday, June 17, 2009
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 SCMWednesday, June 17, 2009
Infrastructure Ready
http://juddsolutions.blogspot.com/2009/05/ultimate-enterprise-java-build-system.html
Wednesday, June 17, 2009
... and we’re not the only ones
http://juddsolutions.blogspot.com/2009/05/ultimate-enterprise-java-build-system.htmlWednesday, June 17, 2009
http://wiki.community.objectware.no/display/smidigtonull/Enterprise+Maven+Infrastructure
... and we’re not the only ones
Wednesday, June 17, 2009
http://weblogs.java.net/blog/johnsmart/archive/2009/05/javaone_getting.html
... and we’re not the only ones
Wednesday, June 17, 2009
http://sonar.codehaus.org/hudson-sonar-plugin-10-to-industrialize-the-ultimate-build-system/
... and we’re not the only ones
Wednesday, June 17, 2009
http://www.sonatype.com/people/2009/06/nexus-open-source-and-hudson-on-ec2/
... and we’re not the only ones
Wednesday, June 17, 2009
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
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
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