วันพุธที่ 6 เมษายน พ.ศ. 2559

Web Services คืออะไร?

Web Services คืออะไร มาดูกันเลย...

         
Application หรือ program ที่ทำงานอย่างใดอย่างหนึ่ง ในลักษณะให้บริการ โดยจะถูกเรียกใช้งานจาก application อื่นๆ ในรูปแบบ RPC (Remote Procedure Call) ซึ่งการให้บริการจะมีเอกสารที่อธิบายคุณสมบัติของบริการกำกับไว้ โดยภาษาที่ถูกใช้เป็นสื่อในการแลกเปลี่ยนคือ XML ทำให้เราสามารถเรียกใช้ component ใด ๆ ก็ได้ ใน platform ใด ๆ ก็ได้ บน protocol HTTP ซึ่งเป็น protocol สำหรับ World Wide Web อันเป็นช่องทางที่ได้รับการยอมรับทั่วโลกในการติดต่อสื่อสารกันระหว่าง application กับapplication ในปัจจุบัน

          Web Service ช่วยให้การเข้าถึงข้อมูลสารสนเทศจากแอพพลิเคชันที่ต่างกันเป็นไปโดยง่าย โดยแอพพลิเคชันนั้นๆ สามารถเขียนด้วย Java และรันอยู่บน Sun Solaris Application Server หรืออาจจะเขียนด้วย C++ และรันอยู่บน Windows NT หรืออาจะเขียนด้วย Perl และรันอยู่บนเครื่อง Linux ซึ่งมาตรฐานของ Web Service ทำให้อินเทอร์เฟซของแอพพลิเคชันเหล่านี้ ถูกอธิบายโดย WSDL และทำให้อยู่ในมาตรฐานของ UDDI หลังจากนั้น จึงสามารถติดต่อสื่อสารถึงกันโดย XML ผ่าน SOAP อินเตอร์เฟซ

          Web Service สามารถถูกเรียกใช้ภายในองค์กรเองหรือจากภายนอกองค์กร โดยผ่านไฟร์วอล์ ดังนั้นจึงมีองค์กรใหญ่ๆ มากมาย กำลังพัฒนาระบบที่มีอยู่ของตน ให้เข้ากับ Web Service ซึ่งนับเป็นการลงทุนที่คุ้มค่า เนื่องจาก Web Service สามารถเพิ่มศักยภาพในการทำงานขององค์กร อีกทั้งลดค่าใช้จ่ายในการจัดการทรัพยากรขององค์กรได้อีกทางหนึ่ง

          นอกจากนั้น Web Service ยังสามารถใช้ร่วมกับ Web Application โดยส่งผ่านข้อมูลทางอินเตอร์เน็ตได้อีกด้วยซึ่งนับเป็นวิธีที่มีประสิทธิภาพ ในการติดต่อสื่อสารกับลูกค้าหรือหุ้นส่วน ถึงแม้จะต้องคำนึงถึงระบบรักษาความปลอดภัย และการจัดการรายการของข้อมูลอยู่ก็ตาม แต่ Web Service ได้ใช้มาตรฐานทั่วไปของ internet เรื่องดังกล่าวจึงนับเป็นเรื่องธรรมดาของการสื่อสารผ่านระบบอิเล็กทรอนิกส์

                           
     Requestor คือ 


ใครก็ตามที่ต้องการเรียกใช้บริการจาก Provider ซึ่งสามารถค้นหาบริการที่ต้องการได้จาก UDDI registry หรือ Service Registry หรือติดต่อจาก Provider โดยตรง
    Registry คือ
ทำหน้าที่เป็นตัวกลางให้ Provider มาลงทะเบียนไว้ โดยใช้ WSDL ไฟล์ บอกรายละเอียดของบริษัทและบริการที่มีให้ ซึ่งอาจจะใช้หรือไม่ใช้ก็ได้
    Provider คือ
    เป็นผู้ให้บริการ มีหน้าที่ในการเปิดบริการเพื่อรองรับการขอใช้บริการจาก Requestor ที่เรียกเข้ามาขอใช้

    หน้าที่และการทำงานของแต่ละ entity


จากโครงสร้างของเว็บเซอร์วิส จะพบว่าเว็บเซอร์วิสประกอบด้วย event ต่าง ๆ ดังนี้
    * Create Service - โดยบริการ (service) จะถูกสร้างขึ้นจากเครื่องมือและภาษาที่เหมาะสมสำหรับเว็บเซอร์วิส เช่น C++ VB Java Perl PHP Python เป็นต้น
    * Publish - หลังจากบริการถูกสร้างขึ้น จะถูก publish ไว้ใน UDDI registry โดย Service Container ซึ่งภายใน registry จะประกอบไปด้วยข้อมูลเกี่ยวกับ บริการ และผู้สร้างบริการนั้น ๆ โดยจะจำแนกตามประเภทของธุรกิจ ซึ่งช่วยให้ผู้ขอบริการ (Service Requestor) สามารถค้นหาบริการได้อย่างง่ายดาย ตัวอย่างเช่น โบรกเกอร์หุ้นสามารถ publish บริการการค้าหุ้น ไว้ในประเภทธุรกิจการเงิน โดยใช้ IBM UDDI registry และจะต้อง publish บริการในรูปของไฟล์ WSDL (Web Service Description Language) ซึ่งเก็บข้อมูลทั้งหมดเกี่ยวกับบริการและโบรกเกอร์ไว้
