Jun 26, 2017

HL7 Message ဆိုတာဘာလဲ။

Ko Sagaing
(HL7 Wiki မှ ပုံဖြစ်ပါသည်။)

နည်းပညာတွေကို သက်ဆိုင်ရာနယ်ပယ်ထဲမှာ ထည့်သွင်းအသုံးပြုကြတဲ့အခါ အဲ့ဒီနယ်ပယ်အတွက် ဖန်တီးထားတဲ့ စနစ်တွေဟာ တစ်ခုထက်မကရှိနိုင်ပါတယ်။  အဲ့ဒီစနစ်တွေဟာ မတူညီတဲ့ အဖွဲ့အစည်းတွေ၊ နည်းပညာတွေနှင့် ထုတ်လုပ်ထားလေ့ရှိကြတယ်၊ နောက်ပြီး စနစ်တွေဟာ သီးသန့်တည်ရှိနေလို့မရသလို၊ စနစ်တစ်ခုနှင့်တစ်ခု အပြန်အလှန်ဆက်သွယ်ပြီးလည်း လုပ်ဆောင်နေကြရတယ်။  ယင်းကဲ့သို့စနစ်တွေ အပြန်အလှန်ဆက်သွယ်ပြီး လုပ်ဆောင်နိုင်တာက Standard လို့ခေါ်တဲ့ စံသတ်မှတ်ချက်တွေကြောင့်ဖြစ်တယ်။  အဲ့ဒီ စံသတ်မှတ်ချက်တွေထဲမှာ တစ်ခုအပါအဝင်ဖြစ်တဲ့  HL7 Message စံသတ်မှတ်ချက်ဟာ ကျမ္မာရေးနှင့်သက်ဆိုင်တဲ့ ဆေးပညာနယ်ပယ်အတွက် အသုံးပြုတဲ့စံသတ်မှတ်ချက်ဖြစ်တယ်။  HL7 ဆိုတာ Health Level 7 ဖြစ်ပါတယ်။  ကျမ္မာရေးစောင့်ရှောက်မှုစနစ်တွေမှာ လူနာတစ်ယောက်နှင့်သက်ဆိုင်တဲ့ အချက်အလက်တွေကို စနစ်တစ်ခုနှင့်တစ်ခု အပြန်အလှန်ပေးပို့နိုင်ဖို့ ဖန်တီးထားတဲ့ Standard ကို HL7 လို့ခေါ်ပါတယ်။

HL7 လို့ဘာလို့ခေါ်တာလဲ။
နည်းပညာနယ်ပယ်က လူတိုင်းနီးပါး OSI Model (Open System Interconnection Model) အကြောင်းကို သိပြီးသားဖြစ်ပါလိမ့်မယ်။  OSI Model မှာ Layer ၇ခု ရှိပါတယ်၊ အဲ့ဒီ Layer တွေထဲမှာ နောက်ဆုံး Layer ဖြစ်တဲ့ Layer - 7 ဟာ Application Layer ဖြစ်ပါတယ်။  HL7 Standard ကို Application Layer မှာပဲအသုံးပြုပါတယ်။  အဲ့ဒါကြောင့် Health Level 7 လို့ ခေါ်တာဖြစ်ပါတယ်။  HL7 စံသတ်မှတ်ချက်တွေကို Health Level Seven International လို့အမည်ရတဲ့ NGO အဖွဲ့ကနေ၊ ANSI (American National Standards Institute) နှင့် ISO (International Standards Organization) တို့ရဲ့ အတည်ပြုချက်တွေနှင့်၊ ထုတ်ပြန်ထားတာဖြစ်ပါတယ်။  အောက်ပါပုံကတော့ Layer ၇ခုနှင့်ဖွဲ့စည်းထားတဲ့ OSI Model ပုံဖြစ်ပါတယ်။

(Source : Internet)

HL7 Message Standard Version
HL7 Standard တွေထဲမှာ HL7 Message နှင့်သက်ဆိုင်တဲ့ Standard ကို Version 2.x နှင့် Version 3 ဆိုပြီး (၂)မျိုး တွေ့နိုင်ပါတယ်။  Version 2.x နှင့် Version 3 မှာ နည်းပညာအားဖြင့် အဓိကခြားနားချက်ကတော့ Version 3 မှာ Object Oriented Design Methodology နှင့် XML အသုံးပြုလာခြင်းပဲဖြစ်ပါတယ်။  ဒီခြားနားမှုအပြင် Version 3 ဟာ Version 2.x တွေအတွက် Backward Compatible လို့ခေါ်တဲ့ နောက်ကြောင်းပြန်သဟဇာတဖြစ်မှုတွေ မပါဝင်ကြောင့် Version အသစ်တစ်ခုကဲ့သို့ဖြစ်ခဲ့ပါတယ်။  Version 2.x ကို နည်းပညာအသုံးပြုတဲ့ သာမာန်ဆေးရုံ၊ ဆေးခန်းတွေမှာရှိတဲ့ စနစ်တွေမှာ တွေ့နိုင်ပြီး၊ Version 3 ကိုတော့ အစိုးရဆေးရုံကြီးတွေ၊ နိုင်ငံတကာနှင့် ချိတ်ဆက်လုပ်ကိုင်နေကြတဲ့ ဆေးရုံကြီးတွေက နည်းပညာအသုံးပြုတဲ့ စနစ်တွေမှာ တွေ့နိုင်ပါတယ်။  ဒီအချက်တွေကြောင့် Version 2.x ဟာ လက်ရှိအချိန်အထိ စနစ်တော်တော်များများမှာ အသုံးပြုနေတဲ့ Standard တစ်ခုအနေနှင့် တည်ရှိနေပါတယ်။

HL7 Message ပုံစံနှင့်ဖွဲ့စည်းပုံ

HL7 Version 2.x Message Standard 

Version 2.x Message တစ်ခုကို Segment လို့ခေါ်တဲ့ အပိုင်းတွေ နှင့်ဖွဲ့စည်းထားပါတယ်။  Segment တစ်ခုဟာ တကယ်တော့ လိုင်းတစ်လိုင်း (သို့) စာကြောင်းတစ်ကြောင်းဖြစ်ပါတယ်။  Message တစ်ခုဟာ ဘယ်လို Message အမျိုးအစားဖြစ်တယ်ဆိုတာကို ပထမဆုံး Segment တစ်ခုဖြစ်တဲ့ MSH Segment ကိုကြည့်ခြင်းအားဖြင့် သိနိုင်ပါတယ်။  ဥပမာအနေဖြင့် အောက်ပါ Message တစ်ခုကိုကြည့်လိုက်ရင်...

MSH|^~\&|SOURCE|383018129|PRIORITY HEALTH|382715520|2007100914484648||ORU^R01|0129938170710091448|P|2.3| PID|1|1034157|012993817||LASTNAME^FIRSTNAME||19520101|M|||1234 MAIN^^DEARBORN HEIGHT^MI^48127|||||||| 
PD1|1|||1234567890^DOCLAST^DOCFIRST^M^^^^^NPI| 
OBR|1|||80061^LIPID PROFILE^CPT-4||20070911|||||||||| 
OBX|1|NM|13457-7^LDL (CALCULATED)^LOINC|49.000|MG/DL| 0.000 - 100.000|N|||F| OBX|2|NM|2093-3^CHOLESTEROL^LOINC|138.000|MG/DL|100.000 - 200.000|N|||F| OBX|3|NM|2086-7^HDL^LOINC|24.000|MG/DL|45.000 - 150.000|L|||F| 
OBX|4|NM|2571-8^TRIGLYCERIDES^LOINC|324.000|MG/DL| 0.000 - 150.000|H|||F|
 PriorityHealth မှ နမူနာ ဖြစ်ပါတယ်။

