software architecture

36
Software Architecture 18/01/10

Upload: abia

Post on 09-Jan-2016

49 views

Category:

Documents


0 download

DESCRIPTION

Software Architecture. 18/01/10. เทคโนโลยีเว็บเซอร์วิส. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Software Architecture

Software Architecture

18/01/10

Page 2: Software Architecture

เทคโนโลยี�เว็บเซอร์�ว็�ส

• เว็�บเซอร์�ว็ส เป็ นร์ะบบซอร์�ฟแว็ร์�ที่��ร์องร์�บการ์ที่�างานร์�ว็มก�นร์ะหว็�างเคร์��องคอมพิว็เตอร์�ที่��แตกต�างก�นในเน�ตเว็ร์�ค โดย เว็�บเซอร์�ว็สจะใช้' Web Service Discripsion language(WSDL) ในการ์อธิบายการ์อนเตอร์�เฟส ในขณะที่��ร์ะบบอ��นสามาร์ถเร์�ยกใช้' เว็�บเซอร์�ว็สได'โดยผ่�านที่าง SOAP messages ซ.�งที่�างานบน HTTP (Hypertext Transfer Protocol)

• ในต�ว็ของ เว็�บเซอร์�ว็สเองม�หลั�กการ์พิ�0นฐานมาจาก Service-Oriented Architecture (SOA) ซ.�ง ร์ะบบซอร์�ฟแว็ร์�ที่�0งหมดจะถ2กกร์ะจายเสม�อนเป็ นช้3ดของบร์การ์ ในการ์ที่��จะอน3ญาตให'ร์ะบบอ��นได'ใช้' เว็�บเซอร์�ว็ส เหลั�าน�0 ต'องม�กลัไกที่��เป็ นที่างการ์ในการ์อธิบาย การ์ค'นหา แลัะการ์เร์�ยกใช้'บร์การ์

Page 3: Software Architecture

SOA

ภาพท�� 2-1 ร์�ปบบการ์ท�างานร์�ว็มก�นในสถาป!ตยีกร์ร์มแบบ Service-Oriented Architecture

Page 4: Software Architecture

• จากร์2ป็จะเห�นว็�า Service-Oriented Architecture ป็ร์ะกอบด'ว็ย Service Provider Service Registry แลัะ Service Consumer ในส�ว็นของการ์ที่�างานหลั�กของ service provider เป็ นการ์ใช้'ฟ5งก�ช้�นของ เว็�บเซอร์�ว็ส โดย provider จะใช้'ว็ธิ�มาตร์ฐานในการ์อธิบายการ์อนเตอร์�เฟสฟ5งก�ช้�นเหลั�าน�0น ส3ดที่'าย ก�จะบอกว็ธิ�การ์อนเตอร์�เฟสเหลั�าน�0ให'ก�บ service registry เพิ��อที่��จะยอมให' service consumer ที่�าการ์ค'นหาบร์การ์ต�างๆ [18] โดยที่��จะมอง service registry เสม�อนเป็ น Web services library จะตอบร์�บ เว็�บเซอร์�ว็สที่�0งหมดที่��ป็ร์ะกาศไว็'โดย service providers แลัะแสดงเว็�บเซอร์�ว็สเหลั�าน�0นต�อผ่2'ใช้'บร์การ์ ด'ว็ยว็ธิ�การ์น�0 ผ่2'ใช้'บร์การ์จะสามาร์ถค'นหาข'อม2ลัที่��แสดงถ.งว็ธิ�การ์ตดต�อ(binding) แลัะเร์�ยกใช้' เว็�บเซอร์�ว็สได'

Page 5: Software Architecture

