6

Click here to load reader

Java magazine july/august 2012

Embed Size (px)

DESCRIPTION

Matéria falando sobre o poder do desenvolvedor, o grande número de frameworks e ferramentas para o desenvolvimento java.

Citation preview

Page 1: Java magazine july/august 2012

OR

AC

LE

.CO

M/J

AV

AM

AG

AZ

INE

////

////

////

////

////

////

////

////

////

////

//J

UL

Y/A

UG

US

T 2

012

34

blog

01

02

03

04

05

06

CH

OO

SE

YO

UR

TO

OL

JAVA TECHCOMMUNITY JAVA IN ACTION ABOUT US

PH

OT

OG

RA

PH

Y B

Y B

OB

AD

LE

R

Mo

der

n e

ra a

gile

so

ftw

are

dev

elo

p-

men

t is

pre

dic

ated

up

on

iter

ative

,

incr

emen

tal d

evel

op

men

t p

roce

sses

,

wit

h c

on

tin

uo

us

inte

grati

on

(C

I) o

f fi

xes

and

enh

ance

men

ts. W

ith

th

e n

eed

fo

r su

ch C

I

com

es t

he

com

ple

xity

of

man

agin

g ge

ogr

aph

i-

call

y d

istr

ibu

ted

tea

ms

that

are

uti

lizi

ng

op

en

sou

rce

mo

du

les

and

fra

mew

ork

s o

bta

ined

in

a so

meti

mes

un

regu

late

d a

nd

un

do

cum

ente

d

fash

ion

acr

oss

th

e in

tern

et.

Fo

rtu

nat

ely,

a r

ich

sta

ck o

f to

ol o

ffer

ings

enab

les

dev

elo

pm

ent

team

s to

mo

re e

ffec

-

tive

ly t

rack

, bu

ild

, in

tegr

ate,

an

d m

anag

e so

ft-

war

e p

roje

cts

and

th

eir

mo

du

les.

Th

is a

rticl

e

dis

cuss

es m

any

of

the

too

ls a

vail

able

to

day

;

ho

wev

er, t

his

is b

y n

o m

ean

s a

com

ple

te,

defi

niti

ve li

st. Y

ou

may

hav

e o

ther

fav

ori

tes

that

are

no

t in

clu

ded

; let

us

kno

w.

Java

.net

, am

on

g o

ther

th

ings

, pro

vid

es a

del

iver

y ch

ann

el f

or

som

e o

f th

e te

chn

olo

gies

des

crib

ed in

th

e fo

llo

win

g p

ages

.

BY

ST

EV

E M

ELO

AN

WIT

H C

ON

TR

IBU

TIO

NS

BY

JAN

ICE

J. H

EIS

S

Wit

h a

bev

y o

f W

eb-b

ased

dev

elo

pm

ent

too

ls

avai

lab

le, i

t’s

a gr

eat

tim

e to

be

a Ja

va d

evel

op

er.

01

BU

ILD

AU

TO

MA

TIO

N T

OO

LS

02

CO

NT

INU

OU

S I

NT

EG

RA

TIO

N T

OO

LS

03

OP

EN

SO

UR

CE

MO

DU

LE

S

04

SO

FT

WA

RE

CO

NF

IG M

AN

AG

EM

EN

T

05

RE

PO

SIT

OR

Y M

AN

AG

EM

EN

T

06

RU

NT

IME

AN

AL

YS

IS

DEVE

LOPE

RPO

WER

Page 2: Java magazine july/august 2012

OR

AC

LE

.CO

M/J

AV

AM

AG

AZ

INE

////

////

////

////

////

////

////

////

////

////

//J

UL

Y/A

UG

US

T 2

012

35

blog

01

02

03

04

05

06

CH

OO

SE

YO

UR

TO

OL

JAVA TECHCOMMUNITY JAVA IN ACTION ABOUT US

A b

uil

d a

uto

mati

on

to

ol i

dea

lly

pro

vid

es

the

abil

ity

to b

uil

d a

giv

en p

roje

ct w

ith

a

sin

gle

com

man

d, m

ob

iliz

ing

all t

he

mo

du

les,

arti

fact

s, li

bra

ries

, an

d c

od

e

nec

essa

ry t

o t

hat

pro

ject

.

Ap

ach

e M

aven

. Ho

sted

by

the

Ap

ach

e

So

ftw

are

Fo

un

dati

on

an

d w

ritt

en in

Java

,

Mav

en c

an b

e u

sed

to

bu

ild

pro

ject

s in

Java

, as

wel

l as

C#

, Ru

by,

Sca

la, a

nd

oth

er

lan

guag

es. I

t o

per

ates

fro

m a

n X

ML

file

,

bu

t u

ses

a ve

ry d

iffer

ent

par

adig

m f

rom

An

t. R

ath

er t

han

sim

ply

ch

ain

ing

toge

ther

seq

uen

tial

bu

ild

tas

ks, a

s o

ccu

rs w

ith

An

t, M

aven

defi

nes

a p

roje

ct in

ter

ms

of

its

dep

end

enci

es, e

xter

nal

mo

du

les

and

com

po

nen

ts, b

uil

d o

rder

, dir

ecto

ries

, an

d

req

uir

ed p

lug-

ins.

Mav

en p

roje

cts

are

defi

ned

via

a P

roje

ct O

bje

ct M

od

el (

PO

M)

file

(p

om

.xm

l). M

aven

dyn

amic

ally

do

wn

-

load

s Ja

va li

bra

ries

an

d M

aven

plu

g-in

s

fro

m e

ith

er t

he

Mav

en C

entr

al r

epo

sito

ry

or

oth

er d

efin

ed s

oft

war

e re

po

sito

ries

.

Larg

er M

aven

pro

ject

s ar

e ty

pic

ally

div

ided

into

sev

eral

su

bp

roje

cts,

eac

h

wit

h it

s o

wn

PO

M fi

le, b

ut

wit

h a

ro

ot

PO

M t

o c

om

pil

e th

e m

aste

r p

roje

ct v

ia

a si

ngl

e co

mm

and

. Th

e M

aven

plu

g-in

arch

itec

ture

all

ow

s it

to

inte

rfac

e w

ith

bu

ild

to

ols

fo

r o

ther

lan

guag

es, i

ncl

ud

ing

the

.NE

T f

ram

ewo

rk a

nd

C/

C+

+. P

op

ula

r

IDE

s th

at s

up

po

rt d

evel

op

men

t w

ith

Mav

en in

clu

de

Ecl

ipse

, In

tell

iJ, J

Bu

ild

er,

JDev

elo

per

, an

d N

etB

ean

s.

Gra

dle

. Wri

tten

in Ja

va a

nd

Gro

ovy

, Gra

dle

bu

ilds

up

on

th

e co

nce

pts

of A

nt

and

Mav

en b

ut

use

s a

Gro

ovy

-bas

ed D

om

ain

-

01

BU

ILD

AU

TO

MA

TIO

N T

OO

LS“I

fin

d A

pa

ch

e A

nt

(An

oth

er N

eat

Tool

) ve

ry

use

ful f

or a

uto

mat

ing

th

e

bu

ild p

roce

ss. I

esp

ecia

lly

