SlideShare a Scribd company logo
1 of 21
Download to read offline
AZ APACHE MAVEN
ÉLETE ÉS HALÁLA
!
Cservenák Tamás
MI AZ APACHE MAVEN?	

Build tool — Mint az Ant?
Dependency management tool — Hasonló mint Ivy?
Site management tool — Csak egy plugin a sok közül
MIVALÓJÁBAN AZ APACHE MAVEN?	

Szoftverfejlesztési Modell — sztenderd projekt layout, build lifecycle és
a függőségek tárolásása és megszerzése
Fejlesztési és infrastrukturális minták — mivel modell alapú,
koherencia a folyamatok és tooling szintjén vs ad-hoc, organikus
Csapatszintű együttműködés és produktivitás — a fejlesztő ne az
infrastruktúrával foglalkozzon, produktivitás vs “hekkelés”,
SOFTWARE DELIVERY CHAIN	

Repository
IDE / CLI SCM CI
Build
Agent
Agent
Agent
Central
Provisioner
SOFTWARE DELIVERY CHAIN	

A fejlesztési infrastruktúrám merőben más? — NEM
A fejlesztési infrastruktúra része a piaci versenyelőnyömnek? — NEM
A MAVEN CÉLKITŰZÉSEI	

Standards and Best Practices for SDCs — pushes best practice down to
the level of the SDC
Provide a shared language for SDC management — tasks of initializing
and maintaining SDCs aren’t performed from scratch over and over
Create healthy and robust build infrastructures — periods of high
change, releases, deadlines.
A MAVENVILÁGA	

Project Object Model descriptor / Inheritance
Standard Project Layout / Convention over Configuration
Dependency Management and Mediation
Modularity / Best Practices / Reuse
Binary Artifact Repository
Standard Software Delivery Chain / Infrastructure
AZ ÚJÍTÁSOK	

Build futási idő
Incremental build
Modern hardver adottságainak kihasználása (multicore)
Remote repository roundtrips
Continuous Delivery
Generations and Workspaces
Atomic deploys
Branched development
NEW!
INCREMENTAL BUILD	

Az Eclipse m2e már tudta ezt, most ez kerül vissza a Maven-be
BuildContext: tudatni a keretrendszerrel mit olvasunk és mit írunk
A keretrendszer megfejti, bogy mit kell újra build-elni
Sok meglévo Mojo-k módosítása
Eclipse JDT incremental compiler integráció, compiler plugin
NEW!
PARALLELISATION	

Maven Core refaktorálva, Builder interfész
Új lehetőségek tárházát nyitja meg, az eddigiekhez képest
Meglévő stratégiák: “Single-threaded”, “Multi-threaded” (és “Weave”)
Új stratégiák, kombinálva a Maven Profiler-rel
NEW!
EXISTING PARALLELISATION	

NEW!
AGRESSIVE PARALLELISATION	

NEW!
AGRESSIVE PARALLELISATION 	

+ MAVEN BUILD PROFILER NEW!
GENERATIONS & WORKSPACES	

“A generation is a binary
representation of your SCM at given
point in time on a given branch”
Félúton a RELEASE és a
SNAPSHOT között (de inkább
release)
Körbejárja az egész SDC-t
A Continuous Delivery alapja
Inkrementális
NEW!
REV:BRANCH
GENERATIONS & WORKSPACES	

NEW!
Generation 100 Generation 101 Generation 102 Generation 103
SCM
rev100:branchX
SCM
rev101:branchX
SCM
rev102:branchX
SCM
rev103:brancX
GENERATIONS & WORKSPACES	

NEW!
Repository
IDE / CLI SCM CI
Build
Agent
Agent
Agent
Provisioner
Felhasználás
Előállítás
GENERATIONS & WORKSPACES	

Fejlesztői oldalon
A Workspace hasonló mint az Eclipse Workspace
Ugrás generációrol generációra (tehát rev és branch)
Projekt részhalmazán dolgozni (forrás vs binary)
NEW!
GENERATIONS & WORKSPACES	

