Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Prepare for Jakarta EE 11

ivargrimstad
February 06, 2024

Prepare for Jakarta EE 11

Jakarta EE 11 will be the first release of Jakarta EE after the new release cadence was introduced. The goal is to release a version of Jakarta EE around six months after an LTS release of Java. With Java 21 released in September 2023, Jakarta EE 11 is scheduled to be released around March 2024.

What are the updates? Are there any new specifications introduced? What about removals? Will there be another namespace change? How will the impact of this release be on other frameworks and technologies, such as Spring, Apache Tomcat, Hibernate, and more?

Come to this session to get all these questions and more answered to be prepared for Jakarta EE 11.

ivargrimstad

February 06, 2024
Tweet

More Decks by ivargrimstad

Other Decks in Programming

Transcript

  1. Prepare for Jakarta EE 11
    Performance and Developer Productivity
    Ivar Grimstad

    Jakarta EE Developer Advocate
    Eclipse Foundation

    View full-size slide

  2. https://github.com/ivargrimstad
    https://www.linkedin.com/in/ivargrimstad
    @[email protected]
    ivargrimstad_of
    fi
    cial
    @ivar_grimstad
    https://www.threads.net/@ivargrimstad_of
    fi
    cial

    View full-size slide

  3. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    2022 2024
    2020
    javax.* -> jakarta.* Jakarta EE Core Pro
    fi
    le

    View full-size slide

  4. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Speci
    fi
    cation
    Document
    API
    TCK
    Final Speci
    fi
    cation
    Compatible
    Implementation(s)
    Speci
    fi

    View full-size slide

  5. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Jakarta EE 11

    View full-size slide

  6. RESTful Web Services 3.2
    JSON Processing 2.1
    JSON Binding 3.0
    Annotations 3.0
    CDI Lite 4.1
    Interceptors 2.2
    Dependency Injection 2.0
    Servlet 6.1
    Pages 4.0
    Expression Language 6.0
    Debugging Support 2.0
    Standard Tag Libraries 3.0
    Faces 4.1
    WebSocket 2.2
    Enterprise Beans Lite 4.0
    Persistence 3.2
    Transactions 2.0
    CDI 4.1
    Authentication 3.1
    Concurrency 3.1
    Security 4.0
    Validation 3.1
    Data 1.0
    Authorization 3.0
    Activation 2.1
    Batch 2.1
    Connectors 2.1
    Mail 2.1
    Messaging 3.1
    Enterprise Beans 4.0
    Jakarta EE 11 Platform
    Jakarta EE 11 Web Pro
    fi
    Updated
    Not Updated
    New

    View full-size slide

  7. Jakarta EE 11 Web Pro
    fi
    le
    RESTful Web Services 3.2
    JSON Processing 2.1
    JSON Binding 3.0
    Annotations 3.0
    CDI Lite 4.1
    Interceptors 2.2
    Dependency Injection 2.0
    Servlet 6.1
    Pages 4.0
    Expression Language 6.0
    Debugging Support 2.0
    Standard Tag Libraries 3.0
    Faces 4.1
    WebSocket 2.2
    Enterprise Beans Lite 4.0
    Persistence 3.2
    Transactions 2.0
    CDI 4.1
    Authentication 3.1
    Concurrency 3.1
    Security 4.0
    Validation 3.1
    Data 1.0
    Jakarta EE 11 Core Pro
    fi
    Updated
    Not Updated
    New

    View full-size slide

  8. Jakarta EE 11 Core Pro
    fi
    le
    Updated
    Not Updated
    New
    RESTful Web Services 3.2
    JSON Processing 2.1
    JSON Binding 3.0
    Annotations 3.0
    CDI Lite 4.1
    Interceptors 2.2
    Dependency Injection 2.0

    View full-size slide

  9. Jakarta EE 11
    API source level: Java SE 17
    API binary level: Java SE 17
    TCK run with: Java SE 17+21
    App Developers (YOU) can use Java SE 21 features if you like !!

    View full-size slide

  10. COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Release Cadence
    ~6-9 Months after the latest LTS of Java

    View full-size slide

  11. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    March, 2024
    Milestone 2
    April, 2024
    Milestone 3
    May, 2024
    Milestone 4
    December, 2023
    Milestone 1

    View full-size slide

  12. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Speci
    fi
    cation
    Document
    API
    TCK
    Mx Speci
    fi
    cation
    Compatible
    Implementation(s)
    Speci
    fi
    cation
    Document
    API
    TCK
    Final Speci
    fi
    cation
    Compatible
    Implementation(s)

    View full-size slide

  13. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Jakarta EE 11
    H1, 2024

    View full-size slide

  14. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Performance
    and
    Developer Productivity

    View full-size slide

  15. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Cross-Cutting Concerns

    View full-size slide

  16. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Removed
    Replaced by CDI
    Managed Beans 2.0

    View full-size slide

  17. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Removed
    SecurityManager
    JEP 411: Deprecate the
    Security Manager for Removal

    View full-size slide

  18. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Optional Features
    Jakarta EE Platform
    Jakarta EE Web Pro
    fi
    le
    Jakarta EE Core Pro
    fi
    le
    Jakarta XML Binding 4.0
    Jakarta SOAP with Attachments 4.0 Jakarta XML Web Service 4.0

    View full-size slide

  19. Authorization 3.0
    Activation 2.1
    Batch 2.1
    Connectors 2.1
    Mail 2.1
    Messaging 3.1
    Enterprise Beans 4.0
    RESTful Web Services 3.2
    JSON Processing 2.1
    JSON Binding 3.0
    Annotations 3.0
    CDI Lite 4.1
    Interceptors 2.2
    Dependency Injection 2.0
    Servlet 6.1
    Pages 4.0
    Expression Language 6.0
    Debugging Support 2.0
    Standard Tag Libraries 3.0
    Faces 4.1
    WebSocket 2.2
    Enterprise Beans Lite 4.0
    Persistence 3.2
    Transactions 2.0
    CDI 4.1
    Authentication 3.1
    Concurrency 3.1
    Security 4.0
    Validation 3.1
    Jakarta EE 11 Platform
    Updated
    Not Updated
    New
    Data 1.0

    View full-size slide

  20. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Remove SecurityManager references
    Clari
    fi
    cations

    View full-size slide

  21. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    • Authorisation APIs
    • Interceptors for Authorisation
    • Abstraction for the permission store

    View full-size slide

  22. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Jakarta Security
    MicroPro
    fi
    le JWT
    Bridge
    MicroPro
    fi
    le JWT
    JWT Bridge

    View full-size slide

  23. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Jakarta Security
    https://jakarta.ee/speci
    fi
    cations/authentication/3.1/
    https://jakarta.ee/speci
    fi
    cations/authorization/3.0/
    https://jakarta.ee/speci
    fi
    cations/security/4.0/

    View full-size slide

  24. Authorization 3.0
    Activation 2.1
    Batch 2.1
    Connectors 2.1
    Mail 2.1
    Messaging 3.1
    Enterprise Beans 4.0
    RESTful Web Services 3.2
    JSON Processing 2.1
    JSON Binding 3.0
    Annotations 3.0
    CDI Lite 4.1
    Interceptors 2.2
    Dependency Injection 2.0
    Servlet 6.1
    Pages 4.0
    Expression Language 6.0
    Debugging Support 2.0
    Standard Tag Libraries 3.0
    Faces 4.1
    WebSocket 2.2
    Enterprise Beans Lite 4.0
    Persistence 3.2
    Transactions 2.0
    CDI 4.1
    Authentication 3.1
    Concurrency 3.1
    Security 4.0
    Validation 3.1
    Jakarta EE 11 Platform
    Updated
    Not Updated
    New
    Data 1.0

    View full-size slide

  25. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Virtual Threads

    View full-size slide

  26. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    ManagedExecutorService
    ManagedScheduledExecutorService
    ContextService
    ManagedThreadFactory

    View full-size slide

  27. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Jakarta EE 11
    API source level: Java SE 17
    API binary level: Java SE 17
    TCK run with: Java SE 17+21
    ?

    View full-size slide

  28. @ManagedExecutorDefinition(
    name = “java:app/concurrent/myExecutor”,
    maxAsync = 3,
    virtual = true
    )

    View full-size slide

  29. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Concurrency API
    Java 17
    Platform Thread
    Error
    Warning
    virtual = “true”
    Java SE Runtime Aware
    Support for Virtual Threads
    Unde
    fi
    ned
    Java 21
    Virtual Thread
    Under Developm
    ent

    View full-size slide

  30. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Jakarta Concurrency 3.1
    https://jakarta.ee/speci
    fi
    cations/concurrency/3.1/

    View full-size slide

  31. Authorization 3.0
    Activation 2.1
    Batch 2.1
    Connectors 2.1
    Mail 2.1
    Messaging 3.1
    Enterprise Beans 4.0
    RESTful Web Services 3.2
    JSON Processing 2.1
    JSON Binding 3.0
    Annotations 3.0
    CDI Lite 4.1
    Interceptors 2.2
    Dependency Injection 2.0
    Servlet 6.1
    Pages 4.0
    Expression Language 6.0
    Debugging Support 2.0
    Standard Tag Libraries 3.0
    Faces 4.1
    WebSocket 2.2
    Enterprise Beans Lite 4.0
    Persistence 3.2
    Transactions 2.0
    CDI 4.1
    Authentication 3.1
    Concurrency 3.1
    Security 4.0
    Validation 3.1
    Jakarta EE 11 Platform
    Updated
    Not Updated
    New
    Data 1.0

    View full-size slide

  32. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Support Records and Sealed Types
    Deprecate Expression Language SPI
    @Priority on producers

    View full-size slide

  33. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Move Integration Requirements
    CDI Platform

    View full-size slide

  34. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Jakarta Contexts and Dependency Injection 4.1
    https://jakarta.ee/speci
    fi
    cations/cdi/4.1/

    View full-size slide

  35. Authorization 3.0
    Activation 2.1
    Batch 2.1
    Connectors 2.1
    Mail 2.1
    Messaging 3.1
    Enterprise Beans 4.0
    RESTful Web Services 3.2
    JSON Processing 2.1
    JSON Binding 3.0
    Annotations 3.0
    CDI Lite 4.1
    Interceptors 2.2
    Dependency Injection 2.0
    Servlet 6.1
    Pages 4.0
    Expression Language 6.0
    Debugging Support 2.0
    Standard Tag Libraries 3.0
    Faces 4.1
    WebSocket 2.2
    Enterprise Beans Lite 4.0
    Persistence 3.2
    Transactions 2.0
    CDI 4.1
    Authentication 3.1
    Concurrency 3.1
    Security 4.0
    Validation 3.1
    Jakarta EE 11 Platform
    Updated
    Not Updated
    New
    Data 1.0

    View full-size slide

  36. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Deprecations
    JavaBeans API dependency Optional
    Support for Optional via OptionalELResolver
    Add Support for Java Records

    View full-size slide

  37. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Jakarta Expression Language 6.0
    https://jakarta.ee/speci
    fi
    cations/expression-language/6.0/

    View full-size slide

  38. Authorization 3.0
    Activation 2.1
    Batch 2.1
    Connectors 2.1
    Mail 2.1
    Messaging 3.1
    Enterprise Beans 4.0
    RESTful Web Services 3.2
    JSON Processing 2.1
    JSON Binding 3.0
    Annotations 3.0
    CDI Lite 4.1
    Interceptors 2.2
    Dependency Injection 2.0
    Servlet 6.1
    Pages 4.0
    Expression Language 6.0
    Debugging Support 2.0
    Standard Tag Libraries 3.0
    Faces 4.1

    WebSocket 2.2
    Enterprise Beans Lite 4.0
    Persistence 3.2
    Transactions 2.0
    CDI 4.1
    Authentication 3.1
    Concurrency 3.1
    Security 4.0
    Validation 3.1
    Jakarta EE 11 Platform
    Updated
    Not Updated
    New
    Data 1.0

    View full-size slide

  39. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Remove SecurityManager references
    Remove class scanning and rely on CDI only
    Remove unused PreDestroyCustomScopeEvent
    and PostConstructCustomScopeEvent
    Remove unused composite:extension

    View full-size slide

  40. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Jakarta Faces 4.1
    https://jakarta.ee/speci
    fi
    cations/faces/4.1/

    View full-size slide

  41. Authorization 3.0
    Activation 2.1
    Batch 2.1
    Connectors 2.1
    Mail 2.1
    Messaging 3.1
    Enterprise Beans 4.0
    RESTful Web Services 3.2
    JSON Processing 2.1
    JSON Binding 3.0
    Annotations 3.0
    CDI Lite 4.1
    Interceptors 2.2
    Dependency Injection 2.0
    Servlet 6.1
    Pages 4.0
    Expression Language 6.0
    Debugging Support 2.0
    Standard Tag Libraries 3.0
    Faces 4.1
    WebSocket 2.2
    Enterprise Beans Lite 4.0
    Persistence 3.2
    Transactions 2.0
    CDI 4.1
    Authentication 3.1
    Concurrency 3.1
    Security 4.0
    Validation 3.1
    Jakarta EE 11 Platform
    Updated
    Not Updated
    New
    Data 1.0

    View full-size slide

  42. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Remove SecurityManager references
    Control status code and response body sending a redirect
    Convenience attributes, constants, and methods
    Clari
    fi
    cations

    View full-size slide

  43. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Jakarta Servlet 6.1
    https://jakarta.ee/speci
    fi
    cations/servlet/6.1/

    View full-size slide

  44. Authorization 3.0
    Activation 2.1
    Batch 2.1
    Connectors 2.1
    Mail 2.1
    Messaging 3.1
    Enterprise Beans 4.0
    RESTful Web Services 3.2
    JSON Processing 2.1
    JSON Binding 3.0
    Annotations 3.0
    CDI Lite 4.1
    Interceptors 2.2
    Dependency Injection 2.0
    Servlet 6.1
    Pages 4.0
    Expression Language 6.0
    Debugging Support 2.0
    Standard Tag Libraries 3.0
    Faces 4.1
    WebSocket 2.2
    Enterprise Beans Lite 4.0
    Persistence 3.2
    Transactions 2.0
    CDI 4.1
    Authentication 3.1
    Concurrency 3.1
    Security 4.0
    Validation 3.1
    Jakarta EE 11 Platform
    Updated
    Not Updated
    New
    Data 1.0

    View full-size slide

  45. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Deprecate
    Calendar, Date, Time, Timestamp, Temporal,
    MapKeyTemporal, TemporalType
    Replace with java.time API
    Lots of New Convenience methods for Criteria Language

    View full-size slide

  46. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Jakarta Persistence 3.2
    https://jakarta.ee/speci
    fi
    cations/persistence/3.2/

    View full-size slide

  47. Authorization 3.0
    Activation 2.1
    Batch 2.1
    Connectors 2.1
    Mail 2.1
    Messaging 3.1
    Enterprise Beans 4.0
    RESTful Web Services 3.2
    JSON Processing 2.1
    JSON Binding 3.0
    Annotations 3.0
    CDI Lite 4.1
    Interceptors 2.2
    Dependency Injection 2.0
    Servlet 6.1
    Pages 4.0
    Expression Language 6.0
    Debugging Support 2.0
    Standard Tag Libraries 3.0
    Faces 4.1
    WebSocket 2.2
    Enterprise Beans Lite 4.0
    Persistence 3.2
    Transactions 2.0
    CDI 4.1
    Authentication 3.1
    Concurrency 3.1
    Security 4.0
    Validation 3.1
    Jakarta EE 11 Platform
    Updated
    Not Updated
    New
    Data 1.0

    View full-size slide

  48. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Align with Jakarta Servlet and Jakarta Expression
    Language
    Remove all deprecated code from Jakarta Servlet 3.1

    View full-size slide

  49. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Jakarta Pages 4.0
    https://jakarta.ee/speci
    fi
    cations/pages/4.0/

    View full-size slide

  50. Authorization 3.0
    Activation 2.1
    Batch 2.1
    Connectors 2.1
    Mail 2.1
    Messaging 3.1
    Enterprise Beans 4.0
    RESTful Web Services 3.2
    JSON Processing 2.1
    JSON Binding 3.0
    Annotations 3.0
    CDI Lite 4.1
    Interceptors 2.2
    Dependency Injection 2.0
    Servlet 6.1
    Pages 4.0
    Expression Language 6.0
    Debugging Support 2.0
    Standard Tag Libraries 3.0
    Faces 4.1
    WebSocket 2.2
    Enterprise Beans Lite 4.0
    Persistence 3.2
    Transactions 2.0
    CDI 4.1
    Authentication 3.1
    Concurrency 3.1
    Security 4.0
    Validation 3.1
    Jakarta EE 11 Platform
    Updated
    Not Updated
    New
    Data 1.0

    View full-size slide

  51. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Remove SecurityManager references
    Minor updates and clari
    fi
    cations

    View full-size slide

  52. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Jakarta WebSocket 2.2
    https://jakarta.ee/speci
    fi
    cations/websocket/2.2/

    View full-size slide

  53. Authorization 3.0
    Activation 2.1
    Batch 2.1
    Connectors 2.1
    Mail 2.1
    Messaging 3.1
    Enterprise Beans 4.0
    RESTful Web Services 3.2
    JSON Processing 2.1
    JSON Binding 3.0
    Annotations 3.0
    CDI Lite 4.1
    Interceptors 2.2
    Dependency Injection 2.0
    Servlet 6.1
    Pages 4.0
    Expression Language 6.0
    Debugging Support 2.0
    Standard Tag Libraries 3.0
    Faces 4.1
    WebSocket 2.2
    Enterprise Beans Lite 4.0
    Persistence 3.2
    Transactions 2.0
    CDI 4.1
    Authentication 3.1
    Concurrency 3.1
    Security 4.0
    Validation 3.1
    Jakarta EE 11 Platform
    Updated
    Not Updated
    New
    Data 1.0

    View full-size slide

  54. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Support Java Records

    View full-size slide

  55. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Jakarta Validation 3.1
    https://jakarta.ee/speci
    fi
    cations/bean-validation/3.1/

    View full-size slide

  56. Authorization 3.0
    Activation 2.1
    Batch 2.1
    Connectors 2.1
    Mail 2.1
    Messaging 3.1
    Enterprise Beans 4.0
    RESTful Web Services 3.2
    JSON Processing 2.1
    JSON Binding 3.0
    Annotations 3.0
    CDI Lite 4.1
    Interceptors 2.2
    Dependency Injection 2.0
    Servlet 6.1
    Pages 4.0
    Expression Language 6.0
    Debugging Support 2.0
    Standard Tag Libraries 3.0
    Faces 4.1
    WebSocket 2.2
    Enterprise Beans Lite 4.0
    Persistence 3.2
    Transactions 2.0
    CDI 4.1
    Authentication 3.1
    Concurrency 3.1
    Security 4.0
    Validation 3.1
    Jakarta EE 11 Platform
    Updated
    Not Updated
    New
    Data 1.0

    View full-size slide

  57. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Deprecate support for @Context injection
    Deprecate ContextResolver

    View full-size slide

  58. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Jakarta RESTful Web Services 3.2
    https://jakarta.ee/speci
    fi
    cations/restful-ws/3.2/

    View full-size slide

  59. Authorization 3.0
    Activation 2.1
    Batch 2.1
    Connectors 2.1
    Mail 2.1
    Messaging 3.1
    Enterprise Beans 4.0
    RESTful Web Services 3.2
    JSON Processing 2.1
    JSON Binding 3.0
    Annotations 3.0
    CDI Lite 4.1
    Interceptors 2.2
    Dependency Injection 2.0
    Servlet 6.1
    Pages 4.0
    Expression Language 6.0
    Debugging Support 2.0
    Standard Tag Libraries 3.0
    Faces 4.1
    WebSocket 2.2
    Enterprise Beans Lite 4.0
    Persistence 3.2
    Transactions 2.0
    CDI 4.1
    Authentication 3.1
    Concurrency 3.1
    Security 4.0
    Validation 3.1
    Jakarta EE 11 Platform
    Updated
    Not Updated
    New
    Data 1.0

    View full-size slide

  60. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Remove the ManagedBeans
    Annotation
    Managed Beans 2.0

    View full-size slide

  61. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Jakarta Annotations 3.0
    https://jakarta.ee/speci
    fi
    cations/annotations/3.0/

    View full-size slide

  62. Authorization 3.0
    Activation 2.1
    Batch 2.1
    Connectors 2.1
    Mail 2.1
    Messaging 3.1
    Enterprise Beans 4.0
    RESTful Web Services 3.2
    JSON Processing 2.1
    JSON Binding 3.0
    Annotations 3.0
    CDI Lite 4.1
    Interceptors 2.2
    Dependency Injection 2.0
    Servlet 6.1
    Pages 4.0
    Expression Language 6.0
    Debugging Support 2.0
    Standard Tag Libraries 3.0
    Faces 3.1
    WebSocket 2.2
    Enterprise Beans Lite 4.0
    Persistence 3.2
    Transactions 2.0
    CDI 4.1
    Authentication 3.1
    Concurrency 3.1
    Security 4.0
    Validation 3.1
    Jakarta EE 11 Platform
    Updated
    Not Updated
    New
    Data 1.0

    View full-size slide

  63. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Add Standard Access to
    Interceptor Bindings

    View full-size slide

  64. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    public interface InvocationContext

    default Set getInterceptorBindings() {
    // default implementation
    }
    default T getInterceptorBinding(Class annotationType) {
    // default implementation
    }
    default Set getInterceptorBindings(Class annotationType) {
    // default implementation
    }

    View full-size slide

  65. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Jakarta Interceptors 2.2
    https://jakarta.ee/speci
    fi
    cations/interceptors/2.2/

    View full-size slide

  66. Authorization 3.0
    Activation 2.1
    Batch 2.1
    Connectors 2.1
    Mail 2.1
    Messaging 3.1
    Enterprise Beans 4.0
    RESTful Web Services 3.2
    JSON Processing 2.1
    JSON Binding 3.0
    Annotations 3.0
    CDI Lite 4.1
    Interceptors 2.2
    Dependency Injection 2.0
    Servlet 6.1
    Pages 4.0
    Expression Language 6.0
    Debugging Support 2.0
    Standard Tag Libraries 3.0
    Faces 4.1
    WebSocket 2.2
    Enterprise Beans Lite 4.0
    Persistence 3.2
    Transactions 2.0
    CDI 4.1
    Authentication 3.1
    Concurrency 3.1
    Security 4.0
    Validation 3.1
    Jakarta EE 11 Platform
    Updated
    Not Updated
    New
    Data 1.0

    View full-size slide

  67. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Jakarta Data 1.0
    Standardizes the repository pattern for data access
    https://jakarta.ee/speci
    fi
    cations/data/1.0/
    NEW
    in
    Jakarta EE 11

    View full-size slide

  68. @Repository
    public interface GreetingRepository extends
    CrudRepository {
    Optional findByName(String name);
    }

    View full-size slide

  69. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Demo

    View full-size slide

  70. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    An
    Opportunity
    Jakarta Data
    implementation

    View full-size slide

  71. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Prospective Speci
    fi
    cations

    View full-size slide

  72. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Jakarta MVC
    Standardizes the action-based model-view-controller pattern
    https://jakarta.ee/speci
    fi
    cations/mvc/
    Prospective Speci
    fi
    cation

    View full-size slide

  73. @Controller
    @View(“hello.jsp”)
    public void hello()
    model.put(“Hello Duke!”);
    }

    View full-size slide

  74. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Jakarta NoSQL
    Standardizes integration with NoSQL databases
    https://jakarta.ee/speci
    fi
    cations/nosql/
    Standalone

    View full-size slide

  75. COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Jakarta RPC
    Standardizes gRPC within Jakarta EE
    https://jakarta.ee/speci
    fi
    cations/rpc/
    Standalone

    View full-size slide

  76. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Summary

    View full-size slide

  77. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    javax.* -> jakarta.*

    View full-size slide

  78. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Transformation

    View full-size slide

  79. Eclipse Transformer Apache Tomcat Migration Tool
    b.com/eclipse/transformerhttps://tomcat.apache.org/download-migration.cgi

    View full-size slide

  80. Jakarta EE 10 Platform
    Updated
    Not Updated
    New
    Authorization 2.1
    Activation 2.1
    Batch 2.1
    Connectors 2.1
    Mail 2.1
    Messaging 3.1
    Enterprise Beans 4.0
    RESTful Web Services 3.1
    JSON Processing 2.1
    JSON Binding 3.0
    Annotations 2.1
    CDI Lite 4.0
    Interceptors 2.1
    Dependency Injection 2.0
    Servlet 6.0
    Server Pages 3.1
    Expression Language 5.0
    Debugging Support 2.0
    Standard Tag Libraries 3.0
    Faces 4.0
    WebSocket 2.1
    Enterprise Beans Lite 4.0
    Persistence 3.1
    Transactions 2.0
    Managed Beans 2.0
    CDI 4.0
    Authentication 3.0
    Concurrency 3.0
    Security 3.0
    Bean Validation 3.0

    View full-size slide

  81. Authorization 3.0
    Activation 2.1
    Batch 2.1
    Connectors 2.1
    Mail 2.1
    Messaging 3.1
    Enterprise Beans 4.0
    RESTful Web Services 3.2
    JSON Processing 2.1
    JSON Binding 3.0
    Annotations 3.0
    CDI Lite 4.1
    Interceptors 2.2
    Dependency Injection 2.0
    Servlet 6.1
    Pages 4.0
    Expression Language 6.0
    Debugging Support 2.0
    Standard Tag Libraries 3.0
    Faces 4.1
    WebSocket 2.2
    Enterprise Beans Lite 4.0
    Persistence 3.2
    Transactions 2.0
    CDI 4.1
    Authentication 3.1
    Concurrency 3.1
    Security 4.0
    Validation 3.1
    Jakarta EE 11 Platform
    Updated
    Not Updated
    New
    Data 1.0
    Under Developm
    ent

    View full-size slide

  82. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    2022 2024
    2020
    Java 21
    Jakarta Data
    CDI Centric
    Removals and Deprecations
    javax.* -> jakarta.* Jakarta EE Core Pro
    fi
    le

    View full-size slide

  83. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Performance
    and
    Developer Productivity

    View full-size slide

  84. Jakarta EE 11
    API source level: Java SE 17
    API binary level: Java SE 17
    TCK run with: Java SE 17+21
    App Developers (YOU) can use Java SE 21 features if you like !!

    View full-size slide

  85. Jakarta EE
    https://jakarta.ee
    Speci
    fi
    cations

    https://jakarta.ee/speci
    fi
    cations/
    Ivar’s Hashtag Jakarta EE
    https://www.agilejava.eu/category/jakarta-ee/
    Demo Code
    https://github.com/ivargrimstad/dukes-data

    View full-size slide

  86. Jakarta EE Overview
    Course available on

    View full-size slide