Web Services ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
J2EE Architecture for Web Application & Enterprise Programming
Advertisements

Dublin Core Metadata tiac. or
HTML เบื้องต้น ธวัชชัย สลางสิงห์.
Web services (SOAP).
ภัยคุกคามด้านความปลอดภัย
Transport Layer.
File Transfer (FTP), WWW, HTTP, DHCP.
Network programming Asst. Prof. Dr. Choopan Rattanapoka
Php with Database Professional Home Page :PHP
เกียรติพงษ์ ยอดเยี่ยมแกร
สนับสนุน Power Point โดย ผศ. ดร. สมนึก คีรีโต
การออกแบบเว็บเซอร์วิสสำหรับการจัดการบริการ ของมหาวิทยาลัย A Web Service Design for University Services Management.
การออกแบบและพัฒนาเว็บไซต์
RSS กับเครือข่ายห้องสมุด Digital
ELECTRONIC MAIL SMTP MIME.
XML Namespaces.
เกียรติพงษ์ ยอดเยี่ยมแกร
World Wide Web. You will know หัวเรื่องหลักๆทั้งหมด 5 หัวข้อดังนี้ Basic Web Concept Web application in daily life Essential Web Developer Language How.
Introduction to Server Services
HTTP (Hyper Text Transfer Protocol )
Download PHP. C:\windows\PHP.ini cgi.force_red irect = 0 พิมพ์แทรก.
Application Layer.
Mr. Winai Purikasem. Introduction  Hypertext model  Use of hypertext in World Wide Web (WWW)  WWW client-server model  Use of TCP/IP protocols in.
CHAPTER 1 INTRODUCTION TO JAVA WEB PROGRAMMING Wattanapong suttapak, Software Engineering, school of Information communication Technology, university of.
เทคโนโลยีสำหรับ โปรแกรมประยุกต์บนเว็บ ตอนที่ 2
Chapter 8 WWW.
การสื่อสารข้อมูล.
ICT in KM 03: เทคโนโลยีสนับสนุนการทำงานร่วมกันเป็นทีม
บทที่ 9 ความปลอดภัยระบบเครือข่าย
โรงเรียนห้วยเม็กวิทยาคม
Microsoft Access การใช้งานโปรแกรมระบบจัดการฐานข้อมูล
การสร้างเว็บเพจด้วยภาษา HTML
เครือข่ายสารสนเทศ Application Layer Network Application
Information Technology For Life
U C S m a r t Smart Organizing Solution by Unified Communication
การจัดทำมาตรฐานข้อมูล
บทที่ 3 โพรโตคอล ทีซีพีและไอพี TCP / IP
บทที่ 8 เครือข่ายการสื่อสารทางไกลระหว่างประเทศ
HTML5 (Hypertext Markup Language 5)
Wireless Network เครือข่ายไร้สาย
บทที่ 4 อินเตอร์เน็ต.
Service-Oriented Architecture
Crowded Cloud e-services: Trust and Security
อินเทอร์เน็ตและบริการออนไลน์
เว็บเซอร์วิส Web Services
เทคโนโลยีอินเทอร์เน็ต Internet Technology
TCP/IP Protocol นำเสนอโดย นส.จารุณี จีนชาวนา
เครือข่ายคอมพิวเตอร์
เอกสารประกอบการบรรยายรายวิชา Web Technology
การประชุมวิชาการประจำปี ศสท
บทที่ 5 แบบจำลองกระบวนการ
เทคโนโลยีสารสนเทศเพื่อการศึกษาค้นคว้า
อินเทอร์เน็ตเบื้องต้น
บทที่ 4 การใช้งานอินเทอร์เน็ตเบื้องต้น Introduction to Internet
การออกแบบระบบ System Design.
Chapter 6 Information System Development
อาจารย์ชนิดา เรืองศิริวัฒนกุล หลักสูตรสาขาวิชาเทคโนโลยีสารสนเทศ
อาจารย์สุธารัตน์ ชาวนาฟาง
UML (Unified Modeling Language)
Multimedia Production
Session 4: Web Services Dr. Nipat Jongsawat.
บทที่ 4 อินเตอร์เน็ต.
บทที่ 9 การออกแบบระบบ และการออกแบบยูสเซอร์อินเตอร์เฟช
ระบบเครือข่ายคอมพิวเตอร์ Internet
Session2 : SOA-Related Technology
แนวทางการเข้าถึงระบบบริการอิเล็กทรอนิกส์แบบรวมศูนย์ (Single Sign-On)
“Online Article Service & Tracking System”
ความรู้พื้นฐานเกี่ยวกับการสร้างเว็บไซต์
CIT2205 โปรแกรมประยุกต์ด้านการจัดการฐานข้อมูล
การพัฒนาเว็บไซต์ ในงานธุรกิจ
ใบสำเนางานนำเสนอ:

