SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
Beyond Ant & Maven:
System Centric Java
Development with Z2
Henning Blohm
ZFabrik Software KG
Submission #188
The z2-Environment is a radically new
approach to solution life cycle
management in Java

2
Motivation
> Get rid of Build & Deploy
No out-of-sync Build infrastructure
No missing secondary assembly description
No incomplete deployments

> Fix the Integration Leak:
Make sure you get the latest - always
Isolation as exception

> Simplify life-cycle operations:
Develop & Fix
Scale out

In other words: Improve solution life cycle handling
3
The Trouble w/ Build Systems
Local Build environments…

>
>
>
>
>
>

Are complex to maintain and debug
Hold solution artifacts in the wrong place
Repeat structural information of the solution
Decouple Runtime from Solution definition
Make it hard to start something new…
Imply non-trivial investment in production infrastructure

4
Leaking Integration

Runtime

>
>
>
>

You

The Truth

Solutions evolve from small and simple to large and modular
Solution!=infrastructure => Distributed complexity
Sync & Build & Deploy error prone => Developers defer integration
Runtime!=Truth => You are on a deadly non-integration vector!
5
Fixing the Integration Leak
1. Pump!
–
–
–

Add infrastructure on the side to validate and support
E.g. Continuous Integration w/ ANT or Maven (+Repos) et al
But the following seems to be the case:

2. Plug the leak!
–

Z2-Environment
6
How does Z2 work

>
>
>
>

The Z2 runtime loads updates directly from the SCM
Compilation (e.g. for Java) is done by the runtime when necessary
Local override from workspace for local development
The whole solution defined in one repository structure == a System
We call it a System-Centric approach
Travel Portal: About ~250 kLoJC, 7.5kLoJSPC

DEMO
8
Z2 Integrations
> Z2 with Spring
– Spring for the in-module wiring

– Z2 for the cross-module wiring
> Z2 with Hadoop
– Map/Reduce jobs as integrated componens
– Full cross-module re-use
> Z2 with Quartz
– Jobs as integrated components
> ... You get the point.

9
What Z2 is not…
> Z2 is no replacement for Maven
– Maven is for many smallish independent projects that
want to re-use
– I.e. it’s Apache
> Z2 is not useful for library development

– Unless it’s a tool based on the solution
– … Z2 is really for solution development (once more…)
> Z2 is no build tool
– It is possible to download binaries
– Useful for e.g. automated, scheduled Unit Tests
10
Henning Blohm

www.z2-environment.eu

ZFabrik Software KG

henning.blohm@zfabrik.de

Mais conteúdo relacionado

Mais procurados

2013 10-28 php ug presentation - ci using phing and hudson
2013 10-28 php ug presentation - ci using phing and hudson2013 10-28 php ug presentation - ci using phing and hudson
2013 10-28 php ug presentation - ci using phing and hudson
Shreeniwas Iyer
 
SVN Best Practices
SVN Best PracticesSVN Best Practices
SVN Best Practices
abackstrom
 
Virtualization auditing & security deck v1.0
Virtualization auditing & security deck v1.0Virtualization auditing & security deck v1.0
Virtualization auditing & security deck v1.0
Concentrated Technology
 
Scheduler activations
Scheduler activationsScheduler activations
Scheduler activations
Vin Voro
 

Mais procurados (20)

Nguyễn Vũ Hưng: Subversion best practices
Nguyễn Vũ Hưng: Subversion best practicesNguyễn Vũ Hưng: Subversion best practices
Nguyễn Vũ Hưng: Subversion best practices
 
2013 10-28 php ug presentation - ci using phing and hudson
2013 10-28 php ug presentation - ci using phing and hudson2013 10-28 php ug presentation - ci using phing and hudson
2013 10-28 php ug presentation - ci using phing and hudson
 
Yevhenii Ovcharenko "Distributed automation testing using Minikube, Selenium ...
Yevhenii Ovcharenko "Distributed automation testing using Minikube, Selenium ...Yevhenii Ovcharenko "Distributed automation testing using Minikube, Selenium ...
Yevhenii Ovcharenko "Distributed automation testing using Minikube, Selenium ...
 
Svn Basic Tutorial
Svn Basic TutorialSvn Basic Tutorial
Svn Basic Tutorial
 
ppt
pptppt
ppt
 
Deep Dive Modern Apps Lifecycle with Visual Studio 2012: Application Lifecycl...
Deep Dive Modern Apps Lifecycle with Visual Studio 2012: Application Lifecycl...Deep Dive Modern Apps Lifecycle with Visual Studio 2012: Application Lifecycl...
Deep Dive Modern Apps Lifecycle with Visual Studio 2012: Application Lifecycl...
 
