SOAP

SOAP ย่อมาจาก Simple Object Access Protocol คือโปรโตคอลมาตรฐานที่ใช้ใน Web Services เป็นโพรโทคอล ( Protocol )ในการติดต่อแลกเปลี่ยนข้อมูลระหว่างกันของ web services เป็นโพรโทคอลการสื่อสาร ในระดับ Application Layer หรือในระดับ แอปพลิเคชัน โดยอาศัยผ่านอินเทอร์เน็ตโพรโทคอล ซึ่งอาศัยรูปแบบของภาษา  XML ทำให้ Web services สามารถสื่อสารกันได้แม้ว่า จะอยู่บนเครื่องคอมพิวเตอร์คนละเพลตฟอร์ม หรือพัฒนาด้วยภาษาโปรแกรมที่ต่างกันก็ตาม และนิยมใช้ HTTP เป็นโปรโตคอลร่วมสำหรับส่งผ่านข้อมูลบนระบบอินเตอร์เน็ต   SOAP ทำงานร่วมกับโพรโตคอลได้หลายชนิด เช่น HTTP, SMTP, FTP, IIOP เป็นต้น
จากภาพ อธิบายได้ดังนี้
   1.ผู้ขอใช้บริการ (Service Requester ) สร้าง SOAP Message เพื่อเรียกใช้บริการของ เว็บเซอร์วิส แล้วส่งผ่านโพรโตคอลเครือข่ายไปยังผู้ให้บริการ ในที่นี้ SOAP message ที่รับ-ส่งไปมานั้น อยู่ในรูปแบบ XML และต้องมีการแปลกลับมาอยู่ในรูปแบบที่โปรแกรมหรือเว็บเซิร์ฟเวอร์เข้าใจ โดยมีโปรแกรมที่ทำหน้าที่แปลความหมายของเอกสาร XML คือ XML Parser
   2.ผู้ให้บริการ ( 
Service Provider ) ได้รับ SOAP Message จากผู้ขอใช้บริการ จากนั้น จึงแปลข้อความนั้นกลับมาอยู่ในรูปแบบที่เว็บเซิร์ฟเวอร์เข้าใจ แล้วตรวจสอบว่า ผู้ใช้บริการต้องการเรียกใช้ เว็บเซอร์วิส ชื่ออะไร เมธอดอะไร และส่งพารามิเตอร์อะไร มาด้วย จากนั้นจึงส่งไปให้แก่คอมโพเนนต์ที่ให้บริการ เว็บเซอร์วิส นั้นๆดำเนินการประมวลผล
   3.หลังจากคอมโพเนนต์ที่ให้บริการ เว็บเซอร์วิส ส่งผลลัพธ์กลับมาแล้วผู้ให้บริการก็จะสร้าง 
SOAP Message ที่มีผลลัพธ์นั้นออกมาด้วย แล้วจึงส่งผ่านทางโพรโตคอลเครือข่ายกลับคืนไปยังผู้ขอใช้บริการ
   4.ผู้ขอใช้บริการได้รับ 
SOAP Message ที่อยู่ในรูปแบบ XML จึงแปลข้อความนั้นกลับมาในรูปแบบที่โปรแกรมของผู้ขอใช้บริการเข้าใจแล้วนำผลลัพธ์ไปใช้งาน เช่น แสดงผล หรือไปทำอย่างอื่น แล้วแต่ว่ามีการเขียนโปรแกรมรองรับไว้ให้ทำอย่างไร
และจะมี SOAP Listener ทำหน้าที่คอยรับฟังว่ามีการเรียกใช้ เว็บเซอร์วิส จากผู้ใช้ การบริการของ เว็บเซอร์วิส แต่ละบริการจะมีไฟล์ SOAP Listener จำนวน 1 ไฟล์ เมื่อใดที่มีการเรียกใช้ เว็บเซอร์วิส ไฟล์โปรแกรมที่เป็น SOAP Listener ก็จะไปปลุกให้ เว็บเซอร์วิสทำงาน

     ข้อดีของการใช้โพรโตคอล 
SOAP
    1.โพรโตคอล 
