2552-05-09

Concepts ที่ควรเข้าใจ (cont.)

ในที่สุดก็มาถึง 2 ตัวสุดท้ายที่เราควรรู้ก่อนที่จะทำการเริ่มใช้โปรแกรมกัน

Simple Object Access Protocol หรือ SOAP - เทคโนโลยิปัจจุบันที่ใช้มีการสื่อสารระหว่าง Object ในระยะไกล เช่น DCOM, CORBA ซึ่งไม่ได้ถูกออกแบบมาใช้สำหรับโปรโตคอล HTTP และยังมีปัญหาเรื่อง Firewall และ Proxy server ดังนั้นจึงมีการเลือกใช้ SOAP ซึ่งทำงานแบบโปรโตคอล HTTP แล้วยังเป็นมาตรฐานเปิดที่จะสามารถติดต่อกับเครื่องที่มีความแตกต่างกันทั้ง OS, เทคโนโลยี และภาษาที่ใช้ในการพัฒนา

SOAP เป็นโปรโตคอลมาตรฐานที่ใช้ในเว็บเซอร์วิสโดย SOAP จะมีพื้นฐานอยู่บนมาตรฐาน XML และนิยมใช้ HTTP เป็นโปรโตคอลร่วมสำหรับส่งผ่านข้อมูลบนระบบอินเตอร์เน็ต
  • หลักเกณฑ์ที่สำคัญของ SOAP
  1. Message format : ใช้กำหนดแบบแผนสำหรับอธิบายเนื้อหา และรวบรวม message เป็น package
  2. Description : คำอธิบายว่าจะใช้ HTTP หรือ SMTP
  3. Set of Rules : กฎสำหรับการ encoding
  4. Set of Conventions : การส่ง RPC ใน message

SOAP จะใช้กฎเกณฑ์ของ RPC เป็นแบบแผนในการกำหนดวิธีส่งข้อมูลด้วยวิธี Request และรับข้อมูลด้วย Response และยังเป็น lightweight protocol เพราะมีคุณสมบัติเพียงส่งและรับ HTTP และสามารถ process XML message
  • การส่งข้อมูลผ่าน SOAP
  1. Application ของ client สร้าง SOAP message เพื่อเรียกใช้เว็บเซอร์วิสที่ Provider ประกาศไว้
  2. Provider ได้รับ SOAP message จาก Client
  3. เว็บเซอร์วิสจะประมวลผลตาม Request
  4. เว็บเซอร์วิสทำการส่งผลลัพธ์ มายัง Web service application
  5. Provider สร้าง SOAP message พร้อมแนบผลลัพธ์ ส่งให้ Client
  6. Client ได้รับ SOAP message พร้อมผลลัพธ์
  • Structure of a SOAP message
SOAP message อาจเทียบได้กับการส่งจดหมายที่มี application รวมข้อมูลไว้อยู่ภายใน ซึ่ง SOAP message ประกอบด้วย
  1. SOAP : ใช้บรรจุเนื้อหาทั้งหมดของ SOAP message ไว้ภายใน
  2. SOAP
    : ช่วยจัดเตรียมบริการต่างๆให้ กับเนื้อหา
  3. SOAP : ใช้บรรจุเนื้อหาต่างๆ หรือ Payload ของ SOAP message โดย Payload สามารถใช้ RPC เพื่อเรียกดูข้อมูลที่อยู่ในรูปแบบ XML message ได้ ภายใน element จะประกอบด้วย Application-specific data และ fault message ซึ่งจะมีเพียงอย่างใดอย่างหนึ่งเท่านั้น
  4. SOAP Intermediaries : จะทำหน้าที่เป็นตัวผ่านหรือตัวกลางในการส่ง SOAP message จากต้นทางไปยังปลายทาง
  • SOAP communication model
SOAP Communication Model ถูกนิยามโดยลักษณะการ Encoding และ Communication
  1. Encoding Style : คือวิธีการของ Application ที่อยู่บน Platform ต่างกัน แชร์และแลกเปลี่ยนข้อมูลกัน ถึงแม้ว่าจะมีชนิดของข้อมูลที่แตกต่างกัน
  2. Communication Style :
  3. Remote Procedure Call Style : SOAP RPC เป็นการติดต่อสื่อสารในรูปแบบของการร้องขอ Request และการตอบรับ Response โดย SOAP message อาจกำหนดส่วนที่ใช้เชื่อมต่อด้วยการบรรจุ ชื่อ, พารามิเตอร์, return value ขึ้นกับรูปแบบของ SOAP message
  4. Document (Message) Style : SOAP messaging เป็นการส่ง SOAP ในรูปแบบของเอกสาร XML โดยใช้ SOAP node ในการส่งและรับข้อมูลโดย SOAP node ที่เป็นผู้ส่งจะส่ง message ไปพร้อมกับ XML ใน Body ส่วน SOAP node ที่เป็นผู้รับจะรับ message เพื่อนำไปประมวลผล
  • SOAP fault message
เมื่อ SOAP เกิดข้อผิดพลาดขึ้นจะสร้าง Error Information แล้วส่งกลับไปยังผู้ส่งโดยจะเข้ารหัสใน Fault Element ส่วนของ element body และ Element ย่อย ของ Fault Element
  1. env:Code = ชื่อของการเกิดข้อผิดพลาด ซึ่งจะมี sub element ย่อยอีกคือ env:value, env:Subcode
  2. env:Reason = แสดงคำอธิบายของข้อผิดพลาด
  3. env:Detail = ข้อมูลรายละเอียดเพิ่มเติมของข้อผิดพลาด
  • SOAP over HTTP
การใช้ HTTP เป็น Transport Protocol คือวิธีที่เหมาะสมที่สุดสำหรับการติดต่อสื่อสารของ SOAP ในรูปแบบ RPC โดยจะอยู่บนพื้นฐานของการ Request และการ Response ผ่าน HTTP ทำให้สามารถรับส่งข้อมูลได้ด้วยการส่งพารามิเตอร์ต่างๆ ไปกับ HTTP Request และรับพารามิเตอร์จาก HTTP Response
สำหรับ GET : SOAP message คือ Response message แต่สำหรับ POST : SOAP message คือ Response message และ Request message
ส่วน Header ของ HTTP ประกอบด้วย
Content-Type : ใช้ระบุ MIME ของ message และรูปแบบการ Encoding
Content-Length : ใช้ระบุขนาด Body ในหน่วยไบต์


Representational State Transfer หรือ REST - เป็นอีกทางเลือกหนึ่งที่นำเว็บเทคโนโลยีพื้นฐาน ได้แก่ URL HTTP และ XML มาใช้ประโยชน์อย่างเต็มที่ โดยเฉพาะอย่างยิ่งการใช้ประโยชน์จาก URL หรือ URI ที่ถูกนำมาใช้แสดง method และ parameter โดย REST เป็นการใช้ HTTP protocol ในการรับส่งดาต้า และช่วยให้เราสามารถเรียก URL ในรูปแบบที่เฉพาะเจาะจงได้ REST ไม่สามารถจัดได้ว่าเป็นมาตรฐาน หากแต่เป็นรูปแบบ ที่นักพัฒนาสามารถยึดเป็นแนวทางในการพัฒนาได้

REST ยังเป็นวิธีการที่มองเว็บในฐานะที่เป็นแหล่งข้อมูล ซึ่งสามารถที่จะจัดการได้โดยวิธีการต่าง ๆ ดังนี้
  • GET สำหรับได้การนำเสนอ ของแหล่งข้อมูล
  • DELETE สำหรับลบการนำเสนอ
  • PUT สำหรับการสร้างและเปลี่ยนแปลงการนำเสนอ
เว็บเซอร์วิสแบบ REST จะมี URI กำกับเพื่อบอกที่อยู่ของแหล่งข้อมูล ผู้พัฒนาเว็บเซอร์วิสสามารถเลือกใช้ GET/DELETE/POST/PUT ซึ่งแล้วแต่ความเหมาะสมกับแอพพลิเคชั่น
  • GET เหมาะสำหรับการดึงข้อมูลออกมาดู
  • POST สำหรับการแก้ไขแหล่งข้อมูล
โดยที่ผลของการเรียกเว็บเซอร์วิสจะได้ผลลัพธ์มาอยู่ในรูปแบบของ XML
ข้อดีของ REST คือผู้พัฒนาเว็บเซอร์วิสสามารถสร้างและเรียกใช้เว็บเซอร์วิสได้ง่าย เพราะใช้แค่ XML และ HTTP ข้อด้อยของ REST คือการติดต่อขอข้อมูลจะเป็นได้แบบประสานเวลาเท่านั้น และการจัดการความปลอดภัยของข้อมูลเพิ่มเติมจากในส่วนของเว็บเซิร์ฟเวอร์ และการจัดการข้อมูลที่มีความสลับซับซ้อนได้จากการเขียนโค๊ดขึ้นมาเอง


เอาละครับ มาถึงตอนนี้เราก็ได้ทำความรู้จักกับ concept และ technologies พื้นฐานกันไปครบแล้ว คราวหน้าเราจะมาทำความรู้จักกับเจ้าตัวโปรแกรม soapUI-Pro-2.5.1 กัน

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

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