เว็บเซอร์วิส (Web service) คือระบบซอฟต์แวร์ที่ออกแบบมา เพื่อสนับสนุนการแลกเปลี่ยนข้อมูลกัน ระหว่างเครื่องคอมพิวเตอร์ผ่านระบบเครือข่าย โดยที่ภาษาที่ใช้ในการติดต่อสื่อสารระหว่างเครื่องคอมพิวเตอร์ คือเอกซ์เอ็มแอล เว็บเซอร์วิสมีอินเทอร์เฟส ที่ใช้อธิบายรูปแบบข้อมูลที่เครื่องคอมพิวเตอร์ประมวลผลได้ เช่น WSDL ระบบคอมพิวเตอร์ใช้งานสื่อสารโต้ตอบกับเว็บเซอร์วิสตามรูปแบบที่ได้กำหนดไว้แล้ว โดยการส่งสาสน์ตามอินเตอร์เฟสของเว็บเซอร์วิสนั้น โดยที่สาสน์ดังกล่าวอาจแนบไว้ในซอง SOAP หรือส่งตามอินเตอร์เฟสในแนวทางของ REST สาสน์เหล่านี้ปกติแล้วถูกส่งโดยอาศัย HTTP และใช้ XML ร่วมกับมาตรฐานเกี่ยวกับเว็บอื่นๆ โปรแกรมประยุกต์ที่เขียนโดยภาษาต่างๆ และทำงานบนแพลตฟอร์มต่างๆกันสามารถใช้เว็บเซอร์วิสเพื่อแลกเปลี่ยนข้อมูลผ่านทางเครือข่ายคอมพิวเตอร์ เช่น อินเทอร์เน็ต ในลักษณะเดียวกับการสื่อสารระหว่างโปรเซส (Inter-process communication) บนเครื่องเดียวกัน ความสามารถในการแลกเปลี่ยนข้อมูลระหว่างระบบที่ต่างกันนี้ (เช่น การแลกเปลี่ยนข้อมูลระหว่าง โปรแกรมที่เขียนโดยภาษาจาวา และโปรแกรมที่เขียนโดยภาษาไพทอน หรือการแลกเปลี่ยนข้อมูลระหว่างโปรแกรมประยุกต์ที่ทำงานบนไมโครซอฟท์วินโดวส์และโปรแกรมประยุกต์ที่ทำงานบนลินุกซ์) เกิดขึ้นได้เนื่องจากการใช้มาตรฐานเปิด โดย OASIS และ W3C เป็นคณะกรรมการหลักในการรับผิดชอบมาตรฐานและสถาปัตยกรรมของเว็บเซอร์วิส
ความหมายของเซอร์วิส (Service) หรือบริการในแง่ของเทคโนโลยี เราลองมาพิจารณาความหมายของบริการหรือกระบวนการ (Process) ที่องค์กรต่างๆ ทั้งภาครัฐและเอกชนต่างให้บริการกับประชาชน ลูกค้า พนักงาน หรือคู่ค้า ตัวอย่างเช่นบริการที่พนักงานหน้าเคาท์เตอร์ของธนาคารสามารถให้บริการแก่ลูกค้าอาจมีหลากหลายอาทิเช่น บริการฝาก/ถอนเงิน บริการแลกเปลี่ยนเงินตราต่างประเทศ หรือบริการด้านสินเชื่อเป็นต้น บริการแต่ละบริการอาจจะมีกระบวนการในการทำงานที่ซับซ้อนแตกต่างกัน แต่ในมุมมองของลูกค้าจะไม่สนใจว่าบริการนั้นมีขั้นตอนการทำงานอย่างไร แต่จะมีวัตถุประสงค์หลักเพื่อให้บริการนั้นเสร็จสิ้นและได้ผลลัพธ์ออกมาตามที่ลูกค้าขอใช้บริการนั้นๆ
ความหมายของเซอร์วิสในแง่ของซอฟต์แวร์ ก็มีคุณลักษณะเช่นเดียวกับบริการทั่วๆ ไป กล่าวคือเป็นซอฟต์แวร์คอมโพเนนท์ (Software Component) ที่อาจเป็น ฟังก์ชัน หรือ โมดูล ที่มีกระบวนการการทำงานภายใน สามารถรับอินพุตเข้ามาเพื่อประมวลผล และจะส่งผลลัพธ์กลับออกไป ซอฟต์แวร์เซอร์วิสเหล่านี้เราอาจกำหนดเป็นกระบวนการทางธุรกิจ (Business Process) กล่าวคือจะเป็นฟังก์ชันที่ทำเฉพาะการประมวลผลซึ่งจะไม่เกี่ยวข้องกับส่วนแสดงผล (Presentation Logic) นอกจากนี้ด้วยเทคโนโลยี Distributed Computing ทำให้สามารถที่จะพัฒนาซอฟต์แวร์เซอร์วิสเพื่อเรียกใช้จากระยะไกล (remote) ผ่าน Internet ได้โดยใช้เทคโนโลยีเฉพาะด้าน (proprietary technology) อาทิเช่น RMI, CORBA หรือ DCOM
เว็บเซอร์วิส (Web Service) อาจไม่ได้เป็นเรื่องใหม่แล้ว และคนวงการไอทีส่วนใหญ่เริ่มเข้าใจเทคโนโลยีเว็บเซอร์วิสดีขึ้น มาตรฐานต่างๆ ของเว็บเซอร์วิสเริ่มเป็นที่ยอมรับกันมากขึ้นและกลายเป็นมาตรฐานหลักในการพัฒนา SOA แต่การพัฒนาเว็บเซอร์วิสสำหรับประยุกต์ใช้งานจริงในองค์กรยังเพิ่งเริ่มต้นและวัตถุประสงค์ในการพัฒนายังไม่ชัดเจนนัก แต่เมื่อมีการกล่าวถึงการพัฒนาสถาปัตยกรรมเชิงบริการ (SOA) ภายในองค์กรกันมากขึ้น โดยเฉพาะความต้องการขององค์กรที่จะทำการเชื่อมโยงระบบภายในองค์กร (Internal Enterprise Application Integration) จึงทำให้องค์กรสนใจจะนเทคโนโลยีเว็บเซอร์วิสเข้ามาช่วยในการพัฒนาโปรแกรมต่างๆ มากขึ้น บทความนี้จะเป็นการแนะนำเทคโนโลยีเว็บเซอร์วิส ประโยชน์ และมาตรฐานต่างๆ ของเว็บเซอร์วิส การพัฒนาเว็บเซอร์วิสโดยใช้เทคโนโลยีจาวา (Java Technology)
เว็บเซอร์วิสจะใช้หลักการของซอฟต์แวร์เซอร์วิสของ Distributed Computing แต่จะใช้โพรโทคอลที่มีมาตรฐานกลาง (Standard Protocol) ที่อยู่ในรูปแบบ XML (eXtensible Markup Language) และจะเป็นซอฟต์แวร์คอมโพเนนท์ที่ให้บริการผ่านอินเตอร์เน็ต
ไม่มีความคิดเห็น:
แสดงความคิดเห็น