SVN Best Practices
SVN Best PracticesSVN Best Practices
SVN Best Practices
 
Top ESXi command line v2.0
Top ESXi command line v2.0Top ESXi command line v2.0
Top ESXi command line v2.0
 
SVN Best Practices
SVN Best PracticesSVN Best Practices
SVN Best Practices
 
Virtualization auditing & security deck v1.0
Virtualization auditing & security deck v1.0Virtualization auditing & security deck v1.0
Virtualization auditing & security deck v1.0
 
Jenkins review buddy
Jenkins review buddyJenkins review buddy
Jenkins review buddy
 
Scheduler activations
Scheduler activationsScheduler activations
Scheduler activations
 
Ci jenkins maven svn
Ci jenkins maven svnCi jenkins maven svn
Ci jenkins maven svn
 
GeekOn with Ron #4: Tuning and Optimizing Your Gold Image
GeekOn with Ron #4: Tuning and Optimizing Your Gold ImageGeekOn with Ron #4: Tuning and Optimizing Your Gold Image
GeekOn with Ron #4: Tuning and Optimizing Your Gold Image
 
Support pattern
Support patternSupport pattern
Support pattern
 
Subversion workshop
Subversion workshopSubversion workshop
Subversion workshop
 
Jenkins introduction
Jenkins introductionJenkins introduction
Jenkins introduction
 
Windows Server 2012 R2 Hyper-V Replica
Windows Server 2012 R2 Hyper-V ReplicaWindows Server 2012 R2 Hyper-V Replica
Windows Server 2012 R2 Hyper-V Replica
 
Server Core2
Server Core2Server Core2
Server Core2
 
A brief introduction to version control systems
A brief introduction to version control systemsA brief introduction to version control systems
A brief introduction to version control systems
 

Destaque

130511 stop wasting_your_time
130511 stop wasting_your_time130511 stop wasting_your_time
130511 stop wasting_your_time
Henning Blohm
 
Accelerated reliability techniques in the 21st century
Accelerated reliability techniques in the 21st centuryAccelerated reliability techniques in the 21st century
Accelerated reliability techniques in the 21st century
ASQ Reliability Division
 

Destaque (7)

130511 stop wasting_your_time
130511 stop wasting_your_time130511 stop wasting_your_time
130511 stop wasting_your_time
 
1004 z2 env_positioned
1004 z2 env_positioned1004 z2 env_positioned
1004 z2 env_positioned
 
1006 Z2 Intro Complete
1006 Z2 Intro Complete1006 Z2 Intro Complete
1006 Z2 Intro Complete
 
130605 buildfrei skalieren_fuer_bigdata
130605 buildfrei skalieren_fuer_bigdata130605 buildfrei skalieren_fuer_bigdata
130605 buildfrei skalieren_fuer_bigdata
 
Accelerated reliability techniques in the 21st century
Accelerated reliability techniques in the 21st centuryAccelerated reliability techniques in the 21st century
Accelerated reliability techniques in the 21st century
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 

Semelhante a talk at jazoon 12 in Zürich

DevHub 3 - Composer plus Magento
DevHub 3 - Composer plus MagentoDevHub 3 - Composer plus Magento
DevHub 3 - Composer plus Magento
Magento Dev
 
Automating development-operations-v1
Automating development-operations-v1Automating development-operations-v1
Automating development-operations-v1
Sumanth Vepa
 
Building an OpenMRS Distribution - Lessons from KenyaEMR
Building an OpenMRS Distribution - Lessons from KenyaEMRBuilding an OpenMRS Distribution - Lessons from KenyaEMR
Building an OpenMRS Distribution - Lessons from KenyaEMR
rowanseymour
 

Semelhante a talk at jazoon 12 in Zürich (20)

JavaEdge 2008: Your next version control system
JavaEdge 2008: Your next version control systemJavaEdge 2008: Your next version control system
JavaEdge 2008: Your next version control system
 
Source control - what you need to know
Source control - what you need to knowSource control - what you need to know
Source control - what you need to know
 
Automating the consumption of Eclipse for internal use
Automating the consumption of Eclipse for internal useAutomating the consumption of Eclipse for internal use
Automating the consumption of Eclipse for internal use
 
Oracle 12c Launch Event 02 ADF 12c and Maven in Jdeveloper / By Aino Andriessen
Oracle 12c Launch Event 02 ADF 12c and Maven in Jdeveloper / By Aino Andriessen Oracle 12c Launch Event 02 ADF 12c and Maven in Jdeveloper / By Aino Andriessen
Oracle 12c Launch Event 02 ADF 12c and Maven in Jdeveloper / By Aino Andriessen
 