SOAP สามารถให้เราเรียกใช้คอมโพเนนต์ หรือ เว็บเซอร์วิส ข้ามเครื่อง ข้าม แพลตฟอร์มหรือข้ามภาษา ได้ โดยอาศัยโพรโตคอลที่มีอยู่เดิมในอินเทอร์เน็ต อย่าง HTTP
    2.โครงสร้างข้อมูลของ 
SOAP เป็นรูปแบบข้อความที่สื่อสารกันด้วยภาษา XML ซึ่งมีลักษณะเป็นข้อความธรรมดาๆปิดล้อมด้วยแท็ค ทำให้เข้าใจได้ในทุกแพลตฟอร์ม
    3.โพรโตคอล 
SOAP สามารถทำงานผ่านระบบไฟล์วอลล์ ได้ง่ายเนื่องจาก SOAP ทำงานอยู่กับ โพรโตคอล HTTP ซึ่งโดยธรรมชาติของไฟล์วอลล์ จะเปิดให้การสื่อสารด้วย HTTP ผ่านได้อย่างสะดวก
    4.SOAP สนับสนุนจากหลายค่าย เช่น
  IBM, MS , SUN
     ข้อเสียของการใช้โพรโตคอล 
SOAP
    1.เนื่องจากลักษณะของ 
SOAP message เป็นเอกสาร XML ทำให้เสียเวลาในการแปลกลับมาเป็นรูปแบบที่โปรแกรมเข้าใจ
    2.ในกรณีที่ 
SOAP ทำงานอยู่กับโพรโตคอล HTTP ซึ่งมีสมรรถนะในการรับ-ส่งข้อมูลต่ำกว่าโพรโตคอล DCOM, RMI, หรือ IIOP จึงทำให้โพรโตคอล SOAP มีอัตราการรับ-ส่งข้อมูลต่ำ

ขอขอบคุณ

Data Visualization

Data Visualization ก็เป็นสิ่งหนึ่งถูกนำมาใช้แสดงแทนคำพูด เป็นการใช้ภาพเพื่อแสดงข้อมูลในเชิงปริมาณที่วัดได้ ไม่ว่าจะเป็นตัวเลข แผนภูมิ กราฟ และอื่นๆอีกมากมาย  คำว่า Data คือ ข้อมูล ส่วน Visualization คือ การมองเห็น เมื่อนำมารวมกันแล้วหมายถึง ข้อมูลที่มองเห็นได้ด้วยตานั่นเอง มาดูการอธิบายถึงส่วนผสมของแอลกอฮอล์กับเครื่องดื่มแต่ละชนิด ในรูปแบบตางรางธาตุ ด้านล่าง



มีการใช้สีเพื่อบอกชนิด ระบุตัวเลขเป็นเปอร์เซนต์เพื่อแสดงปริมาณแอลกอฮอล์  พร้อมรูปของเครื่องดื่มแต่ละชนิดที่มีสีสันสวยงามประกอบด้วย  ถ้าเราลองเขียนสิ่งที่รูปนี้อธิบายเป็นตัวหนังสือมันจะดูน่าเบื่อและทำให้รู้สึกเหมือนกำลังนั่งอ่านสือสอบกันเลยทีเดียว
ประโยชน์ของ Data Visualization ก็คือทำให้ข้อมูลในเชิงปริมาณดูน่าสนใจ เข้าใจง่าย เห็นภาพรวมได้ชัดเจน ง่ายต่อการจดจำ  และนิยมนำมาใช้ประกอบในการรายงาน การวิเคราะห์สรุปผล อย่างแแพร่หลาย 

ปัจจุบันมีเครื่องมือในการสร้าง Data Visualization แบบเก๋ๆอยู่เยอะแยะเต็มไปหมด แต่จะขอนำเสนอเครื่องมือยอดนิยม 20 ค่ายให้คุณผู้อ่านได้เลือกใช้กัน คือ iCharts, Float, Raphaël, Modest Maps, Leaflet, Timeline, Exhibit, WolframAlpha, Visual.ly, Visualize Free, Better World Flux, jQuery Visualize, jqPlot, Dipity, Many Eyes, D3.js, JavaScript InfoVis Toolkit, jpGraph,Highcharts และสุดท้าย Google Charts

