วันศุกร์ที่ 10 สิงหาคม พ.ศ. 2555

#10 Web Services Development & Integration

EnergyIQ_WebService
Web Service คืออะไร
คำว่า Service ไม่ได้หมายถึงอะไรที่เด่นชัดอย่าง Promool.com Pantip.com แต่หมายถึงส่วนประกอบที่คนอื่นๆนำไปใช้ในการทำบริการที่กว้างกว่านี้ด้วย ตัวอย่างเช่น Microsoft Passport ที่ให้บริการตรวจสอบความเป็นตัวตนจริง (Authentication) ผ่านเว็บ ทำให้การบริการข่าวของ Bangkok Post ไม่ต้องตรวจสอบการเข้าสู่ระบบเอง แต่ยกให้ Passport เป็นตัวจัดการแทน หรืออย่าง Dynamic services whitepaper ของ Oracle ก็มีส่วนที่ให้บริการ แปลงค่าเงิน แปลภาษา การส่งของ กระบวนการเคลมสินค้า เป็นต้น ส่วนความหมายอย่างเป็นทางการของ Web Service ก็คงเป็นของ IBM ที่กล่าวว่า
เว็บเซอวิส คือ Web Application ยุคใหม่ ที่ประกอบด้วยส่วนย่อยๆมีความสมบูรณ์ในตัวเอง สามารถติดตั้ง ค้นหา เริ่มทำงานได้ผ่านเว็บ Web Service สามารถทำอะไรก็ได้ตั้งแต่งานง่ายๆ เช่นดึงข้อมูล จนถึงกระบวนการทางธุรกิจที่ซับซ้อน เมื่อ Web Service ตัวใดตัวหนึ่งเริ่มทำงาน Web Service ตัวอื่นก็สามารถรับรู้และเริ่มทำงานได้อีกด้วย
หากเรามองจากกรณีของ n-tier application จะพบว่า web service คือกลไกในการเข้าถึงบริการที่แต่ละ Middle Ware ให้บริการ การเข้าถึงจะอาศัย Listener และส่วนประกอบที่ระบุถึงบริการต่างๆ ที่รองรับการทำงาน โดยการทำงานจริงๆ นั้นก็ใช้วิธีการปกติของ Middle Ware นั้นๆ
พื้นฐานของ Web Service
พื้นฐานของ Web Service ก็คือ XML กับ HTTP ซึ่งจะพบว่า HTTP ก็เป็นที่รู้จักกันดี และไปได้ทั่วทุกแห่งที่มี interner ส่วน XML คือภาษาสากลที่คุณสามารถปรับแต่งได้ตามใจชอบ เพื่อให้เกิดกิจกรรมระว่าง client และบริการ หรือระหว่างส่วนประกอบต่างๆ เบื้องหลัง Web server ก็คือ ข้อความ XML จะถูกแปลงให้การขอบริการจาก Middle ware และผลที่ได้ก็จะแปลงกลับมาในรูป XML
ยกตัวอย่างให้เห็นง่ายๆ คุณต้องการให้เครื่อง PC อ่านค่าจาก serial port แล้วส่งไปประมวลผลบนเครื่อง UNIX แล้วส่งผลกลับมาแสดงบนจอ PC ถ้าเป็นเมื่อก่อน คุณก็คงต้องแปลงข้อมูลที่ได้ให้อยู่ในรูปของ ASCII แล้วส่งไปยัง UNIX พร้อมคำสั่งว่าให้ทำอะไร ในฝั่ง UNIX คุณก็ต้องมาแยกว่าอันไหนคือคำสั่ง อันไหนคือข้อมูล เมื่อประมวลผลแล้ว จะส่งกลับมาในรูปแบบไหน แล้วถ้าหากจะส่งไปหาเครื่องที่เป็น MAC ท่านจะต้องเขียนโปรแกรมเพิ่มในส่วนไหนบ้าง จะพบว่าเราต้องพัฒนากันเป็นคู่ๆ ไป และต้องนิยามในแต่ละฝั่งให้ชัดเจน แต่หากเป็น Web Service คุณจะพบว่า เราแปลงข้อมูลให้อยู่ในรูป XML แต่ละคุณก็ต้องการรู้แค่ มาตรฐาน XML ก็พอ แล้วต่างคนต่างก็เขียน Service ของตัวเอง ไม่ต้องกังวลเรื่องของการเชื่อมโยงอีกต่อไป และ Protocol ที่ส่งก็คือ HTTP นั่นเอง ถ้าท่านเชื่อมโยงกับ HTTP (หรือเว็บ) ได้ ท่านก็ใช้บริการทุกอย่างได
ก่อน การเข้าถึงและการสั่งงานนั้นยังเป็นเพียงโครงสร้างพื้นฐาน แต่ในความเป็นจริงยังมีอะไรมากกว่านั้น เช่น การค้นหา การทำธุรกรรม ความปลอดภัย การพิสูจน์ตัวตน และอื่นๆ อันเป็นบริการที่ทำให้เป็นบริการพื้นฐานจริงๆ ระบบเพิ่มเติมที่ต้องมีและต้องรักษาความสะดวกและใช้งานง่ายไว้ด้วย พื้นฐานของ Web Service เต็มรูปแบบคือ XML + HTTP + SOAP + WSDL + UDDI หรือในระดับสูงกว่านั้น แต่ไม่ได้ถือเป็นสิ่งจำเป็นเสมอไปคือต้องเพิ่มเทคโนโลยี XAML, XLANG, XKMS, XFS เป็นต้น
รายละเอียดของแต่ละส่วน อาจจะยังเป็นเทคโนโลยี ที่กำลังอยู่ระหว่างพัฒนา ดังนั้นในแต่ละปัญหาอาจจะแก้ได้หลายวิธีด้วยกัน
SOAP (Remote Invocation) สั่งงานจากระยะไกล
UDDI บริการ Directory
WSDL ระบุคุณสมบัติของแต่ละบริการ
XLANG/XAML กรณีของการเชื่อมโยงที่ซับซ้อน หลายๆ เว็บ
XKMS (XML Key Management Specification) ระหว่างการพัฒนา (Microsoft + Verisign)













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

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