Get Adobe Flash player

การทำ web service ใน asp.net (c#)

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

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

Web Service เป็น Distributed Computing คือ

  1. Web Service ใช้ Protocol ที่เป็นมาตรฐานโดยใช้รูปแบบ XML
  2. เราสามารถเรียกใช้ Web Service โดย XML-based RPC จึงทำให้สามารถเรียกผ่าน Firewall ซึ่งแตกต่างกับกรณีของเทคโนโลยีแบบกระจาย
  3. Web Service สนับสนุนการทำงานร่วมกันของ Solution ที่ข้ามแพลตฟอร์มและใช้ภาษาคอมพิวเตอร์ที่ต่างกันได้ โดยการส่งข้อมูลแบบ XML
  4. Web Service สนับสนุนการการเรียกใช้จาก Software ประยุกต์อื่นๆ ผ่าน Protocol Internet ซึ่งแตกต่างกับโปรแกรมประยุกต์บนเว็บที่เป็นการเรียกโดยตรงจากผู้ใช้

ขอดีและจุดเด่นของการใช้งาน Web Service

  1. การเชื่อมโยง (Interoperable): สนับสนุนการเชื่อมโยงกันระหว่างโปรแกรมประยุกต์ที่หลากหลาย (Heterogeneous Applications) ได้ โดยใช้มาตรฐานเว็บที่เป็นกลาง
  2. ลดค่าใช้จ่าย (Economical): สนับสนุนการนำซอฟต์แวร์คอมโพเน้นท์กลับมาใช้ใหม่ (reuse) และไม่ต้องยึดติดกับเทคโนโลยีเดิม
  3. อัตโนมัติ (Automatic): สนับสนุนการการเรียกใช้จากโปรแกรมโดยตรง โดยไม่ต้องโต้ตอบกับผู้ใช้
  4. เข้าถึงได้ (Accessible): สามารถที่จะเรียกใช้โปรแกรมเดิม (Legacy) หรือโปรแกรมภายในผ่านเว็บได้
  5. ใช้ได้ตลอด (Available): สนับสนุนการเรียกใช้ได้ทุกที่ ทุกอุปกรณ์ และทุกเวลา
  6. ขยายได้ (Scalable): ไม่ได้จำกัดขนาดของโปรแกรมหรือจำนวนของระบบต่างๆ

 

โปรแกรมที่ใช้ทำคือ Visual Studio 2010 เป็นโปรแกรมทำหรับพัฒนา soft ware โดยมีภาษาให้เลือกใช้ไม่ว่าจะเป็น vb.net, F# ,C++ และ C# ในเนื้อหานี้จะเป็นการทำ web service ด้วย C#

ขั้นตอนแรกเปิดโปรแกรม Visual studio ขึ้นมาและเลือก เมนู File และเลือก New Website


หลังจากนั้นให้เลือกตามรูปภาพด้านล่าง


หลังจากนั้นกดปุ่ม OK เพื่อสร้าง Web Site


เมื่อสร้าง New Web Site เสร็จแล้วก็จะเห็น File ทั้งหมดที่โปรแกรม Visual Studio 2010 สร้างให้ในตอนแรก

หลังจากนั้นให้ทำการเลื่อนเมาส์ไปด้านขวาตรง Solution Explorer แล้วเลือกที่ Project ที่สร้างขึ้นมาตามรูป


 


หลังจากกด Add แล้วจะได้ File Web Service 2 File คือ 1. WebService.asmx จะเป็นส่วนของ Design

2. WebService.cs จะเป็นส่วนของ Code Behide ซึ่งจะถูกสร้างขึ้นพร้อมกับ Folder App_Code เป็นส่วนของการลง Code หรือ Function ต่างๆที่ต้องการให้ Web Service ทำงาน ดังรูป


หลังจากนั้นให้กดคลิ้กเข้าไปที่ WebService.cs เพื่อทำการลง Code


เมื่อลง Code ตามตัวอย่างด้านบนเสร็จแล้วอาจจะทำการทดสอบ Web Service ที่ทำได้ดังนี้ ซึ่งขั้นตอนการทดสอบในกรณีที่ไม่ได้ลง IIS (Internet Information Service) ให้กดปุ่ม F5 บน Keyboard เพื่อทำการ Run Web Site ในกรณีที่ใช้ IIS ก็ให้พิมพ์ Address ลงบน Browser แต่ในขั้นตอนนี้เพื่อความไม่ยุ่งยากจนเกินไปให้กด F5 เพื่อให้โปรแกรมสร้าง Web Site จำลองบนเครื่องให้ เมื่อกด F5 โปรแกรมจะทำการเปิด Browser สำหรับเข้า Web Site ให้อัตโนมัติ


สามารถกดเข้าไปทดสอบ Method ที่สร้างขึ้นได้และใส่ Parameter หรือค่าที่โปรแกรมต้องการลงไปและกด Invokeโปรแกรมจะทำการคำนวนและส่งค่ากลับเป็นรูปแบบ XML ซึ่งจะเรียกว่า Invoke



หลังจากทดสอบในขั้นตอนแรกเสร็จให้ทำการเปิดโปรแกรม Visual Studio2010 มาอีกทีแล้วทำการ New Web Site และตั้งชื่อ Web Site ว่า TestWebService ขั้นตอนการ New Web Site ทำเหมือนตัวอย่างที่ผ่านมา


หลังจากนั้นให้ Add Web Reference…


หลังจากนั้นจะต้องกรอกที่อยู่ของ Web Site ที่ให้บริการ Web Service ดังภาพด้านล่าง



หลังจากนั้นให้เปิดไฟล์ Default.aspx.cs



หลังจากนั้นให้กดปุ่ม F5 เพื่อทำการ Run เพื่อทดสอบว่าสามารถเรียกใช้งาน Web Service ได้หรือไม่


ขั้นตอนการทำ Web Service ก็เป็นอันเสร็จสมบูรณ์ ในตัวอย่างที่ทำทั้งหมดเป็นการทดสอบทำบนเครื่องเดียวทั้ง Web ที่ให้บริการ Web Service และ Web ที่ขอรับบริการหรือเรียกใช้งาน Web Service ซึ่งการใช้งานจริงๆนั้นอาจจะอยู่คนละเครื่องซึ่งถ้าทำแล้วไม่ได้ตามตัวอย่างให้เช็คเรื่องของ Fire Wall หรือ Security ต่างๆ ของเครื่องที่ให้บริการ Web Service และจากตัวอย่างใช้โปรแกรม Visual Studio 2010 ให้ทำเว็บจำลองขึ้นมาถ้าเกิดมีการกด Stop การ Run โปรแกรมฝั่งผู้ให้บริการจะทำให้ ฝั่งผู้รับบริการหรือ Web Site ที่ชื่อ TestWebService ไม่สามารถเรียกใช้งาน Web Service ได้อาจจะเกิด Error ได้ ขอดีของการทำ Web Service ในตัวอย่างนี้เป็นตัวอย่างการทำ Web Service ที่ง่ายและสามารถนำไปประยุกต์กับการใช้งานจริงได้ และเหมาะสมกับผู้ที่เริ่มต้นหรือหัดทำซึ่งจะช่วยให้การทำ Web Service เป็นเรื่องง่านทันตาเห็น

 

 

By Sompoch Kulthararom