“Delta Protocol” — download és deploy, inkrementális
Atomic deploy
Hardlinking, sparse
NEW!
MINDEN MÁS	

Polyglot Maven: DSLs in Ruby, Groovy, Scala, YAML and Atom
Maven Shell: “does all as m2eclipse from a shell”
NEW!
AETHER ÚJDONSÁGOK	

Local repository — caches published and holds non-published artifacts
Safe concurrent access (multiple processes RW)
Osztott local repository (local vs remote, snapshot vs release)
Remote repository — source of the published artifacts
E-Tag HTTP fejléc használata (HTTP kérések száma feleződik)
Aether Transport: okHttp, HttpClient 4.x
MRM barát HTTP implementáció: 202 Accepted
NEW!
–Jason Van Zyl
“...because Maven just isn't going to die.”

More Related Content

Similar to Life and Death of Apache Maven (HU)

Agile és lean workshop @ Startup Safary
Agile és lean workshop @ Startup SafaryAgile és lean workshop @ Startup Safary
Agile és lean workshop @ Startup SafaryDigital Natives
 
Mi a baj a Drupaloddal
Mi a baj a DrupaloddalMi a baj a Drupaloddal
Mi a baj a Drupaloddalthesnufkin
 
Inventor Poszter
Inventor PoszterInventor Poszter
Inventor Posztergrgly
 
Egy .NET fejlesztő élete a Node.js világában
Egy .NET fejlesztő élete a Node.js világábanEgy .NET fejlesztő élete a Node.js világában
Egy .NET fejlesztő élete a Node.js világábanGyörgy Balássy
 
XXI. századi szoftverfejlesztés
XXI. századi szoftverfejlesztésXXI. századi szoftverfejlesztés
XXI. századi szoftverfejlesztésGyörgy Balássy
 
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenSzerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenKrisztián Gyula Tóth
 
DevOps alapelvek
DevOps alapelvekDevOps alapelvek
DevOps alapelvekfelho
 
Elmű émász tm projekt_koncepció_ ambrus attila_140410
Elmű émász tm projekt_koncepció_ ambrus attila_140410Elmű émász tm projekt_koncepció_ ambrus attila_140410
Elmű émász tm projekt_koncepció_ ambrus attila_140410Tibor Gyulay
 
Mi fán terem a DevOps
Mi fán terem a DevOpsMi fán terem a DevOps
Mi fán terem a DevOpsPéter Tar
 
Virtuális Platformváltás validált környezetben
Virtuális Platformváltás validált környezetbenVirtuális Platformváltás validált környezetben
Virtuális Platformváltás validált környezetbengazdagf
 
T systems - agile workshop 1. session
T systems - agile workshop 1. sessionT systems - agile workshop 1. session
T systems - agile workshop 1. sessionPéter Lukács
 
BME - Szakdolgozat (2014)
BME - Szakdolgozat (2014)BME - Szakdolgozat (2014)
BME - Szakdolgozat (2014)Csaba Szabó
 
SAP megoldáshoz kapcsolódó mobil alkalmazás fejlesztése Sybase Unwired Platfo...
SAP megoldáshoz kapcsolódó mobil alkalmazás fejlesztése Sybase Unwired Platfo...SAP megoldáshoz kapcsolódó mobil alkalmazás fejlesztése Sybase Unwired Platfo...
SAP megoldáshoz kapcsolódó mobil alkalmazás fejlesztése Sybase Unwired Platfo...Norbert Madarasz
 
01 operacios rendszer celja es fogalma
01   operacios rendszer celja es fogalma01   operacios rendszer celja es fogalma
01 operacios rendszer celja es fogalmaKovacZolt
 

Similar to Life and Death of Apache Maven (HU) (20)

Agile és lean workshop @ Startup Safary
Agile és lean workshop @ Startup SafaryAgile és lean workshop @ Startup Safary
Agile és lean workshop @ Startup Safary
 
