SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
Stop wasting your time with Java build tools
Henning Blohm
Henning.blohm@zfabrik.de – ZFabrik Software KG
Part 1:
No need for build infrastructure
–
In particular not for large projects
What‘s missing?
Why would you need more than that?
Source code and
configuration
Execution Environment
Just works!
You do not! In fact, this is how
• Large business solutions (SAP ABAP),
• Your favorite scripting language,
• Even stuff like Apache OfBiz
work.
Note: I did not say compile-free!
This is also how Z2 works!
Z2-Environment:
• Pull from various sources
• Do whatever is needed to run
Development with Z2
Scale out
See also http://www.z2-environment.net/blog/2013/01/z2-deployment-potpourri/
Benefits
No build engineering
→ No local build config, fast dev setup
Smaller checkouts, no deploy
→ Less re-compiling, faster roundtrips
System-centric
→ Always up-to-date, always integrated
Pull-approach
→ Easy to scale-out
Does this work … really?
Can you do normal Java Apps with that?
Absolutely!
Just wait a few minutes…
Part 2:
Why build tools are actually harmful
Real world builds
Example: SaaS project in production
• ca. 350 kLoC Java in 15 Maven modules
• Full mvn rebuild (w/o tests) in 4.5 min
• Full deploy and restart in roughly 15 min
• Produces a few Web apps and some
Development workflow
1. Pull changes / clone the whole project
2. Make sure IDE can deploy & run the apps
3. Change & Commit
4. Rebase, re-build, re-deploy, re-test
5. Push
6. Wait for CI to show a green light
Lots of frequently broken assumptions:
• Do you have the right runtime config?
• Does you IDE produce the real output?
• Are you changes incorporated elsewhere?
Slow and error-prone!
Gets harder and harder!
What happened?
What is happening here?
Build tool + IDE + You
vs.
A structural mismatch!
Yet another case of impedance mismatch
Project Structure
≠
Execution & Deployment Model
Is that really so bad?
• Problem stays small if projects stay small
• Successful applications however:
• Do not stay small
• Do not de-compose into independently versioned
small projects easily
• Productivity goes down
So Maven does not deliver?
Maven solves an important
collaboration problem:
Sharing assets among
independent organizations
The re-use mechanisms stop
working well at more complex
solutions.
It does not scale that well within
one organization what works
collaboratively on one solution!
Part 3:
Z2 & a demonstration
Overcome the impedance mismatch
In Z2:
• Repository structure = runtime model
• Deploy becomes Synchronize
For example:
A Java component that holds
implementation and API types of the module
com.zfabrik.sample.digester.admin
A Web app component that will be loaded
by the Web container. In this case a Vaadin
Application with Spring.
Another Java component. This one holds
domain definitions and is re-used from
other modules.
Demo
Now, let’s take a look (demo)
Is there a technology barrier?
Typically, Java frameworks are coming along
nicely with Z2. For example:
• Spring
• Spring AspectJ
• Hibernate
• Hadoop & HBase
• Groovy
• Jax-WS
• Vaadin
• RAP
• BIRT
• …
Modes of Operation
• Full-fletched w/ Worker Processes
• Most-flexible, most powerful
• Inside another Web Container
• If that’s a given
• Command line
• Extends solution with CLII
Summary
Java Build tools for business solutions are a
remnant of the past
If you do not need to deploy on Websphere
et al, consider leaving that past behind
Want to be involved?
Z2 is Open-Source Software
If you think this interesting and useful, if you
want to participate, adapt, or improve:
Get in touch with us!
Powered-by
Wiki & Forum:
http://redmine.z2-environment.net/
Blog:
http://www.z2-environment.net/blog/
Where would you rather be?

Contenu connexe

Tendances

Devops e a nova cultura - TDC Florianopolis 2015
Devops e a nova cultura - TDC Florianopolis 2015Devops e a nova cultura - TDC Florianopolis 2015
Devops e a nova cultura - TDC Florianopolis 2015Christophe Marchal
 
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...DevOpsDays Tel Aviv
 
React Native Intro
React Native IntroReact Native Intro
React Native IntroJulia Vi
 
Microservices Architecture: Nirvana or Nightmare
Microservices Architecture: Nirvana or NightmareMicroservices Architecture: Nirvana or Nightmare
Microservices Architecture: Nirvana or NightmareChristophe Marchal
 
Lap around ALM with Visual Studio and TFS 2013
Lap around ALM with Visual Studio and TFS 2013Lap around ALM with Visual Studio and TFS 2013
Lap around ALM with Visual Studio and TFS 2013Paul Hacker
 
