コンテンツにスキップ

Jakarta EE

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Javaのエディション
Javaカード
Java ME (Micro)
Java SE (Standard)
Jakarta EE
JavaFX
テンプレートを表示

Jakarta EEJavaAPIJava Platform, Standard Edition (Java SE) Java Platform, Enterprise Edition (Java EE) 

[]

JavaJava EEJakarta EEJava EEJava SE

19991.2HTTPAPIXA

2017Java Platform, Enterprise Edition 8 (Java EE 8) Java EE 5Java 2 Platform, Enterprise Edition (J2EE) 

Java EE

Java EE2017Java EEEclipse FoundationJava EEJava EE 9Jakarta EE[1]

[]


Jakarta EE1999

Java 2 Platform, Enterprise Edition 1.2

J2EE199912121.2

JDBC 2.0, JNDI 1.2, RMI-IIOP 1.0, Servlet 2.2, JSP 1.1, EJB 1.1, JMS 1.0, JTA 1.0, JavaMail 1.1, JAF 1.0

Java 2 Platform, Enterprise Edition 1.3

JSR 58 2001924Java Community Process200141.3JSPJSTLJAXP, J2CA, JAASEJB2.0JNDIJ2SE

Java 2 Platform, Enterprise Edition 1.4

JSR 15120031124200212SunSOAPWebJAXP, JAXR, JAX-RPC

Java Platform, Enterprise Edition 5

JSR 24420065115J2SE 5.0使EJBDIPOJO3.0EJBJPAWebJSF

Java Platform, Enterprise Edition 6

JSR 316200912106DICDIBean ValidationJSF2.0

Java Platform, Enterprise Edition 7

JSR 34220135287JSF2.2CDIHTML5WebSocketJava EE 7

WebSocket, JSON Processing, Servlet 3.1, JSF 2.2, EL3.0, JSP 2.3, JSTL 1.2, Batch Applications, Concurrency Utilities, CDI 1.1, DI1.0, Bean Validation 1.1, EJB 3.2, Interceptors 1.2, JCA 1.7, JPA 2.1, Common Annotations 1.2, JMS 2.0, JTA 1.2, JavaMail 1.5, JAX-RS 2.0, Enterprise Web Services 1.3, JAX-WS 2.2, Web Services Metadata, JAX-RPC 1.1, JAXM 1.3, JAXR 1.0, JASPIC 1.1, Java ACC 1.5, Java EE Application Deployment 1.2, J2EE Management 1.1, Debugging Support for Other Languages 1.0, JAXB 2.2, JAXP 1.3, JDBC 4.0, JMX 2.0, JAF 1.1, StAX

Java Platform, Enterprise Edition 8

JSR 36620179218ServletHTTP/24.07JSF 2.3HTML

API[]


Jakarta EE API Java SE API

Java EE 8 Specification APIs

Java EE 7 Specification APIs

Java EE 6 API Specification

javax.servlet.*[]


ServletHTTPAPIJavaServer Pages (JSP) API

javax.websocket.*[]


WebSocketWebSocketAPI

javax.faces.*[]


Faces Java Server Faces (JSF) APIJSFUI

javax.el.*[]


ELJava EEELELJSPJSFWebJSFbean使

javax.enterprise.inject.*[]


InjectContexts and Dependency Injection (CDI) APICDI (DI) 

javax.enterprise.context.*[]


ContextContexts and Dependency Injection (CDI) API

javax.ejb.*[]


Enterprise JavaBeans (EJB) EJB (JTA)RPCRMIRMI-IIOP (DI)APIBeanBeanEJB

javax.validation.*[]


ValidationBean Validation APIBean ValidationbeanJPAJava EEJPAJSF

javax.persistence.*[]


PersistenceJava Persistence API (JPA) 

javax.transaction.*[]


TransactionJava EEJava Transaction API (JTA) APIAPIAPIJava EEEJBAPICDIBean使

javax.security.auth.message.*[]


MessageJava Authentication SPI (JASPIC) APIJASPICJava EE

javax.enterprise.concurrent.*[]


ConcurrentJava EE

javax.jms.*[]


JMSJava Message Service (JMS) APIJMSJava

javax.batch.api.*[]


BatchAPIJava EEAPIAPI

javax.resource.*[]


ResourceJava EE Connector Architecture (JCA) APIJCAEnterprise application integration (EAI)  (EIS) APIAPI

Jakarta EE[]


Jakarta EEJakarta EEJakarta EE SDKJakarta EEGlassFish Open Source EditionGlassFish 5.0Java EE 8NetBeansEclipseJavaJakarta EE

