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

Prepare for Jakarta EE 11

ivargrimstad
October 19, 2023

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

October 19, 2023
Tweet

More Decks by ivargrimstad

Other Decks in Programming

Transcript

  1. Ivar Grimstad

    Jakarta EE Developer Advocate
    Eclipse Foundation
    Prepare for Jakarta EE 11
    Performance and Developer Productivity

    View full-size slide

  2. @ivar_grimstad
    https://github.com/ivargrimstad
    https://www.linkedin.com/in/ivargrimstad
    @[email protected]
    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)
    Speci
    fi
    cation
    Document
    API
    TCK
    Final Speci
    fi
    cation
    Compatible
    Implementation(s)
    Speci
    fi

    View full-size slide

  4. 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

  5. RESTful Web Services 4.0
    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 5.0
    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

  6. Jakarta EE 11 Web Pro
    fi
    le
    RESTful Web Services 4.0
    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 5.0
    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

  7. Jakarta EE 11 Core Pro
    fi
    le
    Updated
    Not Updated
    New
    RESTful Web Services 4.0
    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

  8. 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 21
    API binary level: Java SE 21
    TCK run with: Java SE 21

    View full-size slide

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

    View full-size slide

  10. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Milestone 1
    December 5, 2023

    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)
    Speci
    fi
    cation
    Document
    API
    TCK
    M1 Speci
    fi
    cation
    Compatible
    Implementation(s)

    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)
    Jakarta EE 11
    H1, 2024

    View full-size slide

  13. 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

  14. 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

  15. 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

  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
    SecurityManager
    JEP 411: Deprecate the
    Security Manager for Removal

    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)
    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

  18. 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 4.0
    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 5.0
    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

  19. 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

  20. 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

  21. 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

  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
    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

  23. 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 4.0
    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 5.0
    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

  24. 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

  25. 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

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

    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 Concurrency 3.1
    https://jakarta.ee/speci
    fi
    cations/concurrency/3.1/

    View full-size slide

  28. 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 4.0
    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 5.0
    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

  29. 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

  30. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Split Out Integration Requirements
    CDI CDI EE Other

    View full-size slide

  31. 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

  32. 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 4.0
    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 5.0
    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

  33. 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

  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 Expression Language 6.0
    https://jakarta.ee/speci
    fi
    cations/expression-language/6.0/

    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 4.0
    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 5.0
    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)
    Remove SecurityManager references
    Remove class scanning and rely on CDI only
    Remove unused PreDestroyCustomScopeEvent
    and PostConstructCustomScopeEvent
    Remove unused composite:extension

    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 Faces 5.0
    https://jakarta.ee/speci
    fi
    cations/faces/5.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 4.0
    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 5.0
    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
    Control status code and response body sending a redirect
    Convenience attributes, constants, and methods
    Clari
    fi
    cations

    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 Servlet 6.1
    https://jakarta.ee/speci
    fi
    cations/servlet/6.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 4.0
    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 5.0
    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)
    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

  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 Persistence 3.2
    https://jakarta.ee/speci
    fi
    cations/persistence/3.2/

    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 4.0
    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 5.0
    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)
    Align with Jakarta Servlet and Jakarta Expression
    Language
    Remove all deprecated code from Jakarta Servlet 3.1

    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 Pages 4.0
    https://jakarta.ee/speci
    fi
    cations/pages/4.0/

    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 4.0
    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 5.0
    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)
    Remove SecurityManager references
    Minor updates and clari
    fi
    cations

    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 WebSocket 2.2
    https://jakarta.ee/speci
    fi
    cations/websocket/2.2/

    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 4.0
    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 5.0
    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)
    Support Java Records

    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 Validation 3.1
    https://jakarta.ee/speci
    fi
    cations/bean-validation/3.1/

    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 4.0
    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 5.0
    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)
    Drop support for @Context injection
    CDI Alignment
    Explore integration with Jakarta Concurrency
    Explore alignment with CDI lite and potentially built-time
    injection support

    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 RESTful Web Services 4.0
    https://jakarta.ee/speci
    fi
    cations/restful-ws/4.0/

    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 4.0
    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 5.0
    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)
    Remove the ManagedBeans
    Annotation
    Managed Beans 2.0

    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 Annotations 3.0
    https://jakarta.ee/speci
    fi
    cations/annotations/3.0/

    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 4.0
    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 5.0
    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)
    Add Standard Access to
    Interceptor Bindings

    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)
    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

  62. 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

  63. 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 4.0
    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 5.0
    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

  64. 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

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

    View full-size slide

  66. 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

  67. 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

  68. 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

  69. 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

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

    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)
    Jakarta NoSQL
    Standardizes integration with NoSQL databases
    https://jakarta.ee/speci
    fi
    cations/nosql/
    Standalone

    View full-size slide

  72. 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

  73. 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

  74. 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

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

    View full-size slide

  76. 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

  77. 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 4.0
    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 5.0
    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

  78. 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

  79. 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 21
    API binary level: Java SE 21
    TCK run with: Java SE 21

    View full-size slide

  80. 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/jakartaee-duke

    View full-size slide

  81. Jakarta EE Overview
    Course available on

    View full-size slide