10.20
ความหมายของเว็บเซอร์วิส
เว็บเซอร์ วิสเป็นแอพพลิเคชั่นหรือโปรแกรมที่ทำงานอย่างใดอย่างหนึ่ง โดยมีลักษณะเป็นการให้บริการ โดยจะถูกเรียกใช้งานจากแอพพลิเคชั่นอื่นๆ ในรูปแบบ RPC (Remote Procedure Call) ซึ่งการให้บริการจะมีเอกสารที่อธิบายคุณสมบัติของบริการกำกับไว้ โดยภาษาที่ถูกใช้ในการสื่อสารแลกเปลี่ยนข้อมูลคือ XML ทำให้เราสามารถเรียกใช้คอมโพเน้นท์ใดๆในเซอร์วิส บนแพลตฟอร์มใดๆก็ได้ ผ่านโปรโตคอล HTTP ที่ใช้เป็นมาตรฐานในการสื่อสารบนเครือข่ายอินเตอร์เน็ต และสามารถขอบริการจากหลายๆที่มาทำงานประกอบกันได้ด้วย เนื่องจากแต่ละระบบมีความเป็นอิสระต่อกัน
คุณลักษณะของเว็บเซอร์วิส
1. จะมีลักษณะเป็น friendly กับผู้ใช้เพราะ รายละเอียดต่างๆในการสร้างและพัฒนาจะถูกซ่อนไว้( Encapsulated ) 2. การแก้ไขรายละเอียดของซอฟท์แวร์ที่ทำงานบนเว็บเซอร์วิส สามารถทำได้โดยไม่ส่งผลกระทบออกเป็นลูกโซ่ 3. โปรแกรมที่เรียกใช้เว็บเซอร์วิส จะรู้ได้ว่าเซอร์วิส ที่กำลังเรียกใช้นั้นมี input และ output อย่างไร 4. ใช้ภาษา XML ในการติดต่อสื่อสารระหว่างกัน 5. สนับสนุนการค้นหาและเรียกใช้แบบไดนามิก (Dynamic Discovery and Invocation) ด้วยเทคโนโลยี UDDI แอพพลิเคชั่น จึงสามารถค้นหาและเรียกใช้ เว็บเซอร์วิสได้ในขณะ run timeประโยชน์ของเว็บเซอร์วิส
1. เกิดพันธมิตรทางการค้าขึ้น โดยการค้นหาจาก UDDI 2. การดำเนินธุรกิจการค้าเป็นไปอย่างอัตโนมัติในระดับของ แอพพลิเคชั่น โดยการแลกเปลี่ยนข้อมูลผ่านเทคโนโลยีเว็บเซอร์วิส 3. ลดต้นทุนในการพัฒนาระบบ โดยการขอบริการจากเว็บเซอร์วิสที่เป็นพันธมิตรทางการค้า
โครงสร้างการทำงานของเว็บเซอร์วิส