Data Visualization ในรูปแบบที่น่าสนใจกัน
ในปี 2014 นั้นมี project ที่เกี่ยวกับ Data Visualization ออกมาจำนวนมาก
โดยมีรูปแบบ และ การแสดงที่น่าสนใจและเป็นประโยชน์
ซึ่งการออกแบบของ project ต่างๆ มันขึ้นอยู่กับ
o    การใช้งานข้อมูล
o    การออกแบบ
o    ประโยชน์ในการใช้งาน
มาดูกันว่ามี project อะไรบ้างที่น่าสนใจและแปลกใหม่กันบ้าง

1. The Upshot
เป็น project ที่นำข้อมูลของ New York Times
มาแสดงผลในรูปแบบต่างๆ ได้อย่างน่าสนใจ
ตัวอย่างเช่น
Where We Came From and Where We Went
แสดงข้อมูลการอพยพย้ายถิ่นของประชาชน
โดยแสดงอยู่ในรูปแบบของ Stack Area Chart
ซึ่งแสดงให้เห็นการเปรียบเทียบการอพยพได้อย่างชัดเจน
แสดงดังรูป
The Most Detailed Maps You’ll See From the Midterm Elections
เป็นแผนที่สำหรับแสดงผลการเลือกตั้งในประเทศสหรัฐอเมริกา
โดยแสดงข้อมูล
คะแนนของการเลือกตั้งในแต่ละเมือง
แสดงข้อมูลตามความหนาแน่นของประชากร
แสดงดังรูป
How the Recession Reshaped the Economy, in 255 Charts
สำหรับการแสดงข้อมูลของงานในแต่ละอุตสาหกรรม ว่ามีแนวโน้มอย่างไรบ้าง
มีการทำงาน และ แสดงผลแบบ interaction ได้อย่างดี
แนวนอนแสดงข้อมูลตามค่าเฉลี่ยของเงินเดือน
แนวตั้งแสดงข้อมูลการเปลี่ยนแปลงต่างๆ
โดยที่สีเขียว หมายถึง มีการเติบโต ส่วนสีเขียวคือลดลง
แสดงดังรูป


2. Selfiecity
ทำการแสดงผลข้อมูลจากรูป Selfie จากรูปประมาณ 3200 รูป จาก 5 เมืองหลัก คือ
1.           กรุงเทพ
2.           Berlin
3.           Moscow
4.           New York
5.           Sao Paulo
โดยนำข้อมูล อายุ เพศ อารมณ์ และข้อมูลอื่นๆ ที่ดึงมาจาก
Amazon Mechanical Turk และ face detection มาใช้ในการวิเคราะห์
แสดงดังรูป
3. Floodwatch
คือการ monitoring และ tracking โฆษณา online
ทำให้เราเห็นว่า ผู้ใช้งานมีพฤติกรรมอย่างไร
โดยใช้ข้อมูลจากพฤติกรรมของผู้ใช้งาน เช่น
o    ขนาดของ banner ของโฆษณา
o    เวลาการเข้ามาใช้งาน
o    website ที่มาของโฆษณา
รวมทั้งสามารถนำไปเปรียบเทียบกับโฆษณาอื่นๆ ได้
และสามารถกรองข้อมูลที่ต้องการได้ด้วย
แสดงดังรูป


4. Culture History

นักวิจัยนำข้อมูลของคนมาใช้งาน คือ สถานที่เกิด การเดินทาง และสถานที่ตาย
มาวาดกราฟ เพื่อให้เห็นว่าแต่ละคนมีการเคลื่อนไหว และ เดินทางอย่างไร
นั่นมันแสดงถึงการเดินทางของวัฒนธรรมต่างๆ ที่มัน dynamic มากมาย
แสดงดังรูป

5. Visualizing Algorithms

