กลับไปหน้าบทความ

อ่าน 5 นาที

บริการเว็บ

ในบริการเว็บ เทคโนโลยีเว็บ เช่นHTTPถูกใช้สำหรับการถ่ายโอนไฟล์รูปแบบที่เครื่องอ่านได้ เช่นXMLและ JSON

บริการเว็บ

เว็บเซอร์วิส( WS )คือ:

  • บริการที่อุปกรณ์อิเล็กทรอนิกส์เครื่องหนึ่งให้บริการแก่อุปกรณ์อิเล็กทรอนิกส์อีกเครื่องหนึ่ง โดยสื่อสารกันผ่านทางอินเทอร์เน็ตหรือ
  • เซิร์ฟเวอร์ที่ทำงานอยู่บนอุปกรณ์คอมพิวเตอร์ คอยรับคำขอที่พอร์ตเฉพาะผ่านเครือข่าย และให้บริการเอกสารบนเว็บ ( HTML , JSON , XML , รูปภาพ)

ในบริการเว็บ เทคโนโลยีเว็บ เช่นHTTPถูกใช้สำหรับการถ่ายโอนไฟล์รูปแบบที่เครื่องอ่านได้ เช่นXMLและ JSON

ในทางปฏิบัติ บริการเว็บโดยทั่วไปจะให้ บริการอินเทอร์เฟซบนเว็บ แบบเชิงวัตถุแก่เซิร์ฟเวอร์ฐานข้อมูล ซึ่งอาจถูกนำไปใช้โดยเซิร์ฟเวอร์เว็บอื่น หรือแอปพลิเคชันบนมือถือที่ให้บริการอินเทอร์เฟซแก่ผู้ใช้ปลายทาง องค์กรหลายแห่งที่ให้ข้อมูลในรูปแบบ HTML จะให้ข้อมูลนั้นบนเซิร์ฟเวอร์ของตนในรูปแบบ XML หรือ JSON ด้วยเช่นกัน โดยมักจะผ่านบริการเว็บเพื่ออนุญาตให้มีการเผยแพร่ข้อมูล แอปพลิเค ชันอีกอย่างหนึ่งที่นำเสนอแก่ผู้ใช้ปลายทางอาจเป็นแอป พลิเคชันแบบผสมผสาน (mashup ) ซึ่งเซิร์ฟเวอร์เว็บจะเรียกใช้บริการเว็บหลายๆ บริการจากเครื่องต่างๆ และรวบรวมเนื้อหาเหล่านั้นเข้าไว้ในอินเทอร์เฟซผู้ใช้เดียว

บริการเว็บ (ทั่วไป)

JavaScript และ XML แบบอะซิงโครนัส

AJAX (Asynchronous JavaScript and XML) เป็นเทคโนโลยีหลักสำหรับบริการบนเว็บ พัฒนามาจากส่วนประกอบของเซิร์ฟเวอร์ HTTP ไคลเอนต์ JavaScript และXML แบบดั้งเดิม (ซึ่งแตกต่างจากSOAPและ W3C Web Services) ปัจจุบันมีการใช้งานร่วมกับJSONหรือใช้แทน XML บ่อยครั้ง

พักผ่อน

Representational State Transfer (REST) ​​คือสถาปัตยกรรมสำหรับบริการเว็บที่มีประสิทธิภาพและสามารถทำงานได้ในระดับอินเทอร์เน็ต

ในเอกสารปี 2004 W3C ได้กำหนดให้ REST เป็นคุณลักษณะสำคัญที่แตกต่างของเว็บเซอร์วิส ดังนี้:

เราสามารถจำแนกบริการเว็บออกเป็นสองประเภทหลักๆ ดังนี้:

— W3C, สถาปัตยกรรมบริการเว็บ[ 1 ]

มีบริการบนเว็บจำนวนมากที่ใช้ภาษามาร์กอัป:

เว็บ API

