Author Topic: ความหมายของ Web Service  (Read 5024 times)

BlackcatKaizer

  • Administrator
  • Hero Member
  • *****
  • Posts: 3,660
  • Karma: +1/-0
  • =- -=
    • MSN Messenger - blackcatkaizer@hotmail.com
    • View Profile
    • BoardDev
    • Email
ความหมายของ Web Service
« on: December 03, 2009, 10:21:55 PM »
เว็บเซอร์วิส (Web service) คือระบบซอฟต์แวร์ที่ออกแบบมา เพื่อสนับสนุนการแลกเปลี่ยนข้อมูลกัน ระหว่างเครื่องคอมพิวเตอร์ผ่านระบบเครือข่าย โดยที่ภาษาที่ใช้ในการติดต่อสื่อสารระหว่างเครื่องคอมพิวเตอร์ คือ XML

 เว็บเซอร์วิสมีอินเทอร์เฟส ที่ใช้อธิบายรูปแบบข้อมูลที่เครื่องคอมพิวเตอร์ประมวลผลได้ เช่น WSDL ระบบคอมพิวเตอร์ใช้งานสื่อสารโต้ตอบกับเว็บเซอร์วิสตามรูปแบบที่ได้กำหนดไว้แล้ว โดยการส่งสาสน์ตามอินเตอร์เฟสของเว็บเซอร์วิสนั้น โดยที่สาสน์ดังกล่าวอาจแนบไว้ในซอง SOAP หรือส่งตามอินเตอร์เฟสในแนวทางของ REST สาสน์เหล่านี้ปกติแล้วถูกส่งโดยอาศัย HTTP และใช้ XML ร่วมกับมาตรฐานเกี่ยวกับเว็บอื่นๆ โปรแกรมประยุกต์ที่เขียนโดยภาษาต่างๆ และทำงานบนแพลตฟอร์มต่างๆกันสามารถใช้เว็บเซอร์วิสเพื่อแลกเปลี่ยนข้อมูลผ่านทางเครือข่ายคอมพิวเตอร์ เช่น อินเทอร์เน็ต ในลักษณะเดียวกับการสื่อสารระหว่างโปรเซส (Inter-process communication) บนเครื่องเดียวกัน ความสามารถในการแลกเปลี่ยนข้อมูลระหว่างระบบที่ต่างกันนี้ (เช่น การแลกเปลี่ยนข้อมูลระหว่าง โปรแกรมที่เขียนโดยภาษาจาวา และโปรแกรมที่เขียนโดยภาษาไพทอน หรือการแลกเปลี่ยนข้อมูลระหว่างโปรแกรมประยุกต์ที่ทำงานบนไมโครซอฟท์วินโดวส์และโปรแกรมประยุกต์ที่ทำงานบนลินุกซ์) เกิดขึ้นได้เนื่องจากการใช้มาตรฐานเปิด โดย OASIS และ W3C เป็นคณะกรรมการหลักในการรับผิดชอบมาตรฐานและสถาปัตยกรรมของเว็บเซอร์วิส

Web Service คืออะไร

บทนำ

หากเรามองย้อนกลับไปซักไม่กี่ปีที่ผ่านมาใครจะไปคาดคิดว่าเว็บมันจะเติบโตและได้รับความนิยม สูงมากขนาดนี้ ทุกวันนี้หลายๆ คนคงขาดเว็บไม่ได้ เหตุผลที่เว็บประสบผลสำเหร็จก็คงเป็นเพราะเหตุผลเพียงไม่กี่อย่างคือ ความสะดวก และใช้งานง่าย ในฝั่งผู้ให้บริการ (ผ่านเว็บ) ก็จะมองว่าถ้ามีเว็บเซอร์เวอร์ ก็ขายสินค้าได้ทั่วโลก ในฝั่งผู้ใช้งาน ขอให้คุณเลื่อนเมาส์กับใช้ keyboard เป็น คุณก็ติดต่อ ค้นหา ซื้อของ ได้ทั่วโลก ในมุมมองของ Software เว็บก็ทำหน้าที่อยู่ 3 อย่างคือ GET POST และ ก็ PUT ในเรื่องของ Web Service ก็คือการใช้ Web ที่ไม่เพียงแค่เกี่ยวกับข้อมูลอย่างเดียว แต่หมายถึงการบริการด้วย

คำว่า Service ไม่ได้หมายถึงอะไรที่เด่นชัดอย่าง Promool.com Pantip.com แต่หมายถึงส่วนประกอบที่คนอื่นๆนำไปใช้ในการทำบริการที่กว้างกว่านี้ด้วย ตัวอย่างเช่น Microsoft Passport ที่ให้บริการตรวจสอบความเป็นตัวตนจริง (Authentication) ผ่านเว็บ ทำให้การบริการข่าวของ Bangkok Post ไม่ต้องตรวจสอบการเข้าสู่ระบบเอง แต่ยกให้ Passport เป็นตัวจัดการแทน หรืออย่าง Dynamic services whitepaper ของ Oracle ก็มีส่วนที่ให้บริการ แปลงค่าเงิน แปลภาษา การส่งของ กระบวนการเคลมสินค้า เป็นต้น ส่วนความหมายอย่างเป็นทางการของ Web Service ก็คงเป็นของ IBM ที่กล่าวว่า

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