What Visual Studio Code can do for Java Development
What Visual Studio Code can do for Java DevelopmentWhat Visual Studio Code can do for Java Development
What Visual Studio Code can do for Java DevelopmentEd Burns
 
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...GreeceJS
 
Dev ops is more than CI+CD tools
Dev ops is more than CI+CD toolsDev ops is more than CI+CD tools
Dev ops is more than CI+CD toolsSudipta Lahiri
 
A culture of Automation - Joe Smith - DevOpsDays Tel Aviv 2017
A culture of Automation - Joe Smith - DevOpsDays Tel Aviv 2017A culture of Automation - Joe Smith - DevOpsDays Tel Aviv 2017
A culture of Automation - Joe Smith - DevOpsDays Tel Aviv 2017DevOpsDays Tel Aviv
 
XRebel - Real Time Insight, Faster Apps
XRebel - Real Time Insight, Faster AppsXRebel - Real Time Insight, Faster Apps
XRebel - Real Time Insight, Faster AppsZeroTurnaround
 
Silverlight vs HTML5 - Lessons learned from the real world...
Silverlight vs HTML5 - Lessons learned from the real world...Silverlight vs HTML5 - Lessons learned from the real world...
Silverlight vs HTML5 - Lessons learned from the real world...Peter Gfader
 
The Perfect Neos Project Setup
The Perfect Neos Project SetupThe Perfect Neos Project Setup
The Perfect Neos Project SetupKarsten Dambekalns
 
Aws, play! couch db scaling soa in the cloud
Aws, play! couch db  scaling soa in the cloudAws, play! couch db  scaling soa in the cloud
Aws, play! couch db scaling soa in the cloudChristophe Marchal
 
corporateJavascript
corporateJavascriptcorporateJavascript
corporateJavascriptclimboid
 
With Great Power comes Great Responsibilities
With Great Power comes Great ResponsibilitiesWith Great Power comes Great Responsibilities
With Great Power comes Great ResponsibilitiesFabrice Bernhard
 
9 Productive Tips to Work Faster
9 Productive Tips to Work Faster9 Productive Tips to Work Faster
9 Productive Tips to Work FasterShore Labs
 

Tendances (20)

Cypress testing
Cypress testingCypress testing
Cypress testing
 
Devops e a nova cultura - TDC Florianopolis 2015
Devops e a nova cultura - TDC Florianopolis 2015Devops e a nova cultura - TDC Florianopolis 2015
Devops e a nova cultura - TDC Florianopolis 2015
 
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...
 
React Native Intro
React Native IntroReact Native Intro
React Native Intro
 
Microservices Architecture: Nirvana or Nightmare
Microservices Architecture: Nirvana or NightmareMicroservices Architecture: Nirvana or Nightmare
Microservices Architecture: Nirvana or Nightmare
 
Lap around ALM with Visual Studio and TFS 2013
Lap around ALM with Visual Studio and TFS 2013Lap around ALM with Visual Studio and TFS 2013
Lap around ALM with Visual Studio and TFS 2013
 
What Visual Studio Code can do for Java Development
What Visual Studio Code can do for Java DevelopmentWhat Visual Studio Code can do for Java Development
What Visual Studio Code can do for Java Development
 
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
 
Dev ops is more than CI+CD tools
Dev ops is more than CI+CD toolsDev ops is more than CI+CD tools
Dev ops is more than CI+CD tools
 
Kanban stand-up meetings
Kanban stand-up meetingsKanban stand-up meetings
Kanban stand-up meetings
 
Kanban Methodology
Kanban MethodologyKanban Methodology
Kanban Methodology
 
A culture of Automation - Joe Smith - DevOpsDays Tel Aviv 2017
A culture of Automation - Joe Smith - DevOpsDays Tel Aviv 2017A culture of Automation - Joe Smith - DevOpsDays Tel Aviv 2017
A culture of Automation - Joe Smith - DevOpsDays Tel Aviv 2017
 
XRebel - Real Time Insight, Faster Apps
XRebel - Real Time Insight, Faster AppsXRebel - Real Time Insight, Faster Apps
XRebel - Real Time Insight, Faster Apps
 
Silverlight vs HTML5 - Lessons learned from the real world...
Silverlight vs HTML5 - Lessons learned from the real world...Silverlight vs HTML5 - Lessons learned from the real world...
Silverlight vs HTML5 - Lessons learned from the real world...
 
Mercurial
MercurialMercurial
Mercurial
 