app

reci

ate

its

use

of

XM

L, w

hic

h f

acili

tate

s

bu

ild-s

crip

t cr

eati

on, a

nd

th

e J

Un

it t

ask,

wh

ich

fac

ilita

tes

inte

gra

tion

of

JU

nit

tes

t-

ing

into

th

e p

roce

ss.”

—J

eff

Fri

ese

n,

Fre

elan

ce D

evel

oper

an

d E

du

cato

r

“I lo

ve u

sin

g M

ave

n in

larg

e

org

aniz

atio

ns—

wh

ere

man

y

dev

elop

ers

are

wor

kin

g o

n

mu

ltip

le p

roje

cts.

Som

e ve

ry

dee

p t

hou

gh

t ab

out

the

soft

war

e p

roje

ct

lifec

ycle

has

gon

e in

to M

aven

ove

r th

e ye

ars,

and

its

stri

ct s

tan

dar

ds

app

roac

h w

orks

bri

l-

lian

tly

wh

ere

chao

s ca

n p

oten

tial

ly a

bou

nd

.

It d

oesn

’t m

atte

r w

hic

h p

roje

ct d

evel

oper

s

join

. A M

aven

mvn

cle

an in

stal

l com

man

d

bu

ilds,

tes

ts, p

acka

ges

, an

d in

stal

ls a

loca

l

cop

y of

th

e ap

plic

atio

n f

or t

hem

, let

tin

g

them

get

sta

rted

wit

h t

hei

r co

din

g.

Hav

ing

goo

d b

uild

an

d C

I pro

cess

es in

pla

ce m

ean

s th

at y

ou c

an w

rite

cod

e m

ore

qu

ickl

y an

d m

ain

tain

a h

igh

er b

ar o

f q

ual

-

ity.

In c

onju

nct

ion

wit

h T

DD

[te

st-d

rive

n

dev

elop

men

t], b

uild

an

d C

I mea

ns

you

can

rap

idly

ref

acto

r w

ith

out

fear

! T

hin

k of

it a

s

hav

ing

a m

ento

r lo

okin

g o

ver

you

r sh

ould

er—

pro

vid

ing

a s

afe

and

con

trol

led

en

viro

nm

ent

in w

hic

h y

ou c

an q

uic

kly

cod

e an

d m

ake

bol

d c

han

ges

.”

—M

art

ijn

Ve

rbu

rg, C

oau

thor

,

Th

e W

ell-

Gro

un

ded

Ja

va D

evel

oper

EX

PE

RT

OP

INIO

N

“Id

enti

fyin

g a

nd

dow

nlo

ad-

ing

th

e co

rrec

t ve

rsio

ns

of a

Jav

a p

roje

ct’s

dep

end

ent

JAR

file

s, w

hic

h m

ay h

ave

bee

n

obta

ined

fro

m a

var

iety

of

onlin

e so

urc

es, i

s

a th

ankl

ess

and

oft

en e

rror

-pro

ne

acti

vity

.

Ma

ven

tak

es c

are

of t

his

for

you

, an

d e

ffec

-

tive

ly s

tru

ctu

res

you

r pro

ject

so

as t

o el

imi-

nat

e a

hos

t of

set

up

an

d c

onfi

gu

rati

on is

sues

.

Mav

en p

rovi

des

plu

g-i

ns

that

en

cou

rag

e an

d

pro

mot

e g

ood

sta

nd

ard

sof

twar

e p

ract

ices

incl

ud

ing

un

it t

esti

ng

, ver

sion

con

trol

, an

d

stan

dar

diz

ed re

leas

e p

roce

sses

.

A c

ontr

olle

d p

roce

ss li

ke M

aven

’s m

akes

dev

elop

men

t w

ith

in a

tea

m f

ar m

ore

effi-

cien

t an

d s

cala

ble

. An

d t

he

doc

um

enta

tion

and

sit

e re

por

ts a

dd

to

Mav

en’s

val

ue

as

a fu

ll-fe

atu

red

pro

ject

man

agem

ent

and

com

pre

hen

sion

too

l.”

—C

as

Sa

tern

os,

Ora

cle

Cer

tifi

ed D

BA

an

d

Su

n C

erti

fied

Jav

a P

rog

ram

mer

“For

me,

th

e re

al d

iffer

ence

is b

etw

een

too

ls t

hat

hav

e

a p

oin

t of

vie

w a

bou

t h

ow

dev

elop

men

t p

roce

sses

shou

ld w

ork

and

th

ose

that

don

’t. I

cal

l

thes

e tw

o ty

pes

‘too

ls a

nd

met

atoo

ls.’

Ma

ven

is a

bu

ild t

ool,

bec

ause

it e

ssen

tial

ly

forc

es y

ou t

o ad

apt

to t

he

Mav

en li

fecy

cle

and

way

of

doi

ng

th

ing

s. A

nt

doe

sn’t

com

e

wit

h s

uch

a p

oin

t of

vie

w—

inst

ead

, you

hav

e to

bu

ild u

p t

arg

ets

and

a s

equ

ence

bas

ed o

n y

our

own

pro

ject

life

cycl

e. S

ome

team

s p

refe

r th

e ad

dit

ion

al s

tru

ctu

re w

hic

h

com

es w

ith

a t

ool l

ike

Mav

en, w

her

eas

oth

er

team

s ob

ject

to

hav

ing

to

fit

in w

ith

th

e

dem

and

s of

th

e M

aven

life

cycl

e.”

—B

en

Eva

ns,

Coa

uth

or,

Th

e W

ell-

Gro

un

ded

Ja

va D

evel

oper

Ant/

Ivy

101

Ap

ac

he

An

t.

Sim

ilar

to t

he

dec

ades

-old

UN

IX M

ake

in s

ome

resp

ects

,Ap

ach

e A

nt

is w

ritt

en in

Jav

a an

d is

bes

t su

ited

to

bu

ildin

g J

ava

pro

ject

s. It

use

s an

XM

L fi

le

(bu

ild.x

ml)

to

defi

ne

a g

iven

bu

ild p

roce

ss

and

its

dep

end

enci

es. W

ith

in t

he

bu

ild fi

le,

An

t ca

n a

lso

del

egat

e b

uild

wor

k to

eit

her

nat

ive

or J

ava-

bas

ed e

xter

nal

pro

gra

ms.

On

e of

An

t’s

pri

mar

y g

oals

was

to

solv

e

the

por

tab

ility

issu

es o

f M

ake,

wh

ere

dif

-

fere

nt

pla

tfor

ms

req

uir

ed d

iffer

ent

scri

pt

com

man

ds.

An

t p

rovi

des

bu

ilt-i

n f

un

c-

tion

alit

y d

esig

ned

to

beh

ave

the

sam

e on

all p

latf

orm

s. It

has

lim

ited

fau

lt-h

and

ling

cap

abili

ties

an

d n

o p

ersi

sten

ce o

f st

ate,

so

it is

pri

mar

ily u

sefu

l on

ly f

or c

lass

ic b

uild

and

tes

t p

roce

sses

.

An

t is

su

pp

orte

d b

y m

ost

maj

or ID

Es,

incl

ud

ing

Ecl

ipse

, In

