Upload
vinaya
View
80
Download
11
Embed Size (px)
DESCRIPTION
Remote Procedure Calls (RPC ). ระบบสารสนเทศแบบกระจาย Distributed Information System. การเรียกใช้โพรซีเยอร์ระยะไกล. Remote Procedure Call (RPC). เป็นโปรโตคอลที่โปรแกรมหนึ่ง สามารถขอ บริการจากโปรแกรมที่ตั้งอยู่ ในคอมพิวเตอร์ อีก เครื่องใน เครือข่าย - PowerPoint PPT Presentation
Citation preview
REMOTE PROCEDURE CALLS (RPC)การเร�ยกใช้โพรซี�เยอร�ระยะไกลการเร�ยกใช้โพรซี�เยอร�ระยะไกล
อ.คเชนทร์� ซ่�อนกลิ่��นระบบสารสนเทศแบบกระจาย Distributed Information
System
1
เป็�นโป็ร์โตคอลิ่ท��โป็ร์แกร์มหน��งสามาร์ถขอบร์�การ์จากโป็ร์แกร์มท��ต !งอยู่#�ในคอมพิ�วเตอร์�
อ�กเคร์'�องในเคร์'อข�ายู่ RPC ใช(แบบจ)าลิ่องลิ่#กข�ายู่/แม�ข�ายู่ โป็ร์แกร์มท��ขอเป็�นลิ่#ก
ข�ายู่แลิ่ะโป็ร์แกร์มท��ให(บร์�การ์เป็�นแม�ข�ายู่ RPC เป็�นป็ฏิ�บ ต�การ์แบบพิร์(อมก นท��ต(องการ์ให(โป็ร์แกร์มท��ขอได้(ร์ บการ์ตอบจนกร์ะท �งผลิ่ลิ่ พิธ์�จาก remote
procedure ได้(ร์ บกลิ่ บมา
Remote Procedure Remote Procedure Call (RPC)Call (RPC)2
แนวความค�ด้ของ RPC ค'อ ท)าให(การ์เร์�ยู่กใช(โพิร์ซ่�เยู่อร์�ของผ#(ให(บร์�การ์ ม�ความ
คลิ่(ายู่คลิ่�งก บการ์เร์�ยู่กใช(ฟั1งก�ช �นท �วไป็ให(มากท��ส2ด้ ในร์#ป็แบบท��ง�ายู่ท��ส2ด้
การ์ท��จะเร์�ยู่กใช(โพิร์ซ่�เยู่อร์�ของโฮสท��อยู่#�ไกลิ่ออกไป็ได้(น !น โป็ร์แกร์มของผ#(ใช(บร์�การ์
จะต(องถ#กน)ามาเช'�อมต�อเข(าก บโพิร์ซ่�เยู่อร์�ท��เป็�นไลิ่บร์าลิ่�� (Library Procedure)
เร์�ยู่กว�า “ Client Stub” ทางฝั่1� งผ#(ให(บร์�การ์ ก5จะม�โพิร์ซ่�เยู่อร์�ท��เป็�นไลิ่บร์าลิ่�� เร์�ยู่กว�า
“Server Stub”
แนวคิ�ดของ แนวคิ�ดของ RPCRPC3
โพิร์ซ่�เยู่อร์�เหลิ่�าน�! จะซ่�อนข(อเท5จจร์�งเอาไว(ว�าการ์เร์�ยู่กใช(โพิร์ซ่�เยู่อร์�ของผ#(ใช(บร์�การ์น !น
ไม�เก��ยู่วข(องก บร์ะบบเคร์'อข�ายู่เลิ่ยู่
แนวคิ�ดของ แนวคิ�ดของ RPCRPC4
ข !นตอนท�# 1 ค'อ การ์ท��ผ#(ใช(บร์�การ์เร์�ยู่กใช( Client Stub การ์เร์�ยู่กใช(น�!เป็�นการ์ท)างานท��
เก�ด้ข�!นในเคร์'�องผ#(ใช(บร์�การ์เอง ซ่��งอาจม�การ์ส�งพิาร์าม�เตอร์�ได้(ตามป็กต�
ข !นตอนท�# 2 Client Stub จ ด้การ์จ ด้ร์#ป็แบบของพิาร์าม�เตอร์�ให(อยู่#�ในร์#ป็ของ Message
แลิ่ะเร์�ยู่กใช(ร์ะบบป็ฎิ�บ ต�การ์เพิ'�อจ ด้การ์ส�ง Message น !นการ์จ ด้ร์#ป็แบบของพิาร์าม�เตอร์�น�!เร์�ยู่กว�า “Marshaling”
ข !นตอนการท$างานของการข !นตอนการท$างานของการท$า ท$า RPCRPC5
ข !นตอนท�# 3 Kernel จ ด้การ์ส�ง Message จากผ#(ใช(บร์�การ์ไป็ยู่ งผ#(ให(บร์�การ์ ข !นตอนท�# 4 Kernel จ ด้การ์ส�ง Package ท��ได้(ร์ บเข(ามา ไป็ยู่ ง Server
stub ข !นตอนท�# 5 Server Stub จะเร์�ยู่กใช(โพิร์ซ่�เยู่อร์�ของผ#(ให(บร์�การ์พิร์(อมท !งส�งพิาร์าม�เตอร์�ไป็ให(ด้(วยู่ การ์ตอบร์ บก5จะท)าในท�ศทางท��ยู่(อนกลิ่ บก น
ข !นตอนการท$างานของการข !นตอนการท$างานของการท$า ท$า RPCRPC6
รายละเอ�ยดเพ�#มเต�ม โพิร์ซ่�เยู่อร์�ของผ#(ใช(บร์�การ์ซ่��งเข�ยู่นข�!นมาโด้ยู่ผ#(ใช(น !น จะ
ใช(ว�ธ์�การ์เร์�ยู่กใช(โพิร์ซ่�เยู่อร์�ไป็ยู่ ง Client Stub ซ่��งม�ช'�อเด้�ยู่วก นก บโพิร์ซ่�เยู่อร์�ในเคร์'�องผ#(ให(บร์�การ์ เน'�องจากโพิร์ซ่�เยู่อร์�ของผ#(ใช( แลิ่ะ Client Stub อยู่#�ในเคร์'�องผ#(ใช(ด้(วยู่ก นท !งค#� การ์ว��งผ�านพิาร์าม�เตอร์�จ�งเก�ด้ข�!นตามว�ธ์�การ์ป็กต�
ในส�วนของโพิร์ซ่�เยู่อร์�ในเคร์'�องผ#(ให(บร์�การ์ ก5ม�การ์เร์�ยู่กใช(แลิ่ะส�งผ�านพิาร์าม�เตอร์�ตามป็กต�เช�นเด้�ยู่วก น
ข !นตอนการท$างานของการข !นตอนการท$างานของการท$า ท$า RPCRPC7
การ์ส�งผ�านพิาร์าม�เตอร์� ท��เป็�นพิอยู่เตอร์�น !นเป็�นไป็ไม�ได้( เพิร์าะโพิร์ซ่�เยู่อร์�ท !งสองน !นไม�ได้(อยู่#�ในเคร์'�องเด้�ยู่วก น
ขอจ$าก ดของ ขอจ$าก ดของ RPCRPC8
RPC ProcessRPC Process9
อ(างอ�ง :: http://technet.microsoft.com/en-us/library/cc738291(v=ws.10).aspx
RPC ม�หลิ่ายู่แบบจ)าลิ่องแลิ่ะการ์ท��น�ยู่มมากค'อ Distributed Computing Environment (DCE) ของ Open Software Foundation ม�การ์ก)าหนด้ RPC เป็�นมาตร์ฐานโด้ยู่ Institute of Electrical and Electronics Engineers ใน ISO Remote Procedure Call Specification, ISO/IEC CD 11578 N6561, ISO/IEC, November 1991
RPC ม�ขอบเขตคร์อบคลิ่2ม Transport Layer แลิ่ะ Application Layer ในแบบจ)าลิ่อง Open Systems Interconnection (OSI) ของการ์ส'�อสาร์เคร์'อข�ายู่
แลิ่ะ RPC ท)าให(การ์พิ ฒนาโป็ร์แกร์มป็ร์ะยู่2กต�ท��ร์วมหลิ่ายู่โป็ร์แกร์มท��กร์ะจายู่ใน
เคร์'อข�ายู่ง�ายู่ข�!น
ระบบท�#ใช้งานระบบท�#ใช้งาน RPCRPC1
0
1. จงอธ์�บายู่ถ�งความหมายู่ของ การ์เร์�ยู่กใช(โพิร์ซ่�“เยู่อร์�ร์ะยู่ะไกลิ่ (Remote Procedure Calls (RPC))”2. “Marshaling” ค'ออะไร์3. จงอธ์�บายู่กร์ะบวนการ์ส'�อสาร์ร์ะหว�าง Client Stub แลิ่ะ Server Stub
แบบฝึ'กหั ดทายบทท�# แบบฝึ'กหั ดทายบทท�# 771
1