หลายคนอาจจะถามว่าทำไมต้องเป็น Web เพราะเรามี Middle Ware อื่นๆมากมายเช่น RMI Jini CORBA DCOM ฯลฯ แม้ Middle Ware เหล่านี้จะสามารถรองรับได้ แต่ไม่มีตัวใดตัวหนึ่งที่เด่นจริง แต่ในเมื่อ Web มีจุดเด่นในเรื่องของการให้บริการข้อมูลที่สะดวก ใช้งานง่าย จึงกลายเป็นตัวประสาน Middle Ware ต่างๆ เข้าด้วยกันซึ่งจะให้คุยกันเองคงยากยิ่ง Web ทำหน้าที่เป็นตัวกลางให้ Middle Ware เหล่านี้สามารถคุยกันได้ และมีประสิทธิภาพกว่าวิธีการเดิมๆ มาก

หากเรามองจากกรณีของ n-tier application จะพบว่า web service คือกลไกในการเข้าถึงบริการที่แต่ละ Middle Ware ให้บริการ การเข้าถึงจะอาศัย Listener และส่วนประกอบที่ระบุถึงบริการต่างๆ ที่รองรับการทำงาน โดยการทำงานจริงๆ นั้นก็ใช้วิธีการปกติของ Middle Ware นั้นๆ

พื้นฐานของ Web Service

พื้นฐานของ Web Service ก็คือ XML กับ HTTP ซึ่งจะพบว่า HTTP ก็เป็นที่รู้จักกันดี และไปได้ทั่วทุกแห่งที่มี interner ส่วน XML คือภาษาสากลที่คุณสามารถปรับแต่งได้ตามใจชอบ เพื่อให้เกิดกิจกรรมระว่าง client และบริการ หรือระหว่างส่วนประกอบต่างๆ เบื้องหลัง Web server ก็คือ ข้อความ XML จะถูกแปลงให้การขอบริการจาก Middle ware และผลที่ได้ก็จะแปลงกลับมาในรูป XML

ยกตัวอย่างให้เห็นง่ายๆ คุณต้องการให้เครื่อง PC อ่านค่าจาก serial port แล้วส่งไปประมวลผลบนเครื่อง UNIX แล้วส่งผลกลับมาแสดงบนจอ PC ถ้าเป็นเมื่อก่อน คุณก็คงต้องแปลงข้อมูลที่ได้ให้อยู่ในรูปของ ASCII แล้วส่งไปยัง UNIX พร้อมคำสั่งว่าให้ทำอะไร ในฝั่ง UNIX คุณก็ต้องมาแยกว่าอันไหนคือคำสั่ง อันไหนคือข้อมูล เมื่อประมวลผลแล้ว จะส่งกลับมาในรูปแบบไหน แล้วถ้าหากจะส่งไปหาเครื่องที่เป็น MAC ท่านจะต้องเขียนโปรแกรมเพิ่มในส่วนไหนบ้าง จะพบว่าเราต้องพัฒนากันเป็นคู่ๆ ไป และต้องนิยามในแต่ละฝั่งให้ชัดเจน แต่หากเป็น Web Service คุณจะพบว่า เราแปลงข้อมูลให้อยู่ในรูป XML แต่ละคุณก็ต้องการรู้แค่ มาตรฐาน XML ก็พอ แล้วต่างคนต่างก็เขียน Service ของตัวเอง ไม่ต้องกังวลเรื่องของการเชื่อมโยงอีกต่อไป และ Protocol ที่ส่งก็คือ HTTP นั่นเอง ถ้าท่านเชื่อมโยงกับ HTTP (หรือเว็บ) ได้ ท่านก็ใช้บริการทุกอย่างได

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

ระบบเพิ่มเติมที่ต้องมีและต้องรักษาความสะดวกและใช้งานง่ายไว้ด้วย พื้นฐานของ Web Service เต็มรูปแบบคือ XML + HTTP + SOAP + WSDL + UDDI หรือในระดับสูงกว่านั้น แต่ไม่ได้ถือเป็นสิ่งจำเป็นเสมอไปคือต้องเพิ่มเทคโนโลยี XAML, XLANG, XKMS, XFS เป็นต้น

ต่อไปนี้คือรายละเอียดคร่าวๆ ของแต่ละส่วน แต่ควรตระหนักว่าแต่ละส่วนอาจจะยังเป็นเทคโนโลยี ที่กำลังอยู่ระหว่างพัฒนา ดังนั้นในแต่ละปัญหาอาจจะแก้ได้หลายวิธีด้วยกัน

SOAP (Remote Invocation) สั่งงานจากระยะไกล

UDDI บริการ Directory

WSDL ระบุคุณสมบัติของแต่ละบริการ