• ผ่2'ใช้'บร์การ์ จะใช้'บร์การ์ของเว็�บเซอร์�ว็ส ที่��ได'จาก service providers เพิ��อให'ได'ป็ร์ะโยช้น�ส2งส3ด อ�นด�บแร์ก ผ่2'ใช้'บร์การ์จะเป็8ดข'อม2ลัการ์อนเตอร์�เฟสของบร์การ์จาก service registry แลัะจากการ์อนเตอร์�เฟสของบร์การ์น�0น ผ่2'ใช้'บร์การ์ก�จะได'ที่ร์าบถ.งช้��อเมธิอดช้นดของข'อม2ลัพิาร์ามเตอร์� แลัะที่ร์านสป็อร์�ตโป็ร์โตคอลั ในการ์เร์�ยกใช้'เมธิอด ต�อจากน�0นจะใช้'ข'อม2ลัน�0ในการ์ผ่2กก�บเว็�บเซอร์�ว็ส ส3ดที่'ายแลั'ว็ผ่2'ใช้'บร์การ์ก�จะสามาร์ถเร์�ยกใช้' เว็�บเซอร์�ว็ส ได' เที่คโนโลัย�ที่��ร์องร์�บกฎพิ�0นฐานสามข'อน�0ได'แก� UDDI WSDL แลัะ SOAP

Page 6: Software Architecture

SOAP แลัะองค�ป็ร์ะกอบ

• SOAP เป็ น xml base protocol ที่��น�ามาใช้'ในการ์แลักเป็ลั��ยนข'อม2ลัโดยใช้'ร์2ป็แบบของ xml ในการ์อธิบาย methods แลัะ ค�า parameters เพิ��อสร์'างการ์เร์�ยกใช้'ในร์ะยะไกลัข'ามเคร์�อข�ายผ่�านที่าง HTTP ด�งน�0น SOAP จ.งที่�าให'การ์ส��อสาร์ร์ะหว็�าง application ที่��ที่�างานบนร์ะบบป็ฏิบ�ตการ์แลัะ programming language ที่��ต�างก�นได' SOAP ม�องค�ป็ร์ะกอบด�งต�อไป็น�0

Page 7: Software Architecture

• SOAP envelopeเป็ นต�ว็ก�าหนด framework ที่�0งหมดของ SOAP message แลัะสร์'างองค�ป็ร์ะกอบต�างๆที่��เป็ นร์ากฐานของ packet ที่��ถ2กส�งออกไป็ SOAP envelope ย�งที่�าหน'าที่��ห�อห3'ม SOAP header , SOAP body ของ SOAP message อ�กด'ว็ย

Page 8: Software Architecture

• SOAP Headerส�ว็นป็ร์ะกอบต�างๆของ SOAP header จะม�คว็ามส�มพิ�นธิ�ก�บองค�ป็ร์ะกอบต�างๆใน SOAP body โดยที่�าการ์ร์องร์�บข'อม2ลั เก��ยว็ก�บ payload ที่��อย2�ใน SOAP body แลัะเน��องจาก SOAP ไม�ม�กฎตายต�ว็ในเร์��องของช้นดข'อม2ลัที่��ถ2กใส�ไว็'ใน SOAP header ซ.�งเป็ นข'อด�ที่��สามาร์ถใส�ข'อม2ลัที่��ต'องการ์ได'เช้�น session ID, user name , password ของผ่2'ส�ง ข'อม2ลัที่��น�ามาใช้'ในการ์ที่�า authentication หร์�อ ข'อม2ลัส�าหร์�บจ�ดการ์ transaction เป็ นต'น

Page 9: Software Architecture

• SOAP bodyเป็ นที่��ซ.�งบร์ร์จ3การ์กร์ะที่�าที่�0งหมด แลัะเป็ นที่��ๆข'อม2ลัข�าว็สาร์ถ2กส�งผ่�านไป็ย�งเว็�บเซอร์�ว็ส ซ.�งก�ค�อเป็ นส�ว็นที่��ที่�าการ์แลักเป็ลั��ยนข'อม2ลัก�บผ่2'ร์ �บ SOAP message น�0นเอง แลัะบางคร์�0งอาจจะม�ส�ว็นของ SOAP fault ที่��ถ2กน�ามาใช้'ในการ์น�าส�งที่��ผ่ดพิลัาดแลัะข'อม2ลัเก��ยว็ก�บสถานะ

Page 10: Software Architecture