အနီရောင်ခြယ်ထားတာတွေက Segment တွေရဲ့ အစဖြစ်ပါတယ်။  Segment တစ်ခုဟာ Field တွေနှင့် ဖွဲ့စည်းထားပါတယ်။  Field တစ်ခုနှင့် တစ်ခုကို Vertial Bar ( | ) နှင့်ကန့်သတ်ထားပါတယ်။  MSH ဆိုတာ Message Header ဖြစ်ပြီး၊ MSH Segment ရဲ့ ကိုးခုမြောက် Field ဟာ Message Type (အမျိုးအစား) ဖြစ်ပါတယ်။  အဲ့ဒီနေရာမှာ ORU^R01 ဆိုတာတွေ့ရပါတယ်။  Message Type ကတော့ Obervation Result (ဆေးစစ်မှုအဖြေ) ဖြစ်ပါတယ်။  ဒီ Message ထဲမှာ ရောဂါလက္ခဏာ၊ ခန္ဓာကိုယ်က အရေးကြီးအစိတ်အပိုင်းတွေ (ဥပမာ၊​အသည်း၊ နှလုံး၊ အဆုတ်) စသည်တို့ရဲ့ အခြေအနေ၊ စသည်ဖြင့်ပါဝင်ပါတယ်။  Message ထဲမှာ PID ဆိုတာ Patient Identification ဖြစ်ပါတယ်။  လူနာနှင့်ပတ်သက်တဲ့ အချက်အလက်တွေ ပါဝင်ပါတယ်။  PD1 ဆိုတဲ့ Segment က Patient Additional Demographic ဖြစ်ပါတယ်။  လူနာနှင့်ပတ်သက်တဲ့ အခြားအချက်အလက်တွေဖြစ်ပါတယ်။  PD1 က လိုအပ်မှ ဆရာဝန်တွေထည့်သွင်း ဖေါ်ပြတဲ့ Segment တစ်ခုဖြစ်ပါတယ်။  OBR ဆိုတဲ့ Segment က Observation Request ဖြစ်ပါတယ်။  ဆေးစစ်မှုကို လုပ်ဆောင်တဲ့နေ့နှင့် အခြားလိုအပ်တဲ့ အချက်အလက်တွေဖြစ်ပါတယ်။  OBX Segment ကတော့ Observation Result ဖြစ်ပါတယ်။  ဆရာဝန်ရဲ့ လူနာကိုစစ်ဆေးမှုပေါ်မူတည်ပြီး OBX Segment တွေကို တစ်ခုထက်မက တွေ့နိုင်ပါတယ်။  အခြား Message Type တွေရဲ့ ဖွဲ့စည်းပုံကလည်း ဒီ Message ကဲ့သို့ဖြစ်ပါတယ်။  Segment တွေကို လေ့လာချင်ရင် ဒီနေရာမှာ လေ့လာနိုင်ပါတယ်။  Microsoft ရဲ့ HL7 Message Structure မှာလည်း Message Type တွေ၊ Segment တွေကို လေ့လာနိုင်ပါတယ်။

HL7 Version 3 Message Standard

Version 3 Message တစ်ခုကို XML နည်းပညာနှင့် ဖွဲ့စည်းတည်ဆောက်ထားပါတယ်။  နည်းပညာသမားတွေအနေနှင့်ကတော့ XML (Extensible Markup Language) ဆိုတာကို ရင်းနှီးပြီးသားဖြစ်ပါတယ်။  Version 3 Message တစ်ခုကို အောက်ပါအတိုင်း XML tag တွေနှင့် ဖွဲ့စည်းထားပါတယ်။

<POLB_IN224200 ITSVersion="XML_1.0" xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <id root="2.16.840.1.113883.19.1122.7" extension="CNTRL-3456"/> <creationTime value="200202150930-0400"/> <!-- The version of the datatypes/RIM/vocabulary used is that of May 2006 --> <versionCode code="2006-05"/> <!-- interaction id= Observation Event Complete, w/o Receiver Responsibilities --> <interactionId root="2.16.840.1.113883.1.6" extension="POLB_IN224200"/> <processingCode code="P"/> <processingModeCode nullFlavor="OTH"/> <acceptAckCode code="ER"/> <receiver typeCode="RCV"> <device classCode="DEV" determinerCode="INSTANCE"> <id extension="GHH LAB" root="2.16.840.1.113883.19.1122.1"/> <asLocatedEntity classCode="LOCE"> <location classCode="PLC" determinerCode="INSTANCE"> <id root="2.16.840.1.113883.19.1122.2" extension="ELAB-3"/> </location> </asLocatedEntity> </device> </receiver> <sender typeCode="SND"> <device classCode="DEV" determinerCode="INSTANCE"> <id root="2.16.840.1.113883.19.1122.1" extension="GHH OE"/> <asLocatedEntity classCode="LOCE"> <location classCode="PLC" determinerCode="INSTANCE"> <id root="2.16.840.1.113883.19.1122.2" extension="BLDG24"/> </location> </asLocatedEntity> </device> </sender> <controlActProcess classCode="CACT" moodCode="EVN"> <subject typeCode="SUBJ" contextConductionInd="false"> <encounterEvent classCode="ENC" moodCode="EVN"> <id root="1.56.3.4.7.5" extension="122345" assigningAuthorityName="Maple Hospital Emergency"/> <code code="EMER" codeSystem="2.16.840.1.113883.5.4"/> <statusCode code="active"/> <subject contextControlCode="OP"> <patient classCode="PAT"> <id root="1.56.3.4.7.9" extension="55321" assigningAuthorityName="Maple Hospital Patients"/> <patientPerson classCode="PSN" determinerCode="INSTANCE"> <name> <given>Rob</given> <given>P</given> <family>Young</family> </name> <administrativeGenderCode code="M" codeSystem="2.16.840.1.113883.5.1"/> <birthTime value="19800309"/> </patientPerson> </patient> </subject> </encounterEvent> </subject> </controlActProcess> </POLB_IN224200>
Wiki နှင့် Oracle မှ နမူနာများ ဖြစ်ပါတယ်။

POLB_IN224200 က Root tag ဖြစ်ပါတယ်။  Message ထဲမှာတွေ့ရတဲ့ နံပါတ်တွေဟာ Global သတ်မှတ်ထားတဲ့ Unique ID တွေဖြစ်ပါတယ်။  Message တွေမှာ Root tag အပါအဝင်၊ creationTime၊ processingCode၊ ဘယ်ကနေပို့ပြီး (sender)၊ ဘယ်ကလက်ခံတယ် (receiver) စသည် tag တွေနှင့်ဖွဲ့စည်းထားတဲ့အပိုင်းကို Transmission Wrapper လို့ခေါ်ပါတယ်။  အဲ့ဒီထဲမှာမှ Query Control Wrapper ဆိုတဲ့ tag လာပါတယ်။  အဲ့ဒီ tag ထဲမှာမှ Medical အချက်အလက်တွေကို သက်ဆိုင်ရာ tag အစုလိုက် ခွဲခြားပြီးဖွဲ့စည်းထားပါတယ်။  နမူနာ Message ထဲမှာ controlActProcess tag က Query Control Wrapper တစ်ခုဖြစ်ပါတယ်။  အဲ့ဒီ ထဲမှာမှ ဆေးရုံနှင့်ပတ်သက်တဲ့ အချက်အလက်၊ လူနာနှင့်ပတ်သက်တဲ့ အချက်လက်နှင့် အခြားဆေးပညာပိုင်းဆိုင်ရာ အချက်အလက်တွေ ပါဝင်ပါတယ်။  V3 Message တွေကို HTTP နှင့် SOAP Web Services တွေကို အသုံးပြုပြီး တစ်နေရာမှ၊ တစ်နေရာသို့ ပေးပို့ပါတယ်။  Web Services အကြောင်းကို လေ့လာချင်ရင် ဒီနေရာမှာ ကျွန်တော်ရေးသားထားပါတယ်။  အောက်ပါပုံကတော့ HL7 V3 မှာပါဝင်တဲ့ Layer တွေနှင့် Model ပုံဖြစ်ပါတယ်။


