You are on page 1of 6

#104

Get More Refcardz! Visit refcardz.com

CONTENTS INCLUDE:
n n

About Apache Ant Anatomy of an Ant Script Core Java Related Tasks Infrastructure Tasks SCM Related Tasks Hot Tips and more...

Apache Ant
By James Sugrue
Required
Yes No No No No No

Getting Started with

ABOUT APACHE ANT


Apache Ant is an XML based tool for automating software build processes. Starting out as part of the Apache Tomcat codebase, Ant got its first standalone release in July 2000. Today it is the most widely used build tool for Java projects, enabling developers to adopt agile principles: most importantly test-driven development.

Attribute
name depends if unless description extensionOf

Description
The name and identifier of this target Comma separated list of other targets that this target depends on The name of a property which must be set for this target to run The name of a property which must not be set for this target to run Description of this target Add the target to the depends list of the named extension point

Hot Tip
www.dzone.com

Download Instructions You can download the latest Ant distribution (1.8.1) as a standalone tool from http://Ant.apache.org/. Ant is also built into most Java development IDEs, such as Eclipse, and NetBeans which uses it as its internal build system.

Table 2: Target element attributes

The Anatomy of an Ant Script


A typical Ant script consists of a single build.xml file. The root element of the build script is the project tag. Within the project element there are one or more targets specified. A target contains a set of tasks to be executed. The project element can specify a default target if no target is chosen during execution of the build script.

Hot Tip

Extension Points Introduced in Ant 1.8.0 <extension-point> is similar to a <target> with its name and depends attributes. However, it does not contain any tasks and is used to collect targets that contribute to a state in the dependency relationships of the script.

Properties
Properties can be defined within the build script or in separate property files to provide more customizable build scripts.
Attribute
name value location

Description
Name of the property The value of the property Set value to absolute filename. If the value passed through is not an absolute path it will be made relative to the project basedir Reference to an object defined elsewhere

Required
No One of these when using name attribute

Getting Started with Apache Ant

refId

Figure 1: The basic structure of an Ant build script.

The most important concept in Ant is that of dependencies. Each target may depend on other targets. When running, Ant resolves these dependencies so that your script gets executed in the order you have specified.
Attribute
name basedir default

Get over 90 DZone Refcardz FREE from Refcardz.com!

Description
Name of the project. Base directory from which all path calculations are done The default target to run when no other target has been specified

Required
No No No

Table 1: Project element attributes DZone, Inc.


|

www.dzone.com

Getting Started with Apache Ant

file resource url basedir

Location of the properties file Location in the classpath of the properties file URL pointing to properties file The basedir to calculate the relative path from

When not using the name attribute (i.e. loading external properties) No. Default is project basedir No No No

Core Java Related Tasks


This section gives a complete reference of all tasks and their attributes that are most commonly used by Java Developers. Compiling Java Code Compilation is achieved with the <javac> task.
Attribute
srcdir bootclasspath/ boothclasspathref classpath/ classpathref compiler debug debuglevel depend deprecation destdir encoding errorProperty excludes excludesFile executable extdirs fork failonerror includes includeAntRuntime includeDestClasses

Description
Location of java files to compile Location of bootstrap class files or reference to a predefined path Classpath to use for compilation or reference to a predefined path Compiler implementation to use. Default is current VM Whether source should be compiled with debug information (-g parameter). Defaults to off Can be lines, var or source. Used in the g parameter for the compiler Enables dependency tracking on jikes and classic compilers Whether source should compile with deprecation information Destination for compiled .class files Encoding of source files Property to set to true if compilation fails Comma separated list of files that must be excluded from compilation. Wildcard patterns can be used File that contains the exclusion list Path to javac executable to use when fork set to yes Location of installed extensions Whether to execute javac using the JDK compiler externally. Default no Whether compilation error fails the build. Default true Comma separated list of files that must be included in compilation. Wildcard patterns can be used Whether to include ANT runtime libraries in the classpath. Default yes Whether classes compiled to the dest directory are included in the classpath. Default true. When false, causes recompilation of dependent classes File containing the exclusion list Whether to include default libraries from VM. Default no Whether source files to be compiled will be listed. Default no Initial and maximum memory sizes for VM if run externally Whether nowarn should be used with the compiler. Defaults to off Whether to compile with optimization, ignored since JDK1.3 Value of the source command line switch Defaults to value of srcdir or reference to a predefined path Generate class files for a particular VM version Temporary file location if fork set to yes Property to set for successful compilation Use verbose output on the compiler

