มาตรฐานหลักของเว็บเซอร์วิส
มาตรฐานหลักของการพัฒนาเว็บเซอร์วิสจะประกอบไปด้วยมาตรฐานต่างๆดังนี้ XML WSDL SOAP และ UDDI รายละเอียดของแต่ละมาตรฐานมีดังนี้
1. Extensible Markup Language (XML)
XML เป็นมาตรฐานที่ทาง W3C (World Wide Web Consortium) ประกาศให้เป็นมาตรฐานของข้อมูลเมื่อเดือนกุมภาพันธ์ ปี 1998 โดย XML จะอยู่ในรูปของไฟล์ข้อความที่ใช้ Unicode และสามารถที่สร้างรูปแบบในการที่จะแสดงข้อมูลที่ซับซ้อนในรูปแบบของข้อความที่สามารถอ่านได้ง่าย ในปัจจุบัน XML ได้กลายเป็นมาตรฐานสำคัญสำหรับการกำหนดโครงสร้างข้อมูล เนื้อหา และรูปแบบของข้อมูลของเอกสารอิเล็กทรอนิกส์ และยังมีการพัฒนาเพื่อให้สามารถแลกเปลี่ยนข้อมูลระหว่างหน่วยงาน โปรแกรมประยุกต์ ระบบ และอุปกรณ์ต่างผ่านทางอินเตอร์เน็ตได้อีกด้วย
2. Simple Object Access Protocol (SOAP)
SOAP เป็นภาษา XML เพื่อทำหน้าที่เป็นโพรโทคอลข่าวสาร (Message Protocol) สำหรับการแลกเปลี่ยนข้อมูลระหว่างผู้ให้บริการและผู้ใช้บริการ โครงสร้างของ SOAP จะประกอบไปด้วย
· SOAP Envelope: ใช้ในการอธิบายข่าวสาร ระบุเนื้อหา และกระบวนการจัดการข้อมูล
· SOAP Transport: ใช้ในการอธิบายโพรโทคอลการส่งข้อมูลเช่น HTTP หรือ SMTP
· SOAP Encoding: ใช้ในการอธิบายการเข้ารหัสเพื่อจับคู่ชนิดข้อมูล (data type) ที่ใช้ใน
โปรแกรมประยุกต์กับ XML elements
โพรโทคอล SOAP เปรียบเสมือนจดหมายที่ใช้ในการสื่อสาร แต่ยังต้องใช้โพรโทคอลในการสื่อสารอื่นๆ เช่น HTTP ในการทำหน้าที่ส่งจดหมาย SOAP เป็นโพรโทคอลแบบข้อความ ซึ่งแตกต่างกับโปรโคคอล IIOP ของ CORBA หรือ JRMP ของ RMI ที่เป็นโพรโทคอลแบบไบนารี่ จึงทำให้ SOAP สามารถที่จะใช้ส่งข้อความข้ามแฟลตฟอร์ม และระบบต่างๆ ได้ และเวอร์ชันล่าสุดของ SOAP คือ 2.0
การส่งข้อความ SOAP มีสองรูปแบบคือ SOAP-RPC และ SOAP message โดย SOAP-RPC ใช้ในการส่งข้อความเพื่อใช้เรียกเมธอดหรือ procedure ซึ่งโดยมากจะเป็นรูปแบบ synchronous โดย SOAP จะส่ง SOAP Request และข้อมูลต่างๆ เพื่อเรียกใช้เมธอดในการประมวลผล และจะรอให้ได้ผลลัพธ์การประมวลผลที่ส่งกลับมาแบบ SOAP Response ส่วน SOAP-message ใช้ในการส่งข่าวสารหรือข้อมูลในรูปแบบ XML ระหว่างผู้ให้บริการและผู้ใช้บริการ โดยสามารถส่งได้ทั้งแบบ Synchronous และ Asynchronous
3. Web Services Description Language (WSDL)
WSDL เป็นภาษา XML ที่ใช้อธิบายเว็บเซอร์วิส โดยจะแบ่งการอธิบายเว็บเซอร์วิสเป็นสองส่วนดังนี้
o ส่วนที่เป็นนามธรรม (Abstract) เพื่ออธิบายโอเปอเรชัน (Operation) อินพุตและเอาท์พุตพารามิเตอร์
o ส่วนที่เป็นรูปธรรม (Concrete) เพื่ออธิบายโพรโทคอลของเน็ตเวอร์ค ตำแหน่งของจุดปลายทาง (Endpoint Address) และ รูปแบบของข้อมูล
ในปัจจุบัน W3C ได้ออกข้อกำหนดสำหรับ WSDL เป็นเวอร์ชัน 2.0 แต่คำสั่งบางคำสั่งจะไม่สอดคล้องกับเวอร์ชัน 1.0 ดังนั้นการจะเรียกใช้ WSDL ควรมีการตรวจสอบว่าเครื่องมือที่ใช้พัฒนาสอดคล้องกับเวอร์ชันใดWSDL สามารถเปรียบเทียบได้กับ Java interface ที่ใช้ใน RMI หรือ ภาษา IDL (Interface Description Language) ที่ใช้ใน CORBA สำหรับ Distributed Computing
4. Universal Description, Discovery and Integration (UDDI)
UDDI นิยามรูปแบบและกลไกสำหรับ registry ที่ใช้ในการเก็บและประกาศข้อมูลเกี่ยวกับเว็บเซอร์วิสในรูปแบบของภาษา XML โดยที่ UDDI จะเปรียบเสมือนสมุดโทรศัพท์หน้าเหลืองที่องค์กรธุรกิจต่างๆ ใช้ระบุและโฆษณาหมายเลขโทรศัพท์ขององค์กรเพื่อให้ผู้ใช้โทรศัพท์ค้นหาได้ โดยทั่วไป Service Registry จะใช้ UDDI เป็นมาตรฐานเพื่อให้ผู้ให้บริการสามารถลงทะเบียนประกาศเว็บเซอร์วิสได้ และผู้ใช้บริการก็สามารถจะติดต่อกับ UDDI Registry เพื่อค้นหาเซอร์วิสที่ต้องการและเรียกใช้จากผู้ให้บริการต่อไป
ข้อมูลใน UDDI จะประกอบไปด้วยรายละเอียดเกี่ยวกับองค์กร (businessEntity) รายละเอียดเกี่ยวกับเซอร์วิส (businessService) รายละเอียดเกี่ยวกับการติดต่อ (bindingTemplate) URLสำหรับการเรียกใช้เซอร์วิส (accessPoint) และข้อมูลอ้างอิงไปยัง WSDL (tModelInstanceInfo) มาตรฐาน UDDI ล่าสุดเป็นเวอร์ชัน 3.0 นอกจากนี้เรายังสามารถที่จะแบ่ง Registry ได้เป็นสองประเภทคือ public registry ซึ่งเป็น registry ที่เปิดให้ใช้ทั่วไปทั้งภายใน และภายนอกองค์กร กับ private registry ซึ่งเป็น registry ที่เปิดให้ใช้เฉพาะภายใน การควบคุมดูแล public registry จะเป็นไปได้ยากกว่า จึงทำให้องค์กรส่วนมากจะเริ่มต้นการพัฒนาจาก private registry ก่อน
5.มาตรฐานอื่นๆ ของเว็บเซอร์วิส
มาตรฐาน WSDL SOAP และ UDDI เป็นเพียงมาตรฐานพื้นฐานของเว็บเซอร์วิส การพัฒนาเว็บเซอร์วิสในทางปฏิบัติจำเป็นต้องพิจารณาเรื่องอื่นเช่น ความปลอดภัย Transaction หรือ Messaging เป็นต้น ดังแสดงในรูปที่ 3 ซึ่งแสดงตัวอย่างมาตรฐานเว็บเซอร์วิสอื่นๆ ตามฟังก์ชันของการทำงาน โดยจะมีมาตรฐานที่สำคัญ อาทิเช่น
WS-Addressing: มาตรฐานที่ใช้ร่วมกับ SOAP Header ในการระบุโพรโทคอลการสื่อสารและระบบข่าวสาร (Messaging Systems)
· WS-Security: มาตรฐานที่เป็นโครงสร้าง (Framework) เพื่อเชื่อมต่อกับเทคโนโลยีระบบความปลอดภัยต่างๆ
· SAML: Security Assertion Markup Language เป็นมาตรฐานที่ทาง OASIS กำหนดขึ้นเพื่อสนับสนุนการทำ Single Sign On (SSO) และ Authentication
· WS-BPEL: มาตรฐานสำหรับการประกอบ (orchestration) กระบวนการทางธุรกิจ (Business Process) โดยใช้คำสั่งที่เป็นภาษา XML
· WSRP: Web Services for Remote Portal มาตรฐานสำหรับการเรียกใช้ Web Services จากเว็บท่า (Portal)
การพัฒนา SOA โดยใช้เว็บเซอร์วิส
แม้การพัฒนาสถาปัตยกรรมเชิงบริการ (Service Oriented Architecture หรือ SOA) ในยุคแรกจะสามารถทำได้โดยใช้เทคโนโลยีอื่นๆ อาทิเช่น CORBA, Java RMI และ DCOM หรือสามารถใช้ MOM (Message Oriented Middleware)เพื่อพัฒนา SOA ในรูปของการแลกเปลี่ยนข้อมูลของสถาปัตยกรรม EAI ที่นิยมใช้ทั่วไป แต่ในปัจจุบันการพัฒนา SOA โดยใช้เทคโนโลยีเว็บเซอร์วิสเริ่มได้รับการยอมรับมากกว่าเทคโนโลยีอื่นๆ ด้วยเหตุผลดังนี้
· เว็บเซอร์วิสอิงอยู่กับมาตรฐานที่เปิดเช่น SOAP WSDL UDDI และมาตรฐานเว็บเซอร์วิสอื่นๆ ทำให้องค์กรต่างไม่จำเป็นที่จะต้องลงทุนกับโซลูชันที่ใช้เทคโนโลยีเฉพาะ และป้องกันการผูกขาดโดยผู้ผลิตรายใดรายหนึ่ง
· เว็บเซอร์วิสสนับสนุนการเชื่อมโยงกับโซลูชันของผู้ผลิตต่างๆ ทำให้ช่วยลดต้นทุน
· เว็บเซอร์วิสสนับสนุนการเชื่อมโยงระบบ แพลตฟอร์ม และโซลูชันต่างๆทั้งภายในองค์กร ระหว่างองค์กร และภายนอก
รูปแสดงตัวอย่างการพัฒนา SOA โดยใช้เทคโนโลยีเว็บเซอร์วิส สร้างเซอร์วิสจากเทคโนโลยีที่ต่างกันคือ IMS, CORBA, Java EE และ Workflow โดยมีสถาปัตยกรรมแต่ละส่วนดังนี้
· Business Service Tier : ประกอบด้วยเซอร์วิสที่พัฒนามาจากเทคโนโลยี IMS, CORBA และ โปรแกรม Workflow และมีเว็บเซอร์วิสที่พัฒนาโดยใช้เทคโนโลยีJava EE
· Business Access Tier : จะมี Service Registry (เช่น UDDI) สำหรับการลงทะเบียนและค้นหาเว็บเซอร์วิส ดังนั้นจึงต้องมี Legacy gateways เพื่อแปลงเซอร์วิสที่ใช้เทคโนโลยีให้เป็นเว็บเซอร์วิสสำหรับIMS, CORBA และใช้ WebSphere MQ เพื่อแปลง Workflow ให้เป็นเว็บเซอร์วิส
· Communication Infrastructure : จะใช้โพรโทคอล SOAP บน HTTP และ SOAP ที่ใช้มาตรฐาน WS-ReliableMessaging
· Client/Presentation : ตัวอย่างนี้แสดงการใช้โปรแกรมแสดงผลที่พัฒนาโดยเทคโนโลยี .NET
รูปแสดงตัวอย่างการพัฒนา SOA โดยใช้เทคโนโลยีเว็บเซอร์วิส
ไม่มีความคิดเห็น:
แสดงความคิดเห็น