• SOAP ม�ร์ะบบพิ�0นฐานที่��ส�าค�ญอย2�ส��ส�ว็นได'แก� SOAP Client SOAP Server Web Server แลัะ Web Service ด�งร์2ป็ที่�� 2-3

Page 11: Software Architecture

• SOAP Client ที่�าหน'าที่��ส�ง SOAP request แลัะร์�บ SOAP response ผ่�านโป็ร์โตคอลั HTTP Web Server จะที่�าหน'าที่��ร์ �บ SOAP request แลัะตอบกลั�บไป็ย�ง SOAP Client ในคว็ามเป็ นจร์งแลั'ว็ Web Server คว็ร์ที่��จะม�ส�ว็นที่��ที่�างานเป็ น SOAP Server อย2�ในต�ว็เพิ��อที่��จะสามาร์ถว็เคร์าะห�ได'ที่� 0ง SOAP message แลัะ HTTP Header

Page 12: Software Architecture

• SOAP Server ว็เคร์าะห� SOAP request message เร์�ยก web service ที่��ตร์งตามคว็ามต'องการ์ แลัะสร์'าง SOAP response message ไป็ย�ง Client

• Web Serviceให'บร์การ์แก� Client ซ.�งหน'าที่��ของบร์การ์ต�างๆข.0นอย2�ก�บคว็ามต'องการ์ที่างธิ3ร์กจ Web Service อาจจะม�โป็ร์แกร์ม back end database ไว็'ร์องร์�บการ์บร์การ์เพิ��อเพิ�มศ�กยภาพิในการ์ให'บร์การ์

Page 13: Software Architecture

UDDI• Universal Description, Discovery and Integration

(UDDI) ที่�างานเป็ น service registry ใน Service-Oriented Architecture(SOA) ม�นจะบอกถ.งว็ธิ�การ์ที่�� Web service ลังที่ะเบ�ยนข'อม2ลัการ์ให'บร์การ์ของม�นให'ก�บ service depository แลัะอน3ญาตให' service consumers ค'นหาการ์บร์การ์ที่��ได'ลังที่ะเบ�ยนไว็'แลั'ว็แลัะยอมให'ใช้'บร์การ์น�0นได' [4] หร์�อกลั�าว็ได'ว็�า UDDI จะให'กลัไกในการ์ที่�าการ์ลังที่ะเบ�ยนแก� Web services ที่��กร์ะจายที่��ว็ไป็ในอนเตอร์�เน�ตแลัะให'ว็ธิ�การ์ในการ์ในการ์ค'นหาแก� service consumers หน'าที่��ของ UDDI จะคลั'ายก�บการ์ที่�า Naming Services ของ CORBA แลัะ RMI (Remote Method Invocation) [5]

Page 14: Software Architecture

WSDL

• Web Services Description Language (WSDL) ค�อร์2ป็แบบของ XML ในการ์อธิบาย Web services ที่��เป็ นข'อม2ลัต�างๆของการ์ส��อสาร์ร์ะหว็�าง end points ที่��ซ.�งสามาร์ถแลักเป็ลั��ยนข'อคว็ามที่��แน�นอนได' [19] เม��อ Web service ได'ป็ร์ะกาศการ์ให'บร์การ์ของม�นไป็ย�ง UDDI registry แลั'ว็ ม�นจะเป็ นเอกสาร์ WSDL ซ.�งจะได'น�ามาใช้'ในการ์อธิบาย Web service น�0น อ�นที่��จร์งแลั'ว็เอกสาร์ WSDL จะให'การ์อนเตอร์�เฟสของ Web service แก� user เพิ��อที่��จะ bind แลัะใช้'ส��อสาร์ก�บบร์การ์ เช้�นใน IDL ของ CORBA [20].

Page 15: Software Architecture

ร์ะบบกร์ะจายศ2นย�(distributed system)

