ข้ามไปที่เนื้อหาหลัก

SOAP

SOAP ย่อมาจาก Simple Object Access Protocol คือโปรโตคอลมาตรฐานที่ใช้ใน Web Services เป็นโพรโทคอล ( Protocol )ในการติดต่อแลกเปลี่ยนข้อมูลระหว่างกันของ web services เป็นโพรโทคอลการสื่อสาร ในระดับ Application Layer หรือในระดับ แอปพลิเคชัน โดยอาศัยผ่านอินเทอร์เน็ตโพรโทคอล ซึ่งอาศัยรูปแบบของภาษา  XML ทำให้ Web services สามารถสื่อสารกันได้แม้ว่า จะอยู่บนเครื่องคอมพิวเตอร์คนละเพลตฟอร์ม หรือพัฒนาด้วยภาษาโปรแกรมที่ต่างกันก็ตาม และนิยมใช้ HTTP เป็นโปรโตคอลร่วมสำหรับส่งผ่านข้อมูลบนระบบอินเตอร์เน็ต   SOAP ทำงานร่วมกับโพรโตคอลได้หลายชนิด เช่น HTTP, SMTP, FTP, IIOP เป็นต้น
ผลการค้นหารูปภาพสำหรับ soap diagram

     จากภาพ อธิบายได้ดังนี้
   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

ความคิดเห็น

  1. Application Layer เป็นเลเยอร์อะไรและมีบทบาทอย่างไรในการจัดเตรียมแอปพลิเคชันบนเครือข่าย?
    เข้าถึง Telkom University Jakarta

    ตอบลบ

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

โพสต์ยอดนิยมจากบล็อกนี้

Spiral model

Spiral model Spiral model คือ Software Development Process หนึ่งที่ถูกพัฒนาขึ้นโดยเอาจุดแข็งของ Development Model อื่นที่ดีอยู่แล้วมาประยุกต์ ( Waterfall Mode) ใช้ตีค่าความเสี่ยงที่เกิดเพื่อจะได้ทราบว่าจุดใดมีความเสี่ยงมากน้อยขนาดไหน จะได้หาวิธีลดความเสี่ยง ซึ่งความเสี่ยงเป็นสาเหตุ ที่ทำให้การพัฒนาไม่ประสบความสำเร็จ Spiral Model เป็นโมเดลที่ถูกพัฒนาขึ้นจาก Waterfall Model ที่มีการทำงานเป็นขั้นตอนหากในขั้นตอนแรกวิเคราะห์ความต้องการไม่ดี ไม่ชัดเจน ความเสี่ยงที่ระบบจะถูกพัฒนาไม่ตรงตามความต้องการของลูกค้าสูง กระบวนการนี้จึงนำเอาข้อดีของ Prototype มาผสมผสานให้เกิดคามชัดเจนและมีการวิเคราะห์ความเสี่ยงในทุกชั้น ทำให้โอกาสที่ระบบจะล้มเหลวมีน้อยลง ตัวอย่างของ Waterfall Model หรือ The Linear Model ภายหลังถูกปรับเปลี่ยนเป็นรูปเเบบจําลองบันไดเวียน( Spiral model) เพราะเเบบเก่านั่นติดข้อจํากัดคือ ถ้าพบว่าขั้นตอนไหนผิดพลาดเเล้วตอนเสร็จกระบวนการทั้งหมด จะเเก้ไขไม่ได้เลย ต้องจําเป็นที่จะต้องเริ่มรอบใหม่( Iteration) อีกครั้งนั่นเอง               Spiral mod...

ซอฟต์แวร์ที่ใช้ในองค์กรทั่วไป

โปรแกรมประยุกต์ที่นิยมใช้ในงานธุรกิจ โปรแกรมประยุกต์ที่นิยมใช้ในงานธุรกิจ ซอฟต์แวร์ประยุกต์(application software)        เป็นซอฟต์แวร์ที่ใช้กับงานด้านต่าง ๆ ตามความต้องการของผู้ใช้ ที่สามารถนำมาใช้ประโยชน์ได้โดยตรง ปัจจุบันมีผู้พัฒนาซอฟต์แวร์ใช้งานทางด้านต่าง ๆ ออกจำหน่ายมาก การประยุกต์งานคอมพิวเตอร์จึงกว้างขวางและแพร่หลาย เราอาจแบ่งซอฟต์แวร์ประยุกต์ออกเป็นสองกลุ่มคือ ซอฟต์แวร์สำเร็จ และซอฟต์แวร์ที่พัฒนาขึ้นใช้งานเฉพาะ ซอฟต์แวร์สำเร็จในปัจจุบันมีมากมาย เช่น ซอฟต์แวร์ประมวลคำ ซอฟต์แวร์ตารางทำงาน ฯลฯ          4.1 ซอฟต์แวร์ประยุกต์ทั่วไป       ซอฟแวร์ประยุกต์ทั่วไป (general purpose software) เป็นซอฟแวร์ที่พัฒนาขึ้นมาเพื่อนำไปประยุกต์ใช้กับงานให้เหมาะสมกับลักษณะงานของผู้ใช้คอมพิวเตอร์ เช่น การจัดพิมพ์รายงาน การนำเสนอ เป็นต้น               1) ซอฟต์แวร์ประมวลคำ(word processing software) เป็นซอฟต์แวร์ประยุกต์ใช้สำหรับการพิมพ์เอกสาร สามารถแก้ไข เพิ่ม แทรก ลบ และจัดรูปแบบเอกสารได้อย่างดี เอกสาร...

Tacit Knowledge and Explicit Knowledge

  Tacit knowledge   ( ความรู้ที่ไม่ปรากฏชัดเจน )  คือความรู้ที่ไม่สามารถเขียนหรืออธิบายได้ การถ่ายโอนความรู้ประเภทนี้ทำได้ยาก จำเป็นต้องอาศัยการเรียนรู้จากการกระทำ ฝึกฝน (อยู่ในสมอง เชื่อมโยงกับประสบการณ์ ความเชื่อ ค่านิยม ไม่สามารถถ่ายทอดออกมาได้ทั้งหมด)     Explicit knowledge  ( ความรู้ที่ปรากฏชัดเจน )  คือความรู้ที่สามารถเขียนหรืออธิบายออกมาเป็นตัวอักษร ฟังก์ชั่นหรือสมการได้ (อยู่ในตำรา เอกสาร วารสาร คู่มือ คำอธิบาย คอมพิวเตอร์ อินเทอร์เน็ต ฐานข้อมูล)