Web Services ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

หัวข้อนำเสนอ XML เบื้องต้น SOAP WSDL UDDI สรุป ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

Web Services คืออะไร เว็บเซอร์วิส (Web Services) เป็นการ "บริการ" ที่เป็นระบบซอฟต์แวร์ที่ออกแบบมาเพื่อสนับสนุนการทำงาน ระหว่างคอมพิวเตอร์กับคอมพิวเตอร์ผ่านระบบเครือข่าย โดยที่ภาษาที่ใช้ในการติดต่อสื่อสารระหว่างคอมพิวเตอร์ คือภาษาเอ็กซ์เอ็มแอล (XML) ตัวอย่างเช่น การบริการในการเช็คราคาหุ้นของตลาดหุ้นหลาย ๆ ที่และอ่านข่าวจากแหล่งข่าว ๆ หลายที่โดยให้เฉพาะข่าวของบริษัทที่ผู้ขอใช้บริการสนใจ ผู้ให้บริการเว็บเซอร์วิสหนึ่งอาจจะเป็นผู้ขอบริการเว็บเซอร์วิสอื่น ยกตัวอย่างเช่น เว็บเซอร์วิสที่ให้บริการข้อมูลก่อนการซื้อขายหุ้น อาจจะเป็นผู้ขอใช้บริการของเว็บเซอร์วิสที่ให้บริการการให้ข่าว Web Services Stack กำหนดเทคโนโลยีมาตรฐานหลาย ๆ ระดับที่ช่วยเชื่อมต่อการทำงานของระบบซอฟต์แวร์แบบองค์รวมได้ มีมาตรฐานขั้นสูงอื่น ๆ (WS-*) เช่น เรื่อง Transaction, Coordination, Security ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

Web Services คืออะไร เป็นทางเลือกหนึ่งของ Connection Technology ในการ Implement SOA ใช้มาตรฐานและเทคโนโลยีร่วมสมัยเป็นพื้นฐาน XML XML Schema SOAP WSDL UDDI HTTP Transport (Default) มีการกำหนด Web Services Architecture และ Web Services Stack เพื่อขยายขีดความสามารถในอนาคต Web Services Stack กำหนดเทคโนโลยีมาตรฐานหลาย ๆ ระดับที่ช่วยเชื่อมต่อการทำงานของระบบซอฟต์แวร์แบบองค์รวมได้ มีมาตรฐานขั้นสูงอื่น ๆ (WS-*) เช่น เรื่อง Transaction, Coordination, Security ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

เปรียบเทียบระหว่าง Web Application และ Web Services ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

Web Services Architecture Directory (UDDI) Consumer SOAP Finds Publishes Binds Service Contract (WSDL) สอดคล้องกับ SOA architecture ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

มาตรฐาน SGML(ISO 8879) ย่อมาจาก Standard Generalized Markup Language มาตรฐานสากลในการกำหนดโครงสร้าง (Structure) และเนื้อหา (Content) ของเอกสาร เพื่อการแลกเปลี่ยนเนื้อหาข้อมูลกัน (Interchangeable) โดยไม่ขึ้นกับอุปกรณ์ (device-independent) และไม่ขึ้นกับระบบ (system-independent) ใช้ DTD ในการตรวจทานโครงสร้างของเอกสารได้ มีขีดความสามารถสูงและซับซ้อน ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

