# เว็บเซอร์วิซ
เว็บเซอร์วิซ (บริการบนเว็บ) คือระบบซอฟต์แวร์ที่ออกแบบมา เพื่อสนับสนุนการแลกเปลี่ยนข้อมูลกัน ระหว่างเครื่องคอมพิวเตอร์ผ่านระบบเครือข่าย โดยที่ภาษาที่ใช้ในการติดต่อสื่อสารระหว่างเครื่องคอมพิวเตอร์ คือเอกซ์เอ็มแอล เว็บเซอร์วิซมีอินเทอร์เฟส ที่ใช้อธิบายรูปแบบข้อมูลที่เครื่องคอมพิวเตอร์ประมวลผลได้ เช่น WSDL  ระบบคอมพิวเตอร์ใช้งานสื่อสารโต้ตอบกับเว็บเซอร์วิซตามรูปแบบที่ได้กำหนดไว้แล้ว โดยการส่งสาสน์ตามอินเตอร์เฟสของเว็บเซอร์วิซนั้น โดยที่สาสน์ดังกล่าวอาจแนบไว้ในซอง SOAP (<soap:Evelope>)หรือส่งตามอินเตอร์เฟสในแนวทางของ REST สาสน์เหล่านี้ปกติแล้วถูกส่งโดยอาศัย HTTP และใช้ XML ร่วมกับมาตรฐานเกี่ยวกับเว็บอื่นๆ โปรแกรมประยุกต์ที่เขียนโดยภาษาต่างๆ และทำงานบนแพลตฟอร์มต่างๆกันสามารถใช้เว็บเซอร์วิซเพื่อแลกเปลี่ยนข้อมูลผ่านทางเครือข่ายคอมพิวเตอร์ เช่น อินเทอร์เน็ต ในลักษณะเดียวกับการสื่อสารระหว่างโปรเซส (Inter-process communication) บนเครื่องเดียวกัน ความสามารถในการแลกเปลี่ยนข้อมูลระหว่างระบบที่ต่างกันนี้ (เช่น การแลกเปลี่ยนข้อมูลระหว่าง โปรแกรมที่เขียนโดยภาษาจาวา และโปรแกรมที่เขียนโดยภาษาไพทอน หรือการแลกเปลี่ยนข้อมูลระหว่างโปรแกรมประยุกต์ที่ทำงานบนไมโครซอฟท์วินโดวส์และโปรแกรมประยุกต์ที่ทำงานบนลินุกซ์) เกิดขึ้นได้เนื่องจากการใช้มาตรฐานเปิด โดย OASIS และ W3C เป็นคณะกรรมการหลักในการรับผิดชอบมาตรฐานและสถาปัตยกรรมของเว็บเซอร์วิซ 

 ข้อกำหนดซอฟต์แวร์และมาตรฐานอื่นที่เชื่อมโยงกัน 

 SOAP 
เว็บเซอร์วิซเป็นลักษณะในรูปแบบของการออกแบบโมเดลสื่อสาร ในลักษณะของการกระจาย,การติดต่อสื่อสารที่เป็นตัวกลาง โดยโพรโทคอลที่ใช้ในการสื่อสารคือ SOAP (Simple Object Access Protocol) เป็นโพรโทคอลในการติดต่อแลกเปลี่ยนข้อมูลระหว่างกันเป็นโพรโทคอลการสื่อสารในระดับ Application Layer หรือในระดับ แอปพลิเคชันโดยอาศัยผ่านอินเทอร์เน็ตโพรโทคอล อย่างเช่น HTTP, SMTP โพรโทคอลพัฒนารากฐานมาจาก XML โดยมาตรฐานของ SOAP ปัจจุบันอยู่เวอร์ชัน 1.2 เอกสารสามารถดูได้ที่ W3C (ที่มา www.Thaicreate.com)

 UDDI (Universal Description, Discovery and Integration) 
เป็นเหมือนตัวไดเรกทอรี่ที่เก็บหรือลงทะเบียนเว็บเซอร์วิซ  UDDI หรือ Universal Description,Discovery and Integration (UDDI) เป็นข้อกำหนดอันเกี่ยวกับระบบบริการลงทะเบียน (registry service) สำหรับเว็บเซอร์วิซ และสำหรับบริการอื่นๆ ทั้งที่ไม่ใช่แบบอิเล็กทรอนิกส์และแบบอิเล็กทรอนิกส์ ตัว บริการลงทะเบียน UDDI คือเว็บเซอร์วิซซึ่งจัดการข้อมูลเกี่ยวกับผู้ให้บริการด้านต่างๆ หรือแม้แต่กระทั่งให้บริการข้อมูล บรรดาผู้ให้บริการสามารถใช้ UDDI ในการประกาศว่า บริการใดๆบ้างที่ให้บริการ และ client สามารถใช้บริการของ UDDI ในการค้นหาบริการที่ตนต้องการได้ตรงตามความต้องการของตนได้

 ข้อกำหนด UDDI ได้มีการนิยามตามนี้
 SOAP API (Simple Object Access Protocol) Application Programming Interface) ซึ่งตัวแอปพลิเคชันจะใช้ในการสอบถามและประกาศข้อมูลไปยังระบบลงทะเบียน UDDI
 XML Schema คือโครงสร้างรูปแบบของระบบลงทะเบียนและ รูปแบบของข้อความ SOAP (SOAP Message format)
 WSDL คือข้อกำหนดของ SOAP APIs
 ข้อกำหนด UDDI รีจิสทรี (รูปแบบทางเทคนิค t-models) ของข้อกำหนดหลายๆ อย่างและหมวดหมู่ของระบบซึ่งอาจใช้ในการกำหนดและจัดแบ่งหมวดหมู่การลงทะเบียน UDDI

 WSDL 