• การ์ให'บร์การ์ในร์ะบบกร์ะจาย เป็ นการ์ที่�างานในลั�กษณะช้3ดของการ์ที่�างานร์�ว็มก�นในการ์ด�าเนนการ์ของเซอร์�ฟเว็อร์�ที่��ได'กร์ะจายอย2�ร์ะหว็�างเคร์��องคอมพิว็เตอร์�จ�านว็นมาก ซ.�ง การ์ด�าเนนการ์ของเซอร์�ฟเว็อร์�เหลั�าน�0จะร์�บ requests จากการ์ด�าเนนการ์ของผ่2'ใช้'บร์การ์แลัะร์�ว็มก�นจ�ดการ์ข'อม2ลัแลัะป็ร์ะมว็นผ่ลัการ์ให'บร์การ์

• โดยป็กตแลั'ว็การ์ด�าเนนการ์จะม�ช้�0นของการ์ส��อสาร์ในการ์ส�งข'อม2ลั แลัะช้�0นของการ์ส��อสาร์น�0จะให'การ์ร์�บร์องการ์ส��อสาร์ที่��แตกต�างก�น ต�ว็อย�างเช้�น การ์จ�ดลั�าด�บข'อคว็ามแบบ FIFO (FIFO message ordering ) ซ.�งเป็ นการ์ร์�บแลัะส�งข'อคว็ามตามลั�าด�บ แลัะโป็ร์โตคอลัการ์ส��อสาร์แบบกลั3�ม (group communication protocols [5])

Page 16: Software Architecture

• ในป็5จจ3บ�นร์ะบบป็ฏิบ�ตการ์จะให'บร์การ์ในการ์ส��อสาร์เพิ��อการ์แลักเป็ลั��ยนข'อม2ลัร์ะหว็�างการ์ด�าเนนการ์ (processes) โดยใช้' TCP/IP protocol stack ซ.�งไม�ข.0นก�บเที่คโนโลัย�ด'านเคร์�อข�าย ซ.�งการ์บร์การ์ช้นดน�0ของร์ะบบป็ฏิบ�ตการ์จะตอบสนองในการ์ส�งแลัะร์�บข'อคว็ามที่��ถ2กส�งไป็เพิ��อตอบสนองต�อ การ์ด�าเนนการ์น�0นๆ ด�งน�0น การ์ด�าเนนการ์จ.งต'องม�คว็ามไว็'ว็างใจร์ะบบการ์ป็ฏิบ�ตการ์ในการ์ตดตามการ์ส��อสาร์ แต�การ์ให'บร์การ์ในการ์ส��อสาร์ต'องการ์เฉพิาะการ์ว็เคร์าะห�เป็>าหมายเพิ��อการ์จ�ดส�งข'อม2ลั ด'ว็ยว็ธิ�การ์น�0 processes สามาร์ถส��อสาร์ซ.�งก�นแลัะก�นก�บการ์ด�าเนนการ์ช้นดอ��นในร์ะบบ หากว็�าสามาร์ถพิส2จน�ที่ร์าบต�าแหน�งของเป็>าหมายที่��ต'องการ์ได'ด�งน�0นเซ�ตของการ์ด�าเนนการ์ ที่��ม�การ์แลักเป็ลั��ยนข'อคว็ามโดยใช้' TCP/IP protocol stack แลัะได'ที่ร์าบต�าแหน�งการ์ส��อสาร์ของก�นแลัะก�นแลั'ว็ อาจพิจาร์ณาได'ว็�าเป็ นร์ะบบกร์ะจายที่��ซ.�งการ์ด�าเนนการ์น�0นสามาร์ถสร์'างเน�ตเว็ร์�คที่��สมบ2ร์ณ�ได'

Page 17: Software Architecture

การ์ออกแบบและการ์ใช้& Heartbeat ในสภาพแว็ดล&อมแบบ Multi-machine