มาตรฐาน XML XML ย่อมาจาก “eXtensible Markup Language” XML เป็นภาษาที่ใช้เป็น Meta-Language Meta Language คือภาษาที่ใช้อธิบายภาษาอีกภาษาหนึ่งได้นั่นเอง เป็นการประยุกต์ใช้งาน SGML ให้ง่ายโดยคงส่วนที่ดีของ SGML ไว้ มีความยืดหยุ่นและปรับใช้งานง่ายกว่า HTML XML ที่นำมาใช้งานจะประกอบด้วย XML Document XML Schema ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

ตัวอย่างของ XML Document <Book xmlns="http://keithba.com/Book" ISBN="12345"> <Title> Putting up with Kaith: A Guide for the Living </Title> <Author> Lara Ballinger </Author> <Publisher> ... Addison-Wesley </Publisher> </Book> ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

XML Element และ Attribute An XML document ประกอบด้วยชุดของ XML elements and attributes ที่เขียนขึ้นเพื่อบันทึกเนื้อหาข้อความ ตัวอย่างของ XML element: <Address> 100 Main Street, North Bend, WA 98045 </Address> เราบันทึกเนื้อหา textual data อยู่ระหว่าง เครื่องหมาย element เปิดชื่อ <Address> และปิดท้ายด้วยเครื่องหมาย element ปิดชื่อ </Address> เราสามารถเพิ่ม attribute ชื่อ addressType ภายในเครื่องหมาย element <Address> เพื่อเพิ่มเติมรายละเอียดตามต้องการได้คือ <Address addressType="Business"> ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

XML Namespace เราใช้ Namespace ใน XML Document เพื่อกำหนดที่มาของ element ที่อ้างถึงได้ Namespaces จะกำหนดไว้โดยใช้ attribute ชื่อ xmlns เช่น xmlns = “http://www.thai.ac.th/bookmark” ค่าที่กำหนดใน xmlns มักจะต้อง Unique เสมอ โดยทั่วไปมักจะใช้ URL เป็นค่าของ Namespace ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

ตัวอย่างการใช้ Namespace ใน XML <MyDocument> <Address xmlns="Keithba.com/Contacts” addressType="Business"> 100 Main Street, North Bend, WA 98045 </Address> <Address xmlns=“http://Keithba.com/Bookmarks” > http://www.msnbc.com </MyDocument> ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

การใช้ Namespace แบบย่อ <c:Contact xmlns:c="http://keithba.com/contacts" xmlns:b="http://keithba.com/bookmarks"> <c:Name>Keith Ballinger, Inc</c:Name> <c:Address c:addressType="Business"> 100 Main Street, North Bend, WA 98045 </c:Address> <b:Address> http://www.msnbc.com </b:Address> </c:Contact> ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

โครงสร้างแฟ้มข้อมูล XML โครงสร้างจะเป็น ต้นไม้ (Tree) มี Root Node มี Internal Node มี Leaf Node MyDocument Address Website <MyDocument> <Address xmlns="Keithba.com/Contacts" addressType="Business"> <Street> 100 Main Street, North Bend, WA 98045 </Street> <Country>USA</Country> </Address> <Website xmlns="http://Keithba.com/Bookmarks" > http://www.msnbc.com </Website> </MyDocument> Country Street http://www.msnbc.com 100 Main Street, North Bend, WA 98045 USA ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

XML มาเกี่ยวข้องอย่างไรในเว็บเซอร์วิส ระบบ Service Consumer จะทำการส่งคำร้องขอ (Request) ไปยังระบบ Service Provider คำร้องขอ (Request) จะเป็นข้อความแบบ Text เสมอ ข้อความแบบ Text นี้จะได้รับการเขียนเป็น XML Document เรียกว่า XML Message XML Message นี้เองที่ได้รับการส่งผ่านไปมา โดยบรรจุใน SOAP Envelope อีกทีหนึ่ง รวมกันเรียกว่า SOAP Message ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

