Showing posts with label အသုံးတည့် API များ. Show all posts
Showing posts with label အသုံးတည့် API များ. Show all posts

Mar 17, 2017

API ဆိုတာဘာလဲ။

sagaing
API ဆိုတာ Application Program Interface ဖြစ်ပါတယ်။  Application တစ်ခုနှင့်တစ်ခု ချိတ်ဆက်ပြီး လိုအပ်တဲ့လုပ်ငန်းတွေ ဆောင်ရွက်နိုင်ရန် ဖန်တီးထားတဲ့ ကြားခံ Application တစ်ခုဖြစ်ပါတယ်။  Application တစ်ခုနှင် အခြား Application တစ်ခုတို့ရဲ့ Interface လည်းဖြစ်ပါတယ်။  API မှာ Command (သို့) Function တွေစုစည်းဖန်တီးထားပြီး ၄င်းတို့ကို Request လုပ်တဲ့အခါမှာ သက်ဆိုင်ရာ Response တစ်ခုခုကိုပြန်လည်ပေးပို့တယ်။  API တွေဟာ Cloud Service တွေထဲက (SaaS - Software as a Service နှင့်ဆင်တူတယ်။  Cloud Service တွေအကြောင်းကိုဖတ်ချင်ရင် ကျွန်တော် ဒီနေရာမှာ ရေးသားထားပါတယ်။  API ဆိုတာကို အခုနောက်ပိုင်းမှာ Web နည်းပညာတွေနှင့်အတူတွဲပြီး အမြဲလိုလို ကြားဖူးနေကြပေမယ့် တကယ်တော့ API ဟာ Windows နှင့်အခြား Platform တွေမှာလည်း ရှိပါတယ်။  ဥပမာ MS Windows ထဲက API တွေကို Windows API Index မှာတွေ့နိုင်ပါတယ်။  Windows Application တွေကို VB, C#, Java စသည့် Programming Languages တွေနှင့် ရေးသားဖန်တီးတဲ့အခါမှာ Windows ရဲ့ တစ်ချို့လုပ်ဆောင်ချက်တွေကို မိမိရဲ့ Application ထဲမှာထည့်သွင်း အသုံးပြုချင်တယ်ဆိုရင် Windows API တွေကိုသုံးနိုင်ပါတယ်။  မည်သည့် API ပဲဖြစ်ဖြစ် မိမိရဲ့ Application ထဲမှာထည့်သွင်း အသုံးပြုခြင်းဖြင့် သီးသန့်အစအဆုံးဖန်တီးစရာမလိုပဲ လိုအပ်တာကိုလုပ်ဆောင်နိုင်တာဟာ API တွေရဲ့ အားသာချက်တစ်ခုဖြစ်ပါတယ်။
ဒီပုံကတော့ API တစ်ခုရဲ့ အခြေခံအလုပ်လုပ်ပုံဖြစ်ပါတယ်။  Application 2 ကနေ Application 1 ကို API မှတဆင့် Request တစ်ခုလုပ်တယ်၊ Application 2 ရဲ့ Request ကို Application 1 ရတဲ့အချိန်မှာ သက်ဆိုင်ရာ Response တစ်ခုကို Application 1 က ပြန်လည်ပေးပို့နေတဲ့ ပုံဖြစ်ပါတယ်။

Web Service ဆိုတာဘာလဲ။
Web Service ဆိုတာ API အမျိုးအစားတစ်ခုဖြစ်ပြီး၊ Network (သို့) Internet ထဲက မတူညီတဲ့ Platform တွေပေါ်မှာရှိတဲ့ Application တွေတစ်ခုနှင့်တစ်ခု အပြန်အလှန်ဆက်သွယ်၊ ဆောင်ရွက်နိုင်အောင် ဖန်တီးထားတဲ့ နည်းပညာဖြစ်ပါတယ်။  အဲ့လို ဆက်သွယ်ဆောင်ရွက်တဲ့အခါမှာ Transport Protocol တစ်ခုဖြစ်တဲ့ HTTP ကိုအဓိက အသုံးပြုပါတယ်။ အခြား SMTP, FTP စသည် Protocol တွေလည်း အသုံးပြုကြပါတယ်။ အချက်အလက်တွေ အပြန်အလှန်ပေးပို့တဲ့နေရာမှာ အဓိကအသုံးများတဲ့ Message Protocol တွေကတော့ SOAP နှင့် REST ပဲဖြစ်ပါတယ်။  REST ကို RESTful လို့လည်းခေါ်ကြတယ်။  Wiki ထဲမှတော့ REST ကို Protocol တစ်ခုလို့ ဒီနေရာမှာ ပြောထားတယ်။  သို့သော် REST ဟာ HTTP ကိုအခြေခံပြီး API တွေရေးတဲ့အခါမှာအသုံးပြုတဲ့ Application Architecture တစ်ခုလို့ပြောရင် ပိုမှန်ပါလိမ့်မယ်။  Web Service တွေရဲ့ အခြေခံအားဖြင့် အလုပ်လုပ်ပုံကတော့ Transport Protocol တစ်ခုပေါ်မှာ Message တွေကို Request နှင့် Response လုပ်တာပဲဖြစ်တယ်။

SOAP ဆိုတာဘာလဲ။
SOAP ဆိုတာ XML ကိုအခြေခံတဲ့ Simple Object Access Protocol ဖြစ်ပါတယ်။  SOAP ဆိုတဲ့ Standard နှင့် SOAP အတွက်သတ်မှတ်ချက်တွေကို ဖန်တီးခဲ့တာကတော့ W3C အဖွဲ့ကြီးပဲဖြစ်ပါတယ်။  SOAP ကို HTTP, SMTP နှင့် FTP စသည့် Transport Protocol တွေပေါ်မှာ ဖန်တီးနိုင်ပါတယ်။  SOAP Message တစ်ခုကို Envelope လို့ခေါ်ပါတယ်။  Envelope တစ်ခုမှာ Header နှင့် Body ဆိုတာရှိတယ်၊  Header ပိုင်းမှာ Message အတွက်လိုအပ်တဲ့ လုံခြုံရေးပိုင်းဆိုင်ရာတွေဖြစ်တဲ့ ဥပမာ (Authentication, Encoding စသည်ဖြင့်) ပါဝင်ပြီး Body ပိုင်းမှာတော့ Response လုပ်မယ့် Message ပါဝင်တယ်။  Body က Message တွေကို WSDL - Web Service Definition Language လို့ခေါ်တဲ့ XML ပုံစံကဲ့သို့ရိုးရှင်းသော Language ကိုအသုံးပြုပြီး ဖန်တီးထားတာဖြစ်တယ်။  Body ထဲမှာ နောက်ထပ်ပါဝင်နိုင်တာက Fault ဖြစ်ပါတယ်။  Fault ကတော့ Error (သို့) Response Message နှင့်သက်ဆိုင်တဲ့ အချက်အလက်တွေပါဝင်တယ်။  Fault ကတော့လိုအပ်မှ ထည့်သွင်းအသုံးပြုရတဲ့အပိုင်းဖြစ်တယ်။  SOAP နှင့်ဆင်တူတဲ့ XML-RPC (Remote Procedure Call) ဆိုတဲ့ Web Service အမျိုးအစားလည်းရှိပါတယ်။  အခြားသော Web Service Protocol တွေကို ဒီနေရာမှာ လေ့လာနိုင်ပါတယ်။

အောက်မှာဖော်ပြထားတဲ့ SOAP Request Message နမူနာက W3C.ORG မှဖြစ်ပါတယ်။

POST /StockQuote HTTP/1.1
Host: www.stockquoteserver.com
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
SOAPAction: "Some-URI"

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
        <m:GetLastTradePrice xmlns:m="Some-URI">
            <m:tickerSymbol>DIS</m:tickerSymbol>
        </m:GetLastTradePrice>
    </soapenv:Body>
</soapenv:Envelope>

အောက်မှာဖော်ပြထားတဲ့ SOAP Response Message နမူနာက W3C.ORG မှဖြစ်ပါတယ်။

HTTP/1.1 200 OK
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
        <m:GetLastTradePriceResponse xmlns:m="Some-URI">
            <m:price>34.5</m:price>
        </m:GetLastTradePriceResponse>
    </soapenv:Body>
</soapenv:Envelope>
နမူနာ SOAP Message တွေနှင့် အထက်ပါပုံကိုတွဲပြီး ကြည့်မယ်ဆိုရင် DIS (Walt Disney Company) ရဲ့ နောက်ဆုံး အရောင်းအဝယ်ဖြစ်ခဲ့တဲ့ Stock စျေးနှုံးကို SOAP Sender က SOAP Receiver ဆီကို Request လုပ်လိုက်တယ်။  SOAP Receiver ကနေ နောက်ဆုံးစျေးနှုံးကို SOAP Sender ဆီကို Response ပြန်လည်ပေးပို့လိုက်တာပဲဖြစ်တယ်။

REST ဆိုတာဘာလဲ။
REST ဆိုတာ REpresentational State Transfer ဖြစ်ပါတယ်။  Server မှာရှိတဲ့ Resource တွေကို Client တွေ Request လုပ်ခဲ့ရင်၊ Request နှင့်သက်ဆိုင်တဲ့ Response တစ်ခုကို ပြန်လည်ပေးပို့တဲ့ အလုပ်ကိုလုပ်ဆောင်တယ်။ Resource ဆိုတာ Message တစ်ခုဖြစ်နိုင်သလို၊ Image တစ်ခုလည်း ဖြစ်နိုင်တယ်။  REST ရဲ့ အလုပ်လုပ်ပုံက Client နှင့် Server ပုံစံမျိုးဖြစ်တယ်။  REST ဆိုတဲ့နည်းပညာကို Roy Fielding ရဲ့ PhD Thesis ကနေ ၂၀၀၀ ခုနှစ်မှာ စတင်ပေါ်ပေါက်လာခဲ့ပြီး၊ အခုနောက်ပိုင်းမှာ တဖြည်းဖြည်းနှင့် ပေါ်ပြူလာဖြစ်လာတဲ့ နည်းပညာတစ်ခုဖြစ်တယ်။  REST API ကို HTTP ပေါ်မှာ ရိုးရှင်းစွာ Request နှင့် Response ကိုလုပ်ဆောင်နိုင်ပါတယ်။  REST API တစ်ခုကိုအသုံးပြုဖို့၊ မည်သည့် Deployment မှမလုပ်ပဲနှင့်လည်း Browser ကနေလည်း Server ဆီကို Request လုပ်နိုင်ပါတယ်။  Request လုပ်တဲ့အခါမှာလည်း Client နှင့်သက်ဆိုင်တဲ့ Cookies Data နှင့် အခြား State တွေ (ဥပမာ Session Context) ကို Server ထဲမှာသိမ်းဆည်းမှု မလုပ်နိုင်ပါဘူး။  အဲလိုမလုပ်နိုင်တဲ့ အခြေအနေကို Stateless လို့ခေါ်ပါတယ်။ နောက်ပြီး REST မှာရှိတဲ့ Request တစ်ခုစီတိုင်းဟာ Resource တစ်ခုစီကို ရည်ညွှန်းတယ်။ REST ရဲ့ Request တွေဟာ URL တွေနှင့်သတ်မှတ်ထားတာဖြစ်တယ်။

အောက်မှာဖော်ပြထားတဲ့ REST Request နမူနာက Open Weather Map ကဖြစ်ပါတယ်။
http://samples.openweathermap.org/data/2.5/weather?q=London,uk&appid=b1b15e88fa797225412429c1c50c122a1

အောက်မှာဖော်ပြထားတဲ့ REST Response နမူနာက Open Weather Map ကဖြစ်ပါတယ်။ 
{"coord":{"lon":-0.13,"lat":51.51},"weather":[{"id":300,"main":"Drizzle","description":"light intensity drizzle","icon":"09d"}],"base":"stations","main":{"temp":280.32,"pressure":1012,"humidity":81,"temp_min":279.15,"temp_max":281.15},"visibility":10000,"wind":{"speed":4.1,"deg":80},"clouds":{"all":90},"dt":1485789600,"sys":{"type":1,"id":5091,"message":0.0103,"country":"GB","sunrise":1485762037,"sunset":1485794875},"id":2643743,"name":"London","cod":200}
Request မှာကြည့်လိုက်ရင် ပုံမှန် URL ကဲ့သို့ပဲဖြစ်ပေမယ့် URL နောက်မှာ API Version (2.5)၊ weather (ဒီနေရာထိကို Service Endpoint လို့ခေါ်ပါတယ်။)၊ q=London,uk (ရှာဖွေချင်တဲ့ နိုင်ငံ၊ မြို့အမည်) နှင့် appid (ယာသီအသုံးပြုဖို့ id) စသည့်အချက်အလက်တွေပါတယ်။  ဒီအချက်အလက်ပုံစံကို Query String လို့ခေါ်ပါတယ်။ Response မှာကတော့ JSON Data တွေဖြစ်ပါတယ်။ Response မှာ XML အမျိုးအစားလည်း Response လုပ်နိုင်ပါတယ်။  အခုနမူနာက JSON Data တွေကို Programmer တွေရဲ့ Application ထဲမှာပြန်သုံးတဲ့အခါမှာ Serialization လုပ်ပြီးတော့ အသုံးပြုကြပါတယ်။  Serialization နှင့် Deserialization အကြောင်းကို ဖတ်ချင်ရင် ဒီနေရာမှာ ကျွန်တော်ရေးသားထားပါတယ်။  REST API တွေအလုပ်လုပ်ပုံကို လေ့လာကြည့်ချင်ရင် Fake API ဆိုတဲ့ Website မှာလေ့လာနိုင်ပါတယ်။  REST API ဆိုတာ ဘယ်လိုမျိုးလည်းဆိုတာ စမ်းသပ်ဖို့ရန် ဖန်တီးထားတဲ့ Website ဖြစ်ပါတယ်။  SOAP ထက် ဖန်တီးတည်ဆောက်ရတာလွယ်ပြီး၊ ရိုးရှင်းစွာ အသုံးပြုနိုင်တာကြောင့် REST နှင့် API တွေ တော်တော်များများကို အင်တာနက်ထဲမှာ တွေ့နိုင်ပါတယ်။

API တွေအများကြီးကို တစ်နေရာတည်းမှာ စုစည်းထားတဲ့ Any API ဆိုတဲ့ Website ထဲမှာ API တွေကိုဝင်ရောက် လေ့လာနိုင်ပါတယ်။  အဲ့ဒီ Website ထဲမှာ API တွေတစ်ခုချင်းစီ ဘယ်လိုအသုံးပြုရမလဲဆိုတဲ့ Documentation တွေလည်းပါဝင်ပါတယ်။  အခြား API တွေလည်း အင်တာနက်ထဲမှာ အများကြီး ရှိနိုင်ပါသေးတယ်။

Oct 15, 2010

Google Street View API အသုံးပြုခြင်း

sagaing

Street View ဆိုတာ Google Map မှတဆင့် မိမိကြည့်ချင်တဲ့ ‌နေရာတစ်ခုမှပုံရိပ်‌တွေကို 360 degree လှည့်ပတ်ကြည့်ရှုနိုင်တဲ့ Google ရဲ့ နည်းပညာတစ်ခုဖြစ်ပါတယ်။  Street View က Flash plugin ကိုအသုံးပြုပြီး အလုပ်လုပ်တာပါ။  အခုအချိန်မှာ Browsers ‌တော်တော်များများဟာ Flash plugin ကို supported လုပ်နိုင်ပါတယ်။  ‌နောက်ဆုံး Street View နည်းပညာမှာ ထပ်‌ပေါင်းထည့်ထားတာက မိမိကြည့်‌နေတဲ့ ‌နေရာတစ်ခုမှ ဓါတ်ပုံ‌တွေကိုပါ Panaramio နှင့် Picasa Website ‌တွေမှ တဆင့် Street View မှာ စုစည်း‌ဖေါ်ပြပေးတဲ့ လုပ်‌ဆောင်ချက်ပါ ပါဝင်လာပါပြီ။  Street View ဟာ Client Code နှင့် အလုပ်လုပ်တာ‌ေကြာင့် HTML Page ‌တွေမှာ‌ရော Server Page ‌တွေမှာပါ အလုပ်လုပ်နိုင်ပါတယ်။  Street View ကို Web Page တစ်ခုမှာ အသုံးပြုမယ်ဆိုရင် Street View API ကို အခုလိုလှမ်း‌ခေါ်ထားရပါမယ်။

<scriptsrc="http://maps.google.com/mapsfile=api&amp;v=2.x&amp;key=ABQIAAAAkSMDTOtwTPM0TC1KBP9nTBTwL9WvRaWIiG8lhvgtZ1YK86EPWhRsBP4eCzj2VdeliUAYQ39q3qYXrQ" type="text/javascript"></script>

(Street View API)

Mar 4, 2010

Google Mathematical (TeX) Formulas

sagaing
Google က ပြီးခဲ့တဲ့ Feb 2010 ကမှသူ့ရဲ့ Chart API ထဲမှာ အသစ်အသစ်‌တွေ ထပ်ဖြည့်ထားတယ် အဲ့ဒီထဲမှာ Mathematical (TeX) Formulas လဲပါတယ် သူက Web Page ‌တွေမှာ Formulas ‌တွေပြချင်ရင် သုံးလို့ရတယ် ဒီ‌နေရာ မှာအပြည့်အစုံ ‌ရေးပြထားတယ် သိပ်မခက်ပါဘူး img src tag နဲ့သုံးရတာ src မှာသူ့ရဲ့ API source ကိုထည့်‌ပေး လိုက်ရုံဘဲ ဥပမာ...

https://chart.apis.google.com/chart?cht=tx&chl=x = \frac{-b \pm \sqrt {b^2-4ac}}{2a}

ဒီ Source ကို img tag ရဲ့ src ထဲမှာထည့်လိုက်ရင်...

Web Page မှာဒီ Formula ‌ပေါ်လာတယ် Google Charts ‌တွေလဲ ဒီတိုင်းပဲသုံးတယ်။  ကျွန်‌တော်က Google ရဲ့ Technology ‌တွေကို သ‌ဘောကျတယ်ဗျ :-)

ကိုစစ်ကိုင်း

Fusion Charts 4 Web Developer

sagaing


Web Site ‌တွေထဲမှာ အချက်အလက်‌တွေကို Chart ‌တွေအသုံးပြုပြီး ‌ဖေါ်ပြဖို့လိုအပ်လာပြီဆို Web Developer ‌တွေအတွက် INTERNET ထဲမှာ Chart API ‌တွေအများကြီးရှိပါတယ်။  ကျွန်‌တော်သုံးဖူးတဲ့ Chart API နှစ်ခုက‌တော့ သုံးရတာ ‌တော်‌တော်‌လေး အဆင်‌ပြေတယ် အဲ့ဒါ‌တွေက Google Chart နဲ့ Fusion Charts ပါဘဲ။  Google က‌တော့ လုံးဝ Free သုံးလို့ရတယ် Fusion Charts က‌တော့ Free နဲ့ License Version နှစ်ခုရှိပါတယ် Free ကိုက ‌တော်‌တော်‌လေး စုံ‌နေ‌အောင် သုံးလို့ရပါတယ် အဲ့ဒီမှာ Google Chart က‌တော့ Image Chart (Bitmap Based) ရယ် Interactive Chart (Flash Based) ဆိုပြီး နှစ်မျိုးရှိပါတယ်။  အခုကျွန်‌တော် ‌ပြောချင်တာက Fusion Charts ‌တွေ အ‌ကြောင်းပါ ‌နောက်ပိုင်းမှာ Google Charts ‌တွေအ‌ကြောင်း သီးသန့် ‌ပြောကြတာ‌ပေါ့ အခုဒီ Fusion Charts ‌တွေဟာ Flash Based Charts ‌တွေပါ သူတို့ကို သုံးမယ်ဆို ဒီ‌နေရာ မှာ Download လုပ်ပြီး လိုအပ်တဲ့ Documentation ‌တွေကို ဒီ‌နေရာ မှာကြည့်နိုင်ပါတယ်။  Fusion Charts ‌တွေဟာ Flash Charts ‌တွေဖြစ်တဲ့အတွက် Interactive ဖြစ်ပါတယ်။  Fusion Chart ‌တွေရဲ့အလုပ်လုပ်ပုံက XML Data Files ကို .swf Files (Charts အမျိုးအစား အသီးသီးအတွက် ဖိုင်တစ်မျိုး တစ်မျိုး စီရှိပါတယ်) ‌တွေနဲ့ ‌ပေါင်းစပ်ပြီး Web Page ထဲမှာ Object Tag နဲ့လှမ်း‌ခေါ်ပြီး အသုုံးပြုတာပါ။  Javascript နဲ့လည်း လှမ်း‌ခေါ်အသုံးပြုနိုင်ပါတယ်။ Fusion Charts ‌တွေကို Web Designer, Web Developer, Flash Developer, PowerPoint Slide Show စ‌သော နယ်ပယ်‌တွေမှာ သုံးနိုင်‌အောင် ဖန်တီးထားပါတယ်။  နမူနာ‌တွေကို ဒီ‌နေရာ မှာ‌လေ့လာနိုင်ပါတယ်။


ကိုစစ်ကိုင်း

Mar 3, 2010

OZEKI NG SMS Gateway

sagaing

Mobile ဖုန်း‌တွေနဲ့ SMS ‌တွေပို့ရတာ တချို့ကိစ္စရပ်‌တွေမှာ ‌တော်‌တော်‌လေး ထိ‌ရောက်ပါတယ် ဒါ‌ကြောင့် ဒီ SMS ‌တွေကို ကျွန်‌တော်တို့လို Developer ‌တွေအတွက် ဘယ်လိုပို့တယ်၊ ဒီလိုပို့ဖို့ ဘယ်လို‌တွေ Develop လုပ်ရတယ်၊ ဘာ‌တွေလိုအပ်တယ် ဆိုတာကလဲ စိတ်ဝင်စားစရာ ‌ကောင်းလှပါတယ်။  ဒီ SMS Gateway Website ‌လေးဟာ Developer ‌တွေ အားလုံးအတွက် စမ်းသပ်စရာ၊ ‌လေ့လာစရာ‌နေရာ‌လေး တစ်ခုပါဘဲ...

ကိုစစ်ကိုင်း
ကိုစစ်ကိုင်း၏ မှတ်စုများ. Powered by Blogger.