Budućnost Jave: Kako se Jakarta EE razvija u Eclipsu

Organizacija alata otvorenog izvora Eclipse želi da integriše Docker, NoSKL i Kubernetes u Javu za preduzeća, a za standard uzima Maven i Jenkins. Novoobjavljena „površna“ tehnička vizija za Java platformu kompanije Eclipse Foundation, koja se sada zove Jakarta EE, fokusira se na prenosivo postavljanje aplikacija iz oblaka, kao i na modularnost Java 9. Projekat se planira na rasporedu od godinu dana. Vizija dodiruje nekoliko aspekata pristupa koji Eclipse želi da preduzme sa Javom za preduzeća.

Brzo usvajanje tehnologija

U Eclipsovom dokumentu EE4J (Enterprise Edition for Java) Odbor za upravljanje projektom je objavio da očekuje da se u platformi brzo prihvate inovacije za oblak različitih zajednica otvorenog izvora. Tehnologije navedene kao primeri uključuju:
• Docker
• NoSQL
• Kubernetes
• Istio

API-ji

Tražiće se takođe inovacije u drugim razvojnim jezicima. Komitet je objavio poziv za projekte koji implementiraju API-je vezane za Jakarta EE da se pridruže projektu Jakarta.

Godišnja izdanja

Preporučeni godišnji raspored izdavanja primenjuje se na celokupnu platformu Jakarta EE. Za komponente, Eclipse preporučuje godišnji raspored „3 + 1“, u kojem postoji jedno veliko izdanje godišnje sinhronizovano sa platformom, plus tri kvartalna manja izdanja.

Java 9 moduli

Iako će prvo izdanje Jakarta EE biti zasnovano na JDK (Java Development Kit) 8, koji je postojao pre modula, projekti bi trebalo da počnu da se pripremaju za JDK9, koji podržava module i naredne verzije standardne Jave. Savetovani koraci uključuju:
– Dodajte automatsko ime modula u MANIFEST.MF.
– Obezbedite tačan module.info.java ako je moguće.

Kompatibilnost sa prethodnim verzijama

Za neke koji su prihvatili Javu EE je kompatibilnost sa prethodnim verzijama bila plus, a za druge minus. Eclipse traži način kojim će obezbediti da oni koji zahtevaju kompatibilnost sa prethodnim verzijama mogu da se oslone na nju, dok drugi mogu da krenu dalje sa bržim izdanjima koja mogu da zanemare kompatibilnost sa prethodnim verzijama Jakarte EE. Eclipse preporučuje da se stare i retko korišćene tehnologije izbace i stave u opcione module; korisnici mogu odlučiti da li da ih koriste.

Meke zavisnosti

Eclipse takođe savetuje da se pažljivo razmisli pre dodavanja zavisnosti. Komponente koje zavise od „pola sveta“ nisu pogodne za razvoj mikro servisa, navodi se u dokumentu.

TCK

API projekti treba da imaju testno spremište TCK (technology compatibility kit). Eclipse upozorava da ovaj napor neće biti trivijalan. Projekti moraju da koriste isti standardni mehanizam za TCK, kako bi izbegli situaciju u kojoj razni projekti koriste različite radne okvire, što bi predstavljalo problem kod izvršavanja testova.

Gradivni sistem Maven

Mada neki stariji EE4J projekti koriste Ant, Maven je de facto gradivni sistem za Java projekte. Možda je vredno utrošiti vreme na „mavenizaciju“, savetuje Eclipse. Ostali saveti vezani za Maven uključuju:

– Projekti bi trebalo da koriste podrazumevane strukture direktorijuma Maven i grade procese koji se ne oslanjaju na Ant.
– Izgradnja projekta bi trebalo da proizvodi standardne Maven artefakte.
– Treba koristiti preporučene verzije Mavena i dodatnih programa.

Jenkins CI

Za kontinuiranu integraciju (CI – continuous integration), zvanični alat za izgradnju je Jenkins. Neki projekti su već započeti sa Travis-CI, ali Eclipse želi da projekti koriste Jenkins.

Izvor: InfoWorld

4932-xa-buduc-nost-jave-kako-se-jakarta-ee-razvija-u-eclipsu-xa