Hlavní navigace

Názor ke zprávičce Java 17 a OpenJDK 17 s hotovým Vector API a plánovaným koncem Applet API od Saljack - Abyste to pochopil, tak to zkusím naposled a...

  • 17. 9. 2021 11:53

    Saljack

    Abyste to pochopil, tak to zkusím naposled a opravdu jednoduše:
    Java EE != aplikační server

    Aplikační server ty technologie aplikaci poskytoval. Pokud postavíte aplikaci na Micronautu a použijete tam API EJB, opravdu vám to fungovat nebude.
    Micronaut tu technologii poskytuje úplně stejně, jako ten aplikační server. Pořád je to jenom knihovna resp. framework. Jediný rozdíl je, že když použijete aplikační server, tak ta knihovna je tam a když Micronaut, tak ta knihovna je v JARu.

    API je z velké části stejné, protože je v různých verzích a často se používají různá rozšíření API.
    Ale pak není ten server certifikovaný nebo poskytuje něco z nové verze a stále na tom běží aplikace napsaná pro tu certifikovanou verzi. A ano tenhle bordel byl přesně ve WebSphere, ale pořád šlo používat Java EE 6 tj. že se nepoužívalo např. JPA 2.1 ale JPA 2.0.

    A pořád je to ten rozdíl, jestli máte platformu, programujete proti jejímu API a pak aplikaci nasadíte do nějaké implementace té platformy – což je původní Java EE. Nebo jestli máte nějaký framework, který přímo ve své aplikaci používáte a ta aplikace je s ním úzce provázaná – takže nemůžete tu aplikaci vzít a beze změny použít jiný framework. A takhle fungují frameworky jako Helidon, Micronaut, Quarkus, Vert.x. Ale i Spring a Spring Boot.
    Ale tohle se vám snažím od začátku vysvětlit, že to Oracle mohl udělat s Java EE sám. A mohla existovat Java EE od Oracle a Java EE/Quarkus od RedHatu.