JSF, JPA, CDI, EJB ပြီးမှ တစ်ခြား Java EE Feature တွေကို ဆက်ရေးပါမယ်။
Overview About JSF
JSF ဆိုတာ Java Server Face ရဲ့အတိုကောက်နာမည်ဖြစ်ပြီး MVC Design Pattern ကို အခြေခံထားတဲ့ Framework တစ်ခုဖြစ်ပါတယ်။ Presentation Layer အတွက် Java EE ရဲ့ Standard API ဖြစ်ပါတယ်။ ဒါ့ကြောင့် Java EE ကို သုံးပြီးရေးမယ်ဆိုရင် Presentation Layer အတွက် တစ်ခုထဲသော API လဲ ဖြစ်ပါတယ်။
MVC Design Pattern ဆိုတာ Application တွေမှာ Model, View နဲ့ Controller တွေကို အသုံးပြုပြီး Model နဲ့ View တို့အကြားမှာရှိတဲ့ Coupling ကို ဆောင်ရွက်ပေးနိုင်တဲ့ Design Pattern တစ်ခုဖြစ်ပါတယ်။
View ဆိုတာက End User တွေနဲ့ တိုက်ရိုက် ဆက်သွယ်နိုင်သော Component တွေဖြစ်ပြီး၊ Model ထဲမှာရှိတဲ့ Information တွေကို User ကို ပြပေးနိုင်တယ်။ ပြီးတော့ User ကနေ ပေးလိုက်တဲ့ Information တွေကို လက်ခံယူနိုင်တယ်။ ပြီးတော့ User ဆီကနေလာတဲ့ Action တွေကို သိရှိနိင်ပါတယ်။ နောက်ပြီး View ရဲ့ အလုပ်ဟာ Model မှာ ပါလာတဲ့ Information တွေကို ဘယ်နေရာမှာ ဘယ်လိုပြမလဲ ဆိုတာကို ဖေါ်ပြရုံပါပဲ။
Controller တွေကတော့ View ကနေရောက်လာတဲ့ User Action တွေအလိုက် ဘယ် Model ကို ခေါ်ပြီး Update လုပ်မယ်၊ ဒါမှမဟုတ် Model ထဲကနေ Data တွေကို ရှာဖွေပြီး ဘယ် View ကို ပြန်ပြပေးမယ်ဆိုတာကို Handle လုပ်ပေးရုံပါပဲ။
Model ကတော့ View အတွက် Data တွေကို Support လုပ်ပေးမယ်။ ပြီးတော့ Business Logic တွေကို လုပ်ပေးရပါမယ်။ ဤကဲ့သို့ Model, View, Controller တို့ကို အသုံးပြုခြင်းအားဖြင့် View နဲ့ Model တို့ကြားမှာရှိတဲ့ Coupling တွေကို လျော့ချပေးနိုင်ပါတယ်။
အထက်မှာ ဖေါ်ပြထားတဲ့ MVC ဆိုတာကတော့ လူအပြောများတဲ့ MVC Pattern ဖြစ်ပါတယ်။ MVC Type 1 လို့လဲ ခေါ်ပါတယ်။ Struts 1 တုန်းကတော့ MVC Type 1 ကို အခြေခံပြီးရေးသားခဲ့ပါတယ်။
JSF မှာက Front End Controller အနေနဲ့ Framework ကနေ ရေးသားထာတဲ့ FacesServlet ကို အသုံးပြုပါတယ်။ ဒါ့ကြောင့် JSF ကို အသုံးပြုမယ်ဆိုရင် Controller အပိုင်းဟာ ကျွန်တော်တို့ ရေးစရာမလိုတဲ့ အပိုင်းဖြစ်ပါတယ်။
View တွေအနေနဲ့ကတော့ PDL တွေအရ JSP တွေ အသုံးပြုနိုင်သလို XHTML တွေ၊ XML ဖိုင်တို့ကို အသုံးပြုနိုင်ပါတယ်။ JSF 2.2 အရောက်မှာ Facelets Technology ကို အသုံးပြုရန် တိုက်တွန်းထားပြီး XHTML တွေနဲ့ ရေးသားရန် အဆိုပြုထားပါတယ်။ ဒါ့ကြောင့် ကျွန်တော်တို့ နမူနာတွေထဲမှာလဲ Facelets ကို အသုံးပြုပြီး ရေးသား သွားပါမယ်။
တဖန် JSF Framework ကနေ View တွေကို ရေးသားရာမှာ အလွယ်တကူ အသုံးပြုနိုင်အောင် Standard Component Library တွေကိုလဲ ပံပိုးပေးထားပါတယ်။ HTML ရဲ့ Form Elements တွေ Data Table တွေ အစရှိသည်တို့ကို အလွယ်တကူ ရေးသားနိုင်အောင် Component အနေနဲ့ ပံ့ပိုးထားပါတယ်။ တဖန် မိမိကိုယ်တိုင်လဲအလွယ်တကူ Custom Component တွေကို ရေးသားနိုင်အောင်လဲ စီစဉ်ထားပါတယ်။
Model နေရာမှာ တာဝန်ကျတာကတော့ JSF ရဲ့ Backing Beans တွေ ဖြစ်ပါတယ်။ Backing Bean တွေဟာ လိုအပ်တဲ့ Annotation တွေကို ရေးသားထားတဲ့ POJO တွေသာဖြစ်ပါတယ်။ Backing Beans တွေဟာ Model နေရာမှာ တာဝန်ရှိတဲ့အတွက် View အတွက် Data တွေကို Support လုပ်ပေးနိုင်ပါတယ်။ တဖန် View ကနေ ပေးပို့လိုက်တဲ့ Data တွေကိုလဲ လက်ခံယူနိုင်ပါတယ်။ Business Logic တွေကိုတော့ Action Method တွေနဲ့ အကောင်အထည်ဖေါ် ဆောင်ရွက်ပေးပါတယ်။
ဒါ့ကြောင့် Backing Beans တွေမှာ ဘာတွေရေးနိုင်လဲလို့မေးလာရင် View နဲ့ Interact လုပ်မည့် Properties တွေ ရေးသားနိုင်ပါမယ်။ ပြီးတော့ Business Logic တွေကို Delegate လုပ်ပြီး ရေးသားဖို့ EJB တို့ အခြား Service Object တွေကို ရေးသားနိုင်မယ်။ ပြီးတော့ User Action တွေအလိုက် Business Logic တွေကို ဆောင်ရွက်ပေးမည့် Action Method တွေ Action Listener Method တွေကို ရေးသားနိုင်ပါမယ်။
Articles
- How To Write JSF Application
- Backing Beans
- Data Binding with EL
- Scopes of Beans
- Building Views
- Convertors
- Validations
- Ajax Invocations
- Writing Templates
- Web Security
No comments:
Post a Comment