Web APIเป็นการพัฒนาในบริการเว็บที่เน้นการเปลี่ยนไปใช้ การสื่อสารแบบ Representational State Transfer (REST) ​​ที่ง่ายกว่า [ 2 ] Restful API ไม่จำเป็นต้องใช้โปรโตคอลบริการเว็บแบบ XML ( SOAPและ WSDL) เพื่อรองรับอินเทอร์เฟซ

บริการเว็บ W3C

ในส่วนที่เกี่ยวข้องกับบริการเว็บของ W3C นั้นW3Cได้ให้คำจำกัดความของบริการเว็บไว้ดังนี้:

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

— W3C, คำศัพท์บริการเว็บ[ 3 ]

บริการเว็บของ W3C อาจใช้โปรโตคอล SOAP ผ่าน HTTP ซึ่งช่วยให้การโต้ตอบผ่านอินเทอร์เน็ตมีต้นทุนต่ำกว่า (มีประสิทธิภาพมากกว่า) เมื่อเทียบกับโซลูชันที่เป็นกรรมสิทธิ์ เช่น EDI/B2B นอกจาก SOAP ผ่าน HTTP แล้ว บริการเว็บยังสามารถนำไปใช้กับกลไกการขนส่งที่เชื่อถือได้อื่นๆ เช่นFTP ได้อีกด้วย ในเอกสารปี 2002 กลุ่มทำงานด้านสถาปัตยกรรมบริการเว็บได้กำหนดสถาปัตยกรรมบริการเว็บ โดยกำหนดให้มีการใช้งาน "บริการเว็บ" ที่เป็นมาตรฐาน

คำอธิบาย

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

คำว่า "บริการเว็บ" หมายถึงวิธีการมาตรฐานในการบูรณาการแอปพลิเคชันบนเว็บโดยใช้ มาตรฐานเปิด XML , SOAP, WSDL และ UDDI ผ่าน โครงสร้างพื้นฐาน ของโปรโตคอลอินเทอร์เน็ต XML คือรูปแบบข้อมูลที่ใช้ในการจัดเก็บข้อมูลและให้เมตาเดตาโดยรอบ SOAP ใช้สำหรับการถ่ายโอนข้อมูล WSDL ใช้สำหรับอธิบายบริการที่มีอยู่ และ UDDI แสดงรายการบริการที่มีอยู่

เว็บเซอร์วิสคือวิธีการสื่อสารระหว่างอุปกรณ์อิเล็กทรอนิกส์สองเครื่องผ่านเครือข่าย เป็นฟังก์ชันซอฟต์แวร์ที่ให้บริการ ณที่อยู่เครือข่ายบนเว็บ โดยบริการ จะเปิดใช้งาน ตลอดเวลาตามแนวคิดของยูทิลิตี้คอมพิวติ้ง

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

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

จำเป็นต้องกำหนดกฎเกณฑ์สำหรับการสื่อสารกับระบบต่างๆ เช่น:

  • วิธีการที่ระบบหนึ่งสามารถร้องขอข้อมูลจากอีกระบบหนึ่งได้
  • พารามิเตอร์เฉพาะใดบ้างที่จำเป็นต้องใช้ในคำขอข้อมูล
  • โครงสร้างของข้อมูลที่สร้างขึ้นจะเป็นอย่างไร (โดยปกติแล้ว การแลกเปลี่ยนข้อมูลจะทำผ่านไฟล์ XML และโครงสร้างของไฟล์ XML จะถูกตรวจสอบความถูกต้องโดยเทียบกับไฟล์ .xsd)
  • ควรแสดงข้อความแสดงข้อผิดพลาดอะไรบ้างเมื่อไม่ปฏิบัติตามกฎการสื่อสารบางอย่าง เพื่อให้การแก้ไขปัญหาทำได้ง่ายขึ้น

กฎเกณฑ์การสื่อสารทั้งหมดนี้ถูกกำหนดไว้ในไฟล์ที่เรียกว่าWSDL (Web Services Description Language) ซึ่งมี.wsdlนามสกุล .pdf (ข้อเสนอสำหรับบริการเว็บแบบอิสระ ( AWS ) มุ่งพัฒนาบริการเว็บที่มีความยืดหยุ่นมากขึ้นซึ่งไม่ขึ้นอยู่กับกฎเกณฑ์ที่เข้มงวด[ a ] )

