Web Service Description Language : WSDL

Web Service Description Language : WSDL

•  Why is a service description needed?

ต้องมีเอกสาร Service Description เพื่อบอกรายละเีอียดและวิธีการเรียกใช้ service เพราะถ้าีมีแต่ XML Schema จะไม่สามารถอธิบายความสำคัญของรายละเีอียดเพิ่มเติมซึ่งรวมไปถึงการเรียกใช้ web service ด้วย

•  Web Service Description Language

– WSDL (อ่านว่า วิส-เด้าว์) คือ เอกสารที่อยู่ในรูปแบบของ XML มีไว้ใช้อธิบายรายละเอียดของ Web service เพื่อให้ application ที่ต้องการเรียกใช้ web service ทราบรายละเอียดของบริการและวิธีการเรียกใช้ โดย WSDL จะบรรจุรายละเอียดที่ต้องใช้ในการสร้าง Request message เพื่อร้องขอบริการเช่น ชื่อบริการ, พารามิเตอร์ หรือโปรโตคอลที่ใช้ในการติดต่อสื่อสาร

– สรุปได้ว่า WSDL เป็นการตัวเชื่อมระหว่าง Service Provider และ Service Requester

• Structure of WSDL documents

สามารถแบ่งโครงสร้างของ WSDL ออกได้เป็น
1. Service interface definition : ใช้กำหนดคุณลักษณะในการเชื่อมต่อของ web service
2. Service implement part : ใช้ระบุภาษา, เทคโนโลยี, โปรโตคอล ที่ใช้เป็นส่วนเชื่อมต่อทางกายภาพ

•  WSDL document content

•   Abstract (interface) definitions

–  <types> ใช้กำหนดชนิดของข้อมูล โดยใช้นิยามข้อมูลชนิดต่างๆ ที่ service ใช้แลกเปลี่ยนกัน WSDL ไม่ได้กำหนดรูปแบบการนิยามไว้ แต่โดยทั่วไปจะอยู่ในรูปแบบของ XML Schema  WSDL จะใช้ primitive data type ที่ XML schema definition (XSD) กำหนด เช่น  int, float, long, short, string, boolean และ อนุญาติให้สามารถสร้าง complex data type ขึ้นใช้เองได้
–  <message> ใช้ในกำหนดข้อมูลในการติดต่อระหว่าง client กับ web service โดยข้อมูลภายใน element นี้มีความสัมพันธ์กับ element types ซึ่งภายใน message จะระบุ <part> ไว้ภายในเพื่อระบุถึง Request Parameter หรือค่าที่ส่งคืนกลับมาของแต่ละ message (element ใดจะทำหน้าที่เป็น Input หรือ output message จะระบุใน element operation ที่อยู่ภายใน portType)
–  <portType> ใช้อธิบายการดำเนินงานต่างๆของ service ด้วยการกำหนด element operation ไว้ภายในเพื่อบอกรายละเัอียดของ message ที่ service ใช้ในการรับส่งข้อมูล
<operation> ใช้ในการประกาศ Input หรือ output message

•   Concrete (implementation) definitions

–  <binding> ใช้อธิบายโปรโตคอลและรูปแบบของข้อมูลของ operation และ message ที่ใช้งาน
–  <port> ใช้สำหรับกำหนดตำแหน่งของการ Binding โดยอยู่ในรูปแบบ URL และรวบรวม port ต่างๆ ที่เกี่ยวข้องเข้าด้วยกัน
–  <service> ส่วนกำหนด URL ของ WS, ใช้ีรวบรวมกลุ่มของ element port

•   Also:

–  <import> ใช้อ้างอิงไปยังไฟล์ XML อื่น

•  WSDL Implementation

– Service Implementation Part ของ WSDL ประกอบด้วย element <binding>, <port>, <service> และอธิบายแต่ละส่วนของ service interface ถูก implement โดย service provider ได้อย่างไร

•  WSDL message exchange patterns : รูปแบบในการรับส่งข้อมูลของ WSDL

One-way operation : ทำงานโดย client ส่ง request ไปแล้วจะไม่มีการรอการตอบกลับ (มีเฉพาะส่วนของ element input)
Notification operation :  ทำงานตรงข้ามกับ One-way คือ ฝั่ง server จะส่งข้อมูลให้กับ Client ด้วย element output โดยไม่รอการตอบกลับ (มีเฉพาะส่วนของ element output)
Request/Response operation : สามารถทำงานโดยที่ Client ส่ง Request และรอการตอบรับ response กลับมา (ใช้ element input สำหรับการร้องขอ และ ใช้ output สำหรับการตอบกลับ)
Solicit/Response operation : ทำงานตรงข้ามกับRequest/Response operation  คือมีการส่งคำเชิญ (Solicit) ให้กับ Client แล้วรอการตอบกลับจาก Client (ใช้ element output สำหรับการส่งคำเชิญ และ ใช้ input สำหรับการตอบกลับจาก client)

•  สรุปโครงสร้างของ WSDL

<defintion>

<types>

กำหนดชนิดของ web service

</types>
<message>

กำหนด Message

</message>
<portType>

กำหนดการทำงาน (Operation)

</portType>
<binding>

กำหนดโปรโตคอลและรูปแบบของข้อมูล

</binding>
<service>

กำหนด Port ของ service

</service>

</defintion>

Leave a comment