APEX Nap 2b.pdf
APEX Nap 2b.pdfAPEX Nap 2b.pdf
APEX Nap 2b.pdf
 
Mi a baj a Drupaloddal
Mi a baj a DrupaloddalMi a baj a Drupaloddal
Mi a baj a Drupaloddal
 
Egyedi cégre szabott üzleti szoftver
Egyedi cégre szabott üzleti szoftverEgyedi cégre szabott üzleti szoftver
Egyedi cégre szabott üzleti szoftver
 
Hello Laravel 5!
Hello Laravel 5!Hello Laravel 5!
Hello Laravel 5!
 
Inventor Poszter
Inventor PoszterInventor Poszter
Inventor Poszter
 
Egy .NET fejlesztő élete a Node.js világában
Egy .NET fejlesztő élete a Node.js világábanEgy .NET fejlesztő élete a Node.js világában
Egy .NET fejlesztő élete a Node.js világában
 
XXI. századi szoftverfejlesztés
XXI. századi szoftverfejlesztésXXI. századi szoftverfejlesztés
XXI. századi szoftverfejlesztés
 
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenSzerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
 
DevOps alapelvek
DevOps alapelvekDevOps alapelvek
DevOps alapelvek
 
Elmű émász tm projekt_koncepció_ ambrus attila_140410
Elmű émász tm projekt_koncepció_ ambrus attila_140410Elmű émász tm projekt_koncepció_ ambrus attila_140410
Elmű émász tm projekt_koncepció_ ambrus attila_140410
 
Alumni Release Process
Alumni Release ProcessAlumni Release Process
Alumni Release Process
 
Mi fán terem a DevOps
Mi fán terem a DevOpsMi fán terem a DevOps
Mi fán terem a DevOps
 
Virtuális Platformváltás validált környezetben
Virtuális Platformváltás validált környezetbenVirtuális Platformváltás validált környezetben
Virtuális Platformváltás validált környezetben
 
T systems - agile workshop 1. session
T systems - agile workshop 1. sessionT systems - agile workshop 1. session
T systems - agile workshop 1. session
 
SENIOR JAVA FEJLESZTŐ
SENIOR JAVA FEJLESZTŐSENIOR JAVA FEJLESZTŐ
SENIOR JAVA FEJLESZTŐ
 
BME - Szakdolgozat (2014)
BME - Szakdolgozat (2014)BME - Szakdolgozat (2014)
BME - Szakdolgozat (2014)
 
SAP megoldáshoz kapcsolódó mobil alkalmazás fejlesztése Sybase Unwired Platfo...
SAP megoldáshoz kapcsolódó mobil alkalmazás fejlesztése Sybase Unwired Platfo...SAP megoldáshoz kapcsolódó mobil alkalmazás fejlesztése Sybase Unwired Platfo...
SAP megoldáshoz kapcsolódó mobil alkalmazás fejlesztése Sybase Unwired Platfo...
 
01 operacios rendszer celja es fogalma
01   operacios rendszer celja es fogalma01   operacios rendszer celja es fogalma
01 operacios rendszer celja es fogalma
 
NETaudIT
NETaudITNETaudIT
NETaudIT
 