* Search - ผู้ขอบริการ (Service Requestor) สามารถค้นหาบริการใน registry ผ่านทางอินเทอร์เฟสของผู้ให้บริการ (Service Provider)
    * Reference - หลังจากผู้ขอบริการค้นหาบริการที่ต้องการ จะได้ผลการค้นหาเป็นรายการของบริการ ซึ่งประกอบด้วย reference และ specification ของบริการต่าง ๆ ซึ่งผู้ขอบริการสามารถเลือกได้ว่า
บริการใดที่ตรงกับความต้องการของตนเองมากที่สุด
    * Bind - ผู้ขอบริการสามารถใช้ reference ที่เลือกไว้ เพื่อโยงไปยังบริการที่ต้องการ
    * Invoke - บริการจะถูกเรียกใช้ผ่านทาง reference โดยใช้เทคโนโลยีมาตรฐานต่าง ๆ เช่น การเรียกบริการโดย SOAP ในรูปของเอกสาร XML ผ่านทาง HTTP protocol 


      ความหมายของ Web Services
 
           Web Services (WS) คือแอพลิเคชั่นหรือโปรแกรมที่ทำงานอย่างใดอย่างหนึ่งในลักษณะให้บริการ โดยจะถูกเรียกใช้งานแอพลิเคชั่นจากโปรแกรมอื่น ๆ (php, asp, java, python) ผ่านทางหน้าเว็บ การให้บริการของ WS จะมีเอกสารที่อธิบายคุณสมบัติของการบริการกำกับไว้ และมีการนำเสนอให้สาธารณะชนรับทราบ ผู้ใช้จึงสามารถค้นหา WS ได้โดยไม่จำเป็นต้องรู้ที่อยู่จริงของแอพลิเคชั่นหรือโปรแกรมนั้นๆ


Web Services Technology
Web Service = SOAP+WSDL+UDDI

                  

SOAP (Simple Object Access Protocol) เป็นโปรโตคอลที่เรียกใช้ในการเรียกใช้งาน Component ข้ามเครื่อง ข้ามแพลตฟอร์ม ข้ามภาษา (Component ที่สร้างด้วยภาษาใดๆ (asp.net, c#, php, perl, java, python, delphi)สามารถคุยกันรู้เรื่อง) โปรโตคอลนี้ทำงานร่วมกับโปรโตคอล HTTP และรูปแบบข้อความที่สื่อสารกันด้วยภาษา XML

WSDL (Web Service Description Language) เป็นภาษาที่ใช้อธิบายคุณลักษณะของ Web Services และวิธีการติดต่อกับ Web Services เป็นภาษาที่อยู่ในความดูแลของ W3C (World Wide Web Consortium) สามารถอ่านเนื้อหาเพิ่มเติมได้ที่ http://www.w3.org/TR/wsdl

UDDI (Universal Description, Discovery and Integration) เป็นที่เก็บรวบรวม Web Services ต่างๆ ในอินเทอร์เน็ต ไว้ในแหล่งเดียวกันเพื่อให้ผู้ใช้บริการสามารถค้นหาได้ง่ายๆ หากเปรียบเทียบง่ายๆ ให้มองเสมือนสมุดหน้าเหลืองที่เราใช้ในการเปิดดูเบอร์โทรศัพท์
- ผู้เริ่มก่อตั้ง UDDI ในช่วงแรกคือ IBM และ Microsoft และ Ariba ซึ่งเป็นบริษัทที่ทำธุรกิจ B2B ปัจจุบันมีบริษัทที่มีส่วนร่วมในการกำหนดมาตฐานของ UDDI มากกว่า 70 บริษัท
- UDDI ถูกสร้างขึ้นมาเพื่อเป็นมาตรฐานในการค้นหาบริการของ WS สำหรับคู่ค้าทางธุรกิจ (ฺBusiness Partner)
- UDDI Business Registry เป็นฐานข้อมูล WS ของบริษัทคู่ค้าทางธุรกิจ
- ในปัจจุบันบางบริษัทก็ตั้งตัวเองเป็นตัวแทนผู้ให้บริการ (Service brokers)
- สามารถศึกษาข้อมูลเกี่ยวกับ UDDI ได้ที่ http://uddi.org หรือดาวน์โหลดสไลด์ UDDI อ่านเพิ่มเติมได้ที่ http://www.uddi.org/pubs/UDDI_Overview_Presentation.ppt

1 ความคิดเห็น:

  1. ผู้ขอใช้บริการจะทำอย่างไรหลังจากได้รับผลลัพธ์จาก SOAP Message?
    เข้าถึง Telkom University Jakarta

    ตอบลบ