telli

J, J

Bu

ilder

,

JD

evel

oper

, Net

Bea

ns,

an

d W

ebS

ph

ere.

Ap

ac

he

Ivy.

Wri

tten

in J

ava,

Ap

ach

e Iv

y

is a

su

bp

roje

ct o

f th

e A

pac

he

An

t p

roje

ct,

serv

ing

as

a tr

ansi

tive

rel

atio

n d

epen

-

den

cy m

anag

er. A

n X

ML

file

defi

nes

pro

ject

dep

end

enc

ies

and

th

e re

sou

rces

nec

essa

ry t

o b

uild

th

e g

iven

pro

ject

.

Ivy

reso

lves

an

d d

own

load

s re

qu

ired

reso

urc

es f

rom

th

e sp

ecifi

ed r

epo

sito

ries

.

Wh

erea

s M

aven

is a

co

mp

lete

bu

ild t

oo

l,

wit

h b

uilt

-in

dep

end

ency

man

agem

ent,

Ivy

foc

use

s sp

ecifi

cally

on

dep

end

ency

man

agem

ent

fun

ctio

nal

ity,

wo

rkin

g in

par

tner

ship

wit

h A

nt.

Page 3: Java magazine july/august 2012

OR

AC

LE

.CO

M/J

AV

AM

AG

AZ

INE

////

////

////

////

////

////

////

////

////

////

//J

UL

Y/A

UG

US

T 2

012

36

blog

01

02

03

04

05

06

CH

OO

SE

YO

UR

TO

OL

JAVA TECHCOMMUNITY JAVA IN ACTION ABOUT US

EX

PE

RT

OP

INIO

N

Sp

ecifi

c La

ngu

age

(DS

L) r

ath

er t

han

XM

L.

Gra

dle

use

s a

dir

ecte

d a

cycl

ic g

rap

h (

DA

G)

to d

eter

min

e th

e o

rder

in w

hic

h b

uild

task

s sh

ou

ld b

e ru

n. G

rad

le’s

DS

L is

ext

en-

sib

le, a

llow

ing

for

the

add

itio

n o

f new

lan

guag

e el

emen

ts o

r th

e en

han

cem

ent

of e

xisti

ng

elem

ents

. In

ten

ded

to

man

age

larg

e, m

ulti

pro

ject

bu

ilds,

Gra

dle

inte

l-

ligen

tly

det

erm

ines

wh

ich

par

t o

f a b

uild

tree

is c

urr

ent,

so

th

at a

lrea

dy

up

-to

-dat

e

dep

end

ent

bra

nch

es n

eed

n’t

be

reb

uilt

.

Gra

dle

off

ers

sup

po

rt a

nd

tra

nsi

tive

dep

end

ency

man

agem

ent

for

exis

tin

g

Mav

en a

nd

Ivy

rep

osi

tori

es a

nd

als

o p

ro-

vid

es a

co

nve

rter

to

tra

nsl

ate

Mav

en P

OM

file

s in

to G

rad

le s

crip

ts.

02

CO

NT

INU

OU

S I

NT

EG

RA

TIO

N T

OO

LS

Wh

en p

rop

erly

imp

lem

ente

d, C

I re

qu

ires

that

eac

h c

om

mit

of

new

so

ftw

are

be

acco

mp

anie

d b

y a

com

ple

te b

uil

d a

nd

run

, an

d t

hat

it p

ass

all d

efin

ed u

nit

tes

ts.

Wit

h t

he

adve

nt

of

CI

too

ls, t

his

ch

ange

in c

om

mit

fu

ncti

on

alit

y h

as in

crea

sin

gly

bec

om

e h

igh

ly s

op

his

tica

ted

an

d a

uto

-

mat

ed. C

I to

ols

incl

ud

e C

ruis

eCo

ntr

ol,

Hu

dso

n, J

enki

ns,

Bam

bo

o, B

uil

dM

aste

r,

An

thil

lPro

, an

d T

eam

city

.

Th

e b

ig-p

ictu

re g

oa

l of

such

CI

too

ls is

to w

rap

co

nfi

gu

rab

le in

tell

igen

ce (

tha

t

can

be

exte

nd

ed w

ith

plu

g-i

ns)

aro

un

d

the

pro

cess

of

vers

ion

co

ntr

ol,

bu

ild

s,

testi

ng

, an

d r

epo

rtin

g o

f re

sult

s. B

elo

w is

a s

am

pli

ng

of

po

pu

lar

CI

too

ls, i

ncl

ud

ing

two

rec

ent

win

ner

s o

f th

e D

uke

’s C

ho

ice

Aw

ard

, Hu

dso

n a

nd

Jen

kin

s.

Hu

dso

n. W

inn

er o

f th

e 2

00

8 D

uke

’s

Ch

oic

e A

wa

rd in

th

e D

evel

op

er S

olu

tio

ns

cate

go

ry, H

ud

son

is a

po

pu

lar

alt

ern

a-

tive

to

Cru

iseC

on

tro

l. H

ud

son

pro

vid

es

an

ea

sy-t

o-u

se, G

UI-

ba

sed

co

nfi

gu

rab

le

syst

em f

or

inte

gra

tin

g c

ha

ng

es t

o a

pro

ject

—o

bta

inin

g e

xpli

cit

fres

h b

uil

ds

of

the

pro

ject

, sch

edu

lin

g f

utu

re b

uil

ds,

an

d m

on

ito

rin

g t

he

resu

lts

of

exte

rna

lly

run

job

s (s

uch

as

cro

n jo

bs)

, in

clu

din

g

tho

se t

ha

t ex

ecu

te o

n r

emo

te m

ach

ines

.

Res

ult

s ca

n b

e m

on

ito

red

via

e-m

ail

or

RS

S, a

nd

th

ird

-pa

rty

plu

g-i

ns

off

er a

dd

i-

tio

na

l ext

ensi

ble

fu

ncti

on

ali

ty.

Hu

dso

n is

wri

tten

in Ja

va, a

nd

ru

ns

in a

Ser

vlet

co

nta

iner

(su

ch a

s A

pac

he

Tom

cat

or

Gla

ssF

ish

). It

can

exe

cute

An

t- a

nd

Mav

en-b

ased

pro

ject

s as

wel

l as

sim

ple

shel

l scr

ipts

an

d M

icro

soft

Win

do

ws

bat

ch

com

man

ds,

an

d c

an d

istr

ibu

te b

uild

/

test

load

s to

mu

ltip

le c

om

pu

ters

, as

wel

l

as k

eep

tra

ck o

f wh

ich

bu

ilds

pro

du

ced

wh

ich

JAR

s. P

lug-

ins

pro

vid

e in

tegr

atio

n

wit

h m

ost

ver

sio

n c

on

tro

l sys

tem

s an

d

bu

g d

atab

ases

an

d c

an a

dd

new

fun

c-

tio

nal

ity

or

even

ch

ange

th

e ap

pea

ran

ce

of H

ud

son

. Mea

nw

hile

, bu

ild t

est

rep

ort

s

can

be

gen

erat

ed in

a v

arie

ty o

f fo

rmat

s

(JU

nit

is s

up

po

rted

ou

t o

f th

e b

ox)

