Maven 2 in the real world
|
|
- Homer Harper
- 8 years ago
- Views:
Transcription
1 Object Oriented and beyond Maven 2 in the real world Carlo Bonamico carlo.bonamico@gmail.com JUG Genova
2 Maven2: love it or hate it? Widespread build platform used by many open source and commercial projects PROs automatic dependency management good tool/ide support automate the entire build life cycle highly configurable CONs highly configurable :-) too much XML... also... lots of tutorials on simple cases, less documentation on complex builds
3 Presentation goals Maven can be your friend (and save lots of time!) if you learn it and understand it use it in the right way My talk is about how to maximize usefulness and efficiency while minimizing complexity & overhead Sharing real world experience in designing and managing the build process for several large projects (>20 modules, >100 kloc)
4 Part 1 Maven2 in 5 minutes
5 Maven2 in 5 minutes Maven is a modular automation system built around 4 main elements POM repository Maven src Plugins input: project src/resources + POM output: tested and packaged artifact
6 Maven in 5': the POM The Project Object Model describes project coordinates project type packaging (JAR, WAR, EAR, POM) source structure groupid: net.juggenova artifactid: sample version: 1.0 build phases standard + custom dependencies plugins
7 Maven in 5': build lifecycle Default life cycle validate Every goal implies all the previous ones generate-sources process-resources compile test-compile test package integration-test mvn compile actually executes validate generate-sources process-resource compile verify install Stand-alone goals deploy (some skipped for clarity) mvn scm:update
8 Maven in 5': Dependency Management Dependencies include all external libraries and files needed to completely assemble the output JARs, WARs, ZIPs, POMs are versioned can be transitive e.g. include just spring, get commons-logging automatically Conflict resolution mechanism determines the version to be used when a jar is included multiple times
9 Maven in 5': repositories Maven repository a structured store containing artifacts (JAR, WAR, ZIP...) Maven uses at leas two local repository on your PC central repository Three types of repositories plain filesystem folder local repository folder served by HTTP daemon populated via SCP/FTP/WEBDAV ${user.home}/.m2/repository full intelligent repository (with indexing, search, cache,...)
10 From code to repo (and back) deploy install remote repository local repository package resolve central repository
11 Part 2 Effective maven2
12 Getting the most out of Maven Good old sw engineering principles still apply! Don't repeat yourself the DRY principle reduce time, effort, maintenance minimize the impact of changes Separate concerns Automate as much as possible Use the right tools (plugins & repositories) Keep the build fast things always change in a project
13 How to minimize XML Exploit the three main POM relationships inheritance, aggregation, dependency This is a valid (and working) maven POM <project xmlns="..." xmlns:xsi="..." xsi:schemalocation="..."> <modelversion>4.0.0</modelversion> <groupid>net.juggenova.sample</groupid> <artifactid>minimal</artifactid> <version>1.0</version> </project> How can this work?
14 The Super POM Implicitely, all POMs inherit from the Super POM see Defines standard directory structure default plugins & repo Super POM where it is? inside mvn jars how to check it? mvn help:effective-pom Convention over Configuration your POM
15 The Super-POM <repos itories > <repos itory> <id>central</id> <name>maven R epos itory S witchboard</name> <url> </repos itory> </repos itories > <build> <s ourcedirectory>s rc/main/java</s ourcedirectory> <tes ts ourcedirectory>s rc/tes t/java</tes ts ourcedirectory> <outputdirectory>targ et/clas s es </outputdirectory>... <res ources > <res ource> <directory>s rc/main/res ources </directory> </res ource> </res ources > <tes tresources >...</testres ources >
16 The Super-POM <plug inmanag ement> <plugins> <plug in> <artifactid>maven-as s embly-plug in</artifactid> <vers ion>2.2-beta-1</vers ion> </plug in> <plug in> <artifactid>maven-compiler-plug in</artifactid> <vers ion>2.0.2</vers ion> </plug in>... </plugins > </plug inmanag ement> </build>
17 Parent POM: make you own Create a POM defining your project conventions and tools additional resource directories default plugin configuration e.g. custom configuration for maven-compiler-plugin standard libraries e.g. default spring version with <dependencymanagement> repositories and deployment config e.g. your company repository with <distributionmanagement>
18 net.juggenova.sample:parent <build> <s ourcedirectory>java/s rc</s ourcedirectory>... <plug inmanag ement> <plugins> <plug in> <g roupid>org.apache.maven.plug ins </g roupid> <artifactid>maven-compiler-plug in</artifactid> <config uration> <s ource>1.6</s ource> <targ et>1.6</targ et> </config uration> </plug in> <plug in> <artifactid>maven-s urefire-plug in</artifactid> <config uration>...</config uration> </plug in> </plugins >
19 Parent POM: use it Reference the parent at the beginning of a POM Useful <parent> <artifactid>parent</artifactid> <groupid>net.juggenova.sample</groupid> <version>1.1</version> <relativepath>../parent</relativepath> </parent> if you have many similar projects/components to separate responsibilities between senior and junior developers to encapsulate company-wide settings
20 Issues and suggestions Main issue: children must reference parent version explicitely strong dependency! (as usual with inheritance) there is no <version>latest</version> or <version>[1.0,)</version> for the parent if you change the parent, must update ALL children So, avoid putting in the parent things that change your project modules versions developer/machine-specific settings
21 Suggestion Separate things that change from things that stay the same Bruce Eckel
22 Dependency POMs Maven2 supports transitive dependencies controlled by a consistent use of the <scope> tag compile (default) your libs test junit, spring-test provided servlet-api runtime your POM library POM log4j system minimize them! tools.jar
23 Issues and suggestions Good old encapsulation / minimize coupling minimize dependencies minimize visibility Can also define codeless POMs, which only contain a group of other dependencies declare with <packaging>pom</packaging> used with <dependency>... <type>pom</type> </dependency>
24 Dependency Management Several libraries are often used in many modules commons-logging, spring, servlet-api,... avoid repeating their version everywhere in POMs Apply DRY & separation of concerns which version to use in the parent/main POM <dependencymanagement> (artifact, group, version) whether to use it <dependency> (artifact, group only) </dependency> Tip: <dependencymanagement> is also effective in overriding versions coming from transitive dependencies
25 Aggregation Multimodule projects every goal is repeated on all modules by the reactor plugin mvn clean mvn compile modules can be children of master but not necessarily <modules > <module>client</module> <module>s erver</module> <module>tes t</module> </modules > main POM module POM
26 Issues and suggestions Issue: modules are referenced by folder name beware when checking out or renaming Issue: IDE plugin support is not perfect m2eclipse requires manual refresh of dependencies after configuration changes also, different classpaths in eclipse and maven when opening a multimodule project as a single project netbeans only supports separate modules Risk: pom proliferation (think of maintenance) mvn modules vs SVN modules
27 Suggestion Common Reuse Principle Package together what is used/reused togehter Robert C. Martin
28 Tip: create a Master POM A component list POM does not have its own code or settings just an index of all modules to be built it is NOT the parent of the modules Example: the main spring pom which triggers the build of spring-core spring-mvc spring-test...
29 Make it easy to create new projects Define an archetype a customizable template for creating a kind of projects (e.g. a web application) defines POMs, project structure Simple setup with mvn archetype:create-from-project customize with resource filtering ${property} references in the archetype Use library of pre-assembled archetypes
30 Part 3 Automate the entire build
31 Automate the entire build Build means much more than compile! Avoid manual steps! copy, rename, deploy to a test server... pass configuration information Automatically process resources copy and filter configuration files, CSS, HTML, properties Share resources across projects package them as jar/zip reuse them in a war project with jar/zip/war overlays
32 Assembly plugin Creates zips/jars containing any kind of resource project sources common files XSDs html/css templates
33 Preview and test webapps with the Jetty plugin Run a webapp directly from source folders Advantages mvn jetty:run very fast resource changes are visible without restart automatic redeploy after code changes Now a mvn glassfish:run goal is also available full JEE 5.0 support
34 Automate deployment Deploy to an application server with cargo can even download, install and run a full Jboss instance for testing purposes Write custom ssh-based scripts using the ssh/scp ant tasks within the maven-antrun-plugin transfer files to test servers launch administration scripts
35 Integrate with the IDE E.g. Eclipse plugin (m2eclipse)
36 Use a group repository Why your own? Within a Team deploy and share your project artifacts so that other developers do not have to rebuild them mavenize external jars which miss a POM centrally configure and control which repositories and artifacts are used cache dependencies available when internet connection breaks faster download times
37 Sonatype Nexus repository Powerful web-based console and REST API Lightweight Easily upload artifacts via HTTP Quickly search for jars with the included index Download from unzip and run!
38 settings.xml: Mirror definition Team repository in addition to central <repository> <id> set </id> <url> </url> </repository> Team repository as a mirror of central (or others) <mirror> <id> central </id> <url> <mirrorof> central </mirrorof> </mirror> Team repository as the only one <mirror> <id>... </id> <url>... </url> <mirrorof> * </mirrorof> </mirror>
39 Part 4 Troubleshooting
40 Build troubleshooting Verify POM structure mvn validate Verify actually used dependencies mvn dependency:tree Verify the full POM -Dinclude=spring mvn help:effective-pom m2eclipse plugin Moreover, keep a consistent naming scheme to prevent typos
41 Debug/Log Run mvn with -e (print Exception stacktraces) -X (print debug info) POM information can be accessed at runtime! META-INF/<group>/<artifact>/pom.properties groupid artifactid version META-INF/../pom.xml full POM info R es ource[] res ources = applicationc ontext.getres ources ("clas s path*:meta-inf/maven"+ "/**/pom.properties "); for (Res ource r : res ources ) { Properties p = new Properties (); p.load(r.g etinputs tream()); artifact = p.g etproperty(" artifactid"); vers ion = p.getproperty("vers ion"); }
42 Add a timestamp to your builds Automatically define a timestamp property use it in resources or test properties <plugin> <groupid>org.codehaus.mojo</groupid> <artifactid>buildnumber-mavenplugin</artifactid> <executions>... </executions> <configuration> <format>{0,date,yyyy-mm-dd HH:mm:ss}</format> <items> <item>timestamp</item> </items> </configuration> </plugin>
43 Part 5 Keep the build fast
44 Keep the build fast Ideally, zero-time build The more often a task is performed, the more its optimization improves developer productivity save time for actual project work Run maven on the latest JDK benefit from JDK 1.6 fast startup times/optimizations
45 Eclipse compiler Faster than JDK's javac also provides more warnings (unused variables, generics misuse...) <plugin> <artifactid>maven-compiler-plugin</artifactid> <configuration> <compilerid>eclipse</compilerid> </configuration> <dependencies> <dependency> <groupid>org.codehaus.plexus</groupid> <artifactid>plexus-compiler-eclipse</artifactid> <version>1.5.2</version> </dependency> </dependencies> </plugin>
46 Unit test vs integration tests Run unit tests often must not take half an hour! or else developers will just skip them -Dmaven.test.skip=true Separate unit tests from integration tests unit tests in every project/module fast run at every build (within mvn install) integration and acceptance tests in dedicated module run after major changes, and/or on build servers
47 Remove useless build elements POM, plugin and dependency list keeps growing Periodically review the POM Remove unused dependencies copying them around means more slow disk accesses mvn dependency:analyze Remove unused plugins move them to optionally-activated profiles
48 Speed-up day-to-day tasks Define a default goal <defaultgoal>compile</defaultgoal> then just run mvn Use the right goal avoid a full mvn install if you just need a mvn test Define shell aliases for common tasks Use a CI server that reads and reuses mvn configuration such as hudson
49 Incrementally build large multimodule projects Reactor plugin manages dependencies and build order resume a build from the last failed module mvn reactor:resume build a project and all its dependencies mvn reactor:make build all modules which have an SVN status of changed mvn reactor:make-scm-changes
50 References Maven official site Best online book Maven 2 The Definitive Guide JavaWorld articles Introduction to maven2 POM
51 Thanks for your attention! Learn more at presentations, demos, code samples Play with the samples Contact me at Related reading: Continuous Integration with Hudson
Software project management. and. Maven
Software project management and Maven Problem area Large software projects usually contain tens or even hundreds of projects/modules Will become messy and incomprehensible ibl if the projects don t adhere
More informationMaven or how to automate java builds, tests and version management with open source tools
Maven or how to automate java builds, tests and version management with open source tools Erik Putrycz Software Engineer, Apption Software erik.putrycz@gmail.com Outlook What is Maven Maven Concepts and
More informationBuild management & Continuous integration. with Maven & Hudson
Build management & Continuous integration with Maven & Hudson About me Tim te Beek tim.te.beek@nbic.nl Computer science student Bioinformatics Research Support Overview Build automation with Maven Repository
More informationSoftware project management. and. Maven
Software project management and Maven Problem area Large software projects usually contain tens or even hundreds of projects/modules Will become messy if the projects don t adhere to some common principles
More informationContent. Development Tools 2(63)
Development Tools Content Project management and build, Maven Version control, Git Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools 2(63)
More informationSonatype CLM Enforcement Points - Continuous Integration (CI) Sonatype CLM Enforcement Points - Continuous Integration (CI)
Sonatype CLM Enforcement Points - Continuous Integration (CI) i Sonatype CLM Enforcement Points - Continuous Integration (CI) Sonatype CLM Enforcement Points - Continuous Integration (CI) ii Contents 1
More informationSonatype CLM for Maven. Sonatype CLM for Maven
Sonatype CLM for Maven i Sonatype CLM for Maven Sonatype CLM for Maven ii Contents 1 Introduction 1 2 Creating a Component Index 3 2.1 Excluding Module Information Files in Continuous Integration Tools...........
More informationHands on exercise for
Hands on exercise for João Miguel Pereira 2011 0 Prerequisites, assumptions and notes Have Maven 2 installed in your computer Have Eclipse installed in your computer (Recommended: Indigo Version) I m assuming
More informationBuilder User Guide. Version 6.0.1. Visual Rules Suite - Builder. Bosch Software Innovations
Visual Rules Suite - Builder Builder User Guide Version 6.0.1 Bosch Software Innovations Americas: Bosch Software Innovations Corp. 161 N. Clark Street Suite 3500 Chicago, Illinois 60601/USA Tel. +1 312
More informationContinuous integration in OSGi projects using Maven (v:0.1) Sergio Blanco Diez
Continuous integration in OSGi projects using Maven (v:0.1) Sergio Blanco Diez December 1, 2009 Contents 1 Introduction 2 2 Maven 4 2.1 What is Maven?..................................... 4 2.2 How does
More informationContinuous Integration The Full Monty Artifactory and Gradle. Yoav Landman & Frederic Simon
Continuous Integration The Full Monty Artifactory and Gradle Yoav Landman & Frederic Simon About us Yoav Landman Creator of Artifactory, JFrog s CTO Frederic Simon JFrog s Chief Architect 10+ years experience
More informationMeister Going Beyond Maven
Meister Going Beyond Maven A technical whitepaper comparing OpenMake Meister and Apache Maven OpenMake Software 312.440.9545 800.359.8049 Winners of the 2009 Jolt Award Introduction There are many similarities
More informationMaven2 Reference. Invoking Maven General Syntax: Prints help debugging output, very useful to diagnose. Creating a new Project (jar) Example:
Maven2 Reference Invoking Maven General Syntax: mvn plugin:target [-Doption1 -Doption2 dots] mvn help mvn -X... Prints help debugging output, very useful to diagnose Creating a new Project (jar) mvn archetype:create
More informationGECKO Software. Introducing FACTORY SCHEMES. Adaptable software factory Patterns
Introducing FACTORY SCHEMES Adaptable software factory Patterns FACTORY SCHEMES 3 Standard Edition Community & Enterprise Key Benefits and Features GECKO Software http://consulting.bygecko.com Email: Info@gecko.fr
More informationRapid Application Development. and Application Generation Tools. Walter Knesel
Rapid Application Development and Application Generation Tools Walter Knesel 5/2014 Java... A place where many, many ideas have been tried and discarded. A current problem is it's success: so many libraries,
More informationBuilder User Guide. Version 5.4. Visual Rules Suite - Builder. Bosch Software Innovations
Visual Rules Suite - Builder Builder User Guide Version 5.4 Bosch Software Innovations Americas: Bosch Software Innovations Corp. 161 N. Clark Street Suite 3500 Chicago, Illinois 60601/USA Tel. +1 312
More informationCI/CD Cheatsheet. Lars Fabian Tuchel Date: 18.March 2014 DOC:
CI/CD Cheatsheet Title: CI/CD Cheatsheet Author: Lars Fabian Tuchel Date: 18.March 2014 DOC: Table of Contents 1. Build Pipeline Chart 5 2. Build. 6 2.1. Xpert.ivy. 6 2.1.1. Maven Settings 6 2.1.2. Project
More informationNexus Professional Whitepaper. Repository Management: Stages of Adoption
Sonatype Nexus Professional Whitepaper Repository Management: Stages of Adoption Adopting Repository Management Best Practices SONATYPE www.sonatype.com sales@sonatype.com +1 301-684-8080 12501 Prosperity
More informationSoftware infrastructure for Java development projects
Tools that can optimize your development process Software infrastructure for Java development projects Presentation plan Software Development Lifecycle Tools What tools exist? Where can tools help? Practical
More informationInstall guide for Websphere 7.0
DOCUMENTATION Install guide for Websphere 7.0 Jahia EE v6.6.1.0 Jahia s next-generation, open source CMS stems from a widely acknowledged vision of enterprise application convergence web, document, search,
More informationBIRT Application and BIRT Report Deployment Functional Specification
Functional Specification Version 1: October 6, 2005 Abstract This document describes how the user will deploy a BIRT Application and BIRT reports to the Application Server. Document Revisions Version Date
More informationContinuous Integration: Put it at the heart of your development
Continuous Integration: Put it at the heart of your development Susan Duncan Tools Product Manager, Oracle 1 Program Agenda What is CI? What Does It Mean To You? Make it Hudson Evolving Best Practice For
More informationRepository Management with Nexus
Repository Management with Nexus i Repository Management with Nexus Ed. 4.0 Repository Management with Nexus ii Contents 1 Introducing Nexus Repository Manager 1 2 Concepts 7 3 Installing and Running Nexus
More informationNetBeans IDE Field Guide
NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Introduction to J2EE Development in NetBeans IDE...1 Configuring the IDE for J2EE Development...2 Getting
More informationIntegrating your Maven Build and Tomcat Deployment
Integrating your Maven Build and Tomcat Deployment Maven Publishing Plugin for Tcat Server MuleSource and the MuleSource logo are trademarks of MuleSource Inc. in the United States and/or other countries.
More informationModulo II Qualidade de Software com Maven
Modulo II Qualidade de Software com Maven Professor Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Bibliografia Linguagem de Programação JAVA
More information000-420. IBM InfoSphere MDM Server v9.0. Version: Demo. Page <<1/11>>
000-420 IBM InfoSphere MDM Server v9.0 Version: Demo Page 1. As part of a maintenance team for an InfoSphere MDM Server implementation, you are investigating the "EndDate must be after StartDate"
More informationContinuous Integration Multi-Stage Builds for Quality Assurance
Continuous Integration Multi-Stage Builds for Quality Assurance Dr. Beat Fluri Comerge AG ABOUT MSc ETH in Computer Science Dr. Inform. UZH, s.e.a.l. group Over 8 years of experience in object-oriented
More informationRepository Management with Nexus
Repository Management with Nexus i Repository Management with Nexus Ed. 4.0 Repository Management with Nexus ii Contents 1 Introducing Sonatype Nexus 1 1.1 Introduction.........................................
More informationMaven2. Configuration and Build Management. Robert Reiz
Maven2 Configuration and Build Management Robert Reiz A presentation is not a documentation! A presentation should just support the speaker! PLOIN Because it's your time Seite 2 1 What is Maven2 2 Short
More informationD5.4.4 Integrated SemaGrow Stack API components
ICT Seventh Framework Programme (ICT FP7) Grant Agreement No: 318497 Data Intensive Techniques to Boost the Real Time Performance of Global Agricultural Data Infrastructures Deliverable Form Project Reference
More informationDeveloping Applications Using Continuous Integration 12c (12.2.1)
[1]Oracle Fusion Middleware Developing Applications Using Continuous Integration 12c (12.2.1) E55590-01 October 2015 Describes how to build automation and continuous integration for applications that you
More informationApplication Notes for Packaging and Deploying Avaya Communications Process Manager Sample SDK Web Application on a JBoss Application Server Issue 1.
Avaya Solution & Interoperability Test Lab Application Notes for Packaging and Deploying Avaya Communications Process Manager Sample SDK Web Application on a JBoss Application Server Issue 1.0 Abstract
More informationMaven 3 New Features. Stefan Scheidt Solution Architect OPITZ CONSULTING GmbH
Stefan Scheidt Solution Architect OPITZ CONSULTING GmbH OPITZ CONSULTING GmbH 2010 Seite 1 Wer bin ich? Software-Entwickler und Architekt Trainer und Coach Autor und Sprecher OPITZ CONSULTING GmbH 2010
More informationContents. Apache Log4j. What is logging. Disadvantages 15/01/2013. What are the advantages of logging? Enterprise Systems Log4j and Maven
Enterprise Systems Log4j and Maven Behzad Bordbar Lecture 4 Log4j and slf4j What is logging Advantages Architecture Maven What is maven Terminology Demo Contents 1 2 Apache Log4j This will be a brief lecture:
More informationContinuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!
Continuous Delivery for Alfresco Solutions Satisfied customers and happy developers with!! Continuous Delivery! About me Roeland Hofkens #rhofkens roeland.hofkens@westernacher.com http://opensource.westernacher.com
More informationApache Karaf in real life ApacheCon NA 2014
Apache Karaf in real life ApacheCon NA 2014 Agenda Very short history of Karaf Karaf basis A bit deeper dive into OSGi Modularity vs Extensibility DIY - Karaf based solution What we have learned New and
More informationVersion Control Your Jenkins Jobs with Jenkins Job Builder
Version Control Your Jenkins Jobs with Jenkins Job Builder Abstract Wayne Warren wayne@puppetlabs.com Puppet Labs uses Jenkins to automate building and testing software. While we do derive benefit from
More informationInstallation Guide of the Change Management API Reference Implementation
Installation Guide of the Change Management API Reference Implementation Cm Expert Group CM-API-RI_USERS_GUIDE.0.1.doc Copyright 2008 Vodafone. All Rights Reserved. Use is subject to license terms. CM-API-RI_USERS_GUIDE.0.1.doc
More informationExam Name: IBM InfoSphere MDM Server v9.0
Vendor: IBM Exam Code: 000-420 Exam Name: IBM InfoSphere MDM Server v9.0 Version: DEMO 1. As part of a maintenance team for an InfoSphere MDM Server implementation, you are investigating the "EndDate must
More informationContinuous Integration
Continuous Integration Collaborative development issues Checkout of a shared version of software ( mainline ) Creation of personal working copies of developers Software development: modification of personal
More informationIntroduction to Programming Tools. Anjana & Shankar September,2010
Introduction to Programming Tools Anjana & Shankar September,2010 Contents Essentials tooling concepts in S/W development Build system Version Control System Testing Tools Continuous Integration Issue
More informationRapid Server Side Java Development Using Spring Roo. Christian Tzolov Technical Lead, TTSD, TomTom BV 12/05/2010
Rapid Server Side Java Development Using Spring Roo Christian Tzolov Technical Lead, TTSD, TomTom BV 12/05/2010 Agenda TomTom Service & Delivery Java Developer Productivity & Impediments Demo - Traffic
More informationEscaping the Works-On-My-Machine badge Continuous Integration with PDE Build and Git
Escaping the Works-On-My-Machine badge Continuous Integration with PDE Build and Git Matthias Kempka EclipseSource ` mkempka@eclipsesource.com 2011 EclipseSource September 2011 About EclipseSource Eclipse
More informationContinuous Integration
Continuous Integration Building your application all the time Bill Dudney Dudney.net Bill Dudney Continuous Integration: Building Your Application All the Time Slide 1 Why CI? Bill Dudney Continuous Integration:
More informationContinuous Integration and Delivery at NSIDC
National Snow and Ice Data Center Supporting Cryospheric Research Since 1976 Continuous Integration and Delivery at NSIDC Julia Collins National Snow and Ice Data Center Cooperative Institute for Research
More informationSoftware Quality Exercise 2
Software Quality Exercise 2 Testing and Debugging 1 Information 1.1 Dates Release: 12.03.2012 12.15pm Deadline: 19.03.2012 12.15pm Discussion: 26.03.2012 1.2 Formalities Please submit your solution as
More informationWeb Frameworks and WebWork
Web Frameworks and WebWork Problem area Mixing application logic and markup is bad practise Harder to change and maintain Error prone Harder to re-use public void doget( HttpServletRequest request, HttpServletResponse
More informationHow To Use An Orgsync With Anorgfusion Middleware
Oracle Fusion Middleware Developing Applications Using Continuous Integration 12c (12.1.2) E26997-02 February 2014 Describes how to build automation and continuous integration for applications that you
More informationRepository Management with Nexus
Repository Management with Nexus i Repository Management with Nexus Ed. 4.0 Repository Management with Nexus ii Contents 1 Introducing Sonatype Nexus 1 2 Concepts 6 3 Installing and Running Nexus 16 4
More informationMind The Gap! Setting Up A Code Structure Building Bridges
Mind The Gap! Setting Up A Code Structure Building Bridges Representation Of Architectural Concepts In Code Structures Why do we need architecture? Complex business problems too many details to keep overview
More informationextensible Service Bus (XSB)
extensible Service Bus (XSB) Install Guidelines XSB DPWS Binding Component over EasyESB == WHAT IS IT? == This module allows to execute the XSB DPWS Binding Component with EasyESB. == REQUIREMENTS == Before
More informationTutorial on Basic Android Setup
Tutorial on Basic Android Setup EE368/CS232 Digital Image Processing, Spring 2015 Windows Version Introduction In this tutorial, we will learn how to set up the Android software development environment
More informationHudson configuration manual
Hudson configuration manual 1 Chapter 1 What is Hudson? Hudson is a powerful and widely used open source continuous integration server providing development teams with a reliable way to monitor changes
More informationDrupal CMS for marketing sites
Drupal CMS for marketing sites Intro Sample sites: End to End flow Folder Structure Project setup Content Folder Data Store (Drupal CMS) Importing/Exporting Content Database Migrations Backend Config Unit
More informationNGASI Shared-Runtime Manager Administration and User Guide. 1999-2010 WebAppShowcase DBA NGASI
NGASI Shared-Runtime Manager Administration and User Guide 2 NGASI Shared-Runtime Manager Table of Contents Part I Introduction 4 0 1 Overview... 4 2 Requirements... 4 Part II Administrator 6 1 Login...
More informationSDK Code Examples Version 2.4.2
Version 2.4.2 This edition of SDK Code Examples refers to version 2.4.2 of. This document created or updated on February 27, 2014. Please send your comments and suggestions to: Black Duck Software, Incorporated
More informationSW5706 Application deployment problems
SW5706 This presentation will focus on application deployment problem determination on WebSphere Application Server V6. SW5706G11_AppDeployProblems.ppt Page 1 of 20 Unit objectives After completing this
More informationAutomated performance testing using Maven & JMeter. George Barnett, Atlassian Software Systems @georgebarnett
Automated performance testing using Maven & JMeter George Barnett, Atlassian Software Systems @georgebarnett Create controllable JMeter tests Configure Maven to create a repeatable cycle Run this build
More informationPASS4TEST 専 門 IT 認 証 試 験 問 題 集 提 供 者
PASS4TEST 専 門 IT 認 証 試 験 問 題 集 提 供 者 http://www.pass4test.jp 1 年 で 無 料 進 級 することに 提 供 する Exam : C2090-420 Title : IBM InfoSphere MDM Server v9.0 Vendors : IBM Version : DEMO NO.1 Which two reasons would
More informationGlassFish v3. Building an ex tensible modular Java EE application server. Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc.
GlassFish v3 Building an ex tensible modular Java EE application server Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc. Agenda Java EE 6 and GlassFish V3 Modularity, Runtime Service Based Architecture
More informationWorkshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:
Oracle Workshop for WebLogic 10g R3 Hands on Labs Workshop for WebLogic extends Eclipse and Web Tools Platform for development of Web Services, Java, JavaEE, Object Relational Mapping, Spring, Beehive,
More informationUnderstanding class paths in Java EE projects with Rational Application Developer Version 8.0
Understanding class paths in Java EE projects with Rational Application Developer Version 8.0 by Neeraj Agrawal, IBM This article describes a variety of class path scenarios for Java EE 1.4 projects and
More informationDEPLOYING EMC DOCUMENTUM BUSINESS ACTIVITY MONITOR SERVER ON IBM WEBSPHERE APPLICATION SERVER CLUSTER
White Paper DEPLOYING EMC DOCUMENTUM BUSINESS ACTIVITY MONITOR SERVER ON IBM WEBSPHERE APPLICATION SERVER CLUSTER Abstract This white paper describes the process of deploying EMC Documentum Business Activity
More informationOpenMake Dynamic DevOps Suite 7.5 Road Map. Feature review for Mojo, Meister, CloudBuilder and Deploy+
OpenMake Dynamic DevOps Suite 7.5 Road Map Feature review for Mojo, Meister, CloudBuilder and Deploy+ Release Date: August 2012 Dated: May 21, 2012 Table of Contents OpenMake Dynamic DevOps Suite 7.5 Road
More informationSysPatrol - Server Security Monitor
SysPatrol Server Security Monitor User Manual Version 2.2 Sep 2013 www.flexense.com www.syspatrol.com 1 Product Overview SysPatrol is a server security monitoring solution allowing one to monitor one or
More informationServer-side OSGi with Apache Sling. Felix Meschberger Day Management AG 124
Server-side OSGi with Apache Sling Felix Meschberger Day Management AG 124 About Felix Meschberger > Senior Developer, Day Management AG > fmeschbe@day.com > http://blog.meschberger.ch > VP Apache Sling
More informationRational Application Developer Performance Tips Introduction
Rational Application Developer Performance Tips Introduction This article contains a series of hints and tips that you can use to improve the performance of the Rational Application Developer. This article
More informationInfoSphere Master Data Management operational server v11.x OSGi best practices and troubleshooting guide
InfoSphere Master Data Management operational server v11.x OSGi best practices and troubleshooting guide Introduction... 2 Optimal workspace operational server configurations... 3 Bundle project build
More informationUsing the Adobe Access Server for Protected Streaming
Adobe Access April 2014 Version 4.0 Using the Adobe Access Server for Protected Streaming Copyright 2012-2014 Adobe Systems Incorporated. All rights reserved. This guide is protected under copyright law,
More informationEnterprise Service Bus
We tested: Talend ESB 5.2.1 Enterprise Service Bus Dr. Götz Güttich Talend Enterprise Service Bus 5.2.1 is an open source, modular solution that allows enterprises to integrate existing or new applications
More informationDeveloper s Guide. How to Develop a Communiqué Digital Asset Management Solution
Developer s Guide How to Develop a Communiqué Digital Asset Management Solution 1 PURPOSE 3 2 CQ DAM OVERVIEW 4 2.1 2.2 Key CQ DAM Features 4 2.2 How CQ DAM Works 6 2.2.1 Unified Architecture 7 2.2.2 Asset
More informationJenkins on Windows with StreamBase
Jenkins on Windows with StreamBase Using a Continuous Integration (CI) process and server to perform frequent application building, packaging, and automated testing is such a good idea that it s now a
More information<Insert Picture Here> Introducing Hudson. Winston Prakash. Click to edit Master subtitle style
Introducing Hudson Click to edit Master subtitle style Winston Prakash What is Hudson? Hudson is an open source continuous integration (CI) server. A CI server can do various tasks
More informationWebLogic Server: Installation and Configuration
WebLogic Server: Installation and Configuration Agenda Application server / Weblogic topology Download and Installation Configuration files. Demo Administration Tools: Configuration
More informationPracticing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation
Practicing Continuous Delivery using Hudson Winston Prakash Oracle Corporation Development Lifecycle Dev Dev QA Ops DevOps QA Ops Typical turn around time is 6 months to 1 year Sprint cycle is typically
More informationConfiguring the LCDS Load Test Tool
Configuring the LCDS Load Test Tool for Flash Builder 4 David Collie Draft Version TODO Clean up Appendices and also Where to Go From Here section Page 1 Contents Configuring the LCDS Load Test Tool for
More informationDAVE Usage with SVN. Presentation and Tutorial v 2.0. May, 2014
DAVE Usage with SVN Presentation and Tutorial v 2.0 May, 2014 Required DAVE Version Required DAVE version: v 3.1.6 or higher (recommend to use the most latest version, as of Feb 28, 2014, v 3.1.10) Required
More informationL01: Using the WebSphere Application Server Liberty Profile for lightweight, rapid development. Lab Exercise
L01: Using the WebSphere Application Server Liberty Profile for lightweight, rapid development Lab Exercise Copyright IBM Corporation, 2012 US Government Users Restricted Rights - Use, duplication or disclosure
More informationApache Sling A REST-based Web Application Framework Carsten Ziegeler cziegeler@apache.org ApacheCon NA 2014
Apache Sling A REST-based Web Application Framework Carsten Ziegeler cziegeler@apache.org ApacheCon NA 2014 About cziegeler@apache.org @cziegeler RnD Team at Adobe Research Switzerland Member of the Apache
More informationJenkins User Conference Herzelia, July 5 2012 #jenkinsconf. Testing a Large Support Matrix Using Jenkins. Amir Kibbar HP http://hp.
Testing a Large Support Matrix Using Jenkins Amir Kibbar HP http://hp.com/go/oo About Me! 4.5 years with HP! Almost 3 years System Architect! Out of which 1.5 HP OO s SA! Before that a Java consultant
More informationDeveloping Web Services with Eclipse and Open Source. Claire Rogers Developer Resources and Partner Enablement, HP February, 2004
Developing Web Services with Eclipse and Open Source Claire Rogers Developer Resources and Partner Enablement, HP February, 2004 Introduction! Many companies investigating the use of web services! Cost
More information24x7 Scheduler Multi-platform Edition 5.2
24x7 Scheduler Multi-platform Edition 5.2 Installing and Using 24x7 Web-Based Management Console with Apache Tomcat web server Copyright SoftTree Technologies, Inc. 2004-2014 All rights reserved Table
More informationMaven the Beautiful City. Healthy, Viable, and Productive Build Infrastructures
Maven the Beautiful City Healthy, Viable, and Productive Build Infrastructures What is Maven? Build tool Similar to Ant but fundamentally different which we will discuss later Dependency management tool
More informationTutorial 5: Developing Java applications
Tutorial 5: Developing Java applications p. 1 Tutorial 5: Developing Java applications Georgios Gousios gousiosg@aueb.gr Department of Management Science and Technology Athens University of Economics and
More informationCoding in Industry. David Berry Director of Engineering Qualcomm Cambridge Ltd
Coding in Industry David Berry Director of Engineering Qualcomm Cambridge Ltd Agenda Potted history Basic Tools of the Trade Test Driven Development Code Quality Performance Open Source 2 Potted History
More informationJenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012
Jenkins Continuous Build System Jesse Bowes CSCI-5828 Spring 2012 Executive summary Continuous integration systems are a vital part of any Agile team because they help enforce the ideals of Agile development
More informationContinuous Integration
Continuous Integration WITH FITNESSE AND SELENIUM By Brian Kitchener briank@ecollege.com Intro Who am I? Overview Continuous Integration The Tools Selenium Overview Fitnesse Overview Data Dependence My
More informationCross-domain Identity Management System for Cloud Environment
Cross-domain Identity Management System for Cloud Environment P R E S E N T E D B Y: N A Z I A A K H TA R A I S H A S A J I D M. S O H A I B FA R O O Q I T E A M L E A D : U M M E - H A B I B A T H E S
More informationLeveraging Rational Team Concert's build capabilities for Continuous Integration
Leveraging Rational Team Concert's build capabilities for Continuous Integration Krishna Kishore Senior Engineer, RTC IBM Krishna.kishore@in.ibm.com August 9-11, Bangalore August 11, Delhi Agenda What
More informationProgramming with Android: SDK install and initial setup. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna
Programming with Android: SDK install and initial setup Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna SDK and initial setup: Outline Ø Today: How
More informationExtend WTP Server Tools for your application server. Tim deboer deboer@ca.ibm.com Gorkem Ercan gercan@acm.org
Extend WTP Server Tools for your application server Tim deboer deboer@ca.ibm.com Gorkem Ercan gercan@acm.org 2005 by IBM; made available under the EPL v1.0 March 1, 2005 What is the Eclipse Web Tools Platform?
More informationSample copy. Introduction To WebLogic Server Property of Web 10.3 Age Solutions Inc.
Introduction To WebLogic Server Property of Web 10.3 Age Solutions Inc. Objectives At the end of this chapter, participants should be able to: Understand basic WebLogic Server architecture Understand the
More informationEnhanced Project Management for Embedded C/C++ Programming using Software Components
Enhanced Project Management for Embedded C/C++ Programming using Software Components Evgueni Driouk Principal Software Engineer MCU Development Tools 1 Outline Introduction Challenges of embedded software
More informationOUR COURSES 19 November 2015. All prices are per person in Swedish Krona. Solid Beans AB Kungsgatan 32 411 19 Göteborg Sweden
OUR COURSES 19 November 2015 Solid Beans AB Kungsgatan 32 411 19 Göteborg Sweden Java for beginners JavaEE EJB 3.1 JSF (Java Server Faces) PrimeFaces Spring Core Spring Advanced Maven One day intensive
More informationDeveloping In Eclipse, with ADT
Developing In Eclipse, with ADT Android Developers file://v:\android-sdk-windows\docs\guide\developing\eclipse-adt.html Page 1 of 12 Developing In Eclipse, with ADT The Android Development Tools (ADT)
More informationModel-View-Controller. and. Struts 2
Model-View-Controller and Struts 2 Problem area Mixing application logic and markup is bad practise Harder to change and maintain Error prone Harder to re-use public void doget( HttpServletRequest request,
More informationImplementing a SAS 9.3 Enterprise BI Server Deployment TS-811. in Microsoft Windows Operating Environments
Implementing a SAS 9.3 Enterprise BI Server Deployment TS-811 in Microsoft Windows Operating Environments Table of Contents Introduction... 1 Step 1: Create a SAS Software Depot..... 1 Step 2: Prepare
More informationCrawl Proxy Installation and Configuration Guide
Crawl Proxy Installation and Configuration Guide Google Enterprise EMEA Google Search Appliance is able to natively crawl secure content coming from multiple sources using for instance the following main
More informationSOA-14: Continuous Integration in SOA Projects Andreas Gies
Distributed Team Building Principal Architect http://www.fusesource.com http://open-source-adventures.blogspot.com About the Author Principal Architect PROGRESS - Open Source Center of Competence Degree
More information