Please use this identifier to cite or link to this item: https://cuir.car.chula.ac.th/handle/123456789/72091
Title: การออกแบบและพัฒนาส่วนขยายของคอร์บาเพื่อรองรับการเรียกใช้บริการที่เท่าเทียมกัน
Other Titles: A design and development of a CORBA extension to support invocation to equivalent services
Authors: สมบูรณ์ แซ่ลิ่ม
Advisors: ทวิตีย์ เสนีวงศ์ ณ อยุธยา
Other author: จุฬาลงกรณ์มหาวิทยาลัย. คณะวิศวกรรมศาสตร์
Advisor's Email: Twittie.S@Chula.ac.th
Subjects: คอร์บา (สถาปัตยกรรมคอมพิวเตอร์)
Issue Date: 2543
Publisher: จุฬาลงกรณ์มหาวิทยาลัย
Abstract: บริการหนึ่งๆ ในคอร์บาจะถูกใช้งานแทนที่อีกบริการหนึ่งได้ก็ต่อเมื่อบริการนั้นจะต้องมีส่วนต่อประสานที่เป็นซับไทป์ของบริการที่ถูกแทนที่และหากผู้รับบริการระบุอินสแตนซ์ของบริการที่ต้องการใช้อย่างเฉพาะเจาะจงแต่อินสแตนซ์นั้นไม่พร้อมที่จะให้บริการก็จะไม่เกิดการแทนที่กันของบริการแต่อย่างใด การแทนที่ของบริการจะมีความยืดหยุ่นมากขึ้นหากพิจารณาจากระดับความสามารถในการทำงานมากกว่าวิธีเรียกใช้บริการ งานวิจัยหนึ่งที่สนับสนุนแนวความคิดนี้คืองานวิจัยที่ใช้ตัวดำเนินการแปลง (Mapping operator) เพื่อรองรับการเรียกใช้บริการรุ่นใหม่โดยตัวดำเนินการแปลงจะดักคำร้องจากผู้รับบริการรุ่นเก่าอย่างโปร่งใส และปลอมตัวเป็นบริการรุ่นเก่าเสียเองโดยใช้ชื่อของส่วนต่อประสานและชื่อของอินสแตนซ์เหมือนกับบริการรุ่นเก่าที่ถูกยกเลิกไป ตัวดำเนินการแปลงจะเรียกใช้ฟังก์ชั่นการแปลง (Mapping function) เพื่อแปลงคำร้องขอใช้บริการให้สอดคล้องกับส่วนต่อประสานของบริการรุ่นใหม่ อย่างไรก็ตามหากเราต้องการขยายการแทนที่ของบริการไปยังบริการที่มีความสามารถเท่าเทียมกันแต่มิได้เป็นรุ่นของกันและกันแล้ว วิธีการปลอมตัวตัวดำเนินการแปลงให้มีชื่อของส่วนต่อประสานและชื่อของอินสแตนซ์เหมือนกับบริการที่จะถูกแทนที่นั้นจะไม่สามารถกระทำได้ทั้งนี้เนื่องจากบริการที่จะถูกทดแทนนั้นยังคงอยู่ในระบบมิได้ถูกยกเลิกการใช้งานไป วิทยานิพนธ์นี้มีจุดมุ่งหมายเพื่อออกแบบและพัฒนากลไกเพื่อขยายลักษณะการเรียกใช้บริการบนระบบคอร์บาให้รองรับการเรียกใช้งานบริการที่มีความสัมพันธ์แบบเท่าเทียมกัน โดยไม่จำกัดว่าบริการเหล่านี้จะต้องเป็นรุ่นของกันและกันและไม่ว่าผู้รับบริการจะค้นหาบริการผ่านทางออร์บหรือบริการเทรดเดอร์ก็ตามกลไกที่พัฒนาขึ้นนี้จะอยู่ในรูปแบบของโปรแกรมพรีโพรเซสเซอร์สำหรับใช้กับโปรแกรมผู้รับบริการที่ค้นหาบริการผ่านทางออร์บหรืออยู่ในรูปส่วนเพิ่มเติมของบริการเทรดเดอร์ในกรณีที่โปรแกรมผู้รับบริการค้นหาบริการผ่านทางเทรดเดอร์ การแทนที่กันของบริการจะเกิดขึ้นในระดับอินสแตนซ์ โดยกลไกที่พัฒนาขึ้นจะ สามารถตรวจจับกรณีที่มีการเรียกใช้อินสแตนซ์ของบริการซึ่งไม่พร้อมจะทำงาน จากนั้นจะทำการส่งต่อคำร้องขอใช้บริการผ่านตัวดำเนินการแปลงที่กำหนดไว้ไปยังอินสแตนซ์ของอีกบริการหนึ่งที่มีความสามารถเท่าเทียมกัน กลไกนี้จะทำงานได้โดยอาศัยข้อมูลความสัมพันธ์แบบเท่าเทียมกันที่กำหนดไว้ในคลังจัดเก็บส่วนต่อประสานโดยผู้ให้บริการทดแทนจะเป็นผู้กำหนดขึ้น
Other Abstract: Service in CORBA can substitute for another only if the former has an interface that is a subtype of the latter’s. Also, when a client requests for a specific service instance that is not available, substitutability will not take place. Service substitutability will be more flexible if consideration is placed upon functionality of services rather than syntax of calls. This idea is supported by a research work where a mapping operator is used to transparently intercept an oldversion request and use mapping functions to transform the request into a new-version call to a new service. The interception is by impersonation i.e. the mapping operator has the same interface and instance name as the withdrawn old service. Nevertheless, if we would like to extend substitutability to two equivalent services that are not versions of each other, such impersonation will not be applicable since the service to be substituted still exists within the system; it has not been withdrawn. This thesis aims to design and develop a mechanism to extend service invocation in CORBA by providing for substitutability between equivalent services. This extension does not require the services to have version relationship to be equivalent and will support both ways of service discovery (i.e. via CORBA ORB or trading service). The mechanism is in the form of a preprocessor for client programs that discover services via ORB and an enhancement to the trading service for client programs that look for services in the trader. The mechanism enforces instance-level substitutability in such a way that it will detect if a requested service instance is not available and will redirect the request to a predefined mapping operator that will in turn forwards the request to a particular equivalent service instance. To achieve this, equivalence relationship information, kept in an interface repository (IR) and provided by the service provider of the substituting service, is necessary.
Description: วิทยานิพนธ์ (วท.ม.)--จุฬาลงกรณ์มหาวิทยาลัย, 2543
Degree Name: วิทยาศาสตรมหาบัณฑิต
Degree Level: ปริญญาโท
Degree Discipline: วิทยาศาสตร์คอมพิวเตอร์
URI: http://cuir.car.chula.ac.th/handle/123456789/72091
ISBN: 9741300859
Type: Thesis
Appears in Collections:Eng - Theses

Files in This Item:
File Description SizeFormat 
Somboon_li_front_p.pdfหน้าปก สารบัญ และบทคัดย่อ884.48 kBAdobe PDFView/Open
Somboon_li_ch1_p.pdfบทที่ 11.06 MBAdobe PDFView/Open
Somboon_li_ch2_p.pdfบทที่ 21 MBAdobe PDFView/Open
Somboon_li_ch3_p.pdfบทที่ 32.05 MBAdobe PDFView/Open
Somboon_li_ch4_p.pdfบทที่ 4979.43 kBAdobe PDFView/Open
Somboon_li_ch5_p.pdfบทที่ 53.4 MBAdobe PDFView/Open
Somboon_li_ch6_p.pdfบทที่ 6640 kBAdobe PDFView/Open
Somboon_li_back_p.pdfบรรณานุกรมและภาคผนวก894.06 kBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.