หากมีคำถาม ขอให้ไปโพสต์ลง เว็บบอร์ดจีทูจีเน็ตดอตคอม ตัวใหม่แทนน่ะครับ

หรือติดต่อเข้ามาทาง Inbox ที่ เฟซบุ๊ค ผมครับ

หน้าหลัก
ข่าวสาร - บทความ ทั้งหมด
VB 6/VB.Net
ASP/ASP.Net
จับฉ่ายคอมพิวเตอร์
เรียนรู้ผ่าน Flash Movie
บทความที่มีผู้ตอบล่าสุด  
 RSS Feeds
 ดาวน์โหลดโปรแกรม RSS Reader ได้ที่นี่ ...   Download โปรแกรม RSS Reader

Forum - www.g2gnet.com
Webmaster - www.g2gnet.com
Visitors - Session views
 5 1 0 9 6 6 3

7 ธันวาคม พ.ศ.2549
310 Users On-Line.
Visitors - Page views
 8 4 0 2 8 2 2
1 กุมภาพันธ์ พ.ศ.2551

Google   
เว็บ g2gnet.com
ขนาดตัวอักษร:  

เรียนรู้ XML กับ Visual Basic 6.0 ภาค 1

Category »  VB 6/VB.Net
โดย : Webmaster เมื่อ 5/8/2550 23:58:00
(อ่าน : 22397) 