Life and Death of Apache Maven (HU)

  • 1. AZ APACHE MAVEN ÉLETE ÉS HALÁLA ! Cservenák Tamás
  • 2. MI AZ APACHE MAVEN? Build tool — Mint az Ant? Dependency management tool — Hasonló mint Ivy? Site management tool — Csak egy plugin a sok közül
  • 3. MIVALÓJÁBAN AZ APACHE MAVEN? Szoftverfejlesztési Modell — sztenderd projekt layout, build lifecycle és a függőségek tárolásása és megszerzése Fejlesztési és infrastrukturális minták — mivel modell alapú, koherencia a folyamatok és tooling szintjén vs ad-hoc, organikus Csapatszintű együttműködés és produktivitás — a fejlesztő ne az infrastruktúrával foglalkozzon, produktivitás vs “hekkelés”,
  • 4. SOFTWARE DELIVERY CHAIN Repository IDE / CLI SCM CI Build Agent Agent Agent Central Provisioner
  • 5. SOFTWARE DELIVERY CHAIN A fejlesztési infrastruktúrám merőben más? — NEM A fejlesztési infrastruktúra része a piaci versenyelőnyömnek? — NEM
  • 6. A MAVEN CÉLKITŰZÉSEI Standards and Best Practices for SDCs — pushes best practice down to the level of the SDC Provide a shared language for SDC management — tasks of initializing and maintaining SDCs aren’t performed from scratch over and over Create healthy and robust build infrastructures — periods of high change, releases, deadlines.
  • 7. A MAVENVILÁGA Project Object Model descriptor / Inheritance Standard Project Layout / Convention over Configuration Dependency Management and Mediation Modularity / Best Practices / Reuse Binary Artifact Repository Standard Software Delivery Chain / Infrastructure
  • 8. AZ ÚJÍTÁSOK Build futási idő Incremental build Modern hardver adottságainak kihasználása (multicore) Remote repository roundtrips Continuous Delivery Generations and Workspaces Atomic deploys Branched development NEW!
  • 9. INCREMENTAL BUILD Az Eclipse m2e már tudta ezt, most ez kerül vissza a Maven-be BuildContext: tudatni a keretrendszerrel mit olvasunk és mit írunk A keretrendszer megfejti, bogy mit kell újra build-elni Sok meglévo Mojo-k módosítása Eclipse JDT incremental compiler integráció, compiler plugin NEW!
  • 10. PARALLELISATION Maven Core refaktorálva, Builder interfész Új lehetőségek tárházát nyitja meg, az eddigiekhez képest Meglévő stratégiák: “Single-threaded”, “Multi-threaded” (és “Weave”) Új stratégiák, kombinálva a Maven Profiler-rel NEW!
  • 13. AGRESSIVE PARALLELISATION + MAVEN BUILD PROFILER NEW!
  • 14. GENERATIONS & WORKSPACES “A generation is a binary representation of your SCM at given point in time on a given branch” Félúton a RELEASE és a SNAPSHOT között (de inkább release) Körbejárja az egész SDC-t A Continuous Delivery alapja Inkrementális NEW! REV:BRANCH
  • 15. GENERATIONS & WORKSPACES NEW! Generation 100 Generation 101 Generation 102 Generation 103 SCM rev100:branchX SCM rev101:branchX SCM rev102:branchX SCM rev103:brancX
  • 16. GENERATIONS & WORKSPACES NEW! Repository IDE / CLI SCM CI Build Agent Agent Agent Provisioner Felhasználás Előállítás
  • 17. GENERATIONS & WORKSPACES Fejlesztői oldalon A Workspace hasonló mint az Eclipse Workspace Ugrás generációrol generációra (tehát rev és branch) Projekt részhalmazán dolgozni (forrás vs binary) NEW!
  • 18. GENERATIONS & WORKSPACES “Delta Protocol” — download és deploy, inkrementális Atomic deploy Hardlinking, sparse NEW!
  • 19. MINDEN MÁS Polyglot Maven: DSLs in Ruby, Groovy, Scala, YAML and Atom Maven Shell: “does all as m2eclipse from a shell” NEW!
  • 20. AETHER ÚJDONSÁGOK Local repository — caches published and holds non-published artifacts Safe concurrent access (multiple processes RW) Osztott local repository (local vs remote, snapshot vs release) Remote repository — source of the published artifacts E-Tag HTTP fejléc használata (HTTP kérések száma feleződik) Aether Transport: okHttp, HttpClient 4.x MRM barát HTTP implementáció: 202 Accepted NEW!
  • 21. –Jason Van Zyl “...because Maven just isn't going to die.”