MZ မွာေမးထားတာေလးကို blog မွာလည္း အျခားသူေတြ သိေအာင္ ထပ္ေျဖေပးလိုက္ပါတယ္။
က်ေတာ္က ဒီလိုနားလည္ ထားတယ္...
ဥပမာ . Facebook မွာဆိုရင္ Game ေတြ အမ်ားၾကီးပါတယ္။ အဲဒီ Game ေတြက သာမာန္ web programming နဲ႔ ေရးလို႔ မရဘူးဗ်ာ။ အဲဒါကို တျခား java ျဖစ္ျဖစ္ c ျဖစ္ျဖစ္ ေရးထားမယ္ေပါ့။ အဲဒီ အေျခေနမွာဆုိရင္ ကို ေရးလိုက္တဲ့ဟာက my application ျဖစ္သြားျပီေပါ့။ အဲဒါကုိမွ web site မွာတင္ခ်င္တယ္ဆိုေတာ့ my application ကေန web application ကိုေျပာင္းဖို႔ အတြက္ web service ကို အသံုးျပဳတာလို႔ က်ေတာ္က နားလည္ ထားတယ္။ အဲဒီ အေတြးက မွန္ပါသလား။ခင္မင္စြာျဖင့္ စိုင္းထက္
အဲလိုမဟုတ္ပါဘူး။
facebook မွာေရးခ်င္တယ္ဆို၇င္ fbml ကို သံုးျပီးေတာ့ ေရးရမယ္။ အဆင္အေျပဆံုးကေတာ့ PHP နဲ႕fbml ကို တြဲသံုးျပီး ေရးတာေပါ့။ အဲလိုေရးဖို႕အတြက္ အရင္ဆံုး facebook မွာ API key ယူရတယ္။ API key ရျပီးေတာ့မွ PHP ကေနဆုိရင္ facebook phplibrary နဲ႕ fbml ကို သံုးျပီးေရးရတယ္။ app run တာကေတာ့ ကိုယ့္ host မွာ။ ျပတာကေတာ့ facebook ကေနေပါ့။ API နဲ႕ FBML က အလုပ္လုပ္သြားေပးတာပါ။ API ဆိုတာက facebook နဲ႕ ကိုယ္ေရးထားတဲ့ API ကို ၾကားခံေဆာင္ရြက္ေပးတာပါ။ အဲလို ေဆာင္ရြက္ေပးဖုိ႕အတြက္ ကိုယ္က facebook site မွာ app register လုပ္ရတယ္။ အဲဒီ အခါ API key ရလာမယ္။ API key ရမွ ဆက္သြယ္လုိ႕ရမယ္။ API key ဆိုတာက security သေဘာမ်ဳိးနဲ႕ သံုးတာပါ။ ဥပမာ API ကို အသံုးျပဳျပီး facebook မွာ ၅ မိနစ္ တစ္ခါ post ေတြ အလိုအေလ်ာက္တင္ေနလို႕ရတယ္။ အဲဒီအခါ facebook က ခြင့္မျပဳဘူးဆုိရင္ ဘယ္ API က လာတယ္။ အဲဒီ API ကို ဘယ္ user က register လုပ္ထားလဲဆိုတာကို သိျပီး ban လုိက္လို႕ရတယ္။
oAuth က နည္းနည္းရႈပ္တယ္။ နည္းနည္းပိုရွင္းတဲ့ AuthSub ကို ေျပာတာ ပိုေကာင္းမယ္။ AuthSub ဆုိတာက google ရဲ႕ နည္းပညာပါ။ oAuth ကို အေျခခံထားတာပဲ။ user ေတြရဲ႕ contact list ကို site တစ္ခုကေန ယူေတာ့မယ္ဆိုပါဆုိ႕။ အဲဒီလိုအခါမွာ user ရဲ႕ username နဲ႕ pwd ထည့္ရမယ္။ အဲဒီ site က ယံုၾကည္စိတ္ခ်ရမႈ ရိွခ်င္မွရိွမယ္။ အဲလိုမ်ဳိးေတြအတြက္ oAuth ေပၚလာတာပါ။ AuthSub က oAuth ထက္ ပိုရွင္းေအာင္ လုပ္ထားေပးတယ္။
Google Contact list ကို web site က request လုပ္လုိက္ရင္ google website ကိုေရာက္သြားမယ္။ google website မွာ user က login ဝင္။ ဝင္ျပီးတဲ့အခါမွ google က ဒီ site က contact list ကို ေတာင္းေနျပီ။ မင္းေပးမွာလားလုိ႕ ေမးေရာ။ ကိုယ္က ေပးလိုက္လို႕ေျပာတဲ့အခါမွ google ကေန ေပးလုိက္တာ။ အဲဒီ အခါမွာ လာခဲ့တဲ့ site ကိုေရာက္သြားေရာ။ အဲဒီအတြက္ session token ပို႕လိုက္တယ္။ username နဲ႕ pwd ေတာ့ မပို႕ဘူး။ session token ျဖစ္တဲ့အတြက္ အခ်ိန္အၾကာၾကီးမရတဲ့အတြက္ username နဲ႕ pwd ကို site က ခိုးလုိ႕မရေတာ့ဘူး။ user အတြက္လည္း စိတ္ခ်ရတယ္။ site အတြက္လည္း user ရဲ႕ ယံုၾကည္မႈကိုရတယ္။
တနည္းေျပာရင္ သာမာန္ web programming နဲ႕ပဲ ေရးရတာပဲ။ facebook app လည္း သာမာန္ web programming နဲ႕ပဲေရး၇တာပဲ။ သက္ဆိုင္ရာ API function ေတြကိုေတာ့ ယူသံုးရတယ္။ ဥပမာ။ facebook API function ကေန friendlist ေတြရႏိုင္တယ္။ user information ေတြရႏိုင္တယ္။ register လုပ္တယ္ဆိုတာက user information ရဖို႕ပဲ။ facebook connect သံုးလိုက္ေတာ့ user လည္း register လုပ္စရာမလုိေတာ့ဘူး site ကလည္း information ရတယ္။ အဲလိုမ်ဳိး web service ေတြက အလုပ္လုပ္ေပးတာ။
ဥပမာ။ ။ ကၽြန္ေတာ္ လက္ရိွေရးေနတဲ့ ornagai ဆိုပါဆို႕။ API ကေတာ့ ေရးေနဆဲ မျပီးေသးဘူး။ API register လုပ္ထားတဲ့သူက ornagai ရဲ႕ စာလံုးေတြကို အျခား site ကေန retrieve လုပ္လုိ႕ရတယ္။ ကၽြန္ေတာ့္ site ကို လာစရာမလုိပဲနဲ႕ API function ေခၚျပီး retrieve လုပ္လို႕ရမယ္။ အဲဒီအတြက္ အျခား site ေတြကလည္း စာလံုးတစ္ခုကို mouse ေထာက္လိုက္တာနဲ႕ ornagai dictionary API ကို ယူျပီး ornagai ကေန စာလံုးရွာျပီး return ျပန္လာမယ္။ ျပန္လာတဲ့စာလံုးကို ေရးထားတဲ့ app ကေန ရယူျပီး ျပန္ျပီးေပးတယ္။
Google Map API ကို အသံုးျပဳျပီးေတာ့ ေျမပံုေပၚမွာ ပံုေတြထည့္တာ point ေတြထည့္တာ စတာေတြလုပ္လုိ႕ရတယ္။
http://map.etelegram.net.mm
ဆိုရင္ Google Map API သံုးျပီးေတာ့ ျမန္မာႏိုင္ငံက ျမိဳ႕ေတြကို point ေတြနဲ႕ ခ်ထားတာ။ အဲလိုလုပ္ဖုိ႕ google map api key ကို အရင္ဆံုး ယူရတယ္။ API key တစ္ခုက register လုပ္ထားတဲ့ site ကပဲ ေခၚလို႕ရတယ္။ http://map.etelegram.net.mm/ က API key ကို http://map.mymap.com.mm ကေန ေခၚလို႕မရဘူး။ API key တစ္ခု ရယူဖုိ႕က တစ္ခုနဲ႕ တစ္ခုမတူဘူး။ Google Map ဆိုရင္ site ပဲလိုေပမယ့္ facebook ဆိုရင္ facebook user ျဖစ္ရမယ္။ သံုးမယ္ website လည္းလိုတယ္။
ဒါေပမယ့္ Twitter အသံုးျပဳတဲ့ REST လိုက်ေတာ့ ဘာမွ မလုိျပန္ဘူး။ oAuth လုိတဲ့အပိုင္းရိွသလို မလိုတဲ့ အပိုင္းရိွတယ္။ user တစ္ေယာက္ရဲ႕ tweet ေတြကို ထုတ္ၾကည့္ခ်င္ရင္ twitter ကေပးထားတဲ့ REST web service ကေန ထုတ္လိုက္လို႕ရတယ္။ ဘယ္ site ကေန ျဖစ္ျဖစ္ ဘယ္ app ကေန ျဖစ္ျဖစ္ ထုတ္ယူလို႕ရပါတယ္။ ဒါေပမယ့္ ကိုယ့္ status တင္ေတာ့မယ္ဆိုရင္ oAuth လိုအပ္ပါတယ္။ oAuth သေဘာတရားက AuthSub သေဘာတရားနဲ႕ ဆင္တူပါတယ္။ SOAP ဆိုတာက ထပ္ရိွေသးတယ္။ SOAP ကေတာ့ အခုခ်ိန္မွာ ေခတ္သိပ္မရိွေတာ့ဘူး။ သံုးတဲ့လူလည္း ေတာ္ေတာ္နည္းသြားျပီ။
API ေတြ web service ေတြေၾကာင့္ ဘာလုပ္လို႕ရလဲဆိုေတာ့ sync ေတြ လုပ္လုိ႕ရလာတယ္။ ဥပမာ Google Calendar ဆိုပါဆုိ႕။ Google Calendar က online ပဲရတယ္။ App တစ္ခုေရးျပီး Google Clanedar API ကို ယူသံုးလိုက္ျပီး data ေတြ အကုန္ဆြဲခ်လိုက္လို႕ရတယ္။ ေနာက္ျပီးေတာ့ APP မွာ ထည့္ထားတာေတြကို Google Calendar API ကေန တင္ေပးလိုက္လုိ႕ရတယ္။ Syn လုပ္ျပီးသြားရင္ Google Calendar မွာရိွတာေတြနဲ႕ ကိုယ့္ app မွာရိွတာေတြနဲ႕ အတူတူျဖစ္သြားျပီ။
ဒီေလာက္ဆို၇င္ web service , web API ေတြအေၾကာင္း နားလည္ျပီလို႕ ထင္ပါတယ္။