The Perfect Neos Project Setup
The Perfect Neos Project SetupThe Perfect Neos Project Setup
The Perfect Neos Project Setup
 
Aws, play! couch db scaling soa in the cloud
Aws, play! couch db  scaling soa in the cloudAws, play! couch db  scaling soa in the cloud
Aws, play! couch db scaling soa in the cloud
 
corporateJavascript
corporateJavascriptcorporateJavascript
corporateJavascript
 
With Great Power comes Great Responsibilities
With Great Power comes Great ResponsibilitiesWith Great Power comes Great Responsibilities
With Great Power comes Great Responsibilities
 
9 Productive Tips to Work Faster
9 Productive Tips to Work Faster9 Productive Tips to Work Faster
9 Productive Tips to Work Faster
 

En vedette

1004 z2 env_positioned
1004 z2 env_positioned1004 z2 env_positioned
1004 z2 env_positionedHenning Blohm
 
talk at jazoon 12 in Zürich
talk at jazoon 12 in Zürichtalk at jazoon 12 in Zürich
talk at jazoon 12 in ZürichHenning Blohm
 
1006 Z2 Intro Complete
1006 Z2 Intro Complete1006 Z2 Intro Complete
1006 Z2 Intro CompleteHenning Blohm
 
130605 buildfrei skalieren_fuer_bigdata
130605 buildfrei skalieren_fuer_bigdata130605 buildfrei skalieren_fuer_bigdata
130605 buildfrei skalieren_fuer_bigdataHenning 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 centuryASQ Reliability Division
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 
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 CarsLinkedIn
 

En vedette (7)

1004 z2 env_positioned
1004 z2 env_positioned1004 z2 env_positioned
1004 z2 env_positioned
 
talk at jazoon 12 in Zürich
talk at jazoon 12 in Zürichtalk at jazoon 12 in Zürich
talk at jazoon 12 in Zürich
 
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
 

Similaire à 130511 stop wasting_your_time

O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialThomas Daly
 
Selecting the Best Javascript Web Framework
Selecting the Best Javascript Web FrameworkSelecting the Best Javascript Web Framework
Selecting the Best Javascript Web FrameworkRajitha Pathiraja
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Adam Mokan
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsAmr E. Mohamed
 
ADUF - Adaptable Design Up Front
ADUF -  Adaptable Design Up FrontADUF -  Adaptable Design Up Front
ADUF - Adaptable Design Up FrontHayim Makabee
 
Create first android app with MVVM Architecture
Create first android app with MVVM ArchitectureCreate first android app with MVVM Architecture
Create first android app with MVVM Architecturekhushbu thakker
 
Maintainable Javascript carsonified
Maintainable Javascript carsonifiedMaintainable Javascript carsonified
Maintainable Javascript carsonifiedChristian Heilmann
 
A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5SSW
 
The JavaScript Delusion
The JavaScript DelusionThe JavaScript Delusion
The JavaScript DelusionJUGBD
 
Devconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedDevconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedAlexander Makarov
 
Software Architecture for Agile Development
Software Architecture for Agile DevelopmentSoftware Architecture for Agile Development
Software Architecture for Agile DevelopmentHayim Makabee
 
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User GroupIs Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User GroupChase Douglas
 
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 JUGJakub Pyda
 
Angular + JHipster - JHipster Conf
Angular + JHipster - JHipster ConfAngular + JHipster - JHipster Conf
Angular + JHipster - JHipster ConfWilliam Marques
 

Similaire à 130511 stop wasting_your_time (20)

O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - Material
 
Selecting the Best Javascript Web Framework
Selecting the Best Javascript Web FrameworkSelecting the Best Javascript Web Framework
Selecting the Best Javascript Web Framework
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-Tools
 
ADUF - Adaptable Design Up Front
ADUF -  Adaptable Design Up FrontADUF -  Adaptable Design Up Front
ADUF - Adaptable Design Up Front
 
Create first android app with MVVM Architecture
Create first android app with MVVM ArchitectureCreate first android app with MVVM Architecture
Create first android app with MVVM Architecture
 
Java Spring
Java SpringJava Spring
Java Spring
 
Build tool
Build toolBuild tool
Build tool
 
Maintainable Javascript carsonified
Maintainable Javascript carsonifiedMaintainable Javascript carsonified
Maintainable Javascript carsonified
 
Zend Code in ZF 2.0
Zend Code in ZF 2.0Zend Code in ZF 2.0
Zend Code in ZF 2.0
 
A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5
 
The Architect Way
The Architect WayThe Architect Way
The Architect Way
 
