มีหลายคนสงสัยว่า สองตัวนี้ต่างกันยังไง
Web application
Web applications are stored on a server and delivered to users over the Internet. A Web application is usually a three-tier structure, comprising a User Service tier (allowing user access to the application), a Business Service tier (allowing the user to carry out complex activities) and a Data Service tier (which allows data storage and retrieval).
Web Services
"Web Services" is the umbrella term of group of loosely related Web-based resources and components that may be used by other Web applications over HTTP. Those resources could include anything from phone directory data to weather data to sports results.
ความหมายจาก http://www.simply.com.au
นั้นหมายความว่า เว็บแอปพลิเคชัน คือ แอปพลิเคชันที่เข้าถึงด้วยเว็บเบราว์เซอร์ผ่านเครือข่ายคอมพิวเตอร์อย่าง อินเทอร์เน็ต หรือ อินทราเน็ต เว็บแอปพลิเคชันเป็นที่นิยมเนื่องจากความสามารถในการอัตเด็ต และดูแล โดยไม่ต้องแจกจ่าย และติดตั้งซอฟต์แวร์บนเครื่องผู้ใช้ ตัวอย่างเว็บแอปพลิเคชันได้แก่ เว็บเมล พาณิชย์อิเล็กทรอนิกส์ Online auction กระดานสนทนา บล็อก วิกิ เป็นต้น
เว็บเซอร์วิส (Web service) คือระบบซอฟต์แวร์ที่ออกแบบมา เพื่อสนับสนุนการแลกเปลี่ยนข้อมูลกัน ระหว่างเครื่องคอมพิวเตอร์ผ่านระบบเครือข่าย โดยที่ภาษาที่ใช้ในการติดต่อสื่อสารระหว่างเครื่องคอมพิวเตอร์ คือเอกซ์เอ็มแอล เว็บเซอร์วิสมีอินเทอร์เฟส ที่ใช้อธิบายรูปแบบข้อมูลที่เครื่องคอมพิวเตอร์ประมวลผลได้ โดยส่งไปในรูปแบบตามที่กำหนดไว้ ปกติแล้วจะถูกส่งโดยอาศัย HTTP และใช้ XML ร่วมกับมาตรฐานเกี่ยวกับเว็บอื่นๆ โปรแกรมประยุกต์ที่เขียนโดยภาษาต่างๆ และทำงานบนแพลตฟอร์มต่างๆกันสามารถใช้เว็บเซอร์วิสเพื่อแลกเปลี่ยนข้อมูลผ่านทางเครือข่ายคอมพิวเตอร์
Subscribe to:
Post Comments (Atom)
2 comments:
Web App ประกอบด้วย 3 Tier ได้แก่ น้ำตาผู้พัฒนา น้ำตาผู้ให้บริการ และน้ำตาของผู้ใช้งาน....
เพิ่มเติม..
Web Service คือ ?
1. Introduction and Web Service Evolution
ก่อนที่จะเข้าสู่เนื้อหาของ Web Service เราจะต้องมาดูก่อนว่า Web Service นั้นเกิดขึ้นมาได้อย่างไร ก่อนที่จะมาถึงยุคของ Web Service มีเทคโนโลยีอะไรบ้าง
ยุคแรก ๆ
ในยุคนี้จะเป็นยุคของเครื่อง เมนเฟรม ที่ทำการสั่งงานและประมวลผลที่เครื่อง ๆ เดียว หรือเรียกว่า Stand alone จะเป็นยุคที่เครื่องคอมพิวเตอร์มีขนาดใหญ่ และราคาแพงการทำงานหรือการสั่งงานค่อนข้างซับซ้อน
ยุคก่อนยุคกลาง
ในยุคนี้เครื่องคอมพิวเตอร์เริ่มจะมีราคาถูกมากขึ้น จึงเริ่มมีการใช้งานคอมพิวเตอร์เป็นระบบมากยิ่งขึ้น นั่นก็คือมีการแยกฝั่งการติดต่อ เป็นฝั่ง Client กับฝั่ง Server หรือจะเรียกว่า ยุค Two Tier
ยุคกลาง
เป็นยุคที่พัฒนามาจากยุคก่อนหน้านี้ นั่นก็คือมีการแบ่งฝั่งการทำงานเป็นสามฝั่ง หรือ Three Tier นั่นก็คือ จะมีฝั่งของ Client ฝั่งของ Server ที่ทำการประมวลผล และ ฝั่งของ Server ที่เก็บข้อมูลทั้งหมดไว้หรือ ระบบฐานข้อมูล ซึ่งยุคนี้ ได้มีการพัฒนาการเขียนโปรแกรมเป็นแบบ OOP ขึ้น นั่นก็คือทำการเขียนโปรแกรมเชิงวัตถุ มองคลาสต่าง ๆ หรือส่วนต่าง ๆ เป็นวัตถุทั้งหมดเพียงแค่ต้องการวัตถุส่วนไหนมาใช้งานก็เพียงแค่เรียกใช้งานก็สามารถทำงานได้ จึงทำให้การทำงานเป็นสัดส่วนมากยิ่งขึ้น
ยุคต่อมา
เป็นยุคที่เริ่มจะถดถอดทางด้านการเขียนโปรแกรมอีกครั้งเนื่องจากเป็นยุคของเว็บ ที่พูดว่าเป็นยุคของการถอดถอยเพราะว่า การสร้างเว็บนั้นทำการเขียนโปรแกรมต่าง ๆ ที่หน้าจอเพียงอย่างเดียว ไม่มีการแบ่งการทำงานเป็น สัดเป็นส่วน หรือเป็นยุคสปาเก็ตตี้ โคดดิ่ง
ยุคแห่งการแก้ไข
ยุคนี้เป็นยุคที่เข้ามาแก้ไขข้อบกพร่องของยุคก่อนหน้า คือการกลับมาของ OOP นั่นก็คือการเขียนเว็บเป็นแบบ MVC
ยุคแห่งการบริการ
เป็นยุคที่มองทุกอย่างเป็นบริการ (เหมือนมองทุกอย่างเป็นวัตถุ) เมื่อเราต้องการใช้งานบริการใดก็เพียงแค่เรียกใช้เป็น “บริการ ๆ” เท่านั้น (เหมือนเรียกเป็น คลาส ๆ หรือเป็นเป็นวัตถุ) ซึ่งยุคนี้จะเรียกว่ายุคของ “เว็บ เซอร์วิส (Web Service)” นั่นเอง
ยุคแห่งการรวมบริการ
เป็นยุคที่นำเอาบริการที่แยกกันมารวมกันให้เป็นบริการใหม่ นั่นก็คือในยุคก่อนหน้านี้ (ยุคแห่งการบริการ) เป็นยุคที่ผู้ใช้บริการต้องเสียเวลาในการค้นหาบริการที่เกี่ยวเนื่องกันเป็นอย่างมาก เนื่องจากมีบริการจำนวนมากอาจจะเป็นหมื่นบริการ แต่เราต้องการเพียงแค่ สี่ หรือ ห้าบริการที่เกี่ยวของกัน จึงเป็นการเสียเวลาอย่างมากในการเสียเวลาในการค้นหา ยุคนี้จึงได้มีการรวมเอาบริการที่เกี่ยวข้องกันเหล่านั้นมารวมกันเป็นบริการเดียว แต่ก็ยังคงคุณภาพในการทำงานเหมือนเดิมทุกอย่าง ยุคนี้เรียกว่ายุค SOA
คุณลักษณะพื้นฐานของ Web Service
1. Web Service เป็นซอฟต์แวร์คอมโพเนนท์ที่ระบุตำแหน่งโดยใช้ URI
2. ภาษาที่ใช้อธิบาย Web Service ก็คือ ภาษา XML
3. Web Service สนับสนุนโปรโตคอลอินเตอร์เน็ท
4. Web Service ช่วยในการเชื่อมโยงโปรแกรมประยุกต์ต่างแพลทฟอร์มผ่านทางอินเตอร์เน็ท
5. Web Service จะมีลักษณะเป็นอิสระ และมีฟังก์ชันที่สมบูรณ์ในตัว
6. สามารถค้นหาและเรียกใช้งาน Web Service จาก registry ที่เป็นแบบ public หรือ private โดยใช้มาตรฐานกลางเช่น UDDI เป็นต้น
จุดเด่นของ Web Service
1. ความสามารถในการเชื่อมโยงโปรแกรมประยุกต์ที่หลากหลายโดยใช้มาตรฐานกลาง
2. ลดค่าใช้จ่ายในส่วนของการพัฒนาโปรแกรมใหม่ๆ เนื่องจาก Web Service สามารถนำระบบอื่น ๆ หรือ ซอฟท์แวร์คอมโพเนนท์อื่นๆ มาใช้ใหม่ได้ (reuse)
3. สามารถใช้ได้กับอุปกรณ์ที่หลากหลายไม่จำกัดเฉพาะคอมพิวเตอร์และสามารถเรียกใช้ได้ตลอดเวลา
4. สามารถจัดการระบบได้เองโดยไม่จำเป็นต้องมีคนมาคุม
5. ระบบจะใหญ่ขนาดไหนก็ไม่จำกัด
มาตรฐานหลักของเวปเซอร์วิส
ในการเรียนรู้เกี่ยวกับ Web Service นั้นจะต้องรู้จักภาษา XML ก่อนถึงทำงานกับ Web Service ได้ ภาษา XML นั้นเป็นภาษาที่เป็นมาตรฐานกลาง คือทุก ๆ ภาษาจะมี XML ซึ่ง XML ของแต่ละภาษานี้จะมีลักษณะที่เหมือนกันองค์ประกอบต่าง ๆ จะเหมือนกัน แต่อาจจะแตกต่างบ้างเล็กน้อยในส่วนย่อย ๆ ที่ไม่สำคัญ ดังนั้นการที่ภาษาต่าง ๆ จะติดต่อกันได้ก็จะต้องติดต่อกันผ่าน XML นั่นเอง
เมื่อเรารู้แล้วว่า XML คืออะไร ก็จะมาดูรายละเอียดว่าเมื่อเราจะนำภาษา XML ไปทำเป็น Web Service นั้นเราจะต้องรู้จักกับอะไรบ้าง
XML Schema (โครงสร้างของ XML)
การที่เราจะสร้างระบบที่ต้องใช้ XML ในการติดต่อข้อมูลหากันนั้น จะต้องมีสิ่งหนึ่งที่จะเป็นตัวบ่งบอกว่า ในแต่ส่วนหรือชื่อที่เรานำไปใช้เขียนใน XML Tag นั้นคืออะไรมีส่วนเกี่ยวข้องกับส่วนใดเราจำเป็นจะต้องมีส่วนที่อธิบายตรงนี้ด้วย สิ่งที่อธิบายนั่นก็คือ XML Schema นั่นเอง
เพราะฉะนั้นเราจะต้องมี XML Schema ทุกครั้งเมื่อเราทำการเขียนโปรแกรม
XML Namespace (กลุ่มของชื่อที่เป็นลักษณะเฉพาะ)
จะเป็นส่วนที่อธิบายต่อจาก XML Schema เพราะจะบ่งบอกว่า Tag นี้คืออะไร
ถ้าเราไม่ทราบ Schema เราก็จะไม่รู้ว่า name คืออะไร
เพราะฉะนั้นกลุ่มของชื่อที่เราได้อธิบายใน Schema นั้นจะเป็นตัวบอกว่าในเอกสาร XML ที่เราได้สร้างมานั้นมีลักษณะเฉพาะอะไรบ้างหรือชื่อเฉพาะอะไรบ้างนั่นเอง
WSDL (Web Services Description Language)
รูปแสดงลักษณะของเอกสาร WSDL
เป็นเอกสารที่อธิบายว่าระบบบริการนี้ ทำอะไรได้มีมีส่วนประกอบอะไรบ้าง จะต้องส่งข้อมูลอะไรไปบ้างและจะได้ข้อมูลอะไรกลับมา โดยจะอธิบายแบบคร่าว ๆ และจะบอก URL ของแหล่งเก็บข้อมูลหรือแหล่งที่ทำการประมวลผลของบริการ เพื่อทำการแลกเปลี่ยนข้อมูลถึงกัน
UDDI (Universal Description, Discovery, and Integration)
ทำหน้าที่เป็นไดเร็กทอรี่ของบริการ โดยรับลงทะเบียนบริการต่าง ๆ ที่ผู้ให้บริการมาประกาศไว้สำหรับให้ผู้ใช้บริการทำการสอบถามได้ในภายหลัง UDDI กำหนดรูปแบบในการประกาศข้อมูลเกี่ยวกับผู้ให้บริการและบริการ และกำหนด API สำหรับการประกาศและสอบถามข้อมูลดังกล่าว ผู้ให้บริการสามารถประกาศรายละเอียดเกี่ยวกับหน่วยงานของตน และให้รายละเอียดเกี่ยวกับบริการที่เปิดให้บริการ โดยระบุรายละเอียดเกี่ยวกับการติดต่อซึ่งมีข้อมูล URLสำหรับใช้ในการเรียกใช้บริการ และมีข้อมูลอ้างอิงไปยัง WSDL ของบริการ
ข้อมูลใน UDDI จะประกอบไปด้วยรายละเอียดเกี่ยวกับองค์กร (business Entity) รายละเอียดเกี่ยวกับเซอร์วิส (business Service) รายละเอียดเกี่ยวกับการติดต่อ (binding Template) URL สำหรับการเรียกใช้เซอร์วิส (access Point) และข้อมูลอ้างอิงไปยัง WSDL (tModelInstanceInfo) มาตรฐาน UDDI ล่าสุดเป็น เวอร์ชัน 3.0
SOAP Web Service Standard
SOAP เป็นโปรโตคอลที่กำหนดรูปแบบข้อมูล XML สำหรับการส่งข้อความระหว่างผู้ร้องขอข้อมูลกับผู้ให้บริการ เพื่อเป็นการแลกเปลี่ยนระหว่างข้อความที่ผู้ร้องขอส่งให้กับผู้ให้บริการ แล้วผู้ให้บริการก็ส่งข้อมูลที่เป็นผลลัพธ์ให้กับผู้ร้องขอ ส่วนการส่งข้อมูลนั้นสามารถส่งได้สองทางนั่นก็คือ โปรโตคอล HTTP กับ โปรโตคอล Web Service
การส่งข้อความ SOAP มีสองรูปแบบคือ SOAP-RPC และ SOAP message โดย SOAP-RPC ใช้ในการส่งข้อความเพื่อใช้เรียกเมธอดหรือ Procedure ซึ่งโดยมากจะเป็นรูปแบบ Synchronous โดย SOAP จะส่ง SOAP Request ส่วน SOAP-message ใช้ในการส่งข่าวสารหรือข้อมูลในรูปแบบ XML ระหว่างผู้ให้บริการและผู้ใช้บริการ โดยสามารถส่งได้ทั้งแบบ Synchronous และ Asynchronous
โครงสร้างของ SOAP มีดังนี้
- ส่วน SOAP Envelope : ใช้ในการอธิบายข่าวสาร ระบุเนื้อหา และกระบวนการจัดการข้อมูล
- ส่วน SOAP Transport : ใช้ในการอธิบายโพรโทคอลเกี่ยวกับการส่งข้อมูลเช่น HTTP หรือ SMTP
- SOAP Encoding : ใช้ในการอธิบายการเข้ารหัสเพื่อจับคู่ชนิดข้อมูล (data type) ที่ใช้ในโปรแกรมประยุกต์ XML element
อธิบายถึงการทำงานของ Web Service
เมื่อเราทราบแล้วว่าส่วนประกอบหลัก ๆ ของ Web Service มีอะไรบ้างแล้วทำหน้าที่อะไร มาดูกันว่าแต่ละส่วนนั้นทำงานร่วมกันอย่างไรบ้าง
ทางฝั่งจาวา จะมี JAVA EE 5 ซึ่งได้กำหนดคำสั่ง API สำหรับภาษาจาวาในการเรียกใช้ XML ต่าง ๆ ดังนี้
• JAX-WS (Java API for XML-Based Web Services) เป็นชุดคำสั่งภาษาจาวาเพื่อพัฒนาให้บริการเว็บเซอร์วิสและเรียกใช้เว็บเซอร์วิส โดยจะสนับสนุนมาตรฐานต่าง ๆ ของ W3C เช่น SOAP และ WSDL และสนับสนุนการส่งข้อมูลทั้งแบบ Asynchronous และ Synchronous พร้อมทั้งทำการ binding ข้อมูลโดยใช้ JAXB ดังนั้นนักพัฒนาโปรแกรมสามารถใช้ภาษาจาวาสร้างและเรียกเว็บเซอร์วิสได้ โดยไม่จำเป็นต้องพัฒนา SOAP หรือ WSDL เอง
• JAXB (Java Architecture for XML Binding) เป็นชุดคำสั่งภาษาจาวาเพื่อทำการจับคู่ (mapping) ข้อมูลที่เป็นภาษา XML กับออปเจ็คที่เป็นจาวาคลาส
• JAXP (Java API for XML Processing) เป็นชุดคำสั่งภาษาจาวาเพื่อแปล เปลี่ยนแปลง ตรวจสอบความถูกต้อง และค้นหา เอกสารหรือไฟล์ที่เป็นภาษา XML
• SAAJ (SOAP with Attachments API for Java) เป็นชุดคำสั่งภาษาจาวาเพื่อสนับสนุนการส่งเอกสาร XML ผ่านอินเตอร์เน็ต
• JAX-RPC (Java API for XML-Based RPC) เป็นชุดคำสั่งสำหรับพัฒนาเว็บเซอร์วิสเช่นเดียวกับ JAX-WS แต่จะใช้สำหรับ J2EE เวอร์ชัน 1.4 และสนับสนุน SOAP 1.1
• WSIT (Web Services Interoperability Technology) เป็นชุดคำสั่งภาษาจาวาเพื่อเชื่อมโยงระหว่าง Java EE และ .NET 3.0 ช่วยในการพัฒนาโปรแกรมผ่านสถาปัตยกรรม SOA
จากhttp://cits.mfu.ac.th/webboard3/viewtopic.php?t=231
Post a Comment