XML Message สามารถได้รับการรักษาความปลอดภัยได้ไหม XML with Digital Signature XML with Encryption/Decryption Digital Signature เป็นเสมือนลายเซ็นอิเล็กทรอนิกส์ที่เพิ่มเข้ามาใน XML Message เพื่อใช้ในการระบุความเป็นต้นแบบที่ไม่ได้รับการแก้ไขของข้อความได้ Encryption/Decryption เป็นการนำเนื้อหาของ XML Message บางส่วนมาเข้ารหัสก่อนส่ง และถอดรหัสก่อนการอ่านจริงได้ ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

ทำไม XML จึงได้รับความนิยมมาก เนื่องจาก XML Document ที่ใช้บันทึกจะมีแฟ้ม XML Schema อธิบายชนิดของข้อมูลที่ใช้ บริษัทผู้ผลิตซอฟต์แวร์ต่างใช้ XML เป็นมาตรฐานในการแลกเปลี่ยนข้อมูลกันอย่างแพร่หลาย ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

XML Schema XML Schema คือแฟ้มข้อมูลที่ใช้อธิบายความหมายและเงื่อนไขต่างๆของข้อมูลที่มีอยู่ในแต่ละ Element และ Attribute ใน XML Document เรามักจะมี XML Schema เพื่ออธิบายแฟ้ม XML Document เสมอ ผู้รับข้อมูล XML Document สามารถทำความเข้าใจและตีความหมายของค่าใน Element และ Attribute ได้โดยใช้ XML Schema ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

ตัวอย่าง XML Schema ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

ตัวอย่างเอกสาร XML Document ที่เกิดขึ้น ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

XML Schema คืออะไรกันแน่ XML Document บันทึกเนื้อหาที่มี โดยมี Tag แทรกเพื่อกำกับหน้าข้อความ หรือตามหลังข้อความ XML Schema เป็นแฟ้มข้อมูลที่ใช้อธิบาย Tag ที่ใช้ใน XML Document โดยระบุชนิดข้อมูล ช่วงค่าเริ่มต้นและค่าสูงสุด ตลอดจนรูปแบบของข้อมูล XML Schema จะใช้คู่กับ XML Document เสมอ ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

XML Schema มีประโยชน์อย่างไร XML Schema จะกำหนดคำนิยามในการทดสอบและตรวจสอบความถูกต้องของเอกสาร XML Document ได้ว่าเป็นไปตามมาตรฐานหรือไม่ ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

เราสามารถสร้าง Tag ชื่อใหม่ๆตามต้องการได้หรือไม่ <MyCompanyName …> … </MyCompanyName> <MyFriendName …> … </MyFriendName> จากนั้นก็นำคำใหม่ที่มีไปอธิบายในแฟ้ม XML Schema ได้ โดยระบุชนิดและค่าที่เป็นไปได้ ตลอดจนรูปแบบ Tag ชื่อใหม่ๆ ที่กำหนดขึ้นนี้ สามารถใช้งานร่วมกันได้ โดยผู้ใช้ทุกระบบที่ได้รับเอกสาร XML Schema ไปแล้วก็สามารถนำมาสนับสนุนการอ่านความหมายของ XML Document ที่เกี่ยวข้องกันได้เสมอ ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

องค์กรใดเป็นผู้กำหนดมาตรฐาน XML Schema World Wide Web Consortium (W3C) เป็นองค์กรที่ดูแล กำหนดมาตรฐาน XML Schema เราเรียกว่า W3C XML Schema ก็ได้ W3C XML Schema ได้รับการกำหนดขึ้นมาเพื่อเป็นทางเลือกหนึ่งในการใช้งานแทน DTD (Document Type Definition) ซึ่ง DTD ก็สามารถใช้อธิบายชนิดข้อมูลใน XML Document ได้เช่นเดียวกัน ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

