Java >> Java tutorial >  >> Java

CN4J-profilen som den fælles EE- og MP-profil - et forslag

Java EE-platformen blev flyttet for et stykke tid siden til at blive Jakarta EE-platformen. På nogenlunde samme tidspunkt splittede en gruppe Java EE-leverandører sig og startede MicroProfile; en platform, der oprindeligt kun indeholdt et antal Java EE API'er, men senere blev udvidet med API'er, der oprindeligt var planlagt til Java EE 8 (såsom Config, Health og JWT).

Med MicroProfile og Jakarta EE nu begge hos Eclipse, og begge inkluderer omtrent alle de samme leverandører igen, har der været en stigende efterspørgsel efter på en eller anden måde at deltage i indsatsen. Vi spurgte om dette i vores nylige undersøgelse, hvor de fleste respondenter gerne vil se dem på linje.

Dette rejser spørgsmålet om, hvordan man præcist gør dette. MicroProfile bruger allerede Jakarta EE API'er, og der er et stærkt ønske om at bruge MicroProfile Config i Jakarta EE. Dette ville dog resultere i en cirkulær afhængighed, hvilket måske ikke er ideelt. En mulighed inden for softwareudvikling for at bryde cirkulære afhængigheder er at udregne de almindelige afhængigheder i et nyt, delt modul.

At udregne de Jakarta API'er, som MicroProfile bruger, og den MicroProfile API, som Jakarta ønsker at bruge, ville tegne et billede som dette:Øverst ser vi CN4J-profilen, hvor CN4J står for Cloud Native for Java. Dette er navnet på den alliance, der er oprettet for at tilpasse MicroProfile. Alle API'er i denne profil vil tage i betragtning, at de bruges af både MicroProfile og Jakarta EE, og vil derfor udvikle sig i overensstemmelse hermed.

Til venstre ser vi de nuværende MicroProfile API'er, der er en del af MicroProfile platformen, og som alle er eksklusive for MicroProfile. På samme måde til højre ser vi et udvalg af Jakarta EE Web Profile API'er (nogle afhængigheder af flere API'er, såsom godkendelse og interceptorer er udeladt) .

I fremtiden kan nogle yderligere API'er flytte til CN4J-profilen, men det burde naturligvis ikke være for mange. I øjeblikket er Jakarta Security en kandidat (i praksis er @RolesAllowed/JWT ikke sjældent baseret på Jakarta Security).

Bemærk, at ovenstående er et personligt forslag, og selvom det diskuteres, er det på ingen måde godkendt af hverken MicroProfile eller Jakarta EE-arbejdsgrupperne eller CN4J-alliancen. Det er tænkt som en idé at basere yderligere diskussion på.

No
Java tag