การนำแอพพลิเคชั่นทางธุรกิจขึ้นไปไว้บนเว็บโดยอาศัยมาตรฐานของการสื่อสาร (ที่เราเรียกว่า โปรโตคอล - Protocol นั่นไงล่ะ) ก็คือ บริการผ่านทางเว็บ หรือ เว็บเซอร์วิส - Web Services ซึ่งคำๆนี้แหละที่ผู้คนนำมาใช้พูดกันมาก แต่ ...

  • Web Services คือ การให้บริการผ่านทางเว็บ เช่น
    • ระบบซื้อขายสินค้าออนไลน์ ใช้ PHP เป็นตัวควบคุมระบบการทำงานผ่าน Linux Server และใช้ MySQL เป็นระบบฐานข้อมูล นี่ก็ Web Services หรือ
    • ระบบห้องสมุดออนไลน์ ที่ใช้ ASP ทำงานบน Windows Server โดยใช้ฐานข้อมูล MS SQL Server ในการจัดเก็บข้อมูล นี่ก็ Web Services หรือ
    • ระบบการบริการต่างๆผ่านทางเว็บไซต์ที่เราเห็นกันเกลื่อนในปัจจุบันนี้
      อันนี้แน่นอนส่วนใหญ่ภาษา หรือ เครื่องมือที่เราเห็นใช้งานกันทั่วๆไป ก็แบ่งเป็น 2 ค่าย คือ Microsoft/ASP กับ Linux/PHP (JSP ก็อย่าน้อยใจไปล่ะ หึหึหึ ขอนำเสนอแบบตลาดๆไว้น่ะครับ) ปกติทั่วไปก็คือ ใครถนัดตัวไหนก็ใช้ตัวนั้นแหละครับ แต่ไม่เห็นมีการอ้างถึง การทำงานข้ามแพลตฟอร์ม การแลกเปลี่ยน (Exchange) หรือ ประสานการทำงานระหว่างระบบในชั้นระดับ Application-To-Application เลยสักกะที เอ้อ อันนี้ก็เรียก Web Services ด้วยน่ะ (เฟ้ย)
  • Web Services คือ มาตรฐานระบบเปิด ที่ทำให้เราสามารถประกาศ (Publish) ว่าเรามีบริการอะไรบ้าง และจะสามารถทำให้พวก Web Application อื่นๆ สามารถเข้าไปสืบค้น หรือ เรียกใช้บริการของเราได้อย่างไร คำว่า "บริการ หรือ Service" มันเหมือนกับเป็นส่วนประกอบของซอฟท์แวร์ที่สามารถทำงานได้เฉพาะอย่าง โดยมีการประสานการทำงานงานระหว่างระบบ (Interoperability) นั่นอาจรวมถึงการทำงานของข้อมูล และ Process ซึ่งมีขีดความสามารถในการทำงานข้ามระบบให้เกิดขึ้นได้ โดยอาศัยมาตรฐานกลางด้านเทคนิค ที่มำให้เกิดการแลกเปลี่ยนข้อมูล และ ทำให้เกิดการเรียกใช้งานโปรแกรมข้ามระบบที่มีความแตกต่างกันทั้งทางด้านฮาร์ดแวร์ และ ซอฟท์แวร์ มาตรฐานกลางที่ใช้เป็นข้อตกลงร่วมกัน มีดังต่อไปนี้
    • การประสานการทำงานของข้อมูลผ่านภาษา XML (eXtensive Markup Language)
    • การประสานการทำงานของโปรเซส โดยใช้มาตรฐาน หรือ โปรโตคอล SOAP (Simple Object Access Protocol)
    • วิธีการประกาศ และ สืบค้น Services ที่ให้บริการ คือ UDDI (Universal Description, Discovery and Integration)
    • ภาษาที่ใช้ในการอธิบาย หรือ บรรยาย Web Services คือ WSDL (Web Services Description Language) ซึ่งทำหน้าที่เสมือนคู่มือให้กับระบบ เพื่อใช้ในการเรียนรู้วิธีเรียกใช้งาน Web Services ที่ต้องการ และภาษา WSDL นี้ถูกพัฒนาขึ้นมาโดยยึดเอามาตรฐาน XML เป็นสาระสำคัญ
    • WSFL หรือ Web Services Flow Language
    • กรอบการทำงานในการดำเนินธุรกิจอิเล็กทรอนิกส์ หรือ EDI (ebXML)
    • เครื่องมือที่ใช้ในการพัฒนาเว็บเซอร์วิส
      • Microsoft .NET Framework
      • SUN One (Sun Open Net Environment)
      • IBM Web Services Toolkit
      • หรือ อื่นๆที่สนับสนุน SOAP และ XML
  • สถาปัตยกรรมเชิงการให้บริการ (Service-Oriented Architecture หรือ SOA)
    • สถาปัตยกรรมนี้มีส่วนประกอบอยู่ 3 อย่าง คือ
      1. ผู้ให้บริการ (Service Provider)
      2. ผู้ใช้บริการ (Service Requestor หรือ Service Consumer)
      3. นายทะเบียนการให้บริการ (Service Repository หรือ Service Registry)
      Service-Oriented Architecture - SOA
      Service-Oriented Architecture
      ซึ่งมีความสัมพันธ์กันดังต่อไปนี้
    • ในขั้นแรกเมื่อผู้ให้บริการ (เรานี่แหละ) พัฒนาโปรแกรมสำหรับให้บริการขึ้นมาเสร็จเรียบร้อยแล้ว ก็จะหาทางประกาศให้คนอื่นได้รับรู้ว่า เรามีบริการอะไรให้ใช้บ้าง ก็สามารถทำได้โดยไปลงทะเบียนรายละเอียดของโปรแกรม สำหรับการให้บริการของเราไว้กับนายทะเบียนการให้บริการว่า บริการของเรามีชื่อเรียก และค่าพารามิเตอร์อะไร ใช้ทำอะไร ซึ่งภาษาที่ใช้ในการอธิบาย หรือ บรรยาย Web Services ก็คือ WSDL (Web Services Description Language)
    • ต่อมานายทะเบียนการให้บริการ (Service Repository/Registry) จะทำหน้าที่รวบรวมว่ามีผู้ให้บริการ (Service Provider) รายไหนให้บริการอะไรบ้างเพื่อเป็นศูนย์กลางสำหรับการสืบค้น เมื่อมีคนต้องการใช้งานบริการเหล่านั้น ซึ่งมาตรฐานกลางด้านเทคนิคของวิธีการประกาศ และสืบค้น Services ที่ให้บริการคือ UDDI (Universal Description, Discovery and Integration) ซึ่งเป็นมาตรฐานที่นำเสนอโดยความร่วมมือของหลายบริษัท เช่น Ariba, Microsoft, IBM เป็นต้น
    • ขั้นสุดท้าย ซึ่งเป็นลักษณะการใช้งานที่เกิดขึ้นนั้น ผู้ใช้บริการ (Service Requestor/Consumer) เกิดความต้องการทำงานอะไรบางอย่าง ก็อาจจะลองค้นหาดูก่อนว่ามีใครเคยสร้างบริการที่อาจนำมาใช้ได้หรือไม่ ก็จะทำการติดต่อไปยังนายทะเบียนการให้บริการ เพื่อสืบค้นการบริการที่ต้องการจากข้อมูลในทำเนียบของนายทะเบียน หากพบบริการที่ต้องการแล้ว ก็จะรู้ข้อมูลจากทำเนียบด้วยว่า ผู้ให้บริการซึ่งเป็นเจ้าของบริการดังกล่าวนั้นเป็นใคร อยู่ที่ใด หลังจากนั้นผู้ใช้บริการก็จะสามารถทำการติดต่อกับผู้ให้บริการ เพื่อขอใช้บริการได้โดยตรง ...

 