• การ์ใช้' heart beat mechanism ซ.�งเป็ นเที่คนคการ์ใช้' Timer มาคว็บค3มร์ะบบ ที่�าให'ร์ะบบม�คว็ามน�าเช้��อถ�อ โดยจะตร์ว็จสอบคว็ามลั'มเหลัว็ของ node แลัะ ม�การ์ส�ง transport level packets อย�างต�อเน��อง แต�ลัะ node ในร์ะบบจะม� timer ในต�ว็อง ร์ะบบน�0จะก�าหนดให'แต�ลัะ node ในร์ะบบต'องร์�บร์2 'แลัะเข'าใจใน finite state machine ซ.�งก�ค�อ Election state ที่�าหน'าที่��ค'นหา network topology, Standby state ที่�าหน'าที่�� queries แลัะ คอย monitors การ์ที่�างานของ node ที่��เป็ น master state, Not-active จะไม�ที่�าอะไร์ยกเว็'นจะตอบสนองก�บการ์ "sweeping" จาก Master แลัะค�าส��งการ์คว็บค3ม "Standby" จาก Console แลัะ Master หน.�งใน nodes ที่�0งหมดจะเป็ น master node แลัะสถานะของม�นจะเป็ น Master

Page 18: Software Architecture

• ซ.�งที่�าหน'าที่��หลั�กในการ์ให'บร์การ์ในร์ะบบ กร์ณ�ที่��ม�ตร์ว็จสอบว็�าส�ว็นที่��เหลั�อจะเป็ น standby nodes แลัะสถานะจะเป็ น Standby ในกร์ณ�ที่��ต'องการ์ที่��จะให'ต�ว็ใดต�ว็หน.�งที่�างานหลั�กแที่นต�ว็เองก�จะม�การ์ถ�ายโอนข'อม2ลัให'ก�บต�ว็ที่��ได'เลั�อกไว็' แลั'ว็เป็ลั��ยนสถานะต�ว็เองเป็ น Not active แต�ถ'าต�ว็หลั�กที่��ที่�างานเกดลั'มลัง ร์ะบบจะใช้' bully algorithm ในการ์เลั�อกต�ว็หลั�กจากที่��เหลั�อในร์ะบบมาที่�างานแที่น [16]

Page 19: Software Architecture

Bully algorithmbully algorithm เป็ นว็ธิ�ในการ์ที่�า distributed computing เพิ��อใช้'ในการ์เลั�อก coordianator (เช้�นเซร์�ฟเว็อร์� เป็ นต'น)แบบไดนามกส� โดยการ์ใช้'หลั�กกการ์เลั�อก ID number เม��อเซร์�ฟเว็อร์� P พิบว็�า ที่��ที่�างานหลั�กในป็5จจ3บ�นลั�มลังเน��องจากหมดเว็ลัาการ์ส�งข'อคว็าม หร์�อ คว็ามลั'มเหลัว็ (failure) ของ เซร์�ฟเว็อร์�ป็5จจ3บ�นในการ์สร์'างการ์ตดต�อ (handshake) เม��อเกดเหต3การ์ณ�ด�งกลั�าว็ข.0นอ�ลักอร์ธิ.มบ2ลัลั�น�0จะด�าเนนการ์ด�งต�อไป็น�0

• เซร์�ฟเว็อร์� P จะ broadcasts ข'อคว็ามที่��เร์�ยกว็�า election message (inquiry) ไป็ย�งเซร์�ฟเว็อร์�ต�ว็อ��นๆที่��เหลั�อโดยใช้'หลั�กการ์เลั�อกเซร์�ฟเว็อร์�ที่��ม� IDs. ส2งกว็�าต�ว็อ��นๆที่��ม�อย2�ในร์ะบบ

Page 20: Software Architecture

• หากเซร์�ฟเว็อร์� P พิบว็�าไม�ม�ข'อคว็ามใดส�งกลั�บมาจากเซร์�ฟเว็อร์�ที่��ม� IDs. ส2งกว็�า ต�ว็ม�นเองก�จะเป็ นต�ว็ Leader ค�อที่�างานหลั�กให'ร์ะบบแที่น แลัะจะที่�าการ์ broadcast (victory message) ไป็ย�งเซร์�ฟเว็อร์�ต�ว็อ��นๆว็�าตอนน�0ม�นเป็ น Leader