classpath / classpathref environment prefix

The classpath to use when looking up a resource Prefix to use when accessing environment variables Prefix to apply to properties loaded using file, resource or url

Table 3: Property element attributes

All system properties that can be accessed from the System. getProperties() methods in Java can be used in Ant. Additionally, the following built-in properties are available:
Property Name
basedir ant.core.lib ant.file ant.home ant.java.version ant.project.default-target ant.project.invoked-targets ant.project.name ant.version Table 4: Built-in properties

Description
Absolute path of projects basedir Absolute path of the ant.jar file Absolute path of buildfile Home directory of Ant Java version detected Name of the default target List of targets specified in the command line when invoking this project Name of the project that is running Version of Ant

Path Structures
Path structures can be created using a series of <pathelement> tags. For example, a classpath can be created using:
<classpath> <pathelement location=/path/jarfile.jar/> <pathelement path=/path/lib/jar1.jar;/path/lib/jar2.jar/> </classpath>

File Sets
In order to bundle files together, Ant provides the <fileset> tag:
Property Name
casesensitive dir defaultexcludes erroronmissingdir excludes excludesfile file followssymlinks

includesFile includeJavaRuntime listfiles memoryInitialSize / memoryMaximumSize nowarn optimize source sourcepath/ sourcepathref target tempdir updatedProperty verbose

Description
Whether include/excludes patterns must be treated with case sensitivity. Default true Root of the directory tree of this fileset If default excludes should be used (set of definitions that are always excluded) If true causes a build error, if false the fileset is ignored List of patterns of files to exclude Name of a file to exclude Shortcut for specifying a fileset containing a single file Whether symbolic links should be followed. Default true

Table 5: Fileset attributes

Built-in Tasks
The following sections list out the most commonly used tasks in Ant build scripts. Required attributes are marked in bold.
DZone, Inc.
|

Table 6: javac tasks properties www.dzone.com

Getting Started with Apache Ant

Additional command line arguments can be passed through to the compiler using the <compilerarg> nested element.

indexMetaInf level manifest manifestencoding mergeClassPathAttributes preserve0permissions roundup strict update useLanguageEncodingFlag whenmanifestonly Table 8: Jar task properties

Whether to include META-INF in the index. Default false Compression level for files from 0 (none) to 9 (maximum) Location of manifest for jar Encoding to use for manifest. Default is platform encoding Merge classpath attributes of different manifests when merging If a file has permissions value of 0, it will preserve this instead of applying default values Whether to round up file modification time to the next even number of seconds How to handle breaks of packaging version specification Fail, warn or ignore (default) Whether to overwrite files that already exist. Default false Whether to set language encoding if encoding set to UTF8 only Behavior when no files match fail, skip or create (default)

Hot Tip

Compiler Choice To use different compilers set the build.compiler property to classic (1.1, 1.2) modern (1.3-1.6) or choose a separate compiler such as jikes, jvc, kjc, gcj or sj.

Class file dependencies can be managed using the <depend> task.


Attribute
srcdir cache classpath closure destdir dump warnOnRmiStubs

Description
Location of Java files to compile. Will be examined to determine which files are out of date Directory where dependency information is stored and retrieved. No cache if not used Classpath from which dependencies also need to be checked If true, all classes depending on an out-of-date class are deleted Location of class file to be analyzed If true dependency info is written to the debug level log Disables warnings about files that look like rmic generated stubs but no .java source

