บริการบนเน็ตด้วย SOA (4/4)
หรือ Web Service Description Language เป็นเอกสาร XML ซึ่งทำหน้าที่อธิบายคุณสมบัติของ web service เช่น วิธีการเรียกใช้ web service, รายละเอียดของ web service เป็นต้น
เนื่องจาก WSDL มีรายละเอียดปลีกย่อยค่อนข้างมาก เราจะมาดูตัวอย่างเฉพาะในส่วนที่สำคัญเพื่อความเข้าใจ
ในเอกสาร WSDL จะเรียก web services ว่า port ในขณะที่ฟังก์ชั่นการทำงานของ web services จะเรียกว่า operation และข้อมูลจะเรียกว่า message
กลุ่มของ operations ที่เกี่ยวข้องกันจะเรียกว่า port type โดย port type หนึ่งๆ จะเป็นการรวมกลุ่มของ operations ที่มีความเกี่ยวข้อง กัน จากนั้น WSDL จะมีการผูก (bind) port ให้เข้ากับ network address ของแต่ละ port
เมื่อ client ได้เอกสาร WSDL และได้รับ network address ของแต่ละ port แล้ว มันก็สามารถเรียกใช้ operation ของ
Web Service นั้นๆ ได้ตามโปรโตคอล และ message format ที่ถูกระบุไว้
เราจะมาดูตัวอย่างบางส่วนของเอกสาร WSDL สำหรับบริการค้นหาหนังสือทางออนไลน์ ในตัวอย่างนี้ เอกสาร WSDL กำหนดรายละเอียดของ operation ที่ชื่อ getBooks
สำหรับ input ของ operation นี้ คือ BookSearchInput จะมีสตริงชื่อ isbn
ในส่วนของ output คือ BookSearchOutput จะมีการ return ค่าเป็นสตริงที่ชื่อว่า title
สังเกตว่าเอกสาร WSDL จะบอกรายละเอียดของการ bind โปรโตคอล SOAP ด้วย และค่าของ style ในการ binding จะบอกด้วยว่าผู้รับควรจะตีความข้อมูลภายใน SOAP Message เป็นการเรียกแบบ RPC
transport=”transport=http://schemas.xmlsoap.org/soap/http” style=”rpc”/>
นอกจากในตัวอย่างนี้แล้ว style อาจจะมีค่าเป็น “document” ซึ่งจะหมายความว่าการเรียกครั้งนี้จะเป็นการแลกเปลี่ยนเอกสาร XML ซึ่งวิธีนี้จะเป็นวิธีที่แพร่หลายมากกว่า เพราะวิธีนี้เราสามารถ validate เอกสาร XML ได้สะดวกกว่า
UDDI และ ebXML
เนื่องจากใน SOA เราจะต้องมีการค้นหา service ที่เราต้องการใช้ ซึ่งวิธีที่เราใช้กัน คือ หา service ที่ต้อง การจาก Directory หรือ Registry โดยที่ตัว Directory จะมีการเก็บรายละเอียดของ web service, วิธีการเรียกใช้ ต่างๆ
สำหรับตัว Directory นี้ มีการกำหนดมาตรฐานออกมาเรียกว่า Universal Description, Discovery, and Integration (UDDI) specifications ซึ่งเป็นเสปกที่กำหนดวิธีการประกาศ (publish) และการค้นพบ (discover) ข้อมูลจาก UDDI registry
UDDI registry นี้ เทียบไปแล้วก็เหมือนกับสมุดโทรศัพท์หน้าเหลืองของ web services คือ ทำหน้าที่ให้ข้อมูลเกี่ยวกับ service เช่น ชื่อของ service, คำอธิบายสั้นๆ เกี่ยวกับตัว service, ที่อยู่ของ web service, รายละเอียดวิธีการเรียก service ซึ่งจะใช้ WSDL ในการเก็บข้อมูลการ interface กับ web service
ตัวอย่างต่อไปนี้เป็นส่วนของ businessEntity ของบริษัทที่ชื่อ BooksToGo บริษัทนี้มีการให้บริการ web services หลายๆ อย่าง รวมทั้งบริการสั่งหนังสือทางออนไลน์
authorizedName="0100002CAL"
operator="www- 3.ibm.com/services/uddi">
BooksToGo
The source for all professional books
Benjamin Boss
(877)1111111
ต่อไปนี้จะเป็นตัวอย่างของ message ที่ใช้ค้นหา business entities ทั้งหมดภายใน registry ที่มีชื่อขึ้นต้นด้วย “Books”
Books%
นอกจาก registry ตามเสปกของ UDDI แล้วก็ยังมี registry ตามเสปกอื่นๆ ด้วย เช่น ebXML ซึ่งเป็น framework ที่ ค่อนข้างสมบูรณ์สำหรับระบบงานแบบ business-to-business ซึ่งประกอบไปด้วย registry และข้อมูลที่จำเป็นสำหรับการประสานระบบงานทางธุรกิจระหว่างองค์กรบนอินเตอร์เน็ต ตัว framework นี้ถูกพัฒนาขึ้นจาก ความร่วมมือของ Organization for the Advancement of Structured Information Standards (OASIS) และ United Nations Centre for Trade Facilitation and Electronic Business (UN/CEFACT) และตัวแทนจากภาคธุรกิจ และองค์กรอื่นๆ รวมทั้งสำนักมาตรฐานนานาชาติ
มาตรฐานอื่นๆ
มาตรฐานเช่น XML, SOAP, UDDI และ WSDL เป็นแกนกลางที่ทำให้ service ต่างๆ ทำงานร่วมกันได้ มาตรฐานเหล่านี้ทำให้ client สามารถค้นพบ service ที่ต้องการใช้งาน และสร้างคำขอเรียกใช้บริการที่เป็นที่เข้าใจจากทั้งฝั่ง client และฝั่ง service ได้ โดยไม่ยึดติดกับ platform หรือระบบปฏิบัติการณ์
แต่ก่อนที่ web service จะสามารถรองรับธุรกิจได้อย่างสมบูรณ์นั้น จำเป็นจะต้องมีความสามารถอย่างอื่นเพิ่มเติมเข้ามา ซึ่งก็ได้มีการกำหนดมาตรฐานเพิ่มเติมขึ้น โดยเฉพาะในเรื่องเกี่ยวกับระบบความปลอดภัย (security) และการจัดการ (management) web service สำนักมาตรฐานหลายๆ แห่งเช่น World Wide Web Consortium (W3C) และ OASIS ได้เริ่มประกาศ ร่างของมาตรฐานในเรื่องเหล่านี้ ซึ่งก็เริ่มที่จะได้รับการยอมรับมากขึ้นเรื่อยๆ มาตรฐานที่กำลังเริ่มเป็นที่รู้จัก ได้แก่ WS-Security และ WS-BPEL
WS-Security
เป็นมาตรฐาน ที่ประกาศโดย OASIS ในปี 2004 ซึ่งมีการพัฒนา SOAP ให้สามารถตรวจสอบได้ว่าตัว SOAP Message ถูกเปลี่ยนแปลงแก้ไขในระหว่างที่ตัว Message เดินทางจากฝั่ง client ไปยังปลายทางหรือไม่ และยัง สามารถป้องกันไม่ให้ข้อมูลถูกลอบอ่านโดยผู้อื่นที่ไม่ใช่ผู้รับได้ด้วย
WS-Security นี้มีความยืดหยุ่นมาก สามารถใช้งานร่วมกับระบบความปลอดภัย และเทคโนโลยีการเข้ารหัสข้อมูลได้หลากหลาย เช่น Public-key infrastructure (PKI) และ Kerboros, Secure Socket Layer (SSL)/ Transport Layer Security (TLS)
WS-BPEL
กระบวนการทางธุรกิจ มักจะมีขั้นตอนการทำ งานหลายๆ ขั้นตอน และจะต้องเป็นไปตามลำดับที่เหมาะสม เป็นการทำงานร่วมกันของกลุ่มของ services โดยมีการเรียบเรียง (Orchestration) ขั้นตอนการทำงานให้เหมาะสม เพื่อรองรับงานในลักษณะนี้มาตรฐาน WS- BPEL (Web Services Business Process Execution Language) หรือในชื่ออื่นๆ เช่น BPELWS, BPEL4WS, BPEL จึงได้ถือกำเนิดขึ้น ตัว WS-BPEL มีการใช้ WSDL ในการอธิบายกระบวนงาน ของกลุ่ม web services ที่เกี่ยวข้องLast Updated ( Sunday, 02 July 2006 20:16 )