XML Schema ดีกว่า DTD หรือไม่ W3C XML Schema สามารถอธิบาย Tag ในเอกสาร XML Document ได้เช่นเดียวกับ DTD W3C XML Schema ดีกว่า DTD มีความยืดหยุ่นในการกำหนด Type มากกว่า XML Schema เป็น XML Format ด้วย จึงทำให้สามารถจัดการได้ง่ายกว่า ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

ยกตัวอย่าง DTD vs. XML Schema เทียบกันได้ไหม <!ELEMENT wellName (#PCDATA)> <!ATTLIST wellName type (API10 | API12 | API14 | CPA | WWN | IRIS21 | NPD | DTI | LOCALFIELD | SHORTNAME | PROJECTNAME | UNKNOWN | OTHER) #REQUIRED> XML Schema <elementType name = "wellName"> <datatypeRef name = "string"/> <attrDecl name = "type" required = "true"> <datatypeRef name = "ENUMERATION"> <enumeration> <literal>API10</literal> <literal>API12</literal> <literal>API14</literal> <literal>CPA</literal> ... </enumeration> </datatypeRef> </attrDecl> </elementType> ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

SOAP (Simple Object Access Protocol) ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

SOAP คืออะไร เป็น Protocol ในการสื่อสารกันระหว่าง Application กำหนดรูปแบบในการส่งผ่านข้อความโดยผ่านเครือข่ายอินเทอร์เน็ต ไม่ขึ้นกับ Platform และภาษาคอมพิวเตอร์ที่พัฒนา มีโครงสร้างแบบ XML เช่นกัน SOAP Message เป็นข้อความที่ใช้ส่งผ่านเครือข่ายอินเทอร์เน็ต และเมื่อใช้ร่วมกับเว็บ สามารถส่งผ่าน Firewall ได้ไม่ยาก ได้รับการดูแลโดย W3C ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

การส่ง SOAP Message Service Application Client Application Internet HTTP SOAP Message Client Application Internet ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

SOAP ได้รับการ Implement อย่างกว้างขวาง กลุ่มผู้ผลิตกว่า 80 บริษัทได้ Implement SOAP เวอร์ชัน 1.1 ไว้ในผลิตภัณฑ์ของตน SOAP 1.1 เป็นที่แพร่หลาย และเป็นทางเลือกที่ดีสำหรับการใช้ส่งข้อความไปมาบนเครือข่ายเว็บ มีการ Implement SOAP ไว้ในผลิตภัณฑ์ของแต่ละบริษัท เช่น Apache SOAP, SOAP for Java (ค่าย IBM), Microsoft SOAP ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

SOAP จะเน้นที่ความง่าย ผู้พัฒนาต้นแบบข้อกำหนดของ SOAP มีความตั้งใจให้ SOAP เป็นข้อกำหนดที่ เล็กและง่าย (Small and Simple) ความที่มีขนาดเล็กและง่าย ส่งผลให้ SOAP ได้รับการสนับสนุนและพัฒนาได้ง่ายเพื่อให้ SOAP เป็นส่วนหนี่งของผลิตภัณฑ์ทั่วไปได้ SOAP ได้รับการพัฒนาดัดแปลง เพิ่มเติมให้มีขีดความสามารถมากขึ้นตามผลิตภัณฑ์ด้วย ทำให้ต้องมีองค์กรกลางคอยควบคุมดูแลมาตรฐานกลาง W3C จะเป็นผู้รับหน้าที่ในการดูแลการพัฒนาปรับปรุง SOAP ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

SOAP ทำหน้าที่ส่งข้อความให้กับเว็บเซอร์วิส SOAP ย่อมาจาก Simple Object Access Protocol SOAP ทำหน้าที่ส่งข้อความจากต้นทางที่หนึ่งไปปลายทางอีกที่หนึ่งผ่านเครือข่ายได้ SOAP เป็น XML Document ประเภทหนึ่งที่สามารถได้รับการส่งผ่านเครือข่ายโดยใช้โปรโตคอลแบบเว็บได้ เว็บเป็นโปรโตคอลที่เป็นที่นิยมที่สุดในขณะนี้ ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

SOAP สามารถขยายขีดความสามารถของ HTTP ในการส่งผ่านข้อความ XML โดยทั่วไปเราสามารถร้องขอการแสดงผลหน้าจอ HTML Page ได้จากการทำ HTTP Request จากโปรแกรม Browser ที่ห่างไกลไปสู่ HTTP Server HTML Page จะได้รับการส่งผ่านไปมาบนเครือข่าย โดยแนบไปกับ HTTP Message ได้ กรณี SOAP เป็นส่วนขยายสำหรับ HTTP (HyperText Transport Protocol) เพื่อทำให้สามารถส่งผ่าน XML ไปมาผ่านเครือข่าย โดยแนบไปกับ HTTP Message อีกต่อหนึ่งได้เช่นเดียวกัน SOAP Message จะห่อหุ้ม XML Document ไว้ SOAP Message จะได้รับการแนบไปกับ HTTP Request ไปสู่ปลายทาง HTTP Server SOAP Message จะได้รับการแนบตอบกลับมากับ HTTP Response จาก HTTP Server HTTP Server จะมีส่วนประกอบสำคัญเรียกว่า HTTP Listener ทำหน้าที่ตรวจรับและส่งผ่าน HTTP Message เสมอ เมื่อ HTTP Server ได้รับ HTTP Message ที่มี SOAP Message แนบมาด้วย SOAP Message ที่แนบมาจะได้รับการส่งต่อไปให้ SOAP Processor ต่อไป ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

แผนภาพการส่งผ่าน SOAP แนบไปกับ HTTP Message SOAP Message XML request Message Do RPC call HTTP Engine HTTP Engine Procedure SOAP Engine SOAP Engine SOAP Message XML reply Message ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

โครงสร้างของ SOAP SOAP BODY FAULT SOAP message หนึ่งๆใดจะประกอบด้วย : SOAP ENVELOPE FAULT SOAP HEADER Transport protocol MIME header SOAP message หนึ่งๆใดจะประกอบด้วย : ส่วน Envelope ส่วน Header (Optional) actor attribute mustUnderstand attribute ส่วน Body โดยที่ส่วน Body อาจจะมี element ชื่อ Fault ปรากฏอยู่ด้วย ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

ตัวอย่าง SOAP แนบกับ HTTP Message 1 HTTP Header Example POST /xt/services/ColorRequest HTTP/1.0 Content Length: 442 Host: localhost Content-type: text/xml; charset=utf-8 SOAPAction: "/getColor" <!?xml version="1.0" encoding="UFT.8"?> <env:Envelope env:encodingStyle="http://schemas.xmlsoap.org/SOAP/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/SOAP/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> ... SOAPAction 2 SOAP Message 3 ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

ตัวอย่าง SOAP Message ทั่วไปที่พบ 1 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/encoding/" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <soap:Header> ... ... </soap:Header> <soap:Body> <!-- User request code here --> <soap:Fault> </soap:Fault> </soap:Body> </soap:Envelope> 2 3 ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

SOAP with Attachment (SwA) SOAP มักจะมี XML Message อยู่ในส่วน Body SwA เป็นทางเลือกในการส่ง XML Message ขนาดใหญ่มาก ๆ หรือ Message ที่ไม่ได้เป็น XML-based เช่น รูปภาพ Binary ขนาดใหญ่ หรือแฟ้มเสียง MP3 ขนาดใหญ่ เป็นต้น ใช้ MIME multipart/related media type และการอ้างอิงโดยURI ในส่วนต่าง ๆ ของ MIME ถึง Attachment ที่ต้องการ ได้รับการดูแลโดย W3C ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

โครงสร้าง SwA MIME Content-Type …Part1 Content-ID … SOAP Message ควรเป็น <SOAP:Envelope> Attachment Image ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

การใช้ SOAP Attachment Transport protocol โดยทั่วไป เราไม่นิยมส่งผ่านข้อมูลที่เป็นแฟ้มข้อมูลแบบ Binary Data ในส่วน SOAP Body แฟ้มข้อมูล Binary Data มักจะมีขนาดใหญ่มากไม่เหมาะกับการส่งมาเป็นส่วนหนึ่งของ SOAP Body เช่นกัน การส่งผ่านแฟ้มข้อมูล Binary Data ขนาดใหญ่มากๆ นิยมส่งกันเป็น SOAP Attachment คล้ายกรณี email attachments. MIME header SOAP ENVELOPE SOAP HEADER SOAP BODY FAULT Attachment ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

ตัวอย่าง SOAP with Attachments MIME-Version: 1.0 Content-Type: Multipart/Related; boundary=example-boundary; type=application/xop+xml; start="<myInfo.xml@myCompany.example.org>"; startinfo="application/soap+xml;action=\"http://myCompany.example.org/Action\"" Content-Description: Optimized SOAP message example example-boundary Content-Type: application/xop+xml; charset=UTF-8 type="application/soap+xml;action=\"http://myCompany.example.org/Action\"" Content-Transfer-Encoding: 8bit Content-ID: myInfo.xml@myCompany.example.org> 1 3 2 <?xml version="1.0"?> <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xmlmime="http://www.w3.org/2004/06/xmlmime"> <env:Body> <m:myLogo xmlns:m="http://example.org/logo" xmlmime:contentType="?mage/jpg"><xop:Include xmlns:xop="http://www.w3.org/2003/12/xop/include" href="cid:logo.gif@myCompany.example.org"/> </m:myLogo> ::: <p:myPhoto xmlns:p="http://example.org/photos" xmlmime:contentType="image/jpg"><xop:Include href="cid:johnPhoto.jpg@myCompany.example.org"/> </p:myPhoto> </env:Body> </env:Envelope> example-boundary Content-Type: image/jpg Content-Transfer-Encoding: binary Content-ID: <logo.gif@myCompany.example.org> ::: the binary data ::: Content-ID: <johnPhoto.jpeg@myCompany.example.org> 4 ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

Web Services Description Language (WSDL) ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

ผู้เริ่มคิดออกแบบ WSDL WSDL (Web Services Description Language) เป็นภาษาที่ใช้อธิบายคุณลักษณะการใช้บริการของ Web Service และวิธีการติดต่อกับ Web Service WSDL ได้รับการพัฒนาออกแบบโดยกลุ่มบริษัทผู้ผลิต ได้แก่ Microsoft, Ariba, IBM และบริษัทผู้ผลิตอื่นๆอีกกว่า 20 บริษัทร่วมกันสนับสนุน ข้อกำหนด WSDL V1.1 ได้รับการส่งต่อไปให้ W3C (World Wide Web Consortium) ดูแลปรับปรุงต่อไป WSDL เป็นเสมือน De Facto Standard ในปัจจุบันสำหรับการพัฒนาเว็บเซอร์วิส ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

ส่วนประกอบหลักของ WSDL Data types Message Operation Port type Binding Port Service ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

ส่วน Data Type และ Message ส่วน Data Type เป็นส่วนที่ใช้อธิบาย Data แต่ละชนิดที่มีใช้และอ้างอิงถึงใน WSDL การอธิบาย Data Type นั้นจะเป็นทำโดยใช้ XML Schema ส่วน Message เป็นการกำหนดชุดของข้อมูลที่ใช้ในการส่งเป็น Input Parameter และชุดข้อมูลที่ใช้ในการตอบกลับของบริการเว็บเซอร์วิส ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

ส่วน Operation และ Port Type ส่วน Operation เป็นการกำหนดชื่อ Operation พร้อมรายละเอียดการส่งข้อมูลนำเข้า Input Message เข้าสู่การทำงาน และอธิบายผลลัพธ์ที่ได้ว่าเป็น Output Message ใด ส่วน Port type เป็นการจัดกลุ่มของ Operation ที่มีอยู่ในเว็บเซอร์วิส โดยเรียกได้ว่าเป็น Set of Operations ที่ได้รับการจัดรวมกลุ่มเพื่อใช้ในการทำ Binding ต่อไป ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

ส่วน Binding Port และ Service ส่วน Binding กำหนดให้กลุ่ม Operation ที่มีอยู่ใน Port Type ใดๆสามารถให้บริการผ่านทาง Transport ใดได้บ้าง นั่นหมายถึง Port Type หนึ่งใดสามารถจะให้บริการผ่าน Transport ได้หลายชนิด Transport ในเว็บเซอร์วิสมักจะใช้ HTTP ส่วน Port กำหนดตำแหน่ง Address ที่ผู้ใช้บริการจะเข้ามาใช้บริการจากเว็บเซอร์วิสได้ โดยกำหนด Endpoint Address เข้ากับส่วน Binding ใดๆที่มีอยู่ ส่วน Service เป็นกลุ่มของ Port ที่ระบุ Endpoint Address สำหรับให้บริการแล้ว ผู้ใช้บริการ Service Consumer ที่อยู่ภายนอกสามารถอ้างถึง Service นี้ได้ ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

แผนภาพ Service ใดๆ Service Port Port Port Port Type Port Type Port Type Operation1 Operation1 Operation1 Operation2 Operation2 Operation2 Binding … Binding … Binding … Network Address Network Address Network Address Services group operations in the same way that objects or classes group methods ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

1 ตัวอย่างการกำหนด Type และ Message สำหรับเว็บเซอร์วิส Purchase Order Service 2 3 ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

ส่วน Root ของ WSDL file 1 ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

ส่วน Type ของ WSDL file 1 ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

ส่วน Message ของ WSDL file 1 ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

ตัวอย่าง Operation ชนิด Request/Response 1 2 3 ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

ส่วน Binding ใน WSDL file 1 2 ส่วน Binding ใน WSDL file ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

ส่วน Service 1 2 3 ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

Universal Description, Discovery, and Integration (UDDI) ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

Universal Description, Discovery, and Integration (UDDI) UDDI สนับสนุนโดย OASIS UDDI จะจัดเก็บ WSDL ของบริการเว็บเซอร์วิสใหม่ๆ ที่ได้รับการทำ Register เข้ามาเพื่อให้บริการค้นหาได้ UDDI ก็คือ Repository ของบริการเว็บเซอร์วิสนั่นเอง ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

Public UDDI Public UDDI คือกลุ่มผู้ทำหน้าที่ให้บริการการสืบค้นบริการเว็บเซอร์วิสในเครือข่ายอินเตอร์เน็ต กลุ่มผู้ดูแล Public UDDI IBM Microsoft SAP HP NTT Etc ข้อมูลที่ทำการ Register จะกระจายไปทั่วถึงกันในกลุ่มผู้ดูแล Public UDDI โดยอัตโนมัติ ผู้ใช้ Public UDDI สามารถส่ง SOAP Request ไปร้องขอการค้นหาเว็บเซอร์วิสที่ตนต้องการได้จากบริษัทใดหนึ่งๆ ในกลุ่มผู้ดูแล ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

UDDI Operators Microsoft UDDI IBM Server UDDI Server HP SAP UDDI UDDI Others UDDI Server ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

สรุป SOA เป็น Architecture ที่ได้รับการสนใจมากขึ้นเพราะมีส่วนช่วยในการทำ Integration Web Services เป็นเทคโนโลยีทางเลือกในการพัฒนา SOA XML, SOAP, WSDL, UDDI ได้รับเลือกให้มาเป็นมาตรฐานในการพัฒนา Web Services ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services