Java EE 8 programming model support

Liberty complies with Java™ Platform, Enterprise Edition (Java EE) 8. The Java EE 8 table and links show the extent to which each of the Liberty and Liberty Core servers supports the Java EE 8 programming model.

Java EE 8 technologies

Table 1. Java EE 8 support.

A list of Java EE technologies, subdivided into sections for web services, web applications, enterprise applications, management and security, and Java EE-related specifications in Java SE. For each technology there is a specification reference, any related Liberty feature, and an indication of whether the technology is supported by Liberty, Liberty Core, and Open Liberty. The Liberty Core edition contains a subset of the Liberty features that are available in the Liberty edition.

Technology Specification reference Liberty feature Liberty Liberty Core Open Liberty
           
Java Platform, Enterprise Edition 8 (Java EE 8) JSR 366 javaee-8.0

javaeeClient-8.0

 

Java Platform, Enterprise Edition 8 Web Profile JSR 366 webProfile-8.0

           
Web services technologies          
Java API for RESTful Web Services (JAX-RS) 2.1 JSR 370 jaxrs-2.1

Implementing Enterprise Web Services 1.4 JSR 109    
Java API for XML-Based Web Services (JAX-WS) 2.2 JSR 224 jaxws-2.2  
Web Services Interoperability Organization (WS-I) Basic Profile WS-I Basic Profile 1.2

WS-I Basic Profile 2.0

jaxws-2.2  
Java Architecture for XML Binding (JAXB) 2.2 JSR 222 jaxb-2.2  
Web Services Metadata for the Java Platform JSR 181    
Java API for XML-based RPC (JAX-RPC) 1.1 (Optional) JSR 101        
Java API for WSDL (JWSDL) JSR 110    
SOAP with Attachments API for Java (SAAJ) 1.31 JSR 67  
Java API for XML Registries (JAXR) 1.0 (Optional) JSR 93        
           
Web application technologies          
Java API for JSON Processing (JSON-P) 1.1 JSR 374 jsonp-1.1
Java API for JSON Binding (JSON-B) 1.0 JSR 367 jsonb-1.0
Java Servlet 4.0 JSR 369 servlet-4.0
JavaServer Faces (JSF) 2.3 JSR 372 jsf-2.3
JavaServer Pages (JSP) 2.3 JSR 245 jsp-2.3
Expression Language (EL) 3.0 JSR 341 el-3.0
Standard Tag Library for JavaServer Pages (JSTL) 1.2 JSR 52  
Debugging Support for Other Languages 1.0 JSR 45  
WebSocket 1.1 JSR 356 websocket-1.1
           
Enterprise application technologies          
EE Concurrency Utilities 1.0 JSR 236 concurrent-1.0
Contexts and Dependency Injection for Java (Web Beans) 2.0 JSR 365 cdi-2.0
Dependency Injection for Java 1.0 JSR 330  
Bean Validation 2.0 JSR 380 beanValidation-2.0
Enterprise JavaBeans (EJB) 3.2 full JSR 345 ejb-3.22

Enterprise JavaBeans (EJB) 3.2 Lite JSR 345 ejbLite-3.2

Interceptors 1.2 Rev A JSR 318  

Java EE Connector Architecture (JCA) 1.7 JSR 322 jca-1.7

 

Java Persistence 2.2 JSR 338 jpa-2.2

Common Annotations for the Java Platform 1.3 JSR 250  

Java Message Service (JMS) API 2.0 JSR 343 jms-2.0

 

Java Transaction API (JTA) 1.3 JSR 907  

JavaMail 1.6 JSR 919 javaMail-1.6

Batch Applications for Java Platform 1.0 JSR 352 batch-1.0

 
           
Management and security technologies          
Java Authentication Service Provider Interface for Containers (JASPIC) 1.1 JSR 196 jaspic-1.1

Java Authorization Contract for Containers (JACC) 1.5 JSR 115 jacc-1.5

Java EE Application Security 3.0 JSR 375 appSecurity-3.0
Java EE Application Deployment 1.2 (Optional) JSR 88        
J2EE Management 1.13 JSR 77 j2eeManagement-1.1

 
           
Java EE-related specifications in Java SE          
Java API for XML Processing (JAXP) 1.4 JSR 206  
Java Database Connectivity (JDBC) 4.1 JSR 221 jdbc-4.1
Java Management Extensions (JMX) 2.0 JSR 255  
JavaBeans Activation Framework (JAF) 1.1 JSR 925  
Streaming API for XML (StAX) 1.0 JSR 173  

Programming model extensions

For a list of WebSphere® programming model extensions, see "WebSphere extensions" in the WebSphere Application Server: Overview topic.

Enabling the HTTP/2 protocol

To enable the HTTP/2 protocol, see HTTP/2 support for Liberty.

1 SOAP with Attachments API for Java (SAAJ) is also referred to as Java APIs for XML Messaging.
2 The ejb-3.2 feature includes the following EJB sub-features: ejbLite-3.1, ejbHome-3.2, ejbPersistentTimer-3.2, ejbRemote-3.2, and mdb-3.2.

EJB entity beans and EJB QL that goes with it are optional.

3 To invoke Management EJB APIs, the server configuration must have both the j2eeManagement-1.1 and ejbRemote-3.2 features in a feature manager. After both features are in the server configuration, you can invoke Management EJB API through JNDI name lookup. The Management EJB binding name (JNDI lookup name) is ejb/mejb/MEJB.