• หาก P ร์�บข'อคว็ามว็�าม�เซร์�ฟเว็อร์�ที่��ม� IDs. ส2งกว็�าที่�างานได'อย2� เซร์�ฟเว็อร์� P จะร์อเว็ลัาร์ว็มที่��แน�นอนที่��เซร์�ฟเว็อร์�ต�ว็ที่��บอกว็�าต�ว็เอง IDs. ส2งกว็�าย�นย�นว็�าต�ว็เองเป็ น Leader แน�นอน

• ส�งที่��ต'องจ�าค�อหาก P ได'ร์�บข'อคว็าม victory message จากเซร์�ฟเว็อร์�ที่��ม� ID number ต��ากว็�าม�น ม�นจะที่0ง(bully) ข'อคว็ามน�0น แลัะเร์�มการ์เลั�อก Leader ใหม�แที่นที่�นที่�

Page 21: Software Architecture

Ring algorithm • เป็ นอ�ลักอร์ธิ.มที่��ใช้'ในการ์เลั�อก leader ของเซอร์�ฟเว็อร์�ที่��ม�

การ์จ�ดการ์ในลั�กษณะว็งแหว็น (ring) ซ.�งว็ธิ�การ์น�0จะไม�ใช้' token อ�ลักอร์ธิ.มน�0ม�สมมตฐานว็�าแต�ลัะสมาช้กจะตดต�อก�นในลั�กษณะเร์�ยงตามลั�าด�บตามว็งแหว็น โดยแต�ลัะสมาช้กจะร์2 'ว็�าใคร์เป็ นสมาช้กที่��อย2�ถ�ดไป็ เม��อสมาช้กใดพิบว็�า leader ไม�ที่�างาน ม�นจะสร์'าง ELECTION message ซ.�งป็ร์ะกอบด'ว็ย ค�า priority ของผ่2'ส�ง แลัะจะส�งข'อคว็ามน�0ไป็ย�งสมาช้กที่��อย2�ถ�ดไป็ หากว็�าต�ว็น�0เกดลั'มลัง ผ่2'ส�งจะข'ามต�ว็น�0ไป็ แลัะจะที่�าการ์ส�งต�อย�งต�ว็ถ�ดไป็ หร์�อต�ว็ก�อนหน'าน�0 จนกร์ะที่��งพิบสมาช้กที่��ก�าลั�งที่�างานอย2� ซ.�งในแต�ลัะข�0นตอนน�0น ผ่2'ส�งจะเพิ�มค�า priority ของต�ว็เองลังบน list ในข'อคว็ามที่��ส�งน�0น ส�งผ่ลัให'เกดการ์การ์สร์'าง candidate ในต�ว็เองที่��จะถ2กค�ดเลั�อกให'เป็ นleader ของร์ะบบ

Page 22: Software Architecture

• ผ่ลัที่��ส3ดแลั'ว็ข'อคว็ามก�จะกลั�บมาย�งผ่2'ส�งที่��เป็ นผ่2'ต� 0งต'นคว็ามน�0 แลัะม�นจะว็เคร์าะห�ข'อคว็ามที่��ร์ �บกลั�บมาซ.�งม� priority ของต�ว็เองอย2�ด'ว็ยม�นก�จะที่ร์าบว็�าใคร์เป็ น leader ของร์ะบบ หากว็�าต�ว็ม�นเองม�ค�า priority ส2งส3ดม�นก�จะเป็ลั��ยนสถานะต�ว็เองเป็ น leader ณ จ3ดน�0 leader ก�จะส�งข'อคว็ามที่��บอกถ.งสถานะต�ว็เองไป็ย�งสมาช้กในร์ะบบให'ร์�บที่ร์าบว็�าใคร์เป็ น leader เม��อข'อคว็ามได'ว็นกลั�บมาอ�กคร์�0งก�จะถ2กเอาออกจากร์ะบบแลัะที่3กๆสมาช้กก�จะกลั�บมาที่�างานตามสถานะต�ว็เองอ�กคร์�0ง

Page 23: Software Architecture

• ภาพท�� 2-15 ring algorithm

Page 24: Software Architecture