HL7 Message နှင့်ပတ်သက်တဲ့ အခြားလင့်ခ်များ
HL7Wiki
Oracle HL7 V3 Sample Project
HL7 Overview PDF
HL7 Implementation Guide
HL7 Message V2 and V3
Version of the HL7 Standard
Health Level 7

May 20, 2017

.Net Core ဆိုတာဘာလဲ။

Ko Sagaing

.Net ဆိုတာ ယခင်က Windows ပေါ်မှာပဲ အလုပ်လုပ်နိုင်တဲ့ Programming Language တစ်ခုလို့နားလည်ထားကြပေမယ့်၊ .Net Core ပေါ်လာတဲ့အခါမှာတော့ ဒီနားလည်မှုဟာမှန်ကန်မှု မရှိတော့ပါဘူး။  ဘာလို့လည်းဆိုတော့ .Net ဟာ Cross Platform တစ်ခုဖြစ်လာလို့ပါပဲ။  Cross Platform ဖြစ်တဲ့အတွက်မည်သည့် OS မှာမဆို (လက်ရှိအချိန်ထိတော့ Windows, Linux, MacOS ၃မျိုးကို ထောက်ပံ့ပေးထားပါတယ်။) အလုပ်လုပ်နိုင်တဲ့အတွက်ကြောင့်ဖြစ်တယ်။  .Net Core ဟာ Cross Platform ဖြစ်တဲ့အပြင် ၄င်းရဲ့ အခြားနောက်ထပ် ထူးခြားတဲ့လက္ခဏာတွေကတော့...

Open Source ဖြစ်ခြင်း
- Open Source ဖြစ်တဲ့အတွက် .Net Core Project ဖန်တီးမှုတွေမှာ ပါဝင်အားဖြည့်လို့ရပါတယ်။  အဲ့ဒီအတွက်လည်း GitHub မှာ .Net Core Repositories တွေကို Hosting လုပ်ထားပါတယ်။

Flexible Deployment လုပ်နိုင်ခြင်း
- Project တစ်ခုကို Deployment လုပ်တဲ့အခါမှာ သီးသန့် Install လုပ်ထားတဲ့ .Net Core Framework ပေါ်မှာမှီခိုပြီး အလုပ်လုပ်လို့ရသလို၊ မမှီခိုပဲ Project နှင့်အတူ .Net Core Framework ကိုပါတခါတည်း ထည့်သွင်းပြီးတော့လည်း အလုပ်လုပ်လို့ရတယ်။

Modular ဖြစ်ခြင်း
- .Net Core ထဲမှာရှိတဲ့ Assembly Package တွေကို သက်ဆိုင်ရာ လုပ်ဆောင်ချက်အလိုက် ခွဲထုတ်ပြီး ပေါင်းစည်းထားတာကြောင့် Modular ကဲ့သို့ဖြစ်နေပါတယ်။  ထို့ကြောင့် Project တစ်ခုအတွက် Assembly Package တွေကို အကုန်လုံးထည့်သွင်းလုပ်ဆောင်စရာမလိုပဲ၊ လိုအပ်တဲ့ Assembly Package တွေပဲထည့်ထားရုံနှင့် အလုပ်လုပ်နိုင်တယ်။

Multiple Programming Langauges နှင့်ရေးသားနိုင်ခြင်း
- Windows Platform မှာ ထင်ရှားတဲ့ Programming Language တွေဖြစ်တဲ့ C# နှင့် F# (VB ကိုလည်း .Net Core ထဲမှာ နောက်ပိုင်းထည့်သွင်းမယ်လို့ ပြောဆိုထားပေမယ့် အခုအချိန်ထိတော့ VB ကိုထောက်ပံ့ပေးမထားပါဘူး။) စသည်တို့နှင့် မိမိဖန်တီးချင်တဲ့ Application တွေကို ဖန်တီးလို့ရပါတယ်။  Application တွေဆိုတာ Windows, Web နှင့် Mobile စသည့် Application အမျိုးအစားတွေကိုပြောတာဖြစ်ပါတယ်။

Cloud Ready ဖြစ်ခြင်း
- Cloud ကိုအခြေခံတဲ့ Internet Application တွေကို အဆင်သင့်ဖန်တီးနိုင်ပါတယ်။  IoT App, Mobile Backend စသည့် Application မျိုးတွေဖြစ်ပါတယ်။

.Net Core ကို Download ချပြီး Install လုပ်ချင်ရင် ဒီနေရာမှာ လုပ်လို့ရပါတယ်။

.Net Core Application တွေဖန်တီးဖို့ဘာလိုမလဲ။
.Net Core နှင့် Application တွေဖန်တီးဖို့ မည်သည့် IDE - Integrated Development Environment မှမရှိလည်းဖြစ်ပါတယ်။  သို့သော် IDE တစ်ခုဖြစ်တဲ့... ဥပမာ Visual Studio နှင့် Application တွေဖန်တီးမယ်ဆိုရင်တော့ ပိုပြီးကောင်းမွန်ပါတယ်၊ လွယ်ကူပါတယ်။  အကယ်၍ Visual Studio ကို Download ချချင်တယ်ဆိုရင်တော့ ဒီနေရာမှာ Visual Community Edition ကို Download ချပြီးအသုံးပြုနိုင်ပါတယ်။  Community Edition ဟာ ကျောင်းသားတွေ၊ တကိုယ်တော် Coder တွေ နှင့် အခြား လေ့လာချင်သူတွေအတွက် Free ပေးထားတဲ့ Edition ဖြစ်ပါတယ်။  Visual Studio ကို Windows၊ Mac နှင့် Linux တွေမှာ Install လုပ်လို့ရပါတယ်။ အကယ်၍ Visual Studio မသုံးချင်ဘူးဆိုရင် အခြား IDE တွေလည်းရှိပါတယ်။  အဲ့ဒါတွေကတော့ OmniSharp နှင့် JetBrains Rider တို့ပဲဖြစ်ပါတယ်။

.Net Core Architecture Diagram

(Microsoft မှပုံဖြစ်ပါသည်။)