.

Ora

cle

con

tin

ues

to

dev

elo

p H

ud

son

alo

ng

wit

h t

he

com

mu

nit

y at

larg

e. B

ut

in Ja

nu

ary

20

11, a

fo

rk o

f th

e p

roje

ct w

as

crea

ted

an

d n

amed

Jen

kin

s.

Jen

kin

s. O

rigi

nal

ly b

egu

n a

s th

e H

ud

son

“My

met

atoo

l of

choi

ce is

Net

Bea

ns,

Jav

a E

E E

dit

ion

.

It in

teg

rate

s M

ave

n 3

;

JU

nit

; An

t; H

ud

son

/

Je

nk

ins;

an

d c

oun

tles

s J

ava

EE

hin

ts, w

iz-

ard

s, a

nd

ext

ensi

ons.

You

get

an

ext

rem

ely

pro

du

ctiv

e en

viro

nm

ent

wit

h a

sin

gle

clic

k—

no

plu

g-i

n fi

dd

ling

req

uir

ed.”

—A

da

m B

ien

, Jav

a C

ham

pio

n

“Je

nk

ins

is a

n a

wes

ome

tool

for

con

tin

uou

s in

teg

rati

on.

Wit

h it

, you

can

com

bin

e al

l

the

wor

k of

a t

eam

wit

h le

ss

erro

r an

d m

ore

qu

alit

y/p

rod

uct

ivit

y—w

hile

mon

itor

ing

sta

tus

and

th

e n

um

ber

of

test

s.

An

d, y

es, y

ou c

an u

se J

Un

it!

Th

ere

are

alm

ost

too

man

y av

aila

ble

plu

g-i

ns—

for

exam

ple

, Son

ar, w

hic

h v

erifi

es t

he

qu

alit

y of

you

r te

am’s

cod

e, t

est

cove

rag

e, d

up

licat

ion

of c

ode,

an

d s

o on

.”

—O

távi

o G

on

ça

lve

s d

e S

an

tan

a,

JU

G L

ead

er, J

ava

Bah

ia

“Co

mb

inin

g s

ma

rt f

eatu

res

of

bot

h A

nt

an

d M

aven

,

an

d b

ein

g p

ower

ed b

y

Gro

ovy,

Gra

dle

pro

vid

es

a n

ew a

nd

pow

erfu

l way

to

ha

nd

le y

ou

r

del

iver

y p

ipel

ines

.”

—M

ich

ae

l Hü

tte

rma

nn

, Jav

a C

ham

pio

n

“Hav

ing

bee

n a

Jav

a d

evel

-

oper

sin

ce n

earl

y th

e b

egin

-

nin

g (

sum

mer

of

’95

), I

hav

e

a co

llect

ion

of

open

sou

rce

pro

ject

s th

at I

eith

er f

oun

ded

or

still

mai

n-

tain

. As

a fu

ll-ti

me

rese

arch

er, a

nd

als

o a

new

fat

her

, I n

eed

a s

yste

m t

o re

liab

ly m

an-

age

thes

e p

roje

cts

and

pu

sh o

ut

rele

ases

.

Th

at’s

wh

at H

ud

son

is t

o m

e. I’

ve b

een

usi

ng

it f

or s

ever

al y

ears

now

an

d c

onti

nu

e

to lo

ve it

—it

just

wor

ks.”

—J

osh

Ma

rin

ac

ci,

Jav

a C

ham

pio

n

“Hu

dso

n/J

en

kin

s ar

e C

I

tool

s, s

o th

e fi

rst

thin

g t

hat

com

es t

o m

ind

is t

hat

th

ey

‘exe

cute

tes

ts.’

Cor

rect

. Bu

t

they

do

so m

uch

mor

e. W

ith

th

e p

rop

er s

et

of p

lug

-in

s—su

ch a

s te

st c

over

age

and

stat

ic a

nal

ysis

—th

ey p

rovi

de

ever

yon

e in

th

e

dev

elop

men

t te

am w

ith

a h

igh

ly v

alu

able

info

rmat

ion

cen

ter

on t

he

hea

lth

of

the

pro

j-

ect.

Dev

elop

ers

can

au

ton

omou

sly

veri

fy t

he

qu

alit

y of

th

e co

de

they

are

wri

tin

g, a

nd

pro

j-

ect

lead

ers

can

kee

p e

very

thin

g u

nd

er c

on-

trol

, mon

itor

ing

bot

h t

he

pro

gre

ss a

nd

th

e

tech

nic

al d

ebt.

Th

e b

est

of H

ud

son

/Jen

kin

s

hap

pen

s w

ith

Mav

en-b

ased

pro

ject

s, t

han

ks

to M

aven

pro

file

s. T

his

com

bin

atio

n m

akes

it e

asie

r to

bu

ild o

n m

ult

iple

con

fig

ura

tion

s—

such

as

JD

Ks

and

dat

abas

es. I

n a

dd

itio

n,

Mav

en c

an w

arn

you

ab

out

wh

eth

er t

he

libra

ry v

ersi

ons

you

’re

usi

ng

will

bre

ak y

our

bu

ild d

ue

to a

reg

ress

ion

.”

—F

ab

rizi

o G

iud

ici,

Sen

ior

Jav

a A

rch

itec

t, T

idal

wav

e

Page 4: Java magazine july/august 2012

OR

AC

LE

.CO

M/J

AV

AM

AG

AZ

INE

////

////

////

////

////

////

////

////

////

////

//J

UL

Y/A

UG

US

T 2

012

37

blog

01

02

03

04

05

06

CH

OO

SE

YO

UR

TO

OL

JAVA TECHCOMMUNITY JAVA IN ACTION ABOUT US

CI

too

l, t

he

Jen

kin

s p

roje

ct w

as c

reat

ed in

Jan

uar

y 2

011

. Bo

th H

ud

son

an

d Je

nki

ns

con

sid

er t

he

oth

er t

o b

e a

fork

, wit

h s

epa-

rate

dev

elo

pm

ent

bra

nch

es.

Win

ner

of

the

20

08

Du

ke’s

Ch

oic

e

Aw

ard

(as

Hu

dso

n)

in t

he

Dev

elo

per

So

luti

on

s ca

tego

ry, J

enki

ns

pro

vid

es a

n

easy

-to

-use

, GU

I-b

ased

co

nfi

gura

ble

syst

em f

or

inte

grati

ng

chan

ges

to a

pro

ject

, ob

tain

ing

exp

lici

t fr

esh

bu

ild

s

of

a p

roje

ct, s

ched

uli

ng

futu

re b

uil

ds,

and

mo

nit

ori

ng

the

resu

lts

of

exte

rnal

ly

run

job

s (s

uch

as

cro

n jo

bs)

, in

clu

din

g

tho

se t

hat

exe

cute

on

rem

ote

mac

hin

es.

Res

ult

s ca

n b

e m

on

ito

red

via

e-m

ail o

r

RS

S, a

nd

th

ird

-par

ty p

lug-

ins

off

er a

dd

i-

tio

nal

ext

ensi

ble

fu

ncti

on

alit

y.

Jen

kin

s is

wri

tten

in Ja

va, a

nd

ru

ns

in a