เป็นการนำเสนอข้อมูลในรูปแบบต่างๆ ซึ่งได้เตรียม process และ pattern
สำหรับการจัดการข้อมูลในรูปแบบต่างๆ ด้วย algorithm ต่างๆ
ทั้งการเรียงลำดับข้อมูล การเลือกกลุ่มข้อมูลตัวอย่าง และ การสร้างข้อมูลแบบสุ่ม
ผลที่ได้คือ เราได้ทำการเรียนรู้จากข้อมูลที่เรามีอยู่
ว่าจะนำมาประมวลผล และ แสดงผล ที่มีประโยชน์ได้อย่างไร
แสดงดังรูป


Quiz 1

Software ที่ใช้ภายในองค์กร ประกอบไปด้วย
1.) ซอฟเเวร์ประยุกต์ทั้วไป
หมายถึง เป็นการประยุกต์ใช้กับงานให้เหมาะสมกับลักษณะงานนั่น
1.1) ซอฟเเวร์ประมวลคํา
หมายถึง สําหรับการจัดการเอกสาร เเละ เเฟ้มข้อมูล
1.2) ซอฟเเวร์ตารางการทํางาน
หมายถึง สําหรับช่วยในการการคิดคํานวณ
1.3) ซอฟเเวร์จัดการฐานข้อมูล
หมายถึง ใช้ในการเก็บเเละจัดการข้อมูลในการรวบรวมข้อมูล
1.4) ซอฟเเวร์นําเสนอ
หมายถึง การใช้นําเสนอข้อมูล เพื่อให้ดึงดูดความสนใจ
1.5) ซอฟเเวร์จัดการด้านกราฟิก เเละ มัลติมีเดีย
หมายถึง ไว้ใช้เเก้ไขตกเเต่ง
2.) ซอฟเเวร์ประยุกต์เฉพาะงาน
หมายถึง พัฒนาขึ้นเพื่อนําไปประยุกต์ใช้กับงานขององค์กรใดองค์กรหนึ่ง
2.1) ซอฟเเวร์สําหรับงานธุรกิจ
หมายถึง เน้นงานทั่วไปเชิงธุรกิจ เช่น กิจธนาคาร มีการฝาก-ถอนเเละการออกใบเสร็จ
2.2) ซอฟเเวร์อื่นๆ
เน้นเฉพาะงานภายนอก นอกจากจะเป็นซอฟเเวร์สําหรับงานธุรกิจยังมีซอฟเเวร์อื่นๆ เช่น โปรเเกรมช่วยค้นหาคําศัพท์



2) Data Virtualization คือ เทคโนโลยีที่จะช่วยให้องค์กรสามารถนำข้อมูลทั้งหมดมาใช้งานแบบศูนย์กลางได้ หรือเรียกว่าการทำ Data Integration โดยไม่ต้องทำ Data Warehouse หรือ Big Data ในขณะที่ประสิทธิภาพการทำงานของระบบนี้ก็จะต้องมีความรวดเร็วสูง สามารถตอบโจทย์การวิเคราะห์ข้อมูลจากฐานข้อมูล หรือแหล่งข้อมูลที่หลากหลายได้จากศูนย์กลาง ทำให้องค์กรสามารถนำข้อมูลไปวิเคราะห์ได้อย่างรวดเร็ว ง่ายดาย และยืดหยุ่น โดยประหยัดค่าใช้จ่ายกว่าการทำ Data Warehouse หรือ Big Data นั่นเอง
  • สามารถรวมฐานข้อมูลและแหล่งข้อมูลหลากหลาย ให้ Query จากศูนย์กลางด้วยวิธีการที่ต้องการได้อย่างง่ายดาย
  • สามารถใช้งานข้อมูลจากหลายแหล่งได้แบบ Real-time โดยไม่ต้องเสียเวลาทำการ Migrate หรือ Transform ข้อมูล
  • สามารถเข้าถึงข้อมูลจำนวนมากได้ด้วยความเร็วสูง
  • รองรับการนำไปใช้งานได้หลากหลาย
  • สามารถกำหนดสิทธิ์การเข้าถึงข้อมูลได้หลากหลายระดับสำหรับผู้ใช้งานแต่ละคนได้
  • มีระบบ Self Service ทำให้ผู้ที่ต้องวิเคราะห์ข้อมูลสามารถทำงานร่วมกันได้อย่างรวดเร็ว
  • รองรับการเพิ่มขยายระบบให้มีขนาดใหญ่ขึ้นได้ตามต้องการ