Table 7: Depend task properties

Hot Tip

Ivy For Dependency Management Ivy (http://ant.apache.org/ivy), a sub project of Ant, can also be used to manage dependencies.

Hot Tip

War and Ear Archive Tasks Both <war> and <ear> tasks have similar attributes to the <jar> task, adding in attributes for web.xml or application.xml respectively.

Additionally, you can sign jar archives using the <signjar> task.
Attribute
alias jar storepass executable force internals keypass keystore lazy maxmemory preservelastmodified sectionsonly sigfile signedjar storetype tsacert tsaurl verbose

Distributing Compiled Code Jar files can be created using the <jar> task.
Attribute
destfile basedir compress createUnicodeExtraFields defaultexcludes duplicate keepcompression encoding excludes excludesfile fallbacktoUTF8 filesonly filesetmanifest

Description
The alias to sign under The jar file to sign The password for keystore integrity Specific jarsigner executable to use in place of default in JDK Force signing if already signed or not out of date Whether to include the .SF file inside signature block. Default false The password for the private key Keystore location Whether a signature file being present means the jar is signed Maximum memory the VM will use when signing Signed files keep the same modification time as original jar files Whether to compute the hash of entire manifest The name of the .SF or .DSA file The name of the signed jar file The keystore type Alias in keystore for timestamp authority URL for timestamp authority Whether to use verbose output. Default false

Description
JAR file to create The directory to build from Compress data in jar. Defaults true Whether to create unicode extra fields to store file names a second time inside the entrys metadata Whether default excludes should be used. Default true Behavior when a duplicate file is found add (default), preserve, fail For entries coming from other archives, keep its compression, overriding compress Character encoding for filenames. Default UTF8 List of patterns of files to exclude The name of a file that defines an exclude pattern If the specified encoding cannot be used, whether to fallback to UTF8 Store only file entries. Default false Behavior for when a manifest is found in a zipfilesset. Can merge, mergewithoutmain or skip (default) Merge attributes occurring more than once in a section into one single attribute List of patterns of files to include The name of a file that defines an include pattern Whether to create an index list to speed up classloading. Default false DZone, Inc.
|

flattenAttributes includes includesfile index

Table 9: Signjar task properties

Manifests can be included using the <manifest> task.


Attribute
file encoding www.dzone.com

Description
Manifest file to create or update Encoding to read existing manifest

Getting Started with Apache Ant

flattenAttributes mergeClassPathAttributes mode

Merge attributes occurring more than once in a section into one single attribute Merge classpath attributes of different manifests when merging Either update or replace (default)

public protected package private serialwarn source splitindex stylesheetfile use verbose version

Show only public classes and members Show only protected/public classes and members Show only package/protected/public classes and members Show all classes and members Warn about @serial tag Source level used for compilation Split index into one file per letter Specifies CSS stylesheet Create class and package usage pages Output all messages of javadoc process Include @version parts Browser window title for documentation

Table 10: Manifest task properties

Generating Documentation JavaDoc generation is done through the <javadoc> task.


Attribute
sourcepath sourcepathref sourcefiles destdir access additionalparam author bootclasspath / bootclasspathref bottom breakiterator charset classpath/classpathref defaultexcludes docencoding docfilessubdirs doclet/docletpathref doctitle encoding excludepackagenames executable extdirs failonerror footer group header helpfile includenosourcepackages link linksource locale maxmemory nodeprecated nodeprecatedlist notree noindex nohelp nonavbar noqualifier overview packagenames packageList

Description
Location of the source files for the task. At least one of these attributes required for this specification Destination directory required unless a doclet is specified Access mode (public, private, protected, package) Additional parameters to pass through Include @author parts Location of class files loaded by bootstrap class loader Bottom text for each page Use new breakiterator algorithm Charset for cross platform viewing Location of classpath Whether default excludes should be used Encoding of output file Deep copy of doc-file subdirectories Classfile that starts to doclet used Title for the package index page Source file encoding Packages to exclude from javadoc Specify a javadoc executable instead of VM default Location of installed extensions Stops build process if command fails Footer text for each page Group specified packages together in overview page Header text for each page Specifies help file to include When true includes packages with no source Create links to javadoc output at given url Generate links to source files Locale to be used Maximum amount of memory to allocate in VM Do not include @deprecated information Do not generate deprecated list Do not generate class hierarchy Do not generate index Do not generate help link Do not generate naviation bar Enables noqualifier argument for a list of packages (or all) Read overview documentation from HTML file List of package files to use File containing packages to use

windowtitle

Table 11: JavaDoc task properties

Executing Java Classes Java classes can be executed from Ant using the <java> task.
Attribute
classname jar append args classpath / classpathref clonevm dir error errorproperty failonerror fork input inputstring jvm javmargs logError maxmemory newenvironment output outputproperty resultproperty spawn timeout

Description
The jar file or classname to execute. If using jar, fork must be set to true Whether output/error files should be appended or overwritten Arguments for class. Better to use nested <arg> elements Classpath to use for execution Clones system properties and bootclasspath of forked VM to be the same as the Ant VM Directory to invoke VM in File to write error (System.err) output to Property to store error output from command Stops Ant build process if failure occurs Executes the class in another VM File where standard input is taken from String where standard input is taken from Command used to invoke JVM. Default is java Arguments for forked JVM. Better to use nested <jvmarg> Shows error output in Ant log Maximum memory to allocate to the forked VM When fork=true, do not propogate current environment variables File to write output to Property to store output of the command Property where return code of command is stored Need fork set to true. Will spawn a process independent of calling Ant process Timeout for the command to execute within before being stopped

Table 12: Java task properties

Running Unit Tests JUnit tests are executed from Ant through the <junit> task
Attribute
clonevm dir errorproperty

Description
Clones system properties and bootclasspath of forked VM to be the same as the Ant VM Directory from which to invoke the VM Property to set when errors occur

DZone, Inc.

www.dzone.com

Getting Started with Apache Ant

failureproperty filtertrace fork forkmode haltonerror haltonfailure includeAntruntime jvm logfailedtests maxmemory newenvironment outputformatters printsummary reloading showoutput tempdir timeout

Property to set when failure occurs Filter out JUnit or Ant stack frames from stack traces in errors or failures Run JUnit in a separate VM How many VMs to create when forking tests. (preTest, perBatch or once) Stop build process if an error happens Stops build process if a test fails Stops build process if a test fails Command used to invoke VM, default java Log a FAILED message for each failed test to Ants logging system Maximum memory to allocate to forked VM When fork=true, do not propogate current environment variables Send output generated by tests to test formatters Print statistics for each test case. (on, off, withOutAndErr) Whether a new classloader should be instAntiated for each test Send output to Ant log Location for temporary files Cancel tests if not complete in specified time

unless usefile

Use formatter if property is not set If output should be sent to a file. Default true

Table 15: JUnit formatter definition

Once tests are completed, reports can be generated for the tests using the <junitreport> task.
Attribute
todir tofile

Description
The directory that will contain the results The name of the XML file that will aggregate all previously generated results

Table 16: JUnitReport task properties

The <junitreport> task contains a fileset that collects all the reports from previous Junit tests. To output to a report file, use the internal <report> tag.
Attribute
format styledir todir

Description
Format of report (frames or noframes) Directory containing stylesheets. Files must be junit-frames.xsl or junit-noframes.xsl The directory that files are written to. By default this is the current directory

Table 13: JUnit task properties

Table 17: Report tag for <junitreport>

Tests are defined in nested elements within the <junit> task. Batch tests are defined using the <batchtest> tag:
Attribute
name errorproperty failureproperty filtertrace fork haltonerror haltonfailure if todir unless

Infrastructure Tasks
There are a number of other core tasks related to file operations. The following is an overview of these tasks:
Task
attrib /chmod checksum concat copy delete exec ftp get import / include mail mkdir

Description
Name of test class Property to set when errors occur Property to set when failure occurs Filter out JUnit or Ant stack frames from stack traces in errors or failures Run tests in a separate VM, overriding the value set in the <junit> task Stop build process if an error happens Stops build process if a test fails Property condition to run test against, if set Directory to write reports to Property condition to run test against, if not set

Description
Changes permission of a file (attrib for Windows, chmod for Unix) Generates a checksum for files Concatenates multiple files into one single file, or to the console Copies a file, or collection of files, to another location Deletes a file, directory or collection of files Executes a system command Provides basic FTP functionality Gets a file from a URL Imports or includes another build file into the current Ant script Sends mail over SMTP Creates a new directory Moves a file, or collection of files, to another location Listens to the build process and outputs to a file Replaces occurances of a string in file or collection of files Replaces occurances of a string in file or collection of files using regular expressions Executes SQL statements to a database using JDBC Synchronizes a target directory with a list of files Creates a zip file / unzips an existing zip. Also provides functionality for tar files

Table 14: JUnit batch test definition

Hot Tip

Single Tests If you just need to run a single test, the <test> tag can be used to specify the test. This contains similar attributes to the <batchtest> tag.

move record replace replaceregexp sql sync zip / unzip tar / untar

Test results can be written to different formats, using the outputformatters attribute in the <junit> task. The following table shows the options for formatter definition:
Attribute
type classname

Description
A predefined formatter type of either xml, plain, brief or failure If no type specified, use a customer formatter implementing org.apache.tools.Ant.taskdefs.optional.junit .JUnitResultFormatter Use formatter if property is set

Table 18: Overview of basic infrastructure tasks

SCM Related Tasks


ANT provides a number of tasks for connecting with different source control management systems. The core support deals with CVS.
|

if

DZone, Inc.

www.dzone.com

Getting Started with Apache Ant

Task
cvs cvschangelog cvspass cvstagdiff cvsversion patch

Description
Handles commands to be run against CVS, defaulting with checkout Generates a report of change logs recorded in CVS Adds entries to a .cvspass file Generates a report of the changes between two tags/dates from CVS Retrieves CVS client and server version Applies a diff file to originals

buildnumber condition dirname echoproperties loadfile loadproperties makeurl pathconvert property propertyfile uptodate whichresource xmlproperty

Reads build number from a specified file Set property if a condition is true Set property to the directory path of a specified file Display all properties to file or console Loads a file into a property Load a property file contents as Ant properties Converts filenames into URLs Converts a file list or path structure to a separated string for the target platform Set a property Creation and modification of property files Set property if specified target file is newer than source files Find class or resource Loads properties from property file written in XML

Table 19: CVS task properties

There are also tasks available for interfacing with ClearCase, Visual Source Safe, Pvcs, Perforce and Continuus. Additional tasks can be found online for DCVS systems such as Git and Mercurial.

Property Tasks
Ant provides some tasks that deal with managing properties throughout your build process.
Task
available basename

Table 20: Ant Property Tasks

Description
Sets property if file, directory or class in classpath is available at runtime Sets property to last element of specified path

Hot Tip

Writing Your Own Tasks If Ant doesnt provide you with the functionality that you need, you can write your own Ant tasks in Java by extending org.apache.tools.ant.Task.

ABOUT THE AUTHOR

RECOMMENDED BOOKS
A single application of increasing complexity, followed throughout the book, shows how an application evolves and how to handle the problems of building and testing. Reviewers have praised the books coverage of largeprojects, Ants advanced features, and the details and depth of the discussion-all unavailable elsewhere.

James Sugrue has been editor at both Javalobby


and EclipseZone for over two years, and loves every minute of it. By day, James is a software architect at Pilz Ireland, developing killer desktop software using Java and Eclipse all the way. While working on desktop technologies such as Eclipse RCP and Swing, James also likes meddling with up and coming technologies such as Eclipse e4. His current obsession is developing for the iPhone and iPad, having convinced himself that its a turning point for the software industry.

BUY NOW
books.dzone.com/books/ant-action

#82
Get More Refcardz! Visit refcardz.com
CONTENTS INCLUDE:

About Cloud Computing Usage Scenarios Underlying Concepts

Cost by... youTechnologies Data . t toTier Comply brough Platform Management and more... borate.

Aldon
Chan ge. Colla

#64 Cloud Computing


By Daniel Rubio
also minimizes the need to make design changes to support CON TEN TS one time events. INC

Getting Started with

Browse our collection of 100 Free Cheat Sheets


Upcoming Refcardz
Core HTML
By An dy Ha rris

ref ca

Cloud Computing

active Repo are within d units This Refcard will introduce to you to cloud softw riente computing, with an loping ine task-o it e Deve Mainl es by emphasis on these so you can better understand ines providers, Comm softwar chang codel e code ding Task Level sourc es as aplatform what it is a cloud computing can offer your trol ut web line Policy nize of buil NT Orga Code e witho it chang cess ion con e name sourc T CO and subm applications. it the pro jects vers are from with uniqu ABOU softw (CI) is um the build evel Comm build a pro minim Label Task-L ies to gration ed to activit blem the bare ion ate all cies to t ous Inte committ USAGE SCENARIOS to a pro Autom congurat nden ymen Build depe al deplo t Continu ry change manu Label d tool solution fective nmen a the same stalle , ) Build eve t, use target enviro (i.e. , inef ated ce pre-in with ymen Redu problem Autom terns ns (i.e. ory. d deploEAR) in each Pay only what you consume ticular tagge via pat or cies -patter s that reposit t nden For each (e.g. WAR es lained ) and anti the par solution duce nmen al Depe ge librari x t exp Web application deployment until a few years ago was similar t enviro packa Minim are be nden text to to pro all targe rity all depe tterns can used CI can ticular con le that alizeplans with tend y Integ to most phone services: alloted resources, late Centr Binar ts with an Anti-pa they es, but etimes temp nt nmen on ng end, in a par hes som cess. geme practic t enviro e a single incurred cost whether such resources were consumed or pro enti the based thenot. Mana targe in Creat cy nt es to rties are rily bad nden implem approac ed with the cial, but, chang prope Depe into differe itting er necessa pared to e te builds e comm late Veri remo associat to be ben befor etc. are not Cloud computing asRun its known etoday has changed this. Temp n com Build ually, They Privat lts whe y, contin appear effects. rm a nt team dicall The various resources consumed by webperio applications (e.g. Perfo opme ed resu d Builds sitory Build gration r to devel Repo Stage adverse unintend ration on a per-unit bandwidth, memory, CPU) areInteg tallied basis CI serve e ous Inte from e Build rm an tinu ack ard produc Privat Con feedb computing platforms. Refc on (starting from zero) by Perfo all major cloud tern. ated occur term based autom e, this as as they the pat builds Build gration Send of the soon cycl such ration ion with ors as Integ entat ous Inte tional use and test concepts tinu docum ven oper Con build include the con s to the rate devel to Gene While of CI efer notion the s on expand

Vis it

Ge t

Mo re

w ww.dzone.com

S INUOU

INTEG

RATION

Re fca

rd z!

e.com

Ge t Mo re

E: INC LUD gration NTS ous Inte Change CO NTE Continu at Every ns About Software i-patter Build and Ant Patterns Control ment Version e... Manage s and mor Build Practice d Buil

to isolat space n e Work riptio itory a Privat Desc ge These companies have webmana applications are in long deployed trol repos to n-con lop softw ing and making them Deve a versio that adapt and scale bases, rn les toto large user ize merg Patte it all minim le space Comm ine to many to cloud computing. s multip e Work knowledgeable in a mainl aspects related Privat that utilize lop on Deve code lines a system sitory of work

rdz .co

Re fca

relying on a cloud computing platforms technology.

rdz !

However, the demands and technology used on such servers has changed substantially in recent years, especially with the entrance of service providers like Amazon, Google and es Microsoft. e chang

Elem al Elem ents ents Large scale growth scenarios involving specialized and mor equipment e... away by (e.g. load balancers and clusters) are all but abstracted

Vis it

#84

tion:s tegraatternva ll us Ind Anti-P Du ul M. nuorn By Pa an ti s n o C Patte


ABOUT CLOUD COMPUTING

dz. com

ref car

Web applications have always been deployed on servers connected to what is now deemed the cloud.

ation one time events, cloud Having the capability to support Useful Open the gradual growth curves computing platforms also facilitate Page Source Structure Tools faced by web applications. Key

HTML Automated growth & scalable vs XHT technologies


HTML

Basics

LUD E:

Valid

ML

Structur

ICS In addition, several cloud computing platforms support data HTM tier technologies that L exceed the precedent set by Relational and XHT HTML ML Database Systems (RDBMS): Map Reduce, are the web service APIs, is used prog foundati as the etc. Some platforms ram support large scale RDBMS deployments. The src grap on of hical and Java s written in attribute all and the also rece JavaScri user interfac web develop desc as the e in clien ment. ive data pt. Server-s the ima alt attribute ribes whe output likew t-side ide lang ge is describe re the ima mec CLOUD COMPUTING PLATFORMS AND ise hanism. from unavaila web ge le s alte Nested was onc use HTML The eme pages and uages like ble. rnate can be UNDERLYING CONCEPTS and XHT text that e tags use HTM PHP rging found, Tags standard a very loos ML as Ajax is disp can L tech ely-de thei ization, layed cannot be (and freq need ned lang r visual eng nologies if but as for stan overlap uen it has ine. HTM b></ Amazon EC2: Industry standard software and uag virtualization whether dards , so <a>< tly are) nest e with a> is has bec become very little L you cho platform ne. b></ ed insid moron Amazons cloud computing isome heavily based the curr a></ e imp e b> is more ent stan ose to writ orta not lega each othe app nt, that will software industry standard and virtualization e HTM technology. dard HTM r. Tags l, but s will L or XHT arent. Reg the L VS <a>< help and XHT simplify all XHTM b></ ML, und ardless you prov your MLaare of L othe erst Virtualization physical piece of hardware to be HTM muchallows ide anding actually r web a solid L has of the coding. simpler foundati utilized by multiple operating This allows resources function systems. job adm been arou Fortuna commo than on nd for ality irably, they has (e.g. bandwidth, memory, CPU) to be allocated exclusively to exp tely som that n used mov ecte elem e time Every job ed to d. Earl to be, HTML ents . Whi pag Brow individual operating system instances. CSS. y HTM has expand because ser common e (HTML ed far le it has don or XHT web dev manufacture L had very more e its extensio .) All are ML shar limit than rs add elopers esse As a user of Amazons cloud computing platform, you are result anybody es cert ed man ed layout n. HTM EC2 ntially came is proc supp plai L system les shou elem assigned esso an operating in the same wayain as on all hosting ort. The late a lack of stan up with clev y competi n text r ents ng stan ld not st web in dar er wor dar be cr kar standar

HTM

L BAS

Apache Ant Hadoop Spring Security Subversion


DZone, Inc. 140 Preston Executive Dr. Suite 100 Cary, NC 27513 888.678.0399 919.678.0300 $7.95 Refcardz Feedback Welcome refcardz@dzone.com Sponsorship Opportunities sales@dzone.com
ISBN-13: 978-1-934238-75-2 ISBN-10: 1-934238-75-9

50795

DZone communities deliver over 6 million pages each month to more than 3.3 million software developers, architects and decision makers. DZone offers something for everyone, including news, tutorials, cheatsheets, blogs, feature articles, source code and more. DZone is a developers dream, says PC Magazine.

9 781934 238752
Version 1.0

Copyright 2010 DZone, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher.

You might also like