XML abstractions
XML abstractions

ว่าด้วยเรื่อง XML กันสักที

XML - Web Servicesอุ๊แม่เจ้า ... เหอๆๆ หัวข้อน่ะจั่วเอาไว้ว่าเป็น XML ไหงโผล่มาที่เรื่อง Web Services ได้ล่ะพี่น้อง ... เอิ๊กๆๆๆ ก็มันมีความเกี่ยวข้องกันไงล่ะครับ เพราะหัวใจของ Web Services คือ มาตรฐานของ Web ที่เรียกว่า XML นี่เอง ซึ่งช่วยให้เราสามารถแลกเปลี่ยนข้อมูลผ่านเครือข่ายอินเทอร์เน็ตได้ ในขณะที่มีความยุ่งเหยิงในการใช้ HTML (HyperText Markup Language) มากขึ้นทุกขณะ XML ก็ได้ปรากฏตัวออกมาสู่สายตาสาธารณชน ซึ่งแรกๆผู้คนส่วนใหญ่ต้องการนำ XML มาใช้งานโดยเปรียบ XML เป็นเสมือนผู้ที่จะล้มล้างระบอบทักษิณ เอ๊ย HTML แต่ความจริงก็ปรากฏว่าแท้จริงนั้น XML นั้นทำหน้าที่ Markup เพื่อแลกเปลี่ยนข้อมูลเท่านั้น และ XML จะมีประโยชน์อย่างมากหากนำไปใช้ร่วมกับสไตล์ XSL (eXtensible Stylesheet Language) แต่การใช้ร่วมกันนี้ ส่วนใหญ่มักใช้เพื่อสร้าง HTML มาตรฐานเพื่อใช้ใน Browser เท่านั้น คำว่า eXtensible หมายความว่า เราสามารถสร้างแท็ก (Tag) ใดก็ได้ที่ต้องการ เพื่อบรรยายลักษณะข้อมูล ความยืดหยุ่นนี้เองเป็นความสามารถของ SGML ซึ่งเป็นบรรพบุรุษทั้ง HTML และ XML แต่ว่า HTML กลับเป็นลูกหลานนอกคอก ที่ไม่ได้รับการออกแบบให้มีความยืดหยุ่นแบบนี้เลย