Data Virtualization

คำว่า Data Virtualization นี้ก็ถือว่าเป็นศัพท์เฉพาะที่ยังไม่เป็นที่แพร่หลายนัก เพราะบริษัท Composite Software ที่ถูกซื้อมาและถูกเปลี่ยนชื่อเป็น Cisco Information Server หรือ CIS เป็นผู้คิดค้นขึ้นมาและพัฒนาต่อเนื่องมาเป็นระยะเวลายาวนานกว่า 10 ปี
ถ้าอธิบายสั้นๆ ในเชิงธุรกิจ Data Virtualization คือเทคโนโลยีที่จะช่วยให้องค์กรสามารถนำข้อมูลทั้งหมดมาใช้งานแบบศูนย์กลางได้ หรือเรียกว่าการทำ Data Integration โดยไม่ต้องทำ Data Warehouse หรือ Big Data ในขณะที่ประสิทธิภาพการทำงานของระบบนี้ก็จะต้องมีความรวดเร็วสูง สามารถตอบโจทย์การวิเคราะห์ข้อมูลจากฐานข้อมูล หรือแหล่งข้อมูลที่หลากหลายได้จากศูนย์กลาง ทำให้องค์กรสามารถนำข้อมูลไปวิเคราะห์ได้อย่างรวดเร็ว ง่ายดาย และยืดหยุ่น โดยประหยัดค่าใช้จ่ายกว่าการทำ Data Warehouse หรือ Big Data นั่นเอง

ในมุมมองเชิงเทคนิค สิ่งที่ Data Virtualization ทำ ก็คือระบบ Query Engine ที่สามารถเข้าถึงข้อมูลจากทุกฐานข้อมูลและทุกแหล่งข้อมูลได้ และแปลงให้ข้อมูลที่กระจัดกระจายเหล่านั้นสามารถถูก Query ขึ้นมาใช้งานพร้อมๆ กันได้เสมือนถูกจัดเก็บอยู่ในฐานข้อมูลเดียว ทั้งในรูปแบบของ SQL, Web Services, Messaging หรือ Hadoop รวมถึงระบบฐานข้อมูลสำหรับระบบ ERP ชั้นนำอย่าง SAP เพื่อให้องค์กรต่างๆ สามารถพัฒนา Analytic Software หรือ Front-end Application สำหรับตอบโจทย์การวิเคราะห์ข้อมูลได้อย่างอิสระ และยังมีความรวดเร็วในระดับเดียวกับการ Query SQL Database ด้วย Query Optmization Algorithm หลากหลาย ผสมกับเทคนิคต่างๆ เช่น การทำ Caching เพื่อให้การเข้าถึงข้อมูลเหล่านั้นมีความเร็วสูงสุด และส่งผลกระทบต่อประสิทธิภาพของระบบ Production ทั้งหมดน้อยทีสุดไปพร้อมๆ กันด้วย

Data Virtualization ต่างจาก Big Data อย่างไร