• ในกร์ณ�ที่��ม�สมาช้กสองต�ว็จากภาพิค�อสมาช้กที่��ม�ค�า priority เป็ น 2 แลัะ 5 ค'นพิบพิร์'อมก�นว็�า leader ซ.�งในที่��น�0ค�อ 7 ได'ลั'มลัง แต�ลัะต�ว็ก�จะสร์'าง ELECTION message แลัะแต�ลัะต�ว็ก�จะเร์�มส�งข'อคว็ามไป็ย�งสมาช้กถ�ดไป็เร์��อยๆโดยไม�ส�งผ่ลักร์ะที่บก�บซ.�งก�นแลัะ แลัะแน�นอนว็�าแต�ลัะการ์ส�งต�อข'อคว็ามของแต�ลัะสมาช้ก จะต'องใส�ค�า priority ไว็'ในข'อคว็ามที่��จะส�งที่3กคร์�0ง ซ.�งในที่��ส3ดแลั'ว็ ข'อคว็ามที่�0งสองก�จะเดนที่างจนคร์บว็ง แลัะ ที่�0ง 2 แลัะ 5 ก�จะพิจาร์ณาค�า priority list ของต�ว็เองเพิ��อหาว็�าใคร์สมคว็ร์เป็ น leader ซ.�งในที่��ส3ดแลั'ว็ก�จะได'ค�า priority ที่��ตร์งก�นซ.�งเป็ นค�า ส2งส3ดของสมาช้กในร์ะบบที่��ย�งคงที่�างานอย2� [อ'างองจากหน�งส�อ tanenbaum]

Page 25: Software Architecture

โปร์โตคอลการ์พ�ส�จน�ต�ว็ของเซสช้�นส�าหร์�บม�ลต�เว็บเซอร์�ว็�ส

• งานว็จ�ยน�0 กลั�าว็ถ.ง E-business ที่��ซ.�งป็ร์ะกอบด'ว็ยสมาช้กหลัายๆส�ว็นเช้�น clients แลัะ multi-party Web Services ที่��ต'องการ์ที่�างานร์�ว็มก�นเพิ��อสร์'าง business flow งานว็จ�ยด�งกลั�าว็น�าเสนอโป็ร์โตคอลัซ.�งที่�าให'สมาช้กของการ์ที่�า business flow สามาร์ถม��นใจ ว็�าพิว็กเขาก�าลั�งส��อสาร์ก�บ service instances ของ web service ซ.�งเป็ นส�ว็นหน.�งของสมาช้กที่��อย2�ใน business flow เด�ยว็ก�น ซ.�งโป็ร์โตคอลัน�0ป็ร์ะกอบด'ว็ยสองส�ว็นหลั�ก ได'แก� message authentication protocol ซ.�งที่�าหน'าที่�� authenticate การ์ร์�ว็ม session เด�ยว็ก�น

Page 26: Software Architecture

• ซ.�งในกร์ณ�น�0เม��อม�การ์ร์�ว็มใช้' session secret ร์ะหว็�างสมาช้กใน business flow อ�กส�ว็นค�อโป็ร์โตคอลั session management ซ.�งเป็ นการ์จ�ดการ์ session ของร์ะบบ โป็ร์โตคอลัน�0ใช้'หลั�กการ์ในการ์สร์'างที่��เป็ นมาตร์ฐาน Web services technologies เช้�น SOAP, XML Signature, Encryption, and SOAP-DSIG นอกจากน�0ย�งแสดงให'เห�นถ.งข�0นตอนของการ์เร์�ม session แลัะการ์ที่�างานร์�ว็มก�นของ client session authentication แลัะ web service สองต�ว็ [28]

Page 27: Software Architecture

ภาพท�� 2-11 การ์จ�ดการ์เซสช้�นออนไลน� [28]

Page 28: Software Architecture

Finite State Machine(FSM)

เป็ นหลั�กการ์ในการ์ที่ดสอบการ์ที่�างานของร์ะบบจากภายนอก ม�หลั�กการ์ที่ดสอบด�งต�อไป็น�0

• Static elements: เป็ นการ์ที่�า decomposition ร์ะบบให'เป็ น static elements โดยม� states แลัะการ์เป็ลั��ยนผ่�านสถานะ (state transitions ม�กเร์�ยกว็�า transitions) หลั�กการ์ค�อจะต'องม�จ�านว็นของ states จ�าก�ด ไม�อน3ญาตให' ที่�าซ�0า (duplicate) transitions จาก state ไป็ย�ง state หน.�ง น��นค�อ จะม� transition เด�ยว็จาก state A ไป็ย�ง state B ด�งน�0นจ�านว็นของการ์ที่�า state transitions จ.งม�จ�าก�ดด'ว็ย

Page 29: Software Architecture

• เอาต�พิ3ตที่��สร์'างจาก FSMs ที่��ม�การ์ที่�างานแบบ dynamic executions(web application, web service) ของ FSMs น�0น โดยที่��ว็ไป็แลั'ว็ที่�0งจ�านว็นของอนพิ3ตแลัะเอาต�พิ3ตที่��ต�างก�นน�0นม�ค�าที่��จ�าก�ดแน�นอน ในกร์ณ�ที่��ที่� 0งอนพิ3ตแลัะเอาต�พิ3ตอาจม�จ�านว็นมากหร์�อม�ค�าที่��ไม�จ�าก�ดน�0น เร์าจ�าเป็ นต'องร์ว็มค�าเหลั�าน�0นไว็'ใน partitions เหม�อนก�บการ์ที่�า checklist แลัะ partition based testing ซ.�ง partitions น�0จะตอบสนองก�บการ์ที่�า transitions จาก state หน.�งไป็ย�งอ�กอ�นหน.�ง

Page 30: Software Architecture

• FSMs แลัะส�ว็นส�าค�ญต�าง (state elements) จะถ2กแที่นด'ว็ยกร์าฟ หลั�กๆของ elements ร์ว็มที่�0งแที่นแต�ลัะ state ด'ว็ย node หน.�งในหน.�งกร์าฟ

• แต�ลัะ transition จะแที่นด'ว็ยการ์ link โดยตร์ง(directed link)จาก state ไป็ย�งอ�กอ�นหน.�ง

• Input แลัะ output ต'องส�มพิ�นธิ�เก��ยว็เน��องก�บ state transitions แลัะถ2กแที่นด'ว็ย link weights หร์�อค�าอธิบายจากการ์ที่�า transitions

Page 31: Software Architecture
Page 32: Software Architecture
Page 33: Software Architecture

เอกสาร์อ'างอง• [18]Ts’o T. and Chiu A. ONC Remote

Procedure Call. [Online] Available from: http://www.ietf.org/html.charters/oncrpc-charter.html[2004,Oct 20].

• [5]Newmarch J. Web services. [Online]. Available from:http://jan.netcomp.monash.edu.au/webservices/tutorial.html[2004,Oct 22].

Page 34: Software Architecture

• [4]UDDI, UDDI technical white paper. [Online]. Available from: http://www.uddi.org/pubs/Iru_UDDI_Technical_White_Paper.pdf[2004,Oct 22].

• [19]Chan H., Lee R., Dillon T. and Chang E. E-Commerce Fundamentals and Applications, John Wiley & Sons john Wiley & Sons Ltd Baffins Lane Chichester West Succex 2001

Page 35: Software Architecture

• [28]Mostafa M., Singhal M. “A Reliable Multicast Session Protocol for Collaborative Continuous Feed Applications.” ACM. (1997) : 35 – 39.

• [32]. Zonghao Hou, Yongxiang Huang, Shouqi Zheng, Xiaoshe Dong and Bingkang Wang. “Design and Implementation of Heartbeat in Multi-machine Environment” IEEE (27-29 March 2003) : 583- 586.

Page 36: Software Architecture

• 25. Hada S. and Maruyama H. “Session Authentication Protocol for Web Services.” IEEE(Jan.2002) 26 : 158-165.

• 26. Andrew S. Tanenbaum and Marten Van Steen. Distributed System Principles and Paradigms. Prentice Hall Inc. Upper Saddle River, New Jersey 07458 . c2002.