The JavaScript Delusion
The JavaScript DelusionThe JavaScript Delusion
The JavaScript Delusion
 
4 spring boot
4 spring boot4 spring boot
4 spring boot
 
Devconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedDevconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developed
 
Software Architecture for Agile Development
Software Architecture for Agile DevelopmentSoftware Architecture for Agile Development
Software Architecture for Agile Development
 
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User GroupIs Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
 
Introduction to Spring & Spring BootFramework
Introduction to Spring  & Spring BootFrameworkIntroduction to Spring  & Spring BootFramework
Introduction to Spring & Spring BootFramework
 
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
 
Angular + JHipster - JHipster Conf
Angular + JHipster - JHipster ConfAngular + JHipster - JHipster Conf
Angular + JHipster - JHipster Conf
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
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 Processorsdebabhi2
 
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...Martijn de Jong
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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...Miguel Araújo
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
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 productivityPrincipled Technologies
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 

Dernier (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
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...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

130511 stop wasting_your_time

  • 1. Stop wasting your time with Java build tools Henning Blohm Henning.blohm@zfabrik.de – ZFabrik Software KG
  • 2. Part 1: No need for build infrastructure – In particular not for large projects
  • 3. What‘s missing? Why would you need more than that? Source code and configuration Execution Environment
  • 4. Just works! You do not! In fact, this is how • Large business solutions (SAP ABAP), • Your favorite scripting language, • Even stuff like Apache OfBiz work. Note: I did not say compile-free!
  • 5. This is also how Z2 works! Z2-Environment: • Pull from various sources • Do whatever is needed to run
  • 7. Scale out See also http://www.z2-environment.net/blog/2013/01/z2-deployment-potpourri/
  • 8. Benefits No build engineering → No local build config, fast dev setup Smaller checkouts, no deploy → Less re-compiling, faster roundtrips System-centric → Always up-to-date, always integrated Pull-approach → Easy to scale-out
  • 9. Does this work … really? Can you do normal Java Apps with that? Absolutely! Just wait a few minutes…
  • 10. Part 2: Why build tools are actually harmful
  • 11. Real world builds Example: SaaS project in production • ca. 350 kLoC Java in 15 Maven modules • Full mvn rebuild (w/o tests) in 4.5 min • Full deploy and restart in roughly 15 min • Produces a few Web apps and some
  • 12. Development workflow 1. Pull changes / clone the whole project 2. Make sure IDE can deploy & run the apps 3. Change & Commit 4. Rebase, re-build, re-deploy, re-test 5. Push 6. Wait for CI to show a green light
  • 13. Lots of frequently broken assumptions: • Do you have the right runtime config? • Does you IDE produce the real output? • Are you changes incorporated elsewhere? Slow and error-prone! Gets harder and harder! What happened?
  • 14. What is happening here? Build tool + IDE + You vs. A structural mismatch!
  • 15. Yet another case of impedance mismatch Project Structure ≠ Execution & Deployment Model
  • 16. Is that really so bad? • Problem stays small if projects stay small • Successful applications however: • Do not stay small • Do not de-compose into independently versioned small projects easily • Productivity goes down
  • 17. So Maven does not deliver? Maven solves an important collaboration problem: Sharing assets among independent organizations The re-use mechanisms stop working well at more complex solutions. It does not scale that well within one organization what works collaboratively on one solution!
  • 18. Part 3: Z2 & a demonstration
  • 19. Overcome the impedance mismatch In Z2: • Repository structure = runtime model • Deploy becomes Synchronize
  • 20. For example: A Java component that holds implementation and API types of the module com.zfabrik.sample.digester.admin A Web app component that will be loaded by the Web container. In this case a Vaadin Application with Spring. Another Java component. This one holds domain definitions and is re-used from other modules.
  • 21. Demo Now, let’s take a look (demo)
  • 22. Is there a technology barrier? Typically, Java frameworks are coming along nicely with Z2. For example: • Spring • Spring AspectJ • Hibernate • Hadoop & HBase • Groovy • Jax-WS • Vaadin • RAP • BIRT • …
  • 23. Modes of Operation • Full-fletched w/ Worker Processes • Most-flexible, most powerful • Inside another Web Container • If that’s a given • Command line • Extends solution with CLII
  • 24. Summary Java Build tools for business solutions are a remnant of the past If you do not need to deploy on Websphere et al, consider leaving that past behind
  • 25. Want to be involved? Z2 is Open-Source Software If you think this interesting and useful, if you want to participate, adapt, or improve: Get in touch with us!
  • 28. Where would you rather be?