Services
Servers
PCs
1
เนื้อหา • • • • • •
Web Service คืออะไร องค์ประกอบพื้นฐานของ Web Service มาตรฐานและข้อกาหนดของ Web Service การทางานของ Web Service ประโยชน์ของ Web Service ชุดเครื่องมือที่สนับสนุนการพัฒนา Web Services 2
ก่อนจะมาเป็น Web Services t
ยุคของรูปแบบการพัฒนาเว็บไซต์ ***ความแตกต่างระหว่าง Web Services และ Web Application คืออย่างแรกเป็นการติดต่อระหว่างเครื่องกับเครื่องโดยตรง ในขณะที่ Web Application เป็นการสื่อสารระหว่าง “คน” กับเครื่อง 3
Web Services คืออะไร ? มาจากคาว่า Web
และ Services
Web Services คืออะไร ?
• เทคโนโลยีที่มีการเปิดให้ใช้บริการแอพพลิเคชั่น (Application Programming Interfaces) ซึ่งเครื่อง Client และ Sever ต่างๆ สามารถเรียกใช้บริหารได้ Web services จะเปิดเผย Method หรือ Function การทางาน ที่สามารถ เรียกใช้จากอุปกรณ์ต่างๆ ผ่านเครือข่ายอินเตอร์เน็ตและเครือข่ายโทรศัพท์ไร้สาย 5
ตัวอย่างงานที่ใช้ Web Services การนา Web Services มาประยุกต์ใช้งานจริง กับ Business-to-Business ,Government-to-Government , Government-to-Citizen and Government-to-business
6
ตัวอย่างงานที่ใช้ Web Services กรมธนารักษ์ กรมอุทยานแห่งชาติ สัตว์ป่า และพันธุ์พืช กรมที่ดิน
กรมส่งเสริม สหกรณ์
กรมส่งเสริมการ ปกครองท้องถิ่น
กรม กรมทรัพย์สิน โรงงานฯ ทางปัญญา กรุงเทพฯ
กรมพัฒนา สังคมฯ
สานักงาน การปฏิรูปที่ดิน เพือ ่ เกษตรกรรม
14.29
การเคหะ แห่งชาติ
ศูนย์ข้อมูลกลางการ แปลงสินทรัพย์เป็นทุน CIC
7
จุดเด่นของ Web Services WS = XML + HTTP + SOAP + WSDL + UDDI
• ผู้ใช้ไม่จาเป็นต้องศึกษา code การทางานของ Web Services เพียงแค่ นาเอาไปใช้เท่านั้น • ติดต่อกันด้วยภาษา XML • Web Service มีส่วนอธิบายการทางาน วิธีการใช้ผ่าน WSDL • Web Service สามารถค้นหาเพื่อนาไปใช้ได้ผ่าน UDDI • โพรโตคอล SOAP สามารถให้เราเรียกใช้คอมโพเนนต์ หรือ เว็บเซอร์วิส ข้าม เครื่อง ข้าม แพลตฟอร์มหรือข้ามภาษา ได้ โดยอาศัยโพรโตคอลที่มีอยู่เดิมใน อินเทอร์เน็ต อย่าง HTTP 8
Web Application VS Web Services Topic
Web Service
Web application
Connection
Program-program
Human-program
Langauge
XML
HTML
Protocol
SOAP+HTTP
HTTP
List name of Service
UDDI
Search engine
▶ Web Application = ติดต่อกับผู้ใช้ผ่านทาง Internet browser
▶ Web Service = ติดต่อกับ Web Server 9
องค์ประกอบพื้นฐานของ Web Services
SOAP Message
SOAP Listener 10
มาตรฐานและข้อกาหนดใน Web Service • ใช้ภาษา XML ซึ่งเป็นภาษามาตรฐานในการติดต่อ กับ Application ต่างๆ
• SOAP ( Simple Object Access Protocol ) คือ Protocol ในการ
สื่อสารของ Web Service เป็นโปรโตคอลการสื่อสารในระดับ Application Layer โดยผ่านอินเทอร์เน็ตโปรโตคอล อย่างเช่น HTTP, SMTP โปรโตคอลพัฒนา รากฐานมาจาก XML
• WSDL ( Web Services Description Language ) เป็นภาษา xml ที่ใช้ ในการอธิบาย Web Services ซึ่งทาให้ผู้เรียกใช้เว็บเซอร์วิสหรือโปรแกรมที่ต้องการ เรียกใช้เว็บเซอร์วสิ ทราบว่ามีโอเปอเรชั่นอะไรให้บริการ
• UDDI (Universal Description, Discovery and Integration) เป็นเหมือนตัวไดเรกทอรี่ที่เก็บหรือลงทะเบียนเว็บเซอร์วิส
11
มาตรฐาน SOAP •เป็นมาตรฐานของเทคโนโลยี Distributed Objects แบบหนึ่ง •ส่งข้อมูลผ่าน Internet/Web ในรูปแบบของ XML •ง่ายในการใช้งานด้วย Request/Response HTTP Protocol •เป็นมาตรฐานเปิดที่ทาให้สามารถติดต่อได้กับเครื่องคอมพิวเตอร์ที่แตกต่างกันได้ ทั้งระบบปฏิบัติการรวมไปถึงภาษาที่ใช้ในการพัฒนา
SOAP Services •SOAP – an XML-based protocol ที่ทาให้เรียกโปรแกรมผ่านทาง HTTP/Web Server ได้ •Remote Procedure Call ผ่านทาง Web •ทาให้เกิดเรียกใช้โปรแกรม (Software Components) ข้ามระบบได้ •Web Consortium (W3C) Support 12
การทางานของ Web Service • Service Request ค้นหา Service ผ่าน UDDI • UDDI Registry ส่งข้อมูลเอกสารวิธีการติดต่อ กับ Web Service ที่ Service Requester ต้องการด้วยเอกสาร WSDL • Client รับ WSDL Document และติดต่อกับ Web Service ผ่าน SOAP Protocol • Web Service ส่งผลลัพธ์และตอบกลับด้วย SOAP
13
การทางานของ Web Service
14
Key web services technologies 1. UDDI
2
WSDL Document
Registry
1
3
2.
3. 4.
4 5 6
5. 6.
Client queries registry to locate service Registry refers client to WSDL document Client accesses WSDL document WSDL provides data to interact with web service Client send SOAP message request Web service returns SOAP message respond
15
องค์ประกอบ ของ SOAP Message • Envelope ประกอบด้วย - Header ทาหน้าที่ในการระบุ node ที่ต้องใช้ทางานเมื่อ Web Service มีการทางานมากกว่า 1 node
- Body ระบุ data ข้อมูลที่จาเป็น • Attachment ข้อมูล data อื่นๆที่ต้องการจะส่งไปด้วย 16
SOAP • SOAP Message Structure
17
SOAP Message Exchange Model SOAP node
SOAP Sender
SOAP node SOAP (XML) Message
SOAP Receiver
SOAP message one-way transmission model SOAP node
SOAP node SOAP request
SOAP Sender
SOAP response
SOAP Receiver
SOAP message two-way transmission model 18
WSDL WSDL STRUCTURE WSDL เป็นภาษาที่อยู่ในความดูแลของ W3C (World Wide Web Consortium)
19
องค์ประกอบของ WSDL • • • • •
Type ระบุ data type ชนิดข้อมูลที่ Web Service ต้องการ import ระบุเมื่อต้องการนาเอาข้อมูลจากไฟล์ WSDL จากที่อื่นเข้ามา Message portType ระบุถึง method , interface Operation
• binding • service ระบุถึงที่อยู่ของ Web Services
20
UDDI • UDDI คือ มาตรฐานที่ให้ชุดพื้นฐาน APIs (Application Programming Interface) ของ SOAP ที่สามารถนามาใช้ ในการพัฒนาเป็นตัวแทนของผู้ให้บริการ (Service broker) UDDI ใช้สาหรับค้นหาบริการ ที่ต้องการและเมื่อได้มาแล้ว UDDI ยังจัดหาข้อตกลงในวิธีการที่จะใช้งานเปรียบได้กับบริการ Search Engine รูปแบบหนึ่ง
21
UDDI
22
ประโยชน์ของ Web Service • • • •
Open Standard ง่ายในการพัฒนาโปรแกรม โดยการ implement Web Services พันธมิตรทางการค้าสามารถเกิดขึ้นได้ตลอดเวลา โดยการค้นหาจาก UDDI การดาเนินธุรกิจการค้าและบริการสามารถเป็นไปได้แบบอัตโนมัติในระดับของ Application to Application (A2A) โดยการแลกเปลี่ยนข้อมูล ผ่านทาง Web Services
23
ประโยชน์ของ Web Service • Web Services สามารถใช้เป็นส่วนหนึ่งในการดาเนินธุรกิจตาม เฟรมเวิร์คของ ebXML • ง่ายต่อการนาไปใช้งานเนื่องจากในปัจจุบันมีเครื่องมือมากมายที่ใช้ ช่วยเหลือในการพัฒนา Web Services • ลดต้นทุนในการพัฒนาระบบบางอย่างที่ไม่จาเป็นโดยขอบริการจาก Web Services ของพันธมิตรทางการค้า
24
ความปลอดภัย ในการใช้งาน Web Services •เนื่องจากทางานอยูบ่ น Internet ซึ่งปัจจุบันมีเทคโนโลยีในการ รักษาความปลอดภัยมากมายรองรับอยู่แล้ว •Web Services สามารถวิ่งผ่าน Firewall ได้เนื่องจาก SOAP ถูกส่งโดยผ่านโปรโตคอล HTTP •ระบบรักษาความปลอดภัยตามมาตรฐานของ PKI (Public Key Infrastructure) เช่น MD5 (Message Digest), SSL (Secure Socket Layer) และ PGP (Pretty Good Privacy) 25
ชุดเครื่องมือที่สนับสนุน การพัฒนา Web Services Sun ONE (Sun Open Net Environment)
อื่นๆ
IBM
Web Services Toolkit ชุดเครื่องมืออื่นๆที่สนับสนุน SOAP, XML ทั้งทีเ่ ป็น Commercial Product และ Open Source
Sun Microsystem
Microsoft
การ พัฒนา Web Service 26
27