Jakarta EE (Java EE) Jakarta EE (Java EE) 
アプリケーションサーバ Java EE 8準拠 Java EE 7準拠 Java EE 6準拠
(Full Profile)
Java EE 6準拠
(Web Profile)
Java EE 5準拠 J2EE 1.4準拠 ライセンス
GlassFish server Open Source Edition Yes v5.x Yes v4.x [2] Yes v3.x [3] Yes v3.x Web Profile Yes v2.1.x[3] CDDL, GPL
Payara Server Yes v5.x Yes 4.x CDDL, GPL
Oracle GlassFish Server Yes v3[4] Yes Sun Java System Application Server v9.0 Yes Sun Java System Application Server v8.2 プロプライエタリ
(OSS版を元とする)
Oracle WebLogic Server英語版 Yes v12.2.x Yes v12.1.x[5] Yes v10.3.5.0 Yes v9 プロプライエタリ
WildFly Yes v14.x[6] Yes v12,x, v11.x, v10.x, v9.x, v8.x[7][8][9], v7.1[10] Yes v6.0 [1], v7.0 [2] Yes v5.1[11][12] Yes v4.x LGPL
JBoss Enterprise Application Platform Yes v7.2 [13] Yes v7.0 Yes v6.0 [14] Yes v5 LGPL
(WildFlyの商用版)
IBM WebSphere Application Server Yes v8[15] Yes v7 Yes プロプライエタリ
Open Liberty Yes v18.0.0.2[16] Yes v18.x, v17.x, IBM WAS Liberty v8.5.5.6 [17][18] Yes IBM WAS Liberty v8.5.5 [19] Eclipse Public License
IBM WebSphere Application Server Community Edition Yes v3.0[20][出典無効] Yes v2.1 プロプライエタリ
Apache Geronimo Yes v3.0 [3][21] Yes v2.0 Yes v1.0 Apache License 2.0
TmaxSoft JEUS Yes v8 [22][23][24] Yes v7[25][26] Yes v6 Yes v5 プロプライエタリ
富士通 Interstage Application Server[27] Yes v1[28] Yes プロプライエタリ
NEC WebOTX Yes v10[29] Yes v9[30] Yes v8 プロプライエタリ
Caucho英語版 Resin Server英語版 Yes v4.0.[31] Yes プロプライエタリ
Apache TomEE英語版[32][33] Yes Apache License 2.0
OW2 JOnAS Yes v5.3 rc1 [34] Yes Yes LGPL
SAP NetWeaver Yes v2.x [35] Yes Yes プロプライエタリ
Oracle Containers for Java EE英語版 Yes プロプライエタリ
Oracle iPlanet Web Server Yes Sun Java System Web Server プロプライエタリ
Oracle Application Server 10g英語版 Yes プロプライエタリ
Sybase Enterprise Application Server [36] Yes プロプライエタリ

[編集]


Java EE 7Web

Jakarta EEJSPJSFFaceletsWeb UIJSFFaceletsBean Validation使
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:f="http://xmlns.jcp.org/jsf/core">
    
    <f:metadata>
        <f:viewParam name="user_id" value="#{userEdit.user}" converter="#{userConvertor}" />
    </f:metadata>
    
    <h:body>
    
        <h:messages />
        
        <h:form>
            <h:panelGrid columns="2">
                <h:outputLabel for="firstName" value="First name" />
                <h:inputText id="firstName" value="#{userEdit.user.firstName}" label="First name" />
                
                <h:outputLabel for="lastName" value="Last name" />
                <h:inputText id="lastName" value="#{userEdit.user.lastName}" label="Last name" />
                
                <h:commandButton action="#{userEdit.saveUser}" value="Save" />
            </h:panelGrid>
        </h:form>
    
    </h:body>
</html>

バッキングBeanの例[編集]

JJakarta EEでは、ビューの処理の実装にバッキングBean(画面の背後で処理するBean、管理Beanとも)と呼ばれる仕組みを用いる。以下はCDIとEJBを用いたバッキングBeanの例である。

@Named
@ViewScoped
public class UserEdit {

    private User user;
    
    @Inject
    private UserDAO userDAO;
    
    public String saveUser() {
        userDAO.save(this.user); 
        addFlashMessage("User " + this.user.getId() + " saved");
        
        return "users.xhtml?faces-redirect=true";
    }
    
    public void setUser(User user) {
        this.user = user;
    }
    
    public User getUser() {
        return user;
    }
}

DAOの例[編集]


Jakarta EEEJBJDBCJPA使EJBJPAData Access Object (DAO) EJBJTA使
@Stateless
public class UserDAO {

    @PersistenceContext
    private EntityManager entityManager;
    
    public void save(User user) {
        entityManager.persist(user);
    }
    
    public void update(User user) {
        entityManager.merge(user);
    }
    
    public List<User> getAll() {
        return entityManager.createNamedQuery("User.getAll", User.class)
                            .getResultList();
    }

}

エンティティの例[編集]

Jakarta EEでは、エンティティ/モデルクラスのためにJPAが用意されており、またバリデーション(値の検証)ではBean Validationが使用できる。以下は両者を用いた例である。

@Entity
public class User {

    @Id
    @GeneratedValue(strategy = IDENTITY)
    private Integer id;
    
    @Size(min = 2, message="First name too short")
    private String firstName;
    
    @Size(min = 2, message="Last name too short")
    private String lastName;
    
    public Integer getId() {
        return id;
    }
    
    public void setId(Integer id) {
        this.id = id;
    }
    
    public String getFirstName() {
        return firstName;
    }
    
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    
    public String getLastName() {
        return lastName;
    }
    
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

}

脚注[編集]



(一)^ Eclipse FoundationJava EEJakarta EE.  OSDN (2018228). 201836

(二)^ http://www.oracle.com/technetwork/java/javaee/community/testedconfiguration-glassfish4-0-1957654.html

(三)^ abhttps://glassfish.dev.java.net/public/comparing_v2_and_v3.html

(四)^ Java EE Compatibility.  Java.sun.com (201097). 2012718

(五)^ http://wcc.on24.com/event/37/57/27/rt/1/documents/player_docanchr_3/weblogic12c_launch_tech_webinar_v8.pdf

(六)^ http://wildfly.org/news/2018/08/30/WildFly14-Final-Released/

(七)^ wildfly.org/about/#compliant

(八)^ https://issues.jboss.org/browse/WFLY-469

(九)^ http://lists.jboss.org/pipermail/wildfly-dev/2013-May/000062.html

(十)^ JBoss AS 7.1.0.Final "Thunder" released - Java EE 6 Full Profile certified! | My Wiki | Planet JBoss Community.  Planet.jboss.org (2012217). 2012718

(11)^ Java EE Compatibility

(12)^ JBoss AS is now EE5 certified

(13)^ Red Hat JBoss Enterprise Application Platform 7.2 Availability. 2019430

(14)^ Business Wire (2012620). Red Hat Launches JBoss Enterprise Application Platform 6 to Help Enterprises Move Application Development and Deployment to the Cloud.  Business Wire. 2012718

(15)^ What's new in WebSphere Application Server V8.  Ibm.com. 2012718

(16)^ IBM WebSphere Application Server Liberty delivers the first production-ready, Java EE 8-compatible application server and broadens support for Spring Boot applications. IBM. 2018712

(17)^ http://oracle.com/technetwork/java/javaee/overview/waslibertyprofile8556-2587134.html

(18)^ https://developer.ibm.com/wasdev/blog/2015/06/25/java-ee-7-has-landed-in-was-liberty

(19)^ http://www.oracle.com/technetwork/java/javaee/community/ibm-javaee6-web-tested-configs-1961333.html

(20)^  IBM WebSphere Application Server Community Edition - Wikipedia, the free encyclopedia, En.wikipedia.org 

(21)^ Apache Geronimo fully certified for Java EE 6 - The H Open: News and Features.  H-online.com (20111114). 20124202012718

(22)^ http://www.oracle.com/technetwork/java/javaee/community/tmax-jeus-8-tested-configuration-1995477.html

(23)^ http://tmaxsoft.com/product/jeus/certification

(24)^ https://blogs.oracle.com/theaquarium/entry/tmaxsoft_jeus_8_now_java

(25)^ Tested Configurations, Java EE 6 - TMAX JEUS 7.  Oracle.com (201097). 2012718

(26)^ Java EE6 Web Application Server, WAS Software.  Us.tmaxsoft.com. 2012718

(27)^ Fujitsu Interstage Application Server powered by Windows Azure

(28)^ Tested Configurations, Java EE6 - Fujitsu Interstage.  Oracle.com (201097). 2012718

(29)^ https://www.oracle.com/java/technologies/necjavaee7.html

(30)^ http://www.oracle.com/technetwork/java/javaee/community/nec-webotx-v9x-certification-2002719.html

(31)^ http://www.caucho.com/articles/Caucho_Web%20Profile%20JavaEE6_whitepaper_byRR.pdf

(32)^ Apache TomEE.  Openejb.apache.org. 2012718

(33)^ MarketWatch.com.  MarketWatch.com. 2012718

(34)^ http://jonas.ow2.org/xwiki/bin/view/Blog/JOnAS+530+RC1+released

(35)^ https://blogs.oracle.com/theaquarium/entry/sap_netweaver_cloud_java_ee

(36)^ EAServer

関連項目[編集]

外部リンク[編集]