SenchaCon 2016: Develop, Test & Deploy with Docker - Jonas Schwabe
SenchaCon 2016: Develop, Test & Deploy with Docker - Jonas Schwabe SenchaCon 2016: Develop, Test & Deploy with Docker - Jonas Schwabe
SenchaCon 2016: Develop, Test & Deploy with Docker - Jonas Schwabe
 
Opendaylight SDN Controller
Opendaylight SDN ControllerOpendaylight SDN Controller
Opendaylight SDN Controller
 
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai..."Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
 
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
 
DevHub 3 - Composer plus Magento
DevHub 3 - Composer plus MagentoDevHub 3 - Composer plus Magento
DevHub 3 - Composer plus Magento
 
Automating development-operations-v1
Automating development-operations-v1Automating development-operations-v1
Automating development-operations-v1
 
Automating Yourself Out of Trouble
Automating Yourself Out of TroubleAutomating Yourself Out of Trouble
Automating Yourself Out of Trouble
 
Agile Software Development & Tools
Agile Software Development & ToolsAgile Software Development & Tools
Agile Software Development & Tools
 
Reusing your existing software on Android
Reusing your existing software on AndroidReusing your existing software on Android
Reusing your existing software on Android
 
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinTech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
 
Continuous Delivery with Spring Cloud Pipelines: Case study. - Lublin JUG
Continuous Delivery with Spring Cloud Pipelines: Case study. - Lublin JUGContinuous Delivery with Spring Cloud Pipelines: Case study. - Lublin JUG
Continuous Delivery with Spring Cloud Pipelines: Case study. - Lublin JUG
 
Docker for Devs - John Zaccone, IBM
Docker for Devs - John Zaccone, IBMDocker for Devs - John Zaccone, IBM
Docker for Devs - John Zaccone, IBM
 
Oleksandr Navka How I Configure Infrastructure of My Project
Oleksandr Navka   How I Configure Infrastructure of My ProjectOleksandr Navka   How I Configure Infrastructure of My Project
Oleksandr Navka How I Configure Infrastructure of My Project
 
Building an OpenMRS Distribution - Lessons from KenyaEMR
Building an OpenMRS Distribution - Lessons from KenyaEMRBuilding an OpenMRS Distribution - Lessons from KenyaEMR
Building an OpenMRS Distribution - Lessons from KenyaEMR
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - Material
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

talk at jazoon 12 in Zürich

  • 1. Beyond Ant & Maven: System Centric Java Development with Z2 Henning Blohm ZFabrik Software KG Submission #188
  • 2. The z2-Environment is a radically new approach to solution life cycle management in Java 2
  • 3. Motivation > Get rid of Build & Deploy No out-of-sync Build infrastructure No missing secondary assembly description No incomplete deployments > Fix the Integration Leak: Make sure you get the latest - always Isolation as exception > Simplify life-cycle operations: Develop & Fix Scale out In other words: Improve solution life cycle handling 3
  • 4. The Trouble w/ Build Systems Local Build environments… > > > > > > Are complex to maintain and debug Hold solution artifacts in the wrong place Repeat structural information of the solution Decouple Runtime from Solution definition Make it hard to start something new… Imply non-trivial investment in production infrastructure 4
  • 5. Leaking Integration Runtime > > > > You The Truth Solutions evolve from small and simple to large and modular Solution!=infrastructure => Distributed complexity Sync & Build & Deploy error prone => Developers defer integration Runtime!=Truth => You are on a deadly non-integration vector! 5
  • 6. Fixing the Integration Leak 1. Pump! – – – Add infrastructure on the side to validate and support E.g. Continuous Integration w/ ANT or Maven (+Repos) et al But the following seems to be the case: 2. Plug the leak! – Z2-Environment 6
  • 7. How does Z2 work > > > > The Z2 runtime loads updates directly from the SCM Compilation (e.g. for Java) is done by the runtime when necessary Local override from workspace for local development The whole solution defined in one repository structure == a System We call it a System-Centric approach
  • 8. Travel Portal: About ~250 kLoJC, 7.5kLoJSPC DEMO 8
  • 9. Z2 Integrations > Z2 with Spring – Spring for the in-module wiring – Z2 for the cross-module wiring > Z2 with Hadoop – Map/Reduce jobs as integrated componens – Full cross-module re-use > Z2 with Quartz – Jobs as integrated components > ... You get the point. 9
  • 10. What Z2 is not… > Z2 is no replacement for Maven – Maven is for many smallish independent projects that want to re-use – I.e. it’s Apache > Z2 is not useful for library development – Unless it’s a tool based on the solution – … Z2 is really for solution development (once more…) > Z2 is no build tool – It is possible to download binaries – Useful for e.g. automated, scheduled Unit Tests 10