งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

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

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Web Services ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์"— ใบสำเนางานนำเสนอ:

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

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

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

4 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

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

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

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

8 มาตรฐาน 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

9 ตัวอย่างของ XML Document
<Book xmlns=" 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

10 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

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

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

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

14 โครงสร้างแฟ้มข้อมูล 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=" > </Website> </MyDocument> Country Street 100 Main Street, North Bend, WA 98045 USA ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

15 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

16 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

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

18 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

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

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

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

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

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

24 องค์กรใดเป็นผู้กำหนดมาตรฐาน 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

25 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

26 ยกตัวอย่าง 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

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

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

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

30 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

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

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

33 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

34 แผนภาพการส่งผ่าน 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

35 โครงสร้างของ 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

36 ตัวอย่าง 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=" xmlns:xsd=" xmlns:env=" xmlns:xsi=" ... SOAPAction 2 SOAP Message 3 ศูนย์เชียวชาญฉพาะทางด้านวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย Service-Oriented Architecture Session 4 : Web Services

37 ตัวอย่าง SOAP Message ทั่วไปที่พบ
1 <soap:Envelope xmlns:soap=" soap:encodingStyle=" <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

38 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

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

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

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

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

43 ผู้เริ่มคิดออกแบบ 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

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

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

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

47 ส่วน 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

48 แผนภาพ 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

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

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

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

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

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

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

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

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

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

58 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

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

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


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

งานนำเสนอที่คล้ายกัน


Ads by Google