Microsoft မှာ ယခင်က .Net Framework ဆိုတာရှိပေမယ့်၊ အပေါ်မှာပြောခဲ့သလို ထူးခြားတဲ့ လက္ခဏာတွေပါတဲ့ .Net Core Framework တစ်ခုကို အသစ်သီးသန့်ဖန်တီးခဲ့တာဖြစ်ပါတယ်။  .Net Framework ထဲမှာ အဓိကပါဝင်တာက CLR (Common Language Runtime) နှင့် FCL (Functional Class Library) ဖြစ်ပါတယ်။  ၄င်းကဲ့သို့ပဲ .Net Core ထဲမှာလည်း Core CLR နှင့် Core FX (Core Libraries) ဆိုတာပါဝင်ပါတယ်။  Core CLR နှင့် Core FX ကိုမည်သည့် OS (Operation System) မှာမဆို အလုပ်လုပ်နိုင်အောင်ဖန်တီးထားတာဖြစ်ပါတယ်။  .Net Core ရဲ့အပေါ်မှာရှိတဲ့ အစိတ်အပိုင်း ၂ခုကတော့ Web နှင့်သက်ဆိုင်တဲ့ ASP.Net Core နှင့် ASP.Net Core MVC တို့ပဲဖြစ်ပါတယ်။

နမူနာ .Net Core Project တစ်ခုဖန်တီးခြင်း
.Net Core နှင့် Project တစ်ခုကို Visual Studio မပါပဲနှင့် Command Prompt ကနေဖန်တီးကြည့်မယ်။
Windows + R နှိပ်ပြီး cmd ဖြင့် Command Prompt ထဲကို ဝင်လိုက်မယ်။
ပြီးရင် dotnet + Enter နှိပ်လိုက်ပါက အောက်ပါအတိုင်း Command Prompt မှာ မြင်တွေ့ရလိမ့်မယ်။


.Net Core Version နှင့် dotnet Command နောက်မှာထပ်ဖြည့်သုံးနိုင်တဲ့ Options တွေကို မြင်တွေ့ရလိမ့်မယ်။
အရင်ဆုံး Project ကိုသိမ်းဖို့ Folder တစ်ခုကို md sampleprj + Enter နှိပ်ပြီး ဖန်တီးလိုက်မယ်။  Project သိမ်းမယ့် Folder အမည်ကို sampleprj လို့ပေးလိုက်တယ်။
cd sampleprj + Enter နှိပ်ပြီး sampleprj Folder ထဲကို ဝင်လိုက်မယ်။  အောက်ပါအတိုင်း Command Prompt မှာမြင်တွေ့ရလိမ့်မယ်။


dotnet new mvc + Enter နှိပ်ပြီး .Net Core MVC Project တစ်ခုဖန်တီးကြည့်လိုက်မယ်။  အောက်ပါအတိုင်း Command Prompt မှာမြင်တွေ့ရလိမ့်မယ်။


.Net Core Command (CLI - Command Line Interface) တွေနှင့်ပတ်သက်ပြီး အသေးစိတ်လေ့လာချင်ရင် ဒီနေရာမှာ လေ့လာလို့ရပါတယ်။  dotnet new mvc + Enter Command က MVC Project အတွက်လိုအပ်တဲ့ဖိုင်တွေကို ဖန်တီးပေးတယ်၊  Windows Explorer ထဲမှာသွားကြည့်ရင် File တွေကို ယခုလိုမြင်တွေ့ရလိမ့်မယ်။


ပြီးရင် Command Prompt ဘက်ကိုပြန်သွားပြီး dotnet restore + Enter နှိပ်ပြီး Project အတွက်လိုအပ်တဲ့ ဖိုင်တွေကို ထည့်သွင်းပေးရမယ်။  restore လုပ်ပြီးသွားရင် Command Prompt မှာ အောက်ပါအတိုင်း မြင်တွေ့ရလိမ့်မယ်။


ပြီးရင် ဖန်တီးထားတဲ့ Project ကို dotnet run + Enter နှိပ်ပြီး Run ကြည့်လိုက်မယ်။  အောက်ပါအတိုင်း မြင်တွေ့ရလိမ့်မယ်။

Project က MVC Web Site အမျိုးအစားဖြစ်တဲ့အတွက် Browser မှာ Run လိုက်တဲ့ Result ကိုဖွင့်ကြည့်ရမှာဖြစ်တယ်။  Command Prompt မှာလည်း Now listening on: http://localhost:5000 ဆိုတဲ့ Status တစ်ခုတွေ့လိမ့်မယ်။  အဲ့ဒီ localhost Address ကို Browser မှာဖွင့်ကြည့်လိုက်ရင် အောင်ပါအတိုင်းမြင်တွေ့ရလိမ့်မယ်။


.Net Core Project ကို Visual Studio ကနေ ဖန်တီးမယ်ဆိုရင် လွယ်ပါတယ်။  Command Prompt ကနေ ဖန်တီးမှု၊ လုပ်ဆောင်မှုတွေက အခြား Programming Language တစ်ခုဖြစ်တဲ့ Note.js  နှင့်အနည်းငယ် ဆင်တူပါတယ်။  .Net Core ထဲမှာ အခြား Project တွေကိုလည်း အခုလို ဖန်တီးနိုင်ပါတယ်။  .Net Core ကိုအပြည့်အစုံ လေ့လာချင်တယ်ဆိုရင် ဒီနေရာမှာ လေ့လာနိုင်ပါတယ်။

May 10, 2017

Payment Tokenization ဆိုတာဘာလဲ။

Ko Sagaing
အင်တာနက်အသုံးပြုတဲ့ ငွေပေးချေမှုလုပ်ငန်းတွေမှာ၊ ငွေပေးချေမှုတစ်ခု လုပ်တိုင်း၊ လုပ်တိုင်း အရေးပါတဲ့အချက်အလက်တွေ ထည့်သွင်းပေးရပါတယ်။  အရေးပါတဲ့အချက်အလက်တွေဆိုတာ ငွေပေးချေသူ၏ အမည်၊ ဖုန်းနံပါတ်၊ ကဒ်နံပါတ်၊ အကောင့်နံပါတ်၊ စတာတွေပါဝင်ပါတယ်။  ဒီလိုအချက်အလက်တွေပါဝင်မှု နည်းနိုင်သမျှနည်းအောင် (သို့) ငွေပေးချေတဲ့ဖြစ်စဉ်ထဲက ဖယ်ထုတ်ထားနိုင်အောင် Tokenization ဆိုတဲ့နည်းပညာကို ငွေပေးချေတဲ့စနစ်တွေမှာ အသုံးပြုလာကြပါတယ်။  Tokenization ဆိုတာ အရေးပါတဲ့အချက်အလက်တွေအစား သီးသန့် ကိန်းဂဏန်း (သို့) သင်္ကေတတွေနှင့် အစားထိုးသတ်မှတ်ပေးခြင်းဖြစ်ပါတယ်။  အရေးပါတဲ့အချက်အလက်တွေလည်း ပျက်စီးဆုံးရှုံးမှုမရှိစေပဲ သီးသန့် လုံခြုံစွာ ထိန်းသိမ်းပေးထားမှာဖြစ်ပါတယ်။ Tokenization ဖြစ်စဉ်ကို ဥပမာအနေနှင့် ဆေးရုံ၊ ဆေးခန်းတွေမှာ မြင်တွေ့နိုင်ပါတယ်။  ၄င်းနေရာတွေမှာ ဆေးဝါးကုသမှုခံယူဖို့အတွက် အရင်ဆုံးတိုကင်နံပါတ် ယူလိုက်သလိုပါပဲ။  မည်သူမည်ဝါထက် တိုကင်နံပါတ်က အရေးပါတဲ့အရာတစ်ခုလို ဖြစ်သွားတဲ့သဘောဖြစ်ပါတယ်။  Tokenization နည်းပညာကိုသုံးခြင်းအားဖြင့် PCI DSS အတွက် ဆောင်ရွက်ရမယ့် လုပ်ငန်းတွေကိုလျှော့ချပေးနိုင်သလို၊ မသမာသောနည်းလမ်းများဖြင့် ငွေပေးချေမှုတွေကို ပိုမိုထိရောက်စွာ ကာကွယ်နိုင်မယ့် နည်းလမ်းတစ်ခုဖြစ်တာကြောင့် ငွေပေးချေမှုစနစ်တွေမှာ အသုံးပြုလာကြခြင်းဖြစ်ပါတယ်။  PCI DSS အကြောင်းကို ဒီပို့စ်မှာ ကျွန်တော်ရေးထားပါတယ်။

