SOAP ย่อมาจาก Simple
Object Access Protocol คือโปรโตคอลมาตรฐานที่ใช้ใน Web Services
เป็นโพรโทคอล ( Protocol )ในการติดต่อแลกเปลี่ยนข้อมูลระหว่างกันของ
web services เป็นโพรโทคอลการสื่อสาร ในระดับ Application
Layer หรือในระดับ แอปพลิเคชัน โดยอาศัยผ่านอินเทอร์เน็ตโพรโทคอล
ซึ่งอาศัยรูปแบบของภาษา XML ทำให้ Web services สามารถสื่อสารกันได้แม้ว่า
จะอยู่บนเครื่องคอมพิวเตอร์คนละเพลตฟอร์ม หรือพัฒนาด้วยภาษาโปรแกรมที่ต่างกันก็ตาม
และนิยมใช้ HTTP เป็นโปรโตคอลร่วมสำหรับส่งผ่านข้อมูลบนระบบอินเตอร์เน็ต SOAP ทำงานร่วมกับโพรโตคอลได้หลายชนิด
เช่น HTTP, SMTP, FTP, IIOP เป็นต้น
จากภาพ อธิบายได้ดังนี้
1.ผู้ขอใช้บริการ (Service Requester ) สร้าง SOAP
Message เพื่อเรียกใช้บริการของ เว็บเซอร์วิส
แล้วส่งผ่านโพรโตคอลเครือข่ายไปยังผู้ให้บริการ ในที่นี้ SOAP message ที่รับ-ส่งไปมานั้น อยู่ในรูปแบบ XML และต้องมีการแปลกลับมาอยู่ในรูปแบบที่โปรแกรมหรือเว็บเซิร์ฟเวอร์เข้าใจ
โดยมีโปรแกรมที่ทำหน้าที่แปลความหมายของเอกสาร XML คือXML
Parser
2.ผู้ให้บริการ ( Service Provider ) ได้รับ SOAP
Message จากผู้ขอใช้บริการ จากนั้น
จึงแปลข้อความนั้นกลับมาอยู่ในรูปแบบที่เว็บเซิร์ฟเวอร์เข้าใจ แล้วตรวจสอบว่า
ผู้ใช้บริการต้องการเรียกใช้ เว็บเซอร์วิส ชื่ออะไร เมธอดอะไร
และส่งพารามิเตอร์อะไร มาด้วย จากนั้นจึงส่งไปให้แก่คอมโพเนนต์ที่ให้บริการ
เว็บเซอร์วิส นั้นๆดำเนินการประมวลผล
3.หลังจากคอมโพเนนต์ที่ให้บริการ เว็บเซอร์วิส
ส่งผลลัพธ์กลับมาแล้วผู้ให้บริการก็จะสร้าง SOAP Message ที่มีผลลัพธ์นั้นออกมาด้วย
แล้วจึงส่งผ่านทางโพรโตคอลเครือข่ายกลับคืนไปยังผู้ขอใช้บริการ
4.ผู้ขอใช้บริการได้รับ SOAP Message ที่อยู่ในรูปแบบ XML
จึงแปลข้อความนั้นกลับมาในรูปแบบที่โปรแกรมของผู้ขอใช้บริการเข้าใจแล้วนำผลลัพธ์ไปใช้งาน
เช่น แสดงผล หรือไปทำอย่างอื่น แล้วแต่ว่ามีการเขียนโปรแกรมรองรับไว้ให้ทำอย่างไร
และจะมี SOAP Listener ทำหน้าที่คอยรับฟังว่ามีการเรียกใช้
เว็บเซอร์วิส จากผู้ใช้ การบริการของ เว็บเซอร์วิส แต่ละบริการจะมีไฟล์ SOAP
Listener จำนวน 1 ไฟล์
เมื่อใดที่มีการเรียกใช้ เว็บเซอร์วิส ไฟล์โปรแกรมที่เป็น SOAP Listener ก็จะไปปลุกให้ เว็บเซอร์วิสทำงาน
ข้อดีของการใช้โพรโตคอล SOAP
1.โพรโตคอล SOAP สามารถให้เราเรียกใช้คอมโพเนนต์ หรือ
เว็บเซอร์วิส ข้ามเครื่อง ข้าม แพลตฟอร์มหรือข้ามภาษา ได้
โดยอาศัยโพรโตคอลที่มีอยู่เดิมในอินเทอร์เน็ต อย่าง HTTP
2.โครงสร้างข้อมูลของ SOAP เป็นรูปแบบข้อความที่สื่อสารกันด้วยภาษา
XML ซึ่งมีลักษณะเป็นข้อความธรรมดาๆปิดล้อมด้วยแท็ค
ทำให้เข้าใจได้ในทุกแพลตฟอร์ม
3.โพรโตคอล SOAP สามารถทำงานผ่านระบบไฟล์วอลล์
ได้ง่ายเนื่องจาก SOAP ทำงานอยู่กับ โพรโตคอล HTTP ซึ่งโดยธรรมชาติของไฟล์วอลล์ จะเปิดให้การสื่อสารด้วย HTTP ผ่านได้อย่างสะดวก
4.SOAP สนับสนุนจากหลายค่าย เช่น IBM, MS , SUN
ข้อเสียของการใช้โพรโตคอล SOAP
1.เนื่องจากลักษณะของ SOAP message เป็นเอกสาร XML
ทำให้เสียเวลาในการแปลกลับมาเป็นรูปแบบที่โปรแกรมเข้าใจ
2.ในกรณีที่ SOAP ทำงานอยู่กับโพรโตคอล HTTP ซึ่งมีสมรรถนะในการรับ-ส่งข้อมูลต่ำกว่าโพรโตคอล DCOM, RMI, หรือ IIOP จึงทำให้โพรโตคอล SOAP มีอัตราการรับ-ส่งข้อมูลต่ำ
ข้อมูลอ้างอิง
http://.buu.ac.th
http://th.wikipedia.org
Application Layer เป็นเลเยอร์อะไรและมีบทบาทอย่างไรในการจัดเตรียมแอปพลิเคชันบนเครือข่าย?
ตอบลบเข้าถึง Telkom University Jakarta