XLANG/XAML กรณีของการเชื่อมโยงที่ซับซ้อน หลายๆ เว็บ

XKMS (XML Key Management Specification) ระหว่างการพัฒนา (Microsoft + Verisign)





ข้อมูลส่วนนึงจาก: ThaiXML.com
-------------งานเข้า--------------

BlackcatKaizer

  • Administrator
  • Hero Member
  • *****
  • Posts: 3,660
  • Karma: +1/-0
  • =- -=
    • MSN Messenger - blackcatkaizer@hotmail.com
    • View Profile
    • BoardDev
    • Email
Re: ความหมายของ Web Service
« Reply #1 on: December 03, 2009, 10:58:00 PM »
ข้อกำหนดซอฟต์แวร์และมาตรฐานอื่นที่เชื่อมโยงกัน

SOAP
เว็บเซอร์วิสเป็นลักษณะในรูปแบบของการออกแบบโมเดลสื่อสาร ในลักษณะของการกระจาย,การติดต่อสื่อสารที่เป็นตัวกลาง โดยโพรโทคอลที่ใช้ในการสื่อสารคือ SOAP (Simple Object Access Protocol) เป็นโพรโทคอลในการติดต่อแลกเปลี่ยนข้อมูลระหว่างกันเป็นโพรโทคอลการสื่อสารในระดับ Application Layer หรือในระดับ แอปพลิเคชันโดยอาศัยผ่านอินเทอร์เน็ตโพรโทคอล อย่างเช่น HTTP, SMTP โพรโทคอลพัฒนารากฐานมาจาก XML โดยมาตรฐานของ SOAP ปัจจุบันอยู่เวอร์ชัน 1.2 เอกสารสามารถดูได้ที่ W3C

UDDI (Universal Description, Discovery and Integration)
เป็นเหมือนตัวไดเรกทอรี่ที่เก็บหรือลงทะเบียนเว็บเซอร์วิส UDDI หรือ Universal Description,Discovery and Integration (UDDI) เป็นข้อกำหนดอันเกี่ยวกับระบบบริการลงทะเบียน (registry service) สำหรับเว็บเซอร์วิส และสำหรับบริการอื่นๆ ทั้งที่ไม่ใช่แบบอิเล็กทรอนิกส์และแบบอิเล็กทรอนิกส์ ตัว บริการลงทะเบียน UDDI คือเวบเซอร์วิสซึ่งจัดการข้อมูลเกี่ยวกับผู้ให้บริการด้านต่างๆ หรือแม้แต่กระทั่งให้บริการข้อมูล บรรดาผู้ให้บริการสามารถใช้ UDDI ในการประกาศว่า บริการใดๆบ้างที่ให้บริการ และลูกค้าสามารถใช้บริการของ UDDI ในการค้นหาบริการที่ตนต้องการได้ตรงตามความต้องการของตนได้
ข้อกำหนด UDDI ได้มีการนิยามตามนี้
  • SOAP API (Simple Object Access Protocol) Application Programming Interface) ซึ่งตัวแอปพลิเคชันจะใช้ในการสอบถามและประกาศข้อมูลไปยังระบบลงทะเบียน UDDI
  • XML Schema คือโครงสร้างรูปแบบของระบบลงทะเบียนและ รูปแบบของข้อความ SOAP (SOAP Message format)
  • WSDL คือข้อกำหนดของ SOAP APIs
  • ข้อกำหนด UDDI รีจิสทรี (รูปแบบทางเทคนิค t-models) ของข้อกำหนดหลายๆ อย่างและหมวดหมู่ของระบบซึ่งอาจใช้ในการกำหนดและจัดแบ่งหมวดหมู่การลงทะเบียน UDDI
WSDL
ย่อมาจาก Web Services Description Language เป็นภาษาที่อธิบายเว็บเซอร์วิส ซึ่งทำให้ผู้เรียกใช้เว็บเซอร์วิสหรือโปรแกรมที่ต้องการเรียกใช้เว็บเซอร์วิสทราบว่ามีโอเปอเรชั่นอะไรให้บริการ และในแต่ละโอเปอเรชั่นจะต้องส่งข้อมูลอะไรไปและจะได้รับข้อมูลแบบใดกลับมา ตลอดจนทราบอินเทอร์เน็ตโพรโทคอลที่จะต้องใช้ในการติดต่อเว็บเซอร์วิสและที่อยู่ของเว็บเซอร์วิส
XLANG
สนับสนุนการติดตามข้อมูล (transaction) เหมาะสำหรับการสื่อสารที่สามารถติดตามข้อมูลใน web ขนาดใหญ่ รวมไปถึง การสื่อสารคล้ายๆ ลักษณะชุมทางหรือ webservice หลายๆ เวบเซอร์วิส
XKMS (XML Key Management Specification)
เป็นการทำงานที่เกิดจากความร่วมมือของ Microsoft และ Verisign ซึ่งสำหรับการตรวจสอบสิทธิและการลงทะเบียน
-------------งานเข้า--------------