โครงสร้างการทำงานของเว็บเซอร์วิสสามารถแบ่งออกได้เป็น 3 ส่วน คือ
ผู้ ให้บริการ (Service Provider) จะทำการประกาศบริการขององค์กรที่มีอยู่ไปยังตัวแทนของผู้ให้บริการ ซึ่งตัวแทนของผู้ให้บริการจะบันทึกไว้ในไดเร็กทอรี่ของการบริการ (Service Registry) ผู้ขอใช้บริการ (Service Requester) จะทำการค้นหาบริการที่ต้องการจากผู้ให้บริการ และเมื่อพบบริการที่ต้องการก็จะทำการเรียกใช้ (bind) ไปยังผู้ให้บริการนั้น ตัวแทนของ ผู้ให้บริการ (Service Registry) ทำหน้าที่เป็นตัวกลางให้ผู้ให้บริการมาลงทะเบียนไว้ โดยมี UDDI บอกละลายละเอียดบริษัทและบริการ และมี WSDL ใช้อธิบายบริการและวิธีเชื่อมต่อโดยอาจเรียกว่า (Service Broker) UDDI เป็นวิธีการมาตรฐานสำหรับจัดเก็บและรวบรวมบริการต่าง ๆ ที่ให้บริการในรูปของ ไดเร็กทอรี่เซอร์วิส (Directory service) แต่ UDDI จะเกิดขึ้นได้ต้องอาศัยผู้ให้บริการจำนวน มาก เสนอบริการทางด้านซอฟต์แวร์หรือโปรแกรมของตนเอง แล้วเราจะต้องประกาศ บริการเหล่านี้ไปบน อินเตอร์เน็ต WSDL เป็นมาตรฐานที่ใช้อธิบายคุณลักษณะของการเรียกใช้บริการของเว็บเซอร์วิสและวิธีการติดต่อกับเว็บเซอร์วิสXML (Extensible Markup Language)
เป็น ภาษามาร์คอัพที่เป็นเท็กซ์เบส (text-based) ที่ใช้เป็นมาตรฐานในการแลกเปลี่ยนข้อมูลบนอินเตอร์เน็ตในปัจจุบันและใช้โครง สร้างข้อมูลในรูปแบบเท็กซ์ด้วยความยืดหยุ่น ผู้ที่ทำหน้าที่รับผิดชอบ และกำหนดมาตรฐานของ XML คือ World Wide Web Consortium (W3C) ลักษณะที่สำคัญของ XML คือ * สามารถรองรับการแลกเปลี่ยนข้อมูลข้อมูลได้ทุก platform * มีการจัดโครงสร้างของข้อมูลที่จะทำการแลกเปลี่ยนเป็นหมวดหมู่และองค์ประกอบย่อยต่างๆ * ไม่มี tag แต่ผู้ใช้สามารถสร้าง tag ขึ้นมาเองเพื่อใช้อธิบายข้อมูลได้ โดยการสร้าง tag จะต้องสร้างตามข้อตกลงของ W3C * ส่วนข้อมูลและส่วนแสดงผลของเอกสาร XML จะถูกแยกจากกันโดยในเอกสาร XML นั้นจะมีเพียงส่วนของข้อมูล ดังนั้นหากข้อมูลมีการเปลี่ยนแปลงจะไม่ส่งผลต่อการแสดงผล และในทางเดียวกัน การแก้ไขส่วนแสดงผลก็จะไม่มีผลต่อข้อมูล ทั้งนี้การแสดงผลสามารถทำได้หลายวิธี เช่น ใช้ HTML, CSS, XSL เป็นต้น * สามารถอ่านและแปลความหมายของ XML ได้ด้วย XML Parser * XML สนับสนุน UNICODE ทำให้ใช้ได้หลายภาษาผสมกัน ได้รับการสนับสนุนในโปรแกรมระบบฐานข้อมูลหลายชนิดWSDL (Web Services Description Language)
WSDL (Web Services Description Language) เป็น ภาษาที่ใช้ในการอธิบายคุณลักษณะการใช้บริการของเว็บเซอร์วิส หรือ Network Endpoint เพื่อเผยแพร่่ข้อมูลการบริการให้แก ? ผู้ที่ต้องการใช้บริการภายนอกได้เข้าถึงบริการ โดย WSDL เป็นภาษาที่ใช้ในการกำหนดภาษาและวิธีการติดต่อกับบริการ ( Interface Definition Language(IDL)) โดยใช้ XML เป็นภาษามาตรฐาน WSDL นั้นยังสามารถที่จะบรรยายการส่งเมสเสจระหว่างเว็บเซอร์วิส โดยมีการระบุตําแหน่งที่อยู่ของเว็บเซอร ? วิสและโปรโตคอลที่ใช ? ในการติดต่อสื่อสารกันของเว็บเซอร์วิส WSDL นั้นจะทํางานรวมกันกับ SOAP และ UDDI เพื่อทําให ? เว็บเซอร์วิสติดต่อกับเว็บเซอร์วิสอื่นๆ บนระบบอินเตอร์เน็ตได้ ถ้าไมัมี WSDL แล้วการกระทํา messaging interface นั้นจะต้องทําเอง WSDL จึงเป็นมาตรฐานสําหรับการประกาศโปรเซสที่จําเป็นในการเรียกใช้เซอร์วิส
รูปโครงสร้างของ WSDL
UDDI (Universal Description Discovery and Integration)
UDDI ทำหน้าที่ให้ method สำหรับการสร้างและค้นหารายตัวละเอียดของเซอร์วิส ที่ต้องการ โดย UDDI เป็นมาตรฐานที่ให้ชุดคำสั่งพื้นฐาน APIs (Application Programming Interface) ของ SOAP ที่สามารถนำมาใช้ในการพัฒนาเป็นตัวแทนของผู้ให้บริการ (Service Broker)SOAP (Simple Object Access Protocol)
เป็ีนโปรโตคอลที่ใช้ภาษา XML เป็ีนพื้นฐาน หรือเป็ีน messaging protocol สําหรับใช้ในการสื่อสารและแลกเปลี่ยนข้อมูลระหว่างเซอร์วิสในสภาวะแวดล้อม แบบกระจายศูนย ? (Distributed Environment) SOAP ได ? กําหนดเมสเสจจิ่งโปรโตคอลระหว่างผู้ขอบริการ และผู้ให้บริการ ในการติดต่อสื่อสารกัน เช่น กําหนดให ? ผู้ขอบริการต้องส่งข้อมูลที่ระบุฟังก์ชันและค่าพารามิเตอร์ต่างๆ ที่จําเป็ีนต้องใช้ในแอพลิเคชั่นที่ร้องขอ ส่งไปให ? กับผู้ให้บริการ ซึ่งแอพลิเคชั่นของผู้ให้บริการก็จะทํางานตามกระบวนการที่ถูกร้องขอมา
SOAP นั้นมีโครงสร้างภาษาที่ใช้ XML ซึ่งแบ่งส่วนของเอกสาร ได้เป็น 3 ส่วนดังนี้
* SOAP envelope จะใช้ห่อหุ้มเนื้อหาของเอกสาร ( Content ) ทั้งหมด * SOAP header เป็นส่วนหัวของเอกสาร ซึ่งเก็บข้อมูลบางอย่างไว้ * SOAP body เป็นส่วนที่เก็บรายละเอียดข้อมูลต่างๆ ทั้งส่วนการเรียกใช้งานเว็บเซอร์วิสและผลลัพธ์ที่ได้จากการประมวลผลเพื่อส่ง กลับไปให้ผู้ขอใช้บริการต่อไป
รูปโครงสร้างของ SOAP