XML ทำหน้าที่จัดเตรียมข้อมูลที่ช่วยให้ผู้คนที่ต้องการค้นหาข้อมูล และ ผู้ให้บริการข้อมูลสามารถค้นพบซึ่งกันและกันได้ ในโลกใหม่ของบริการเว็บ (Web Services) ... XML จะเป็นภาษาสากลในการติดต่อสื่อสาร ซึ่งไม่ได้เป็นแค่ข้อมูลดิบ (Raw Data) แต่เป็นข้อมูลข่าวสารที่สามารถเข้าใจได้ และ ดำเนินการต่อไปได้ ในการสร้างบริการเว็บ นักพัฒนาต้องบรรยายความสามารถของบริการด้วย XML โดยเอกสาร XML ต้องประกอบด้วยรูปแบบของพารามิเตอร์อินพุตแต่ละตัว รวมไปถึงชนิดข้อมูลที่จะส่งกลับของทุกวิธีการ (Method) ที่บริการนั้นจัดการอยู่ Web Server จะใช้เอกสารนี้เพื่อค้นหาตำแหน่งฟังค์ชั่นการทำงานที่จะถูกเรียกใช้ และ ผลลัพธ์ที่ได้จะถูกส่งกลับไปเป็นแพ็คเก็ต (Packet) XML

Sample XML
Sample XML

เอาล่ะครับ เมื่อรู้ที่มาที่ไป พร้อมกับสถาปัตยกรรมในเรื่องของ Web Services กันไปแล้ว มาถึงจุดนี้หากใครได้ลองเริ่มต้นศึกษา ไม่รู้ว่าจะคิดเหมือนผมหรือเปล่า ... ทำไม ??? นิยาม ความหมาย รูปแบบ ความสัมพันธ์ กฏเกณฑ์ มันถึงยุ่งยาก หยุมหยิมไปหมด (โว้ย) พอเริ่มจาก XML เอ้าพอจะเข้าใจมันก็ไปอีกแล้วที่ XSL ตามก้นกันมาอีกก็ XSLT เฮ้ยอะไรของมัน ... หรือหันไปดู DOM ก็มาเจอ SAX ครั้นพอจะใช้ SOAP API มันก็จี้ตูดมาด้วย AJAX ... อื่นๆอีก แล้วสำหรับคนที่มีพื้นฐานคอมพิวเตอร์ที่ไม่แข็งแกร่งสักเท่าไรนัก เขาจะไม่งงยิ่งกว่าเราเรอะ (ว่ะ) เนี่ย ... แต่เมื่อมั่วนิ่มไปเรื่อยๆ ด้วยการคิดแบบ Backward Algorithm ก็จับทางได้ว่า สาระสำคัญมันอยู่ที่การแลกเปลี่ยนข้อมูลผ่านทางเอกสาร XML และ หาวิธีการที่เหมาะสมเพื่อนำข้อมูลในเอกสาร XML ออกมานำเสนอ ... แค่นี้เอง

ต้องขออภัยด้วยครับ ... พี่น้องต้องไปหาอ่านเรื่องราวพื้นฐานต่างๆของ XML กันเอาเอง ผมขอแนะนำ เข้าโรงเรียนอนุบาล XML ที่นี่เลยครับ ... พี่น้อง รับรองไม่ผิดหวัง แต่บางคนจะผิดหวัง เพราะว่ามันเป็นภาษาอังกฤษ ... คิดจะเป็นโปรแกรมเมอร์ก็พยายามหัดอ่านภาษาอังกฤษให้เยอะๆครับ ... พี่น้อง

ต้องใช้การปฏิบัติจริงเข้ามาช่วยอธิบายกฏเกณฑ์

แหล่งข้อมูล:

  1. XML สำหรับผู้ไม่มีประสบการณ์ (ไมโครซอฟท์)
  2. การจัดการข้อมูลด้วย XML ใน Office 2003 (ไทย)
  3. XML Developer Center
  4. Understanding Infosets
  5. ActiveX Data Objects (ADO) จาก Microsoft (English)
  6. XML - Data
  7. TopXML
  8. Using MSXML3.0 with VB 6.0
  9. XML and Web Services for Microsoft Developers
  10. Transforming XML to HTML
  11. http://www.15seconds.com/focus/XML.htm
  12. Getting Started with VB 6 and XML
  13. http://www.perfectxml.com/

 


จี ทู จี เน็ต ดอต คอม - g2gNet Dot Com
เลขทะเบียนพาณิชย์อิเล็กทรอนิกส์ 0407314800231
CopyLeft © 2004 - 2099 g2gNet.Com All rights reserved.
Email: [email protected] หรือ โทร. 08-6862-6560