Payment Tokenization ဘယ်လိုအလုပ်လုပ်လဲ။

(Payments Cards & Mobile မှ ပုံဖြစ်ပါသည်။)

၁) စျေးဝယ်သူက အွန်လိုင်းက ဝယ်ယူခြင်း (သို့) Reader မှာ Tap လုပ်ပြီးငွေပေးချေခြင်း (ဥပမာ။ Android Pay သို့ Apple Pay) ကို ပြုလုပ်လိုက်တဲ့အခါမှာ စျေးဝယ်သူဆီက Token တစ်ခု စျေးရောင်းသူဆီကို ရောက်သွားပါတယ်။
၂) စျေးရောင်းသူနှင့် ချိတ်ဆက်ထားတဲ့ Acquirer (ဥပမာ။ Bank (သို့) Payment Provider) ဆီကို စျေးဝယ်သူရဲ့ Token ပို့လိုက်ပါတယ်။
၃) စျေးရောင်းသူပို့လိုက်တဲ့ Token ကို Acquirer က Token Network (ဥပမာ။ သက်ဆိုင်ရာ Token Service Provider) ဆီကို တဆင့်ထပ်ပို့လိုက်ပါတယ်။
၄) Token Network ထဲကိုရောက်လာတဲ့ Token ကို Token Vault (Token တွေလုံခြုံအောင်သိမ်းဆည်းထားတဲ့နေရာ) တစ်ခုအဖြစ် ပြောင်းလဲလိုက်တယ်။  Token Vault ဆိုတာက ယေဘူယအားဖြင့် Hash, Token နှင့် Encrypted PAN (Personal Account Number) ၃ခုကို ပေါင်းစပ်ထားတဲ့ အချက်အလက်ဖြစ်ပါတယ်။
၅) Token Network ထဲမှာပဲ ခုနက Token Vault ထဲက Token နှင့် အကောင့်နံပါတ် (PAN) တွေကို  Token Vault Database ထဲမှာ တိုက်ဆိုင်စစ်ဆေးတယ်။
၆) ပြီးရင်ရလာတဲ့ Token နှင့် PAN တွေကို သက်ဆိုင်ရာ ဘဏ်ကိုပို့ပေးလိုက်တယ်။
၇) ဘဏ်ကနေပြီး မှန်ကန်ကြောင်း၊ ပေးချေခွင့်ရှိကြောင်း အတည်ပြုချက်ကို Acquirer ဆီကိုပို့ပေးလိုက်တယ်။
၈) Acquirer ကနေတဆင့် ၄င်းအတည်ပြုချက်ကို စျေးရောင်းသူဆီကို ထပ်မံပို့ပေးလိုက်တယ်။  ဒီလိုနှင့် ငွေပေးချေမှု အောင်မြင်စွာ အထမြောက်သွားတယ်။

Encryption နှင့် Tokenization ဘယ်လိုခြားနားလဲ။

(CryptoCompare မှပုံဖြစ်ပါသည်။)

Encryption နှင့် Tokenization ဟာ အချက်အလက်တွေကို လျှို့ဝှက်၊ ပြန်ဖော်ပေးနည်းလမ်းတွေ (Cryptography) ဖြစ်ပါတယ်။  သို့သော် ဒီနှစ်ခုရဲ့ လုပ်ဆောင်ချက်ကတော့ မတူပါဘူး။  Encryption ဆိုတာကတော့ Public နှင့် Private ဆိုတဲ့ Key ၂ခုနှင့် Encryption Algorithm တစ်ခုကိုအသုံးပြုပြီး အချက်အလက်တွေကို လျှို့ဝှက်ပေးတယ်၊ ပြန်ဖော်ပေးတယ်။  Tokenization မှာ Algorithm တွေ၊ Key တွေ သုံးမထားဘူး။ နောက်ပြီးသက်ဆိုင်ရာ Token နှင့် အချက်အလက်တွေကို Token Vault Database ထဲမှာ သိမ်းထားတယ်၊  Token တွေက ကြုံရာကျပန်းတွေ (Ramdom) ဖြစ်တယ်။  Token တွေဟာ အရေးပါတဲ့အချက်အလက်တွေဖြစ်တဲ့ (ဥပမာ ခရက်ဒစ်ကဒ်နံပါတ်) စသည်တို့နှင့် ချိတ်ဆက်ထားတာကြောင့် တစ်ခုနှင့်တစ်ခု ဆက်နွယ်မှုရှိတယ်။  Token Vault ထဲမှာ Encryption နည်းပညာ ထည့်သွင်းထားတယ်။  Encryption အကြောင်းကိုဖတ်ချင်ရင် ဒီပို့စ်မှာ ကျွန်တော်ရေးသားထားပါတယ်။

Token Service Provider (TSP) များ
Token Service ကိုဘဏ်တွေ နှင့် ငွေပေးချေမှုလုပ်ငန်း ဆောင်ရွက်တဲ့သူတွေ (Payment Provider) တွေများသောအားဖြင့်က ၄င်းတို့ကိုယ်ပိုင် Token Service အတွက် လိုအပ်တာတွေကို သီးသန့်အကုန်ကျမခံတော့ပဲ၊ 3rd Party TSP တွေနှင့် ပူးပေါင်းပြီးလုပ်ဆောင်ကြပါတယ်။  အင်တာနက်ထဲမှာ တွေ့မိသလောက် 3rd Party TSP တွေကတော့ Rambus, OneKey (လက်ရှိစင်ကာပူကဘဏ်တွေမှာ အသုံးပြုနေတဲ့ Keypad နှင့် Token ထုတ်ပေးတာမျိုး), EMVCo, Interac, Visa, Master နှင့် Card Payment Provider တွေလည်း၄င်းတို့ရဲ့ Card အသီးသီးအတွက် Token Service တွေပေးပါတယ်။  အခြား TSP တွေလည်း အများကြီးရှိနိုင်ပါတယ်။

Tokenization နှင့် အချက်အလက်လုံခြုံရေး
နည်းပညာနှင့်သက်ဆိုင်တဲ့ အဖွဲ့အစည်းတွေတော်တော်များများ Encryption နည်းပညာထက်၊ ပိုမိုလုံခြုံပြီး၊ အဆင်ပြေတဲ့ Tokenization နည်းပညာကို လုံခြုံရေးဆိုင်ရာလုပ်ငန်းတွေမှာ တဖြည်းဖြည်းအသုံးပြုလာကြပါတယ်။ တကယ်တော့ လုံခြုံရေးဆိုင်ရာလုပ်ငန်းတွေမှာ Tokenization တစ်ခုတည်းနှင့်မပြီးပါဘူး။  လုပ်ငန်းတစ်ခုရဲ့ နောက်ပိုင်းဖြစ်စဉ်တွေထဲမှာ Encryption တွေလည်းပါရသလို၊ ရှေ့ပိုင်းဖြစ်စဉ်တွေထဲမှာ နောက်ဆုံးပေါ်ဖြစ်တဲ့ Recognition (ဥပမာ လက်ဗွေ၊ မျက်နှာ) နည်းပညာကို ထပ်ဆင့်ပေါင်းထည့်ထားပြီး ပိုမိုလုံခြုံအောင် ဖန်တီးထားကြတာမျိုးတွေလည်း တွေ့နိုင်ပါတယ်။  နောင်အနာဂတ်မှာတော့ ကိုယ်ရေးကိုယ်တာ အချက်အလက်တွေကို ပိုမိုလုံခြုံစွာထိန်းသိမ်းပေးထားနိုင်တဲ့ ပတ်ဝန်းကျင်ကောင်းတွေ တဖြည်းဖြည်း ပေါ်ထွက်လာလိမ့်မယ်လို့​ ယူဆမိပါတယ်။

May 7, 2017

ကျွန်တော်တို့ Root Cause (အကြောင်းရင်း) တွေကို ရှာကြရအောင်...

Ko Sagaing

ကျွန်တော့်အလုပ်နယ်ပယ်ထဲမှာ Software ဖန်တီးထုတ်လုပ်တဲ့အခါမှာ (သို့) ထုတ်လုပ်ထားတဲ့ Software မှာ Issue (အကြောင်းကိစ္စ) တစ်ခုဖြစ်တယ် (သို့) ရှိလာပြီဆိုရင် အဲ့ဒီ Issue ရဲ့ Root Cause ကိုရှာဖွေလေ့ရှိကြတယ်။  Root Cause ကို သေချာမရှာပဲ (သို့) မတွေ့ပဲနှင့် မိမိစိတ်ထင်တဲ့နေရာကိုပဲ Fix (ပြင်) လိုက်တယ်ဆိုရင် အဲ့ဒီ Software ဟာ အလုပ်လုပ်သလိုတော့ရှိပေမယ့် အခြားနေရာမှာ တခြား Issue တွေထပ်ဖြစ်လာလေ့ရှိတယ်။  လက်ရှိ ကျွန်တော်အလုပ်လုပ်နေတဲ့ ကုမ္ပဏီမှာ အိန္ဒိယ ၄ ယောက်နှင့်တွဲလုပ်ရတယ်။  အဲ့ဒီမှာ ပြဿနာကဘာလည်းဆိုတော့ အဲ့ဒီ ၄ ယောက်မှာ ၂ ယောက်က Issue တွေတော်တော်များများကို ပြင်ရင် Root Cause ကိုသေချာမရှာပဲ ​ပြင်လေ့ရှိကြတာပဲဖြစ်တယ်။  အခြား Issue တွေဖြစ်လာရင် သူပြင်ထားတာကြောင့်ဖြစ်တာမဟုတ်ဘူး သူ့ကြောင့်ဖြစ်တာ စသည်ဖြင့် အပြစ်လွှဲချလေ့ရှိတယ်။  အဲ့ဒီအတွက် စကားအပိုတွေလည်း ပြောရသလို၊ လုပ်ငန်းလည်းမတွင်ကျယ်ဘူး။  (ကြုံတုန်းပြောရရင် လက်ရှိကျွန်တော်တို့ ရုံးမှာအလုပ်လုပ်နေတဲ့ အိန္ဒိယတွေဟာ တွတ်တီးတွတ်တာ ပြောတတ်တာကလွဲလို့ မြန်မာတွေနှင့် ပြည်ကြီးတရုတ်တွေလောက် လုပ်ငန်းမတွင်ကျယ်တာတော့ အမှန်ပဲ။)  လက်ရှိကျွန်တော်တို့နိုင်ငံတွင်းမှာ ဖြစ်ပျက်နေတဲ့ Issue တွေနှင့်ပတ်သက်ပြီး မနက်လင်းလို့ ဖေ့ဘွတ်ဖွင့်ကြည့်လိုက်တာနဲ့ လူတိုင်းအလွယ်တကူသိနိုင်သလို၊ အလွယ်တကူလည်း ပြန်ပြောနိုင်တဲ့ခေတ်ဖြစ်တာကြောင့်၊ ပြောဆိုကြတဲ့အခါမှာ Root Cause (အကြောင်းရင်း) ကို မရှာဖွေပဲ (သို့) မမြင်ပဲ ပြောနေကြတာတွေပဲ အများဆုံးတွေ့ရတယ်။  တကယ်တော့ ပြည်တွင်းမှာရှိတဲ့ နယ်ပယ်အသီးသီးမှာလည်း Root Cause ကို သေချာမရှာဖွေပဲ (သို့) သေချာမမြင်ပဲ လုပ်ဆောင်နေတာတွေ တော်တော်များများတွေ့နိုင်တယ်။  ဥပမာ ဆရာဝန်တစ်ယောက်က လူနာကြည့်တဲ့အခါ လူနာကကိုယ်လက်တွေ ဖောရောင်နေတယ်၊ သွေးပေါင်ချိန်ကြည့်မယ်၊ သွေးပေါင်ချိန်ကတက်နေမယ်၊ သေချာတယ် အဲ့ဒီလူနာကို သွေးကျဆေးတွေပေးလိုက်မယ်။  စသည်ဖြင့် Root Cause ကိုသေချာမရှာပဲ ကုသနေတာမျိုးတွေ ကျွန်တော်တို့ ပတ်ဝန်းကျင်မှာလည်း မြင်တွေ့နိုင်တယ်။  သက်ငယ်မုဒိမ်းမှုတွေဖြစ်တယ်၊ ဖေ့ဘွတ်မှာ မုဒိမ်းလုပ်တဲ့သူကို ဆဲကြဆိုကြတယ်၊ သတ်ချင်ကြတယ်။  တစ်ပတ်လောက်နေရင်  သွေးအေးသွားပြန်ရော...၊ အခုဆိုရင် လူယက်မှု၊ လူသတ်မှုတွေမှာ မြင်ရ၊ ကြားရသလောက် လူငယ်တွေအများဆုံး ဖြစ်နေတာတွေ့ရတယ်။  လူယက်တဲ့သူ၊​ လူသတ်တဲ့လူကို ဖမ်းမိတဲ့သတင်း ပုံနှင့်တစ်ကွ ဖေ့ဘွတ်မှာ တက်လာပြီဆိုရင် ဖေ့ဘွတ်ထဲမှာ အပြစ်ဆိုကြမယ်၊ ဆဲကြမယ်၊ သတ်ချင်ကြမယ်။  Exo အဖွဲ့လာတယ်၊ မတွေ့လိုက်ရလို့ ငိုကြ၊ ယိုကြတဲ့သူတွေကို အပြစ်တင်မယ်၊ ဟားတိုက်ကြမယ်။  စတာတွေကိုကြည့်ချင်းအားဖြင့် ကျွန်တော်တို့လူ့အဖွဲ့အစည်းမှာ Root Cause (အကြောင်းရင်း) ကိုရှာဖွေမှု၊ မြင်နိုင်မှု စွမ်းရည်တွေ အင်မတန်အားနည်းနေတာကို တွေ့နိုင်ပါတယ်။  တစ်ဖက်ကကြည့်မယ်ဆိုရင်လည်း ဒီလိုစွမ်းရည်တွေ ကျဆင်းရခြင်းရဲ့ Root Cause (အကြောင်းရင်း) က ကြီးပြင်းခဲ့တဲ့ လူ့အသိုင်းအဝိုင်းနှင့် ပညာရေးစနစ်တွေကြောင့်လို့ ပြောလို့ရပါတယ်။  ကြံ့ခိုင်ပြီး ကျမ္မာသန်စွမ်းတဲ့ ခန္ဓာကိုယ်ရဖို့ လေ့ကျင့်ခန်းတစ်မျိုးတည်းနှင့် မဟုတ်ပဲ အစားအသောက်နှင့်ပါ အနည်းဆုံး ၆ လလောက်ထိန်းညှိမှရသလိုမျိုးပဲ၊ စိတ်ဓါတ်မြင့်မားပြီး တိုးတက်တဲ့ လူမှုအသိုင်းအဝန်းဖြစ်အောင် အစိုးရနှင့် ပြည်သူပြည်သားတွေ ပူးပေါင်းထိန်းညှိမှရမှာဖြစ်ပါတယ်။  အဲ့ဒီအတွက် ကျွန်တော်တို့ နောင် ၆ နှစ်လည်းဖြစ်ချင်ဖြစ်မယ်၊ နောင် နှစ် ၆၀ လည်းဖြစ်ချင်ဖြစ်မယ်... အဲ့ဒါကြောင့် ကျွန်တော်တို့ Root Cause (အကြောင်းရင်း) တွေကို ရှာကြရအောင်...

(ပုံမှာ Herding Cats မှဖြစ်ပါသည်။)

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

May 1, 2017

INTERNET of Things (IoT) ဆိုတာဘာလဲ။

Ko Sagaing
မျက်မောက်ခေတ်မှာ INTERNET ဆိုတာဘာလဲ...။ ဆိုတဲ့ မေးခွန်းကိုအထွေအထူးရှင်းပြနေစရာမလိုတဲ့ ခေတ်တစ်ခုကို ရောက်နေပါပြီ။  ယခင်က INTERNET ထဲမှာ ကွန်ပျူတာတွေချိတ်ဆက်ပြီး သတင်းအချက်အလက်တွေကို အပြန်အလှန်ပေးပို့ခဲ့ကြပေမယ့်၊ ယခုအချိန်မှာတော့ INTERNET ထဲမှာ ကွန်ပျူတာတစ်မျိုးတည်းနှင့် ချိတ်ဆက်ပြီး သတင်းအချက်အလက်တွေ ရယူတာ၊ ပြန်လည်ပေးပို့နိုင်တာ မဟုတ်တော့ပဲ၊ အခြားလျှပ်စစ်ပစ္စည်းတွေဖြစ်တဲ့ ဥပမာ၊ ဖုန်း၊ တီဗွီ၊ လေယာဉ်၊ ကား၊ ဆိုင်ကယ်၊ လက်ပတ်နာရီ စတာတွေနှင့်ပါ INTERNET ကိုချိတ်ဆက်ပြီး သတင်းအချက်အလက်တွေကို အပြန်အလှန်ပေးပို့နိုင်တာမျိုးကြောင့် INTERNET of Things (IoT) ဆိုတဲ့အခေါ်အဝေါ် ပေါ်ပေါက်လာရခြင်းဖြစ်ပါတယ်။  တကယ်တော့ INTERNET ဆိုတဲ့အခေါ်အဝေါ်ကို လူတော်တော်များများသိကြပေမယ့်၊ INTERNET of Things (IoT) ဆိုတဲ့အခေါ်အဝေါ်ကိုတော့ လူတော်တော်များများ ကြားဖူးချင်မှကြားဖူးပါလိမ့်မယ်။  IoT တွေထဲမှာ ကျွန်တော်တို့နှင့်ရင်းနှီးပြီးသား စက်ပစ္စည်းတစ်ခုဖြစ်တဲ့ ATM (Automated Teller Machine - ငွေထုတ်စက်) တွေဟာ အစောဆုံး IoT တစ်ခုဖြစ်ပါတယ်။

INTERNET ကိုချိတ်ဆက်တဲ့ ပစ္စည်းတွေ ဘာလို့များလာတာလဲ။
INTERNET ကိုကျွန်တော်တို့ စသုံးတဲ့အချိန်တုန်းက ယနေ့ခေတ်လို အလွယ်တကူသုံးလို့မရဘူး။  အိမ်မှာတပ်ဆင်ပြီးသုံးမယ်ဆိုရင်တောင် လျှောက်လွှာတင်ဖို့လည်းခက်သလို၊ စျေးနှုံးကလည်းကြီးပါတယ်၊  INTERNET Cafe မှာသွားသုံးမယ်ဆိုရင်တောင် အနည်းဆုံး တစ်နာရီကို ၅၀၀ လောက်ပေးရတယ်။  လက်ရှိအချိန်မှာတော့ INTERNET သုံးနိုင်ဖို့ အရမ်းလွယ်ကူတယ်၊ စျေးနှုံးလည်း သက်သာလာတယ်၊ သုံးတဲ့လူတွေလည်း များလာတယ်၊ အဲ့ဒါကြောင့် INTERNET ကွန်ယက်တွေလည်း တဖြည်းဖြည်းပိုပြီး ကျယ်ပြန့်လာတယ်။  ဒါတောင် ကမ္ဘာ့လူဉီးရေ တစ်ဝက်ကျော်လောက်က INTERNET မသုံးနိုင်ကြသေးဘူး။  သို့ပေမယ့် သုံးနိုင်တဲ့လူဉီးရေကတော့ တစ်နှစ်ထက်တစ်နှစ် တိုးလာတယ်။  ကမ္ဘာ့မှာ INTERNET အသုံးပြုနိုင်တဲ့ စာရင်းဇယားကို Wiki ထဲက ဒီနေရာမှာ ကြည့်နိုင်တယ်။ ကျယ်ပြန့်လာတဲ့ INTERNET နည်းပညာဟာ ကျွန်တော်တို့ရဲ့ လူမှုဘဝပုံစံတွေထဲမှာ မရှိလျှင် မဖြစ်တဲ့အရာတစ်ခုလို တဖြည်းဖြည်း ဖြစ်လာတယ်။  လူမှုဘဝပုံစံထဲမှာ မရှိမဖြစ်အရာတစ်ခုဖြစ်လာတဲ့ INTERNET ဟာ လူမှုဘဝပုံစံထဲက အခြားမရှိမဖြစ်အရာတွေနှင့် ပေါင်းစပ်၊ ချိတ်ဆက်လိုက်တဲ့အခါမှာ ပိုမိုခေတ်မှီသွားပြီး၊ အခြား များပြားတဲ့အကျိုးကျေးဇူးတွေကြောင့် လူမှုဘဝထဲက ပစ္စည်းတွေနှင့်ပေါင်းစပ်၊ ချိတ်ဆက်ပြီး တဖြည်းဖြည်းဖန်တီး သုံးစွဲလာခဲ့ကြတာဖြစ်တယ်။  ဥပမာ ယခင်က ဖုန်းကို အဝေးတစ်နေရာမှာရှိတဲ့ လူအချင်းချင်း စကားပြောဆိုဖို့ရန်ဖန်တီးခဲ့ပေမယ့်၊ မျက်မောက်ခေတ်မှာတော့ Smart Phone ဆိုပြီး IoT ပစ္စည်းတစ်ခုအနေနှင့် မြင်တွေ့နိုင်ပါတယ်။  Smart Phone တစ်လုံးရဲ့ အကျိုးကျေးဇူးတွေက အများကြီးဖြစ်ပါတယ်။  အခုဆိုရင် INTERNET ကိုချိတ်ဆက်နိုင်တဲ့ကားတွေလည်း မြင်တွေ့နိုင်ပါတယ်။  ကားတစ်စင်းဟာ INTERNET ကိုချိတ်ဆက်ထားတယ်ဆိုရင် နေရာတစ်ခုကနေ အခြား နေရာတစ်ခုကိုသွားတဲ့အခါမှာ အမြန်ဆုံးရောက်နိုင်မယ့်လမ်းကြောင်းကို ရှာဖွေပေးနိုင်မယ်၊ မိမိရပ်မယ့်နေရာမှာ ကားပါကင်ရနိုင်မရနိုင် အလွယ်တကူသိနိုင်မယ်၊ ကားမှတဆင့် ဖုန်းခေါ်ဆိုနိုင်မယ်၊ စာပို့နိုင်မယ်၊ နောင်အနာဂတ်မှာဆိုရင် ကားကို Self-Driving အလိုလျှောက်မောင်းနှင်စေနိုင်မယ်။  စသည့်ဖြင့် INTERNET ကို အခြားအရာတွေနှင့် ချိတ်ဆက်လိုက်ခြင်းဖြင့် ရလာတဲ့အကျိုးကျေးဇူးတွေပဲဖြစ်တယ်။  နောက်ပြီးမီးဖိုခေျာင်သုံး ပစ္စည်းတစ်ခုဖြစ်တဲ့ Coffee Maker ကို INTERNET ချိတ်ဆက်ထားနိုင်ပြီး၊ ဖုန်းကတဆင့် သတ်မှတ်ထားတဲ့အချိန်မှာ ကော်ဖီဖျော်ဖို့ လုပ်ဆောင်နိုင်တယ်၊ မိမိသောက်ချင်တဲ့ ကော်ဖီအရသာပုံစံစတာတွေလည်း သတ်မှတ်နိုင်တယ်။  စသည့်ဖြင့် IoT အရာဝတ္ထုပစ္စည်းတွေ လူမှုဘဝပုံစံတွေထဲမှာ တဖြည်းဖြည်းတိုးပွားလာတယ်။