ในมุมมองของการวิเคราะห์ข้อมูล ผลลัพธ์ที่ได้อาจจะไม่แตกต่างกันมากนักสำหรับระบบ Data Virtualization และ Big Data แต่ในมุมมองของการ Deploy ระบบวิเคราะห์ข้อมูลนั้น การทำ Big Data จะต้องมีการ Migrate ข้อมูลจากแหล่งต่างๆ มาจัดเก็บรวมกันแบบศูนย์กลางภายในระบบ Big Data ก่อนจะนำข้อมูลทั้งหมดเหล่านั้นมาวิเคราะห์ ในขณะที่การทำ Data Virtualization จะทำให้องค์กรสามารถข้ามขั้นตอนเหล่านี้ไปได้ทั้งหมดเลย ด้วยการใช้ Resource เดิมที่มีอยู่ ร่วมกับระบบ Data Virtualization เพื่อ Query ข้อมูลจากฐานข้อมูลและแหล่งข้อมูลเดิมทั้งหมดแทน
สิ่งที่ทำให้ Cisco มั่นใจว่า Data Virtualization จะสามารถช่วยองค์กรได้ นอกจากความรวดเร็วที่จะทำให้แต่ละองค์กรสามารถไปถึงเป้าหมายในการทำ Enterprise Data Analytics ได้ทันเวลาของตลาดแล้ว เทคโนโลยีนี้ยังช่วยองค์กรลดการลงทุนทางด้าน Infrastructure ลงอย่างมหาศาล เพราะองค์กรที่ต้องการวิเคราะห์ข้อมูลจำนวนมากในระดับของ Big Data Analtyics ไม่จำเป็นจะต้องลงทุนกับระบบ Storage ขนาดใหญ่มากอีกต่อไป และลดค่าใช้จ่ายในการ Migrate หรือ Transform ข้อมูลทั้งหมดออกไปได้ด้วยเช่นกัน
สำหรับบางกรณีที่จำเป็นจะต้องใช้ Big Data การทำ Data Virtualization ควบคู่ไปด้วย ก็จะช่วยเพิ่มความเร็วทั้งภาพรวมของโครงการ และความเร็วในการ Query ข้อมูลให้สูงขึ้น ด้วยการทำให้องค์กรเลือกนำเฉพาะข้อมูลที่จำเป็นไปเก็บในระบบ Big Data เท่านั้น และการใช้งานระบบฐานข้อมูลที่มีอยู่ ร่วมกับ Big Data ผ่านการ Query จากศูนย์กลางก็จะทำได้อย่างง่ายดาย

Data Virtualization เหมาะกับใคร?

สำหรับองค์กรที่ยังมีข้อมูลจำนวนไม่มากนัก Data Virtualization อาจจะยังไม่จำเป็น แต่สำหรับองค์กรขนาดใหญ่ที่มีแผนจะทำระบบ Enterprise Data Analytics นั้น Data Virtualization ถือเป็นอีกหนึ่งเทคโนโลยีที่ควรศึกษาและพิจารณาควบคู่ไปกับการทำ Big Data เพื่อดูว่าระบบที่ต้องการนั้น เหมาะกับการใช้ Data Virtualization เป็นหลัก หรือเหมาะกับการใช้ Big Data เป็นหลัก หรือเหมาะกับการใช้ทั้งสองเทคโนโลยีควบคู่กันไป โดยสรุปแล้ว Data Virtualization จะมีประโยชน์ดังต่อไปนี้
  • สามารถรวมฐานข้อมูลและแหล่งข้อมูลหลากหลาย ให้ Query จากศูนย์กลางด้วยวิธีการที่ต้องการได้อย่างง่ายดาย
  • สามารถใช้งานข้อมูลจากหลายแหล่งได้แบบ Real-time โดยไม่ต้องเสียเวลาทำการ Migrate หรือ Transform ข้อมูล
  • สามารถเข้าถึงข้อมูลจำนวนมากได้ด้วยความเร็วสูง
  • รองรับการนำไปใช้งานได้หลากหลาย
  • สามารถกำหนดสิทธิ์การเข้าถึงข้อมูลได้หลากหลายระดับสำหรับผู้ใช้งานแต่ละคนได้
  • มีระบบ Self Service ทำให้ผู้ที่ต้องวิเคราะห์ข้อมูลสามารถทำงานร่วมกันได้อย่างรวดเร็ว
  • รองรับการเพิ่มขยายระบบให้มีขนาดใหญ่ขึ้นได้ตามต้องการ
ทั้งนี้ในมุมมองของ Cisco เองนั้น ไม่ว่าปลายทางแล้วองค์กรต่างๆ จะเลือกใช้ Data Virtualization หรือ Big Data ก็ตาม ทาง Cisco ก็พร้อมจะตอบรับทั้งสองความต้องการด้วยเทคโนโลยีที่มีอยู่ และวิศวกรมากประสบการณ์