Ser

vlet

co

nta

iner

(su

ch a

s To

mca

t

or

Gla

ssF

ish

). I

t ca

n e

xecu

te A

nt-

an

d

Mav

en-b

ased

pro

ject

s as

wel

l as

sim

ple

shel

l scr

ipts

an

d W

ind

ow

s b

atch

co

m-

man

ds,

an

d c

an d

istr

ibu

te b

uil

d/

test

load

s to

mu

ltip

le c

om

pu

ters

, as

wel

l

as k

eep

tra

ck o

f w

hic

h b

uil

ds

pro

du

ced

wh

ich

JAR

s. P

lug-

ins

pro

vid

e in

tegr

atio

n

wit

h m

ost

ver

sio

n c

on

tro

l sys

tem

s an

d

bu

g d

atab

ases

an

d c

an a

dd

new

fu

nc-

tio

nal

ity

or

even

ch

ange

th

e ap

pea

ran

ce

of

Jen

kin

s. M

ean

wh

ile,

bu

ild

tes

t re

po

rts

can

be

gen

erat

ed in

a v

arie

ty o

f fo

rmat

s

(JU

nit

is s

up

po

rted

ou

t o

f th

e b

ox)

.

Cru

iseC

on

tro

l. W

ritt

en in

Java

,

Cru

iseC

on

tro

l pro

vid

es a

n e

xten

sib

le

fram

ewo

rk f

or

cust

om

CI

pro

cess

ing.

Its

feat

ure

s in

clu

de

a W

eb in

terf

ace

to m

on

i-

tor

curr

ent

and

pas

t b

uil

ds;

plu

g-in

s fo

r a

vari

ety

of

sou

rce

con

tro

ls, b

uil

d t

ech

no

lo-

gies

, an

d n

oti

fica

tio

n s

chem

es; i

nte

rfac

es

for

po

pu

lar

bu

ild

au

tom

atio

n t

oo

ls s

uch

as A

nt

and

Mav

en, a

s w

ell a

s a

stan

dar

d

exec

bu

ild

er; a

nd

po

rts

of

Cru

iseC

on

tro

l

for

.NE

T (

Cru

iseC

on

tro

l.N

ET

) an

d R

ub

y

(Cru

iseC

on

tro

l.rb

).

Too

lsC

lou

d. A

lmo

st in

a c

on

cep

tual

cat

-

ego

ry b

y it

self

, To

ols

Clo

ud

is e

ffec

tive

ly

a h

ybri

d c

lou

d-b

ased

ID

E t

hat

incl

ud

es

pro

ject

man

agem

ent,

CI

fun

ctio

nal

ity

(in

clu

din

g b

uil

d a

uto

mati

on

an

d a

uto

-

mat

ed t

esti

ng

), m

etri

cs a

nd

an

alys

is,

and

a b

road

arr

ay o

f d

evel

op

men

t to

ols

.

Ava

ilab

le v

ia a

mo

nth

ly s

ub

scri

pti

on

pla

n,

and

ho

sted

on

Am

azo

n E

lasti

c C

om

pu

te

Clo

ud

(E

C2

), T

oo

lsC

lou

d in

clu

des

Git

(so

ftw

are

con

figu

rati

on

man

agem

ent)

,

Red

min

e (p

roje

ct m

anag

emen

t an

d b

ug-

trac

kin

g to

ol)

, Nex

us

(arti

fact

man

age-

men

t), H

ud

son

/Je

nki

ns

(CI)

, an

d m

ore

.

Too

lsC

lou

d f

eatu

res

a m

anag

emen

t

cale

nd

ar a

nd

tra

ckin

g, r

epo

rtin

g, a

nd

sta

-

tisti

cs t

oo

ls a

s w

ell a

s m

etri

cs h

isto

ry a

nd

anal

ysis

to

ols

. It

easi

ly in

tegr

ates

wit

h

you

r ID

E o

f ch

oic

e.

03

OP

EN

SO

UR

CE

MO

DU

LES

Bec

ause

mo

der

n s

oft

war

e d

evel

op

men

t

invo

lves

geo

grap

hic

ally

dis

trib

ute

d t

eam

s

that

use

div

erse

op

en s

ou

rce

mo

du

les

and

fra

mew

ork

s ac

qu

ired

fro

m a

cro

ss

the

inte

rnet

, pro

ject

s ca

n r

un

co

nsi

der

-

able

sec

uri

ty, c

on

sist

ency

, an

d r

elia

bil

ity

risk

s. A

cco

rdin

g to

a s

urv

ey c

on

du

cted

by

So

nat

ype,

mo

re t

han

80

per

cen

t o

f ty

pi-

cal s

oft

war

e ap

pli

cati

on

s co

nsi

st o

f o

pen

sou

rce

com

po

nen

ts a

nd

fra

mew

ork

s. Y

et

man

y st

ud

ies

fin

d a

sta

gge

rin

g u

se o

f vu

l-

ner

able

, in

secu

re, a

nd

no

nd

ocu

men

ted

op

en s

ou

rce

off

erin

gs. S

on

atyp

e fi

nd

s

that

on

ly 3

2 p

erce

nt

of

team

s m

ain

tain

a

det

aile

d “

bil

l of

mat

eria

ls”

reco

rd o

f th

e

op

en s

ou

rce

com

po

nen

ts in

th

eir

dev

el-

op

men

t st

ack.

Th

e su

rvey

als

o r

evea

led

that

on

ly 5

0 p

erce

nt

of

dev

elo

per

s re

po

rt

that

th

eir

com

pan

y h

as a

n o

pen

so

urc

e

soft

war

e p

oli

cy.

Co

de/

arti

fact

rep

osi

tory

. In

ord

er t

o d

eal

wit

h a

n e

ver

gro

win

g an

d e

ver

mo

re c

om

-

ple

x o

pen

so

urc

e ec

osy

stem

, en

terp

rise

s

are

incr

easi

ngl

y tu

rnin

g to

co

de

rep

osi

to-

ries

an

d c

ach

ed r

epo

sito

ry m

anag

emen

t

syst

ems—

esta

bli

shin

g a

cen

tral

ized

,

secu

re, a

nd

man

aged

co

de

rep

osi

tory

fo

r

the

arti

fact

s re

qu

ired

to

bu

ild

an

d m

ain

-

tain

pro

ject

s.

A c

od

e re

po

sito

ry e

stab

lish

es a

pla

tfo

rm

for

the

sto

rage

, ret

riev

al, a

nd

man

age-

men

t o

f th

e b

inar

y so

ftw

are

arti

fact

s an

d

met

adat

a n

eces

sary

for

a gi

ven

pro

ject

or

app

licati

on

. Th

e in

form

atio

n is

arc

hiv

ed

and

org

aniz

ed in

su

ch a

way

th

at b

uild

too

ls s

uch

as

Mav

en o

r A

nt/

Ivy

can

eff

ec-

tive

ly lo

cate

an

d p

roce

ss t

he

info

rmati

on

.

In t

he

case

of

a ty

pic

al M

aven

rep

osi

-

tory

, th

e b

inar

y ar

tifa

ct is

a JA

R fi

le, b

ut

it

cou

ld ju

st a

s ea

