1004 z2 env_positioned
-
Upload
henning-blohm -
Category
Technology
-
view
901 -
download
0
Transcript of 1004 z2 env_positioned
© ZFabrik Software KG 2010
Intro
● The z2 Environment lives on sources ● It removes the complexities of build & deploy ● It implements immediate integration● We will compare this with
A)The classical way of Java team development
B)The Maven approach
© ZFabrik Software KG 2010
What's the Problem?
Have a consistently up-to-date execution environment for development and production
Efficiently develop and support your solution
© ZFabrik Software KG 2010
In Principle...Sources
Developers
Define what'shappening there
Modify
Test,
debug,
support
Dev
, Q
A,
or P
rod.
Run
time
© ZFabrik Software KG 2010
So, Where is the Problem?
● Java application servers do not live on sources but rather on binaries
● It is up to the development organization to (somehow) provide those binaries and hence... ● … find out what binaries are affected by a change● … find out what binaries belong to one solution● … keep development environments up-to-date● … integrate changes (continuously)● … live with delays between commit and run
© ZFabrik Software KG 2010
Deployables
The “classical” approach
Dev
. Run
time
Sources
Dev
elop
ers
(wor
kspa
ce)
Check out and
comm
it changes
Nightly build(everything?)
deploy/push(everything?)
Deployables
Dev build(what?)
QA
. R
untim
e
debug
deploy/push(what?)
central
local
© ZFabrik Software KG 2010
Deployables
The “classical” approach
Dev
. Run
time
Sources
Dev
elop
ers
(wor
kspa
ce)
Check out and
comm
it changes
Nightly build(everything?)
deploy/push(everything?)
Deployables
Dev build(what?)
QA
. R
untim
e
debug
deploy/push(what?)
central
local
How “equal” are these?
How “hard” is it to get thisup to date?
What are the sources of what you are debugging (but others change)?
How “hard” is it to introduce a
structural change?
© ZFabrik Software KG 2010
The “classical” approach
● Ok for monolithic projects (only few deployables)
● Breaks for modular systems (too complex to keep in sync: Due to the “push” approach, it's up to the developer to keep things straight)
● Breaks for large projects (turn around times too long)
● Summary: Simple but doesn't scale.
© ZFabrik Software KG 2010
The Maven Way
Dev
. Run
time
Sources
Dev
elop
ers
(wor
kspa
ce)
Check out and
comm
it changes
ContinuousIntegration
Deployables
QA
. R
untim
e
debugde
ploy
/pus
h
SNAPSHOT Repo
Release Repo
Dev Build(mvn)
rele
ase
depl
oy/p
ush
deploy/push
depoy
central
local
© ZFabrik Software KG 2010
The Maven Way
Dev
. Run
time
Sources
Dev
elop
ers
(wor
kspa
ce)
Check out and
comm
it changes
ContinuousIntegration
Deployables
QA
. R
untim
e
debugde
ploy
/pus
h
SNAPSHOT Repo
Release Repo
Dev Build(mvn)
rele
ase
depl
oy/p
ush
deploy/push
depoy
central
local
Who maintains all this
infrastructure?
How hard is it to keep the
dependency version vector right?
How “equal” are these?
How “hard” is it to get thisup to date?
What are the sources of what you are debugging (but others change)?
binary release management requires
extreme care
© ZFabrik Software KG 2010
The Maven Way
● Maven is built around versioning, versioned dependency and release processes for binaries
● It does not address the system consistency side of things
● It is geared towards a distributed, independent community of producers of libraries
● It does not care about source consistency● Summary: Useful for the community, much less
interesting for solution providers.
© ZFabrik Software KG 2010
And in z2
Sources
Debug
Pull what has changedsince the last pull
Pull from workspace with prio
Dev
or
QA
Run
time
Dev
. R
untim
eQ
A.
Run
time
central
Dev
elop
ers
(wor
kspa
ce)
Check out and
comm
it changes
Pull what has changed
since the last pull
© ZFabrik Software KG 2010
In z2
● A runtime that updates itself on-demand, according to changes in source repositories
● Developer runtime takes developer workspace into account with preference
● The runtime is a faithful representation of the repository – no question where sources are.
● Almost like a scripting environment
© ZFabrik Software KG 2010
Summary
● Standard Java development approaches do either not scale (classical approach) or do not have solution providers in mind
● The z2 Environment is most useful for team development of solutions, rather than for providing libraries to the community
© ZFabrik Software KG 2010
More Information
Try it out at:
www.z2-environment.de
Contact us at: