August 12, 2013

Java EE 7၏ နည်းပညာအသစ်များ

Java EE Technology သည် JPE (Java Professional Edition)ဟု ၁၉၉၈ခုနှစ်လောက်က စတင်ခဲ့ပြီး ယနေ့ဆိုလျှင် Version 7 ဖြစ်သော Java EE 7 ကိုပင် Release လုပ်လာနိုင်ခဲ့ပါသည်။ Release လုပ်လာခဲ့သော Versions များမှာ အောက်ပါအတိုင်း ဖြစ်ကြသည်။

Name Release Date API
JPE May 1998
J2EE 1.2 December 12, 1999
Technology Version
JDBC Standard Extension API2.0
Java Naming and Directory Interface Specification (JNDI)1.2
RMI-IIOP1.0
Java Servlet2.2
JavaServer Pages (JSP)1.1
Enterprise JavaBeans (EJB)1.1
Java Message Service API (JMS)1.0
Java Transaction API (JTA)1.0
JavaMail API1.1
JavaBeans Activation Framework (JAF)1.0
J2EE 1.3 September 24, 2001
Technology Version
JDBC Extension2.0
Java API for XML Processing (JAXP)1.1
Java Servlet2.3
JavaServer Pages (JSP)1.2
JavaServer Pages Standard Tag Library (JSTL)1.0
Enterprise JavaBeans (EJB)2.0
J2EE Connector Architecture1.0
Java Message Service API (JMS)1.0
Java Transaction API (JTA)1.0
JavaMail API1.2
JavaBeans Activation Framework (JAF)1.0
Java Authentication and Authorization Service (JAAS)1.0
J2EE 1.4 November 11, 2003
Technology Version
Web Services Technologies:
Web Services for J2EE 1.11
Java API for XML Processing (JAXP)1.2
Java API for XML-based RPC (JAX-RPC)1.1
Java API for XML Registries (JAXR)1
Web Application Technologies:
Java Servlet2.4
JavaServer Pages (JSP)2
JavaServer Pages Standard Tag Library (JSTL)1.1
JavaServer Faces (JSF)1.1
Enterprise Application Technologies:
Enterprise JavaBeans (EJB)2.1
J2EE Connector Architecture1.5
Java Message Service API (JMS)1.1
Java Transaction API (JTA)1
JavaMail API1.3
JavaBeans Activation Framework (JAF)1
Management and Security Technologies:
Java Authorization Service Provider Contract for Containers (JACC)1
Java Management Extensions (JMX)1.2
Enterprise Edition Management API1
Enterprise Edition Deployment API1.1
Java EE 5 May 11, 2006
Technology Version
Web Services Technologies:
Web Services1.2
Java API for XML-Based Web Services (JAX-WS)2
Java Architecture for XML Binding (JAXB)2
Web Service Metadata for the Java Platform2
Java API for XML-Based RPC (JAX-RPC)1.1
Java API for XML Registries (JAXR)1
SOAP with Attachments API for Java (SAAJ)1.3
Streaming API for XML (StAX)1
Web Application Technologies:
Java Servlet2.5
JavaServer Faces (JSF)1.2
JavaServer Pages (JSP)2.1
JavaServer Pages Standard Tag Library (JSTL)1.2
Debugging Support for Other Languages1
Enterprise Application Technologies:
Enterprise JavaBeans (EJB)3
Java Persistence API (JPA)1
Java EE Connector Architecture1.5
Common Annotations for the Java Platform1
Java Message Service API (JMS)1.1
Java Transaction API (JTA)1.1
JavaMail API1.4
JavaBeans Activation Framework (JAF)1.1
Management and Security Technologies:
Java Authorization Service Provider Contract for Containers (JACC)1.1
J2EE Application Deployment1.2
J2EE Management1.1
Java EE 6 Dec 10, 2009
Technology Version
Web Services Technologies:
Java API for RESTful Web Services (JAX-RS)1.1
Web Services1.3
Java API for XML-Based Web Services (JAX-WS)2.2
Java Architecture for XML Binding (JAXB)2.2
Web Services Metadata for the Java Platform2.1
Java API for XML-based RPC (JAX-RPC)1.1
Java APIs for XML Messaging (JAXM)1.3
Java API for XML Registries (JAXR)1
Web Application Technologies:
Java Servlet3
JavaServer Faces (JSF)2
JavaServer Pages (JSP)2.2
Expression Language (EL)2.2
JavaServer Pages Standard Tag Library (JSTL)1.2
Debugging Support for Other Languages1
Enterprise Application Technologies:
Enterprise JavaBeans (EJB)3.1
Java Persistence API (JPA)2
Contexts and Dependency Injection for Java1
Dependency Injection for Java1
Bean Validation1
Managed Beans1
Interceptors1.1
Java EE Connector Architecture1.6
Common Annotations for the Java Platform1.1
Java Message Service API (JMS)1.1
Java Transaction API (JTA)1.1
JavaMail API1.4
Management and Security Technologies:
Java Authentication Service Provider Interface for Containers (JASPIC)1
Java Authorization Service Provider Contract for Containers (JACC)1.4
Java EE Application Deployment1.2
J2EE Management1.1
Java EE 7 June 12, 2013
Technology Version
Web Application Technologies:
Java API for WebSocket
Java API for JSON Processing
Java Servlet3.1
JavaServer Faces (JSF)2.2
Expression Language (EL)3
JavaServer Pages (JSP)2.3
JavaServer Pages Standard Tag Library (JSTL)1.2
Enterprise Application Technologies:
Batch Applications for the Java Platform
Concurrency Utilities for Java EE1
Contexts and Dependency Injection for Java1.1
Dependency Injection for Java1
Bean Validation1.1
Enterprise JavaBeans (EJB)3.2
Interceptors1.2
Java EE Connector Architecture1.7
Java Persistence API (JPA)2.1
Common Annotations for the Java Platform1.2
Java Message Service API2
Java Transaction API (JTA)1.2
JavaMail API1.5
Web Services Technologies:
Java API for RESTful Web Services (JAX-RS)1.1
Implementing Enterprise Web Services1.3
Java API for XML-Based Web Services (JAX-WS)2.2
Web Services Metadata for the Java Platform
Java API for XML-based RPC (JAX-RPC) (Optional)1.1
Java APIs for XML Messaging1.3
Java API for XML Registries (JAXR)1
Management and Security Technologies:
Java Authentication Service Provider Interface for Containers1.1
Java Authorization Service Provider Contract for Containers1.5
Java EE Application Deployment (Optional)1.2
J2EE Management1.1
Debugging Support for Other Languages1
Java EE-related Specs in Java SE:
Java Architecture for XML Binding (JAXB)2.2
Java API for XML Processing (JAXP)1.3
Java Database Connectivity4
Java Management Extensions (JMX)2
JavaBeans Activation Framework (JAF)1.1
Streaming API for XML (StAX)1
ဤနည်းအားဖြင့် Java EE Technology သည် နည်းပညာအသစ်များအား Support လုပ်နိုင်ရန် ဖြည့်စွက်လာခြင်း၊ Enterprise ၏ လိုအပ်ချက်များအား ဖြည့်စွက်ရင်း၊ Developer များအား ထုတ်လုပ်မှု့ ကောင်းမွန်စေရန်ပြု ပြင်ပြောင်းလည်းရင်းဖြင့် တစ်နေ့ထက်တစ်နေ့ ကြီးထွားလာခဲ့၏။



Java EE 7 ၏ အဓိက ရည်ရွယ်ချက်မှာ Enterprise Application များအား ရေးသားရာတွင် အသုံးဝင်သော အခြေခံဖြစ်သည့် Component များအား Java EE Platform တွင် စုစည်းထားပြီး ပိုမိုလွယ်ကူစွာ Development ပြုလုပ်နိုင်ရေးနှင့် Web Standard Technology တစ်ခုဖြစ်သော HTML 5 အား Support လုပ်နိုင် ရေးတို့  ဖြစ်ကြ၏။ XML ဖြင့် ရေးသားခဲ့ရသော Configuration များအား၊ Annotation များဖြင့် ရေးသားနိုင်အောင် ပြင်ဆင်လာနိုင်ခြင်း၊ လွယ်ကူသော Plain Old Java Object (POJO) များဖြင့် ရေးသားနိုင်အောင် ပြင်ဆင်လာခြင်း၊ ယခင် Enterprise Application များအား war, jar, ear အစရှိသဖြင့် အဆင့်ဆင့် Package လုပ်ရန် ပြင်ဆင် နေခဲ့ရသည်ကို war တစ်ခုထဲတွင် စုပေါင်း Package လုပ်နိုင်အောင် ပြင်ဆင်လာခြင်း တို့ကြောင့် Developer များသည် မိမိ၏ Business Logic များတွင် ပိုမိုအားစိုက် လာနိုင် ပါသည်။

Java EE 7 ၏ Feature အသစ်များ


အသစ်ဖြည့်စွက်လာသော နည်းပညာများ

  • Java Platform အတွက် Batch Applications များ
  • Java EE Platform အတွင်းအသုံးပြုနိုင်သော Concurrancy Utilities များ
  • JSON Object များအားအသုံးပြုနိုင်သော Java API များ
  • Websocket ကို အသုံးပြုနိုင်သော Java API များ

EJB 3.2

EJB ဆိုသည်မှာ Enterprise Java Bean ၏ အတိုကောက် အခေါ်အဝေါ်ဖြစ်ပြီး၊ Business Logic များအား ရေးသားနိုင်သော Java Object များဖြစ်ကြပါသည်။ EJB Object များသည် EJB Container အပေါ်တွင် အလုပ်လုပ်ပြီး၊ Local ပတ်ဝင်းကျင်ရှိ Object များမှ တိုက်ရိုက်ဆက်သွယ်၍သော်၎င်း၊ အခြားဆာဗာအပေါ်ရှိ Object များမှ Remote Access လုပ်၍သော်၎င်း ခေါ်ယူ အသုံးပြုနိုင်ပါသည်။ EJB Container သည် Business Application များအတွက် မရှိမဖြစ်လိုအပ်သော Connection များ၊ Transaction များ၊ Session များအား Manage လုပ်ပေးနိုင်ပါသည်။ EJB တွင် အဓိကအားဖြင့် Session Bean နှင့် Message Driven Bean တို့ ပါဝင်ကြပါသည်။

Session Bean ဆိုသည်မှာ Client Object နှင့် အပြန်အလှန် ဆက်သွယ် အလုပ်လုပ်နိုင်သော Object ဖြစ်ပါသည်။ Client Object ၏ လုပ်ဆောင်ချက်များပြီး ဆုံးသွားသည့်အခါ Session Bean နှင့် ၎င်း၏ အချက်အလက်များလည်း ပြီးဆုံးမည်ဖြစ်၏။

Message Driven Bean ဆိုသည်မှာ Session Bean ၏ Feature များနှင့် Message Listener ၏ Feature များအား ပူးတွဲပါဝင်သော Object များ ဖြစ်ကြပါသည်။ Message Driven Bean သည် Client Object များမှ Asychronously လက်ခံရရှိသော JMS Message များ၏ ခိုင်းစေချက်များအား လုပ်ဆောင် ပေးနိုင်ပါသည်။

EJB 3.2 တွင် အသစ်ပါဝင်လာသော နည်းပညာများမှာ အောက်ပါအတိုင်း ဖြစ်ကြ၏။
  • EJB Lite ၏ Local Session Bean
  • EJB Lite ၏ Non-Persistance Timer 

Servlet 3.1

Servlet နည်းပညာများကို အသုံးပြုခြင်းအားဖြင့် HTTP Protocol များအား အသုံးပြုနိုင်သော Server Side Program (Servlet Class) များအား အစဉ်သင့် ရေးသားနိုင်ပါသည်။ Servlet များသည် Request - Response Model အား အခြေခံထားပြီး၊ Server ၏ Function များအား ပြည့်စုံစွာ အသုံးပြုနိုင်ပါသည်။

Java EE 7 အရောက်တွင် အသစ် ဖြည့်စွက်ထားသော Servlet ၏ Feature အသစ်များမှာ အောက်ပါအတိုင်း ဖြစ်ပါသည်။

  • Non-Blocking I/O
  • HTTP Protocol Upgrade

JSF 2.2

JSF သည် Java Server Face ၏ အတိုကောက်အခေါ်အဝေါ်ဖြစ်ပြီး၊ MVC Model အား အခြေခံထားသော Web Application များအတွက် UI Component Framework တစ်မျိုး ဖြစ်ပါသည်။ JSF တွင်ပါဝင်သော အခြေခံ နည်းပညာများမှာ အောက်ပါအတိုင်း ဖြစ်ကြပါသည်။
  • GUI Component Framework
  • Component များအား HTML သို့မဟုတ် အခြားသော Markup Language အဖြစ် ပြောင်းလည်းပေးနိုင်သော Rendering Model အား အခြေခံထားပြီး၊ Model အတွင်းတွင် သိမ်းဆည်းထားသော Data များအား View များပေါ်တွင် ဖော်ပြပေးနိုင်ပါသည်။
  • HTML 4.01 Markup အဖြစ်ပြောင်းလည်းပေးနိုင်သော အခြေခံ RanderKit
GUI Component များမှ Support လုပ်ပေးနိုင်သော Feature များမှာ အောက်ပါအတိုင်း ဖြစ်ကြပါသည်။


  • Input များအား Validation ပြုလုပ်နိုင်ခြင်း
  • Event များအား Handle ပြုလုပ်နိုင်ခြင်း
  • Model Objects များနှင့် Components များအကြားတွင် Data များအား ပြောင်းလည်းပေးနိုင်ခြင်း
  • Model Objects များအား Container မှတဆင့် Create ပြုလုပ်ပေးနိုင်ခြင်း
  • Page Navigation Configuration များအား သတ်မှတ်ပေးနိုင်ခြင်း
  • Expression Language
JSF ၏ Function များအား Standard Java API များနှင့် XML Configuration ဖိုင်များအား အသုံးပြု၍ ရေးသားနိုင်ပါသည်။ Java EE 7 အရောက်တွင် ဖြည့်စွက်လာသော Feature အသစ်များမှာ အောက်ပါအတိုင်း ဖြစ်ပါသည်။
  • HTML5 Markup များအား လွယ်ကူစွာရေးသားနိုင်ခြင်း
  • Faces Flows
  • Resources Library Contract

JMS 2.0

Java EE Application Component များမှ Message များအား Create လုပ်ရာတွင်၎င်း၊ Send လုပ်ရာတွင်၎င်း၊ Receive လုပ်ရာတွင်၎င်း၊ Read လုပ်ရာတွင်၎င်း JMS API အား အသုံးပြုနိုင်ပါသည်။ JMS အား အသုံးပြုခြင်းအားဖြင့် တစ်နေရာစီတွင်ရှိသော အပလီကေးရှင်းများ အကြား၊ အဝေးရောက် စနစ်အား အသုံးပြုနိုင်ခြင်း၊ အပလီကေးရှင်းတစ်ခုနှင့် တစ်ခုအား ပတ်သက်မှု့ကို လျှော့ချနိုင်ခြင်း၊ အပြန်အလှန် မှီခိုမှု့အား လျှော့ပေါ့စေနိုင်ခြင်း၊ Asynchronous Processing အား ပံ့ပိုးပေးစေနိုင်ခြင်း အစရှိသည့် အကျိုးများကို ရရှိစေနိုင် ပါသည်။

Java EE 7 ၏ New Features များမှာ အောက်ပါအတိုင်း ဖြစ်ကြပါသည်။
  • ယခင် API အစား ရိုးရှင်းသော API အသစ်ကို ပြင်ဆင်လာပါသည်။ API အသစ်တွင် JMSContext Object အား အသုံးပြုလာနိုင်ပြီး၊ ၎င်းသည် Connections နှင့် Section များ၏ Function များနှင့် ပူးပေါင်း ဆောင်ရွက်လာနိုင်သည်။
  • close method ကို အသုံးပြုသော Object များအားလုံးအား java.lang.Autocloseable အား Implements လုပ်ထားပြီး၊ Java SE 7 ၏ try-with-resources statement အား အသုံးပြုလာနိုင်ပါသည်။

ဆက်ပါဦးမည်။ လေးစားစွာဖြင့်
မင်းလွင်

1 comment:

  1. Thank for sharing your knowledge bro. Your blog can help me a lot while I studying Java EE. I would like you to write more about Java EE article. I am appreciate for your writing and I always reading your article. Thanks for supporting our Myanmar Java youths programmers.

    ReplyDelete