sily

be

a F

lash

lib

rary

or

a R

ub

y li

bra

ry. W

hen

a M

aven

PO

M fi

le

list

s a

pro

ject

dep

end

ency

th

at in

clu

des

a re

po

sito

ry-b

ased

en

try,

it d

ow

nlo

ads

that

en

try’

s P

OM

, an

d t

hen

do

wn

load

s

any

lib

rari

es o

r m

od

ule

s re

qu

ired

by

that

dep

end

ency

. Th

is a

bil

ity

to d

eter

min

e

a p

roje

ct’s

dep

end

enci

es a

nd

tra

nsi

tive

dep

end

enci

es is

mad

e p

oss

ible

by

the

stan

dar

ds

and

str

uct

ure

of

the

rep

osi

tory

.

So

nat

ype/

Cen

tral

rep

osi

tory

. Th

e d

efau

lt

con

figu

rati

on

of M

aven

ret

riev

es s

oft

-

war

e ar

tifa

cts

fro

m t

he

Cen

tral

rep

osi

-

tory

, a p

ub

lic

faci

lity

th

at is

ste

war

ded

by

So

nat

ype.

Cen

tral

rep

ort

edly

rec

eive

s

fou

r b

illi

on

req

ues

ts p

er y

ear,

co

nta

ins

300

,00

0 c

om

po

nen

ts, a

nd

is a

cces

sed

by

60

,00

0 d

evel

op

men

t o

rgan

izati

on

s

wo

rld

wid

e. T

he

aver

age

ente

rpri

se r

epo

rt-

edly

do

wn

load

s m

ore

th

an 1

,00

0 u

niq

ue

com

po

nen

ts fr

om

Cen

tral

eac

h m

on

th.

Rep

osi

tori

es s

uch

as

Cen

tral

an

d t

oo

ls

such

as

Mav

en t

ypic

ally

use

a G

rou

p,

Arti

fact

, Ver

sio

n (

GA

V)

“co

ord

inat

e” s

ys-

tem

as

a m

ean

s o

f st

ori

ng

and

loca

tin

g

a gi

ven

arti

fact

: htt

p:/

/re

po

1.m

aven

.org

/

gro

up

ID/

arti

fact

ID/

vers

ion

/.

Fo

r ex

amp

le, c

om

po

nen

ts p

rod

uce

d b

y

the

Mav

en p

roje

ct a

t th

e A

pac

he

So

ftw

are

Fo

un

dati

on

wo

uld

be

sto

red

/lo

cate

d

un

der

a g

rou

pID

of

org

.ap

ach

e.m

aven

.

An

arti

fact

ID is

th

e id

enti

fier

fo

r a

give

n

com

po

nen

t. T

he

com

bin

atio

n o

f gr

ou

pID

EX

PE

RT

OP

INIO

N

“Usi

ng

Je

nk

ins

is li

ke

hav

ing

an

ext

ra m

emb

er

in y

our

dev

elop

men

t te

am.

It r

elen

tles

sly

bu

ilds

and

test

s yo

ur

soft

war

e, p

reve

nti

ng

mis

take

s

and

fre

ein

g u

p t

ime

so t

hat

you

r te

am c

an

focu

s on

sim

ply

pro

du

cin

g g

reat

sof

twar

e.”

—J

uli

an

o V

ian

a,

Fou

nd

er a

nd

CT

O o

f L

ogic

Sty

le

Page 5: Java magazine july/august 2012

OR

AC

LE

.CO

M/J

AV

AM

AG

AZ

INE

////

////

////

////

////

////

////

////

////

////

//J

UL

Y/A

UG

US

T 2

012

38

blog

01

02

03

04

05

06

CH

OO

SE

YO

UR

TO

OL

JAVA TECHCOMMUNITY JAVA IN ACTION ABOUT US

and

arti

fact

ID u

niq

uel

y id

enti

fies

a g

iven

pro

ject

, an

d t

he

vers

ion

iden

tifi

er s

pec

i-

fies

th

e ve

rsio

n o

f th

e p

roje

ct, w

hil

e th

e

pac

kagi

ng

iden

tifi

er s

pec

ifies

th

e b

inar

y

soft

war

e fo

rmat

.

On

ce a

n a

rtifa

ct is

ass

ign

ed a

rel

ease

nu

mb

er o

n C

entr

al, t

he

file

co

nte

nts

can

no

t b

e al

tere

d. T

he

Cen

tral

rep

osi

tory

also

co

nta

ins

cryp

togr

aph

ic h

ash

es a

nd

PG

P s

ign

atu

res

that

can

be

use

d t

o v

erif

y

arti

fact

au

then

tici

ty a

nd

inte

grit

y.

Wh

ile

Mav

en c

an b

e co

nfi

gure

d t

o

retr

ieve

so

ftw

are

arti

fact

s d

irec

tly

fro

m

on

e o

f th

e m

any

Cen

tral

mir

ror

site

s

aro

un

d t

he

wo

rld

(o

r an

y ex

tern

al r

epo

si-

tory

), a

n in

crea

sin

gly

po

pu

lar

op

tio

n t

hat

is f

aste

r, m

ore

sec

ure

, an

d m

ore

eas

-

ily

man

aged

is t

o e

mp

loy

a re

po

sito

ry

man

ager

as

a lo

call

y co

ntr

oll

ed p

roxy

to

Cen

tral

an

d o

ther

arti

fact

rep

osi

tori

es

(su

ch a

s th

ose

pro

vid

ed b

y O

racl

e, R

ed

Hat

, an

d C

od

ehau

s).

04

SO

FT

WA

RE

CO

NF

IG M

AN

AG

EM

EN

T

05

RE

PO

SIT

OR

Y M

AN

AG

EM

EN

T

So

ftw

are

con

figu

rati

on

man

agem

ent

(SC

M)

enta

ils

rigo

rou

sly

con

tro

llin

g

and

tra

ckin

g ch

ange

s m

ade

to s

oft

-

war

e, a

nd

incl

ud

es a

su

bfu

ncti

on

alit

y

of

revi

sio

n c

on

tro

l (ve

rsio

n h

and

lin

g).

Dev

elo

pm

ent

too

ls s

uch

as

Hu

dso

n a

nd

Jen

kin

s (e

xplo

red

ear

lier

) o

ffer

su

pp

ort

for

a va

riet

y o

f su

ch S

CM

to

ols

, in

clu

din

g

Cle

arca

se, C

VS

, Git

, an

d S

ub

vers

ion

.

Git

. Git

off

ers

a d

istr

ibu

ted

rev

isio

n c

on

-

tro

l an

d S

CM

sys

tem

, su

itab

le t

o h

and

le

bo

th la

rge

and

sm

all d

evel

op

men

t p

roj-

ects

. Git

Hu

b p

rovi

des

a c

oll

abo

rati

ve,

Web

-bas

ed fa

cili

ty t

o m

anag

e b

oth

pu

bli

c

and

pri

vate

Git

rep

osi

tori

es. W

ritt

en

usi

ng

Ru

by

on

Rai

ls, G

itH

ub

is t

he

mo

st

po

pu

lar

Git

ho

stin

g si

te, p

rovi

din

g so

cial

net

