วันพฤหัสบดีที่ 20 พฤษภาคม พ.ศ. 2553

Web Service

Web Service ถ้าจะมองง่ายๆ ก็คือ Service ที่ให้บริการผ่านช่องทางของ Web แต่ถ้าพูดแบบนี้อาจจะมองข้อแตกต่างจาก Web Site ทั่วไปไม่ออก หลักการโดยคร่าวของ Web Service ซึ่งโดยจุดประสงค์ของ Web Service แล้วก็คือ การทำให้ Application ตั้งแต่ 2 ตัวสามารถ สื่อสารกันได้ โดยอาศัย Interface ต่างๆ ที่เปิดให้บริการตัวอย่างเช่น ปกติ Windows จะมี ตัว Kernel อยู่ นั้นก็คือ จะมี พวก Dll ต่างๆ ให้เราเขียนโปรแกรมไปเรียกใช้ โดยการเรียกใช้ก็จะเรียกผ่าน API หรือ Interface ของมันนั่นเอง Web Service ก็เช่นเดียวกัน เพียงแต่ แตกต่างกันก็คือ Interface หรือ API ทั้งหลายเหล่านี้ จะถูกเรียกผ่านมาทางช่องทางของ HTTP Protocol นั้นก็คือ ที่มาของคำว่า Web ก็คือว่า มันต้องอาศัย HTTP Protocol เป็นช่องทางในการเรียกใช้งาน Service ต่างๆ ดังนั้น Service ต่างๆ ของเราก็คือ Function หรือ Procedure ที่เราจะให้ user มาเรียกใช้ ซึ่งก็คือคำว่า Service นั่นเอง

แต่ไม่เพียงแค่นั้น โดยจุดประสงค์ของ Web Service ก็คือ การทำให้ Application สามารถติดต่อกันได้ การที่จะติดต่อกันได้ก็ต้องมีข้อกำหนดร่วมกัน เพื่อเป็น มาตรฐาน นั้นคือ ไม่ว่า จะ เขียน Application จากภาษาใดๆ หรือ run อยู่บน OS หรือ Platform ใดๆ ก็ตาม หากใช้ มาตรฐาน ตามนี้ก็จะสามารถติดต่อกันได้ พูดถึงมาตรฐานของ Web Service ที่จะใช้ในการติดต่อกันมีข้อกำหนดของ Web Service แบบง่ายๆ ก็คือ1. ใช้ HTTP Protocol เป็น Media ในการสื่อสาร2. ใช้ XML เป็นตัวแทนของข้อมูลที่ใช้ในการสื่อสารระหว่างกัน ในการสื่อสารจะมี การส่งค่าไปแล้วรับค่ากลับ หรืออาจจะไม่ต้องรับค่ากลับก็ได้ ถ้าสื่อสารทางเดียวแล้วเรื่องยุ่งๆ ก็อยู่ตรงที่ การสื่อสารกันเช่น ตัวแปร Integer หรือ String หรือตัวแปลใดๆ ก็ตาม ใน แต่ละ ภาษา แต่ละ Platform มีการกำหนด ไม่เหมือนกัน เช่น บางภาษา Integer อาจจะเป็น 16Bit Range แต่ในบางภาษาอาจจะเป็น 32Bit Range จึงต้องกำหนดมาตรฐานมารองรับ และเป็นที่รู้จักกันดีในหมู่นักพัฒนา Web Service ว่า SOAP (Simple Object Access Protocol) ซึ่ง SOAP เองก็จะมีระบุเป็น Version เช่น SOAP 1.1 หรือ SOAP 1.2 เป็นต้น version ต่างๆ ก็จะเป็นการกำหนดวิธีการสื่อสารให้ตัว Web Service สามารถรองรับการทำงานได้มากขึ้นเช่นการทำ Binding การทำ Attach file เป็นต้น เพราะฉะนั้น ในการเขียน Web Service ก็ต้องดูด้วยว่า Application ที่เราจะไปเชื่อมต่อใช้มาตรฐาน SOAP หรือ Support SOAP version อะไร ถ้าใช้ไม่เหมือนกัน ก็อาจจะทำให้เราส่ง Request ไปแล้วมันอาจจะไม่ Response กลับหรือไม่เข้าใจความหมายที่เราส่งไปก็ได้

หลังจากที่เรามี Service แล้ว ก็มีการเขียน โครงสร้างการแทนข้อมูลด้วย SOAP แล้ว ก็จะมีปัญหาตามมาอีกว่า แล้ว Application ที่เราจะไปคุย หรือ Web Service ที่เราจะไปคุยมี บริการอะไรให้บ้าง นั้นก็คือ จะมีการทำ รายการ API ให้ดูว่ามี API อะไรบ้างให้เรียกใช้โดย จะสามารถเรียกดูผ่านทาง Web ได้เลย นั่นคือ WSDL (Web Service Description Language) ตัวนี้จะเป็นตัวบอกรายละเอียดว่า Application ที่เราจะไปเรียกใช้ให้บริการ Service อะไรบ้าง มี รูปแบบ Function ยังงัย มี Parameter แบบไหน ใช้ตัวแปรอะไร โดยจะแสดงออกมาในรูปแบบ XML

credit: http://gotoknow.org/blog/GoldenFish/60923

ไม่มีความคิดเห็น:

แสดงความคิดเห็น