ย่อมาจาก Web Services Description Language เป็นภาษาที่อธิบายเว็บเซอร์วิซ ซึ่งทำให้ผู้เรียกใช้เว็บเซอร์วิซหรือโปรแกรมที่ต้องการเรียกใช้เว็บเซอร์วิซทราบว่ามีโอเปอเรชั่นอะไรให้บริการ และในแต่ละโอเปอเรชั่นจะต้องส่งข้อมูลอะไรไปและจะได้รับข้อมูลแบบใดกลับมา ตลอดจนทราบอินเทอร์เน็ตโพรโทคอลที่จะต้องใช้ในการติดต่อเว็บเซอร์วิซและที่อยู่ของเว็บเซอร์วิซ

 XLANG 
สนับสนุนการติดตามข้อมูล (transaction) เหมาะสำหรับการสื่อสารที่สามารถติดตามข้อมูลใน web ขนาดใหญ่ รวมไปถึง การสื่อสารคล้ายๆ ลักษณะชุมทางหรือเว็บเซอร์วิซหลายๆ บริการ

 XKMS (XML Key Management Specification) 
 เป็นการทำงานที่เกิดจากความร่วมมือของ Microsoft และ Verisign ซึ่งสำหรับการตรวจสอบสิทธิและการลงทะเบียน

 พื้นฐานของ Web Service 

 พื้นฐานของ Web Service คือ XML และส่วนใหญ่จะใช้ HTTP แต่อาจจะใช้อินเทอร์เน็ตโพรโทคอลอื่นอย่างเช่น SMTP หรือ FTP ก็ได้  แต่จะพบว่า HTTP ก็เป็นที่รู้จักกันดี และไปได้ทั่วทุกแห่งที่มี internet ส่วน XML คือภาษาสากลที่คุณสามารถปรับแต่งได้ตามใจชอบ เพื่อให้เกิดกิจกรรมระว่าง client และบริการ หรือระหว่างส่วนประกอบต่างๆ เบื้องหลัง Web server ก็คือ ข้อความ XML จะถูกแปลงให้การขอบริการจาก Middle ware และผลที่ได้ก็จะแปลงกลับมาในรูป XML 
ยกตัวอย่างให้เห็นง่ายๆ คุณต้องการเÊđĐĐĐĤʅʅqให้เครื่อง PC อ่านค่าจาก serial port แล้วส่งไปประมวลผลบนเครื่อง UNIX แล้วส่งผลกลับมาแสดงบนจอ PC ถ้าเป็นเมื่อก่อน คุณก็คงต้องแปลงข้อมูลที่ได้ให้อยู่ในรูปของ ASCII แล้วส่งไปยัง UNIX พร้อมคำสั่งว่าให้ทำอะไร ในฝั่ง UNIX คุณก็ต้องมาแยกว่าอันไหนคือคำสั่ง อันไหนคือข้อมูล เมื่อประมวลผลแล้ว จะส่งกลับมาในรูปแบบไหน แล้วถ้าหากจะส่งไปหาเครื่องที่เป็น MAC ท่านจะต้องเขียนโปรแกรมเพิ่มในส่วนไหนบ้าง จะพบว่าเราต้องพัฒนากันเป็นคู่ๆ ไป และต้องนิยามในแต่ละฝั่งให้ชัดเจน แต่หากเป็น Web Service คุณจะพบว่า เราแปลงข้อมูลให้อยู่ในรูป XML แต่ละคุณก็ต้องการรู้แค่ มาตรฐาน XML ก็พอ แล้วต่างคนต่างก็เขียน Service ของตัวเอง ไม่ต้องกังวลเรื่องของการเชื่อมโยงอีกต่อไป และ Protocol ที่ส่งก็คือ HTTP นั่นเอง ถ้าท่านเชื่อมโยงกับ HTTP (หรือเว็บ) ได้ ท่านก็ใช้บริการทุกอย่างได้