IoT နှင့် Smart ဖြစ်သည့် အရာများ
Smart ဆိုတာနှင့်ပတ်သက်ပြီး Smart Phone, Smart Watch, Smart Home, Smart City စသည်ဖြင့် ကျွန်တော်တို့ပတ်ဝန်းကျင်မှာ အမြဲလိုလို ကြားနေရတဲ့ Smart ဆိုတာတွေဟာ တကယ်တော့ IoT ပဲဖြစ်ပါတယ်။  နောင်အနာဂတ်မှာဖြစ်လာမယ့် Smart Word ကို Libelium ကပုံဖေါ်ထားတာကို အောက်ပါပုံလေးမှာ တွေ့မြင်နိုင်ပါတယ်။

IoT နှင့် အဖွဲ့အစည်းများ
လက်ရှိအချိန်မှာ IoT နှင့်ပတ်သက်တဲ့ပစ္စည်းတွေကို အဖွဲ့အစည်းတွေတော်တော်များများက နယ်ပယ် အသီးသီးအတွက် ဖန်တီးထုတ်ထားတဲ့ ပစ္စည်းတွေကို စျေးကွက်ထဲမှာ တွေ့မြင်နိုင်ပါတယ်။  ကျမ္မာရေးသုံး၊ မီးဖိုချောင်သုံး၊ ဆေးရုံဆေးခန်းသုံး၊ ဘဏ်လုပ်ငန်းသုံး စသည့်ဖြင့် နယ်ပယ်အသီးသီးမှာ မြင်တွေ့နိုင်ပါတယ်။  IoT နှင့်ပတ်သက်တဲ့ ပစ္စည်းတွေကို ဖန်တီးလုပ်ဆောင်နေတဲ့ ကုမ္ပဏီကြီးတွေထဲမှာ အောက်ဖေါ်ပြပါ ကုမ္ပဏီကြီးတွေက အဓိကထင်ရှားပါတယ်။

Honeywell (HON)HitachiT-Mobile (TMUS)Comcast (CMCSA)
GE (GE)AT&T (T)Cisco (CSCO)IBM (IBM)
Amazon (AMZN)Skyworks (SWKS)Apple (AAPL)Sierra Wireless (SWIR)
Google (GOOGL)Iridium Communications (IRDM)Ambarella (AMBA)ARM Holdings (ARMH)
Texas Instruments (TXN)PTC (PTC)
Fitbit (FIT)
ORBCOMM (ORBC)
Garmin (GRMN)Blackrock (BLK)InvenSense (INVN)Microsoft (MSFT)
Control4 (CTRL)Silicon Laboratories (SLAB)CalAmp (CAMP)LogMeIn (LOGM)
InterDigital (IDCC)Ruckus Wireless (RKUS)Linear Technology (LLTC)Red Hat (RHT)
Nimble Storage (NMBL)Silver Spring Networks (SSNI)Zebra Technologies (ZBRA)Arrow Electronics (ARW)
(BusinessInsider မှ ဇယားဖြစ်ပါတယ်။)

IoT နှင့်ပတ်သက်တဲ့ Platform များ
လက်ရှိစျေးကွက်ထဲမှာ အောက်ဖေါ်ပြပါ IoT Platform တွေကိုမြင်တွေ့နိုင်ပါတယ်။

  • Amazon Web Services
  • Microsoft Azure
  • ThingWorx IoT Platform
  • IBM's Watson
  • Cisco IoT Cloud Connect
  • Salesforce IoT Cloud
  • Oracle Integrated Cloud
  • GE Predix
(BusinessInsider မှ ဖြစ်ပါတယ်။)

Amazon Web Services (AWS) ကတော့ လူသုံးများတဲ့ Platform တစ်ခုဖြစ်ပါတယ်။

သတင်းအချက်အလက် လုံခြုံရေး
လူမှုဝန်းကျင်မှာရှိနေတဲ့ အရာတွေတော်တော်များများက INTERNET ကိုချိတ်ဆက်ပြီး လုပ်ဆောင်ကြတဲ့အခါမှာ သတင်းအချက်အလက် လုံခြုံရေးဟာ တကယ့်ကိုအရေးပါလာပါတယ်။ အဲ့ဒါကြောင့် သက်ဆိုင်ရာအဖွဲ့အစည်းတွေ၊ ကုမ္ပဏီတွေကလည်း နည်းဥပဒေတွေသာမက၊ နည်းပညာတွေနှင့်ပါ ကာကွယ်မှုတွေကို လုပ်ဆောင်ထားကြပါတယ်။ သုံးစွဲသူတွေအနေနှင့်ကလည်း မိမိကိုယ်ရေးကိုယ်တာ အချက်အလက်တွေကို ယုံကြည်စိတ်ချရတဲ့အဖွဲ့အစည်းဟုတ်မဟုတ် စိစစ်ပြီးမှ မှတ်ပုံတင်တာမျိုးတွေ ပြုလုပ်သင့်ပါတယ်။

IoT Ecosystem
အောက်ပါပုံကတော့ IoT ရဲ့ ecosystem ပုံဖြစ်ပါတယ်။ Matt Turck Blog ကပုံဖြစ်ပါတယ်။  ဒီပုံထဲမှာ နယ်ပယ်အသီးသီးမှာ IoT နှင့်ပတ်သက်တဲ့ ပစ္စည်းတွေကို ဖန်တီးထုတ်လုပ်နေတဲ့ အဖွဲ့အစည်းတွေကို မြင်တွေ့နိုင်ပါတယ်။

အခြားဆက်စပ်လင့်ခ်များ
A Simple Explanation of IoT
What is the Internet of Things (IoT)?

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