wo

rkin

g fu

ncti

on

alit

y an

d u

sage

dat

a

spec

ifica

lly

dir

ecte

d t

ow

ard

co

llab

ora

tive

dev

elo

pm

ent.

A r

epo

sito

ry m

anag

emen

t sy

stem

off

ers

a lo

call

y ca

ched

pro

xy b

etw

een

dev

elo

p-

men

t te

ams

and

ext

ern

al r

epo

sito

ries

. It

spee

ds

do

wn

load

tim

es, e

nsu

res

man

-

aged

an

d c

on

figu

rab

le a

cces

s to

bo

th

exte

rnal

arti

fact

s an

d in

tern

ally

cre

-

ated

mo

du

les,

an

d p

rovi

des

tag

ged

an

d

sear

chab

le m

etad

ata.

So

nat

ype

Nex

us.

Nex

us

is a

man

aged

,

cen

tral

po

int

of

acce

ss f

or

exte

rnal

rep

os-

ito

ries

, off

erin

g co

nfi

gura

ble

per

mis

sio

ns

and

cu

sto

miz

able

/se

arch

able

use

r-

defi

ned

met

adat

a. F

igu

re 1

dep

icts

ho

w

a re

po

sito

ry m

anag

er fi

ts in

to a

typ

ical

dev

elo

pm

ent

pro

cess

.

Nex

us

pro

vid

es a

cen

tral

ized

po

int

for

man

aged

acc

ess

of

op

en s

ou

rce

soft

war

e

com

po

nen

ts a

nd

th

eir

dep

end

enci

es,

serv

ing

as a

co

nfi

gura

ble

pro

xy b

etw

een

org

aniz

atio

nal

an

d p

ub

lic

rep

osi

tori

es.

Nex

us

off

ers

cach

ed c

om

po

nen

ts f

or

qu

ick

do

wn

load

, en

sure

s th

at a

ll u

sers

acce

ss t

he

sam

e m

od

ule

s, e

nab

les

secu

re

and

co

ntr

oll

able

dep

loym

ent

of

inte

rnal

ly

dev

elo

ped

co

mp

on

ents

, an

d p

rovi

des

con

figu

rab

le, p

artn

er-s

pec

ific

acce

ss.

Mea

nw

hil

e, u

ser-

defi

ned

met

adat

a o

ffer

s

rich

an

d c

ust

om

izab

le s

earc

h c

apab

iliti

es.

JFro

g A

rtifa

cto

ry. W

inn

er o

f th

e 2

011

Du

ke’s

Ch

oic

e A

war

d f

or

Inn

ova

tive

To

ol

for

Dev

elo

per

s, JF

rog

Arti

fact

ory

is a

Java

-

bas

ed b

inar

y fi

le r

epo

sito

ry m

anag

emen

t

too

l, w

ith

a f

ree

op

en s

ou

rce

vers

ion

, a

pai

d P

ro v

ersi

on

, an

d a

so

ftw

are-

as-

a-se

rvic

e (S

aaS

) cl

ou

d-b

ased

ver

sio

n

(Arti

fact

ory

On

lin

e). F

igu

re 2

sh

ow

s h

ow

Arti

fact

ory

act

s as

a p

roxy

bet

wee

n y

ou

r

Mav

en c

lien

t an

d t

he

ou

tsid

e w

orl

d.

JFro

g A

rtifa

cto

ry s

erve

s as

a p

roxy

bet

wee

n b

uil

d t

oo

ls s

uch

as

Mav

en, A

nt,

EX

PE

RT

OP

INIO

N

“Ne

xu

s is

a r

ock-

solid

vau

lt

for

you

r b

inar

ies,

tai

lor-

mad

e fo

r a

Mav

en-b

ased

bu

ild p

roce

ss.”

—J

oh

n F

erg

uso

n S

ma

rt,

CE

O, W

akal

eo C

onsu

ltin

g

“Art

ifa

cto

ry is

a g

reat

choi

ce f

or D

evO

ps.

Its

inte

gra

tion

wit

h J

enki

ns

offer

s fu

ll tr

acea

bili

ty

acro

ss b

uild

s, li

nks

bac

k to

tic

kets

, an

d

allo

ws

com

fort

able

bu

ild p

rom

otio

ns.

Eas

y

con

fig

ura

tion

, op

enn

ess,

an

d e

xten

sib

ility

mak

e J

enki

ns

a ce

ntr

al s

ervi

ce h

ub

an

d a

smar

t b

ackb

one

of y

our

con

tin

uou

s d

eliv

-

ery

and

Dev

Op

s in

fras

tru

ctu

re.”

—M

ich

ae

l Hü

tte

rma

nn

, Jav

a C

ham

pio

n

Fig

ure

1

Nexu

s OS

Cent

ral R

epos

itory

Build

/CI

Syst

ems

Deve

lope

r Tea

ms

Page 6: Java magazine july/august 2012

OR

AC

LE

.CO

M/J

AV

AM

AG

AZ

INE

////

////

////

////

////

////

////

////

////

////

//J

UL

Y/A

UG

US

T 2

012

39

blog

01

02

03

04

05

06

CH

OO

SE

YO

UR

TO

OL

JAVA TECHCOMMUNITY JAVA IN ACTION ABOUT US

Wh

ile

no

t ex

pli

citl

y d

irec

ted

at

coll

abo

ra-

tive

so

ftw

are

dev

elo

pm

ent/

man

agem

ent,

run

tim

e an

alys

is t

oo

ls o

ffer

an

ess

enti

al

deb

ug

gin

g/tu

nin

g w

ind

ow

into

ap

pli

ca-

tio

ns

du

rin

g ac

tual

exe

cuti

on

an

d a

re,

ther

efo

re, a

n o

ften

-use

d t

oo

l cla

ss in

th

e

dev

elo

pm

ent

life

cycl

e.

Vis

ual

VM

.Vis

ual

VM

pro

vid

es a

n in

tuiti

ve,

grap

hic

al in

terf

ace

that

all

ow

s d

evel

op

ers

to m

on

ito

r an

d t

rou

ble

sho

ot

exec

uti

ng

Java

ap

pli

cati

on

s. W

hil

e V

isu

alV

M it

self

req

uir

es JD

K 6

to

ru

n, i

t ca

n m

on

ito

r an

y

app

lica

tio

n r

un

nin

g at

JDK

1.4

.2 o

r gr

eate

r.

Uti

lizi

ng

such

tec

hn

olo

gies

as

jvm

stat

,

Java

Man

agem

ent

Ext

ensi

on

s (J

MX

), t

he

Ser

vice

abil

ity

Age

nt

(SA

), a

nd

th

e A

ttac

h

AP

I, V

isu

alV

M d

isp

lays

bo

th lo

cal a

nd

rem

ote

ap

pli

cati

on

s, o

ffer

ing

visu

al d

ata

on

CP

U u

sage

, Gar

bag

e C

oll

ecti

on

(G

C)

acti

vity

, hea

p a

nd

per

man

ent

gen

erati

on

mem

ory

, lo

aded

cla

sses

, ru

nn

ing

thre

ads,

and

mo

re. V

isu

alV

M a

lso

all

ow

s fo

r o

fflin

e

anal

ysis

of

core

du

mp

s, a

s w

ell a

s an

aly-

sis

of

take

n t

hre

ad d

um

ps,

hea

p d

um

ps,

and

pro

file

r sn

apsh

ots

. An

d b

ecau

se

Vis

ual

VM

is b

uil

t o

n t

he

Net

Bea

ns

pla

t-

form

, it

is r

ead

ily

exte

nsi

ble

wit

h p

lug-

ins

(ava

ilab

le a

t th

e V

isu

alV

M P

lugi

n C

ente

r).

Fin

ally

, Vis

ual

VM

can

be

inte

grat

ed w

ith

such

ID

Es

as E

clip

se a

nd

Net

Bea

ns.

JReb

el. D

evel

op

ed b

y Je

vgen

i Kab

ano

v

and

To

om

as R

öm

er o

f Z

ero

Turn

aro

un

d,

JReb

el is

a p

lug-

in f

or

the

Java

Vir

tual

Mac

hin

e (J

VM

) th

at e

nab

les

inst

ant

relo

adin

g o

f ch

ange

s m

ade

to a

Java

clas

s fi

le. I

n 2

011

, JR

ebel

wo

n t

he

JAX

Inn

ova

tio

n A

war

d f

or

Mo

st I

nn

ova

tive

Java

Tec

hn

olo

gy. A

t Ja

vaO

ne

20

11, J

Reb

el

was

aw

ard

ed t

he

Du

ke’s

Ch

oic

e A

war

d

for

Inn

ova

tive

Co

mp

iler

fo

r Ja

va C

od

e.

Java

-bas

ed a

nd

usa

ble

on

an

y o

per

at-

ing

syst

em t

hat

su

pp

ort

s Ja

va, J

Reb

el is

IDE

agn

osti

c an

d d

esig

ned

fo

r in

tegr

a-

tio

n w

ith

var

iou

s Ja

va E

E s

tan

dar

ds

and

Java

ap

pli

cati

on

ser

vers

. It

is f

reel

y av

ail-

able

to

op

en s

ou

rce

soft

war

e p

roje

cts

and

dev

elo

per

s u

sin

g S

cala

. It

sup

po

rts

imm

edia

tely

vis

ible

co

de

chan

ges

wit

h-

ou

t re

dep

loyi

ng;

han

dle

s ch

ange

s to

cla

ss

stru

ctu

res,

fra

mew

ork

s, a

nd

Java

EE

; an

d

sup

po

rts

all m

ajo

r Ja

va a

pp

lica

tio

n s

erv-

ers,

ID

Es,

an

d f

ram

ewo

rks.

It

elim

inat

es

mem

ory

leak

s an

d b

uil

d ti

me

du

rin

g

dev

elo

pm

ent

and

su

pp

ort

s A

pac

he

An

t

and

Ap

ach

e M

aven

. </article>

06

RU

NT

IME

AN

ALY

SIS

EX

PE

RT

OP

INIO

N

Ste

ve M

elo

an

is a

for

mer

C/U

NIX

sof

twar

e

dev

elop

er w

ho

has

cov

ered

th

e W

eb a

nd

the

inte

rnet

for

su

ch p

ub

licat

ion

s as

Wir

ed,

Rol

ling

Sto

ne,

Pla

yboy

, SF

Wee

kly,

an

d t

he

Sa

n F

ran

cisc

o E

xam

iner

. He

rece

ntl

y p

ub

lish

ed

a sc

ien

ce-a

dve

ntu

re n

ovel

,Th

e S

hro

ud

, an

d

reg

ula

rly

con

trib

ute

s to

Th

e H

uffi

ng

ton

Pos

t.

Ja

nic

e J

. He

iss

is t

he

Jav

a ac

qu

isit

ion

s ed

itor

at

Ora

cle

and

a t

ech

nol

ogy

edit

or a

t J

ava

Ma

ga

zin

e.

Ivy,

Gra

dle

, an

d s

o o

n—

pro

vid

ing

loca

l,

fast

-acc

ess

cach

ing

of

rem

ote

arti

fact

s,

off

erin

g co

nfi

gura

ble

man

agem

ent

of

rep

osi

tory

acc

ess

per

mis

sio

ns

and

cust

om

izab

le/

sear

chab

le u

ser-

defi

ned

met

adat

a. A

rtifa

cto

ry is

bu

ilt

on

to

p o

f

the

Java

Co

nte

nt

Rep

osi

tory

(JC

R),

pac

k-

aged

as

a st

and

ard

Java

EE

Web

ap

pli

ca-

tio

n, a

nd

dep

loya

ble

into

an

y st

and

ard

Ser

vlet

co

nta

iner

(To

mca

t, W

ebS

ph

ere,

JBo

ss, G

lass

Fis

h, a

nd

so

on

.)

Th

e Je

nki

ns

CI

Arti

fact

ory

On

lin

e

rep

osi

tory

ser

vice

—a

Jen

kin

s/JF

rog

coll

abo

rati

on

off

erin

g a

clo

ud

-bas

ed

Arti

fact

ory

rep

osi

tory

so

luti

on

dev

elo

ped

spec

ifica

lly

for

the

Jen

kin

s co

mm

un

ity—

was

an

no

un

ced

at

the

Ap

ril 2

012

Jen

kin

s

Use

r C

on

fere

nce

in P

aris

, Fra

nce

.

“Vis

ua

lVM

is a

too

l th

at

ever

y J

ava

dev

elop

er

shou

ld b

ecom

e fa

mili

ar

wit

h. I

t co

mes

as

par

t

of e

very

mod

ern

Jav

a S

DK

an

d e

nab

les

dev

elop

ers

to v

isu

aliz

e th

e in

tern

als

of

thei

r ap

plic

atio

ns

as t

hey

ru

n, h

elp

ing

dia

gn

ose

even

th

e m

ost-

diffi

cult

per

-

form

ance

pro

ble

ms.

An

d t

he

inte

gra

tion

wit

h B

Tra

ce m

ean

s th

at y

ou c

an p

erfo

rm

com

ple

x in

spec

tion

s on

ru

nn

ing

pro

du

c-

tion

sys

tem

s, w

ith

out

affec

tin

g e

nd

-use

r

exp

erie

nce

.”

—J

uli

an

o V

ian

a,

Fou

nd

er a

nd

CT

O o

f L

ogic

Sty

le

“I t

hin

k V

isu

alV

M is

un

der

rate

d b

y m

any

Jav

a

dev

elop

ers.

Not

on

ly d

oes

it e

nab

le y

ou t

o m

onit

or

mem

ory

con

sum

pti

on a

nd

th

read

s, it

’s

inva

luab

le w

hen

it c

omes

to

mem

ory

anal

ysis

. Wit

h t

his

too

l, I’v

e ea

sily

fou

nd

the

cau

ses

of a

nu

mb

er o

f m

emor

y le

aks

in c

ust

omer

pro

ject

s.”

—F

ab

rizi

o G

iud

ici,

Sen

ior

Jav

a A

rch

itec

t, T

idal

wav

e

Artif

acto

ry

Mav

en C

lient

s

Rem

ote

Repo

sito

ries

Fig

ure

2