Contenu connexe Similaire à 1004 z2 env_positioned (20) 1004 z2 env_positioned1. 2
The z Environment
- positioned -
© ZFabrik Software KG 2010
2. 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
3. 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
4. In Principle...
Dev, QA, or Prod. Runtime
Sources
Define what's
happening there
,
bug
M
de
od
t, t
es por
ify
T p
su
Developers
© ZFabrik Software KG 2010
5. 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
6. The “classical” approach
Sources
Nightly build
QA. Runtime
(everything?)
deploy/push
(everything?)
Deployables
commit changes
Check out and
central
Dev. Runtime
local
Dev build
(what?) deploy/push
(workspace)
Developers
(what?)
Deployables
debug
© ZFabrik Software KG 2010
7. The “classical” approach
Sources
Nightly build
QA. Runtime
(everything?)
deploy/push
(everything?)
Deployables
How “hard” is it to How “equal” are these?
commit changes
Check out and
introduce a
structural change? How “hard” is it to get this
central up to date?
Dev. Runtime
local
Dev build
(what?) deploy/push
(workspace)
Developers
(what?)
Deployables
debug
What are the sources of
© ZFabrik Software KG 2010 what you are debugging (but others change)?
8. 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
9. The Maven Way
Sources
QA. Runtime
Continuous
depoy
Integration
deploy/push
ush
SNAPSHOT Repo
p
loy/
de p
commit changes
Check out and
central se
Release Repo
Dev. Runtime
ea
local
rel
(workspace)
Developers
h
us
/p
oy
Dev Build
pl
de
(mvn) Deployables
debug
© ZFabrik Software KG 2010
10. Who maintains
The Maven Way
all this
infrastructure?
Sources
QA. Runtime
Continuous
depoy
Integration
deploy/push
ush
SNAPSHOT Repo
p
loy/
How hard is it to How “equal” are these?
de p
keep the
commit changes
Check out and
dependency
version vector right? How “hard” is it to get this
central se
up to date?
Release Repo
Dev. Runtime
ea
local
rel
(workspace)
Developers
h
us
/p
oy
Dev Build
pl
de
(mvn) Deployables
binary release
management requires
extreme care debug What are the sources of
© ZFabrik Software KG 2010 what you are debugging (but others change)?
11. 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
12. 2
And in z
Sources
Dev or QA Runtime
QA. Runtime
Pull what has changed
since the last pull
Pull
sinc what h
commit changes
Check out and
e th a
e la s chan
st p
ull ged
central
Dev. Runtime
Pull from workspace with prio
(workspace)
Developers
Debug
© ZFabrik Software KG 2010
13. 2
In z
● 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
14. 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
15. More Information
Try it out at:
www.z2-environment.de
Contact us at:
contact@zfabrik.de
© ZFabrik Software KG 2010