ไดเร็กทอรีที่เรียกว่าUDDI (Universal Description, Discovery, and Integration) กำหนดว่าควรติดต่อระบบซอฟต์แวร์ใดสำหรับข้อมูลประเภทใด ดังนั้นเมื่อระบบซอฟต์แวร์หนึ่งต้องการรายงาน/ข้อมูลเฉพาะอย่างใดอย่างหนึ่ง ระบบนั้นจะไปที่ UDDI และค้นหาว่าระบบอื่นใดบ้างที่สามารถติดต่อเพื่อรับข้อมูลนั้นได้ เมื่อระบบซอฟต์แวร์ค้นพบระบบอื่นที่ควรติดต่อแล้ว ระบบนั้นจะติดต่อระบบนั้นโดยใช้โปรโตคอลพิเศษที่เรียกว่าSOAP (Simple Object Access Protocol) ระบบผู้ให้บริการจะตรวจสอบความถูกต้องของคำขอข้อมูลก่อนโดยอ้างอิงจากไฟล์ WSDL จากนั้นจึงประมวลผลคำขอและส่งข้อมูลภายใต้โปรโตคอล SOAP

วิธีการออกแบบอัตโนมัติ

บริการเว็บในสถาปัตยกรรมเชิงบริการ

เครื่องมืออัตโนมัติสามารถช่วยในการสร้างเว็บเซอร์วิสได้ สำหรับเซอร์วิสที่ใช้ WSDL นั้น สามารถสร้าง WSDL โดยอัตโนมัติสำหรับคลาสที่มีอยู่แล้ว (โมเดลแบบจากล่างขึ้นบน) หรือสร้างโครงร่างคลาสจาก WSDL ที่มีอยู่แล้ว (โมเดลแบบจากบนลงล่าง) ก็ได้

  • นักพัฒนาที่ใช้โมเดลแบบ bottom-up จะเขียนคลาสการใช้งานก่อน (ในภาษาโปรแกรมบางภาษา) จากนั้นใช้เครื่องมือสร้าง WSDL เพื่อเปิดเผยเมธอดจากคลาสเหล่านี้เป็นบริการเว็บ วิธีนี้พัฒนาง่ายกว่า แต่การบำรุงรักษาอาจยากกว่าหากคลาสต้นฉบับมีการเปลี่ยนแปลงบ่อยครั้ง[ 5 ]
  • นักพัฒนาที่ใช้โมเดลแบบบนลงล่างจะเขียนเอกสาร WSDL ก่อน จากนั้นใช้เครื่องมือสร้างโค้ดเพื่อสร้างโครงร่างคลาส ซึ่งจะเติมเต็มเมื่อจำเป็น โมเดลนี้โดยทั่วไปถือว่ายากกว่า แต่สามารถสร้างการออกแบบที่สะอาดกว่าและโดยทั่วไปจะทนต่อการเปลี่ยนแปลงได้มากกว่า ตราบใดที่รูปแบบข้อความระหว่างผู้ส่งและผู้รับไม่เปลี่ยนแปลง การเปลี่ยนแปลงในผู้ส่งและผู้รับเองจะไม่ส่งผลกระทบต่อบริการเว็บ เทคนิคนี้ยังเรียกว่าสัญญามาก่อนเนื่องจาก WSDL (หรือสัญญาระหว่างผู้ส่งและผู้รับ) เป็นจุดเริ่มต้น[ 6 ]
  • นักพัฒนาที่ใช้ Subset WSDL (SWSDL) [ 7 ] (เช่น WSDL ที่มีการดำเนินการย่อยใน WSDL ดั้งเดิม) สามารถทำการทดสอบบริการเว็บและการพัฒนาแบบบนลงล่างได้

การวิจารณ์

นักวิจารณ์ของบริการเว็บที่ไม่ใช่ RESTful มักบ่นว่ามีความซับซ้อนเกินไป[ 8 ]และขึ้นอยู่กับผู้จำหน่ายซอฟต์แวร์รายใหญ่หรือผู้รวมระบบ แทนที่จะเป็นการใช้งาน โอเพนซอร์ส ทั่วไป

นอกจากนี้ยังมีความกังวลเกี่ยวกับประสิทธิภาพเนื่องจากบริการเว็บใช้ XML เป็นรูปแบบข้อความและ SOAP/HTTP ในการห่อหุ้มและขนส่ง[ 9 ]

การทดสอบการถดถอยของบริการเว็บ

การทดสอบการทำงานและการทำงานที่ไม่เกี่ยวข้องกับบริการเว็บทำได้โดยใช้การแยกวิเคราะห์ WSDL การทดสอบการถดถอยทำได้โดยการระบุการเปลี่ยนแปลงที่เกิดขึ้นเพื่ออัปเกรดซอฟต์แวร์ ความต้องการการทดสอบการถดถอยของบริการเว็บสามารถแบ่งออกได้เป็น 3 ประเภท ได้แก่ การเปลี่ยนแปลงใน WSDL การเปลี่ยนแปลงในโค้ด และการทดสอบการทำงานซ้ำแบบเลือก เราสามารถรวบรวมความต้องการทั้งสามข้างต้นไว้ใน WSDL ย่อย 3 รูปแบบ[ 7 ]ได้แก่ Difference WSDL (DWSDL), Unit WSDL (UWSDL) และ Reduced WSDL (RWSDL) ตามลำดับ จากนั้น WSDL ย่อยทั้งสามนี้จะถูกรวมเข้าด้วยกันเพื่อสร้าง Combined WSDL (CWSDL) ซึ่งจะใช้สำหรับการทดสอบการถดถอยของบริการเว็บต่อไป สิ่งนี้จะช่วยในการจัดการการเปลี่ยนแปลงบริการเว็บอัตโนมัติ (AWSCM) [ 10 ]โดยการเลือกกรณีทดสอบที่เกี่ยวข้องเพื่อสร้างชุดทดสอบที่ลดลงจากชุดทดสอบเดิม [ 11 ]

การทดสอบบริการเว็บยังสามารถทำให้เป็นอัตโนมัติได้โดยใช้เครื่องมือทดสอบอัตโนมัติหลายอย่าง เช่นSoapUI , Oracle Application Testing Suite (OATS), [ 12 ] [ 13 ] Unified Functional Testing, Selenium เป็นต้น

การจัดการการเปลี่ยนแปลงบริการเว็บ

งานที่เกี่ยวข้องกับการบันทึกและแสดงภาพการเปลี่ยนแปลงที่เกิดขึ้นกับบริการเว็บ การแสดงภาพและการคำนวณการเปลี่ยนแปลงสามารถทำได้ในรูปแบบของอาร์ติแฟกต์ระดับกลาง (WSDL ย่อย) [ 7 ]ข้อมูลเชิงลึกเกี่ยวกับการคำนวณผลกระทบของการเปลี่ยนแปลงมีประโยชน์ในการทดสอบ การพัฒนาแบบบนลงล่าง และลดการทดสอบการถดถอย AWSCM [ 10 ]เป็นเครื่องมือที่สามารถระบุการดำเนินการย่อยในไฟล์ WSDL เพื่อสร้าง WSDL ย่อย

การค้นหาและสำรวจบริการเว็บ

แม้ว่า UDDI จะมีจุดประสงค์เพื่อใช้เป็นไดเร็กทอรีบริการและเป็นวิธีการค้นหาบริการเว็บ แต่ผู้จำหน่ายหลายรายได้ยกเลิกโซลูชันหรือที่เก็บข้อมูล UDDI ระหว่างปี 2548 ถึง 2551 รวมถึง Microsoft, SAP, IBM และอื่นๆ[ 14 ] [ 15 ]การศึกษาสำคัญที่ตีพิมพ์ในงานประชุม WWW2008 (ปักกิ่ง ประเทศจีน) [ 16 ]ได้นำเสนอสถานะของบริการเว็บแบบ SOAP และสรุปว่ามีเพียง 63% ของบริการเว็บแบบ SOAP ที่มีอยู่ ณ เวลาที่ทำการศึกษาเท่านั้นที่ใช้งานได้จริงหรือสามารถเรียกใช้งานได้ การศึกษายังพบว่าเครื่องมือค้นหากลายเป็นแหล่งข้อมูลที่เหมาะสมสำหรับการค้นหาบริการเว็บเมื่อเทียบกับรีจิสทรีบริการเช่น UDDI เนื่องจากความซับซ้อนในการออกแบบ[ 17 ]

ดูเพิ่มเติม

หมายเหตุ

  1. ^เปรียบเทียบ: Oya 2008 , "ภายใต้บริการเว็บในปัจจุบัน […] ระบบของผู้มีส่วนได้ส่วนเสียต้องปฏิบัติตามกฎที่กำหนดไว้ล่วงหน้าสำหรับบริการทางธุรกิจเฉพาะ รวมถึงกฎเกี่ยวกับโปรโตคอลทางธุรกิจในการส่ง/รับข้อความและเกี่ยวกับการทำงานของระบบ […] ต้องการกลไกที่ยืดหยุ่นมากขึ้นซึ่งระบบที่สร้างขึ้นอย่างอิสระและทำงานอย่างอิสระสามารถแลกเปลี่ยนข้อความทางธุรกิจได้โดยไม่ต้องมีกฎที่เข้มงวดที่ตกลงกันไว้ล่วงหน้า เราเรียกสิ่งนี้ว่าบริการเว็บอัตโนมัติ (AWS) และเสนอเฟรมเวิร์กที่เรียกว่า Dynamic Model Harmonization (DMH) พร้อมอัลกอริทึม ซึ่งปรับโมเดลกระบวนการทางธุรกิจที่แตกต่างกันระหว่างระบบแบบไดนามิก […]" [ 4 ]
  • รูปแบบการออกแบบการส่งข้อความ (Messaging Design Pattern) ถูกเก็บถาวรเมื่อวันที่ 9 ตุลาคม 2018 ใน เอกสาร Wayback Machineที่SOA Patterns
  • หน้า กิจกรรมบริการเว็บที่W3C
  • สถาปัตยกรรมบริการเว็บบันทึกของคณะทำงาน W3C (11 กุมภาพันธ์ 2547)
  • การตรวจสอบบริการเว็บในเวิลด์ไวด์เว็บการวิเคราะห์ที่นำเสนอในการประชุมWWW2008
  • คู่มือการรักษาความปลอดภัยบริการเว็บ (SP 800–95) จากNIST
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Web_service&oldid=1345273563 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ บริการเว็บ

ในบริการเว็บ เทคโนโลยีเว็บ เช่นHTTPถูกใช้สำหรับการถ่ายโอนไฟล์รูปแบบที่เครื่องอ่านได้ เช่นXMLและ JSON

JavaScript และ XML แบบอะซิงโครนัส

AJAX (Asynchronous JavaScript and XML) เป็นเทคโนโลยีหลักสำหรับบริการบนเว็บ พัฒนามาจากส่วนประกอบของเซิร์ฟเวอร์ HTTP ไคลเอนต์ JavaScript และ XML แบบดั้งเดิม (ซึ่งแตกต่างจาก SOAP และ W3C Web Services) ปัจจุบันมีการใช้งานร่วมกับ JSON หรือใช้แทน XML บ่อยครั้ง

พักผ่อน

Representational State Transfer (REST) ​​คือสถาปัตยกรรมสำหรับบริการเว็บที่มีประสิทธิภาพและสามารถทำงานได้ในระดับอินเทอร์เน็ต

เทคโนโลยีและโปรโตคอลที่เกี่ยวข้องกับบริการเว็บโดยใช้ภาษามาร์กอัป

มีบริการบนเว็บจำนวนมากที่ใช้ภาษามาร์กอัป: