ความแตกต่างระหว่าง RPC และ Web Service ความแตกต่างระหว่าง

Anonim

RPC vs Web Service

การสร้างบริการเว็บโดยใช้โปรโตคอล SOAP ต้องมีสองทางเลือกที่จะใช้ หนึ่งสามารถทำตามเอกสาร SOAP protocol หรือ RPC SOAP messaging protocol RPC หมายถึง Remote Procedure Call และเป็นโปรโตคอลที่สามารถใช้งานได้โดยโปรแกรมที่กำหนดเพื่อขอรับบริการที่ระบุในโปรแกรมอื่นที่อยู่ในคอมพิวเตอร์ระยะไกลเครื่องอื่น เมื่อใช้ RPC ไม่จำเป็นต้องรู้รายละเอียดเครือข่ายของโปรแกรม การเรียกกระบวนการตามขั้นตอนที่เรียกว่าเป็นการเรียกย่อยประจำหรือแม้แต่การเรียกฟังก์ชัน

ในการใช้ RPC มีการใช้โมเดลลูกค้า / เซิร์ฟเวอร์เป็นอย่างมาก โปรแกรมที่ขอรับบริการที่จะดำเนินการอยู่ที่ฝั่งไคลเอ็นต์และคอมพิวเตอร์ที่ให้การทำงานของโปรแกรมหนึ่ง ๆ จะอยู่ในฝั่งเซิร์ฟเวอร์ การกระทำของ RPC สามารถเรียกได้ว่าเป็นแบบซิงโครนัสเนื่องจากต้องใช้โปรแกรมที่ขอให้ดำเนินการเพื่อให้การดำเนินการที่ระบุถูกระงับไว้จนกว่าจะถึงเวลาที่ได้รับผลลัพธ์ของขั้นตอนระยะไกล

เพื่อให้แน่ใจว่าอุปกรณ์ไม่ใช้เวลานานเกินไปเมื่อมีการดำเนินการที่รอดำเนินการอยู่หลายรายการ RPC อนุญาตให้ใช้โพรเซสหลายเธรดที่มีที่อยู่ที่กำหนดและทำให้การตอบสนองสามารถรับได้ตามที่พวกเขามา และไม่ใช่ชุดที่ต้องดำเนินการอย่างใดอย่างหนึ่งเพื่อดำเนินการต่อไป

บริการเว็บที่สร้างโดยใช้ SOAP control สามารถปฏิบัติตามรูปแบบ RPC หรือ Document messaging ได้ รูปแบบเอกสารสามารถระบุได้เฉพาะ เอกสาร xml ที่สามารถตรวจสอบเทียบกับสคีมา XML ที่ระบุ เนื่องจาก Java RPC ใช้ในการสื่อสารของแพลตฟอร์มเช่น EJB คือแอพพลิเคชันที่คล้ายกันทำงานบน Java ในทางกลับกันบริการทางเว็บส่วนใหญ่จะถูกใช้เมื่อมีการใช้งานแอพพลิเคชันที่ไม่ได้ทำงานบน Java และพยายามที่จะเชื่อมต่อกับบริการเว็บ

ประสิทธิภาพของ RPC และ Web Services แตกต่างกันมากโดยมีความแตกต่างระหว่างบริการเว็บและ RPC ที่ค่อนข้างเปลี่ยนแปลง ในบางกรณีรูปแบบอาจมีขนาดเล็กมากโดยพิจารณาถึงความยืดหยุ่นในการเล่น RPC มาพร้อมกับความท้าทายในการมีสภาพแวดล้อมเซิร์ฟเวอร์แออัดซึ่งทำให้คุณยากที่จะทำงานกับลูกค้าหลายราย

ในทางกลับกัน Web Service จะช่วยให้สามารถใช้งานบริการได้หลายแบบโดยต้องมีเพียงการตอบสนองที่เว็บเซอร์วิสถูกเรียกใช้ผ่าน HTTP เท่านั้น ซึ่งจะช่วยให้สามารถใช้ประโยชน์จากเทคนิคการฉีดพ่นและการกำหนดเส้นทางเครือข่ายตามปกติในพื้นที่ขนาดใหญ่ สิ่งสำคัญคือต้องทราบว่าบริการเว็บไม่จำเป็นต้องมีรหัสพิเศษเพื่อทำงานร่วมกับเซิร์ฟเวอร์หรือแม้แต่ไคลเอ็นต์

ความยืดหยุ่นของทั้ง RPC และ Web Service สามารถเปรียบเทียบได้อย่างเท่าเทียมกัน แต่ก็เป็นเรื่องสำคัญที่จะต้องทราบว่า RPC ต้องใช้ตัวกลางในการทำงานตามที่คาดไว้ที่นี่ EE EJB และกรอบเช่น Spring เข้ามาเล่น เพื่อให้ได้บริการที่ดีที่สุดขอแนะนำให้ใช้ Java EE EJB ก่อนที่จะนำมาใช้ในสภาพแวดล้อม RPC การรับบริการเว็บไปยังสภาพแวดล้อมนี้และ RPC ทำให้การกำหนดค่าทำได้ง่ายขึ้น

สรุป

RPC หมายถึงการเรียกกระบวนการระยะไกล

การใช้ RPC จะแนะนำเมื่อมีการใช้โมเดล client / server อย่างหนัก

RPC ช่วยให้สามารถประมวลผลเธรดได้หลายแบบโดยใช้ที่อยู่ที่ระบุ

RPC ใช้บนแพลตฟอร์มที่ใช้ EJB

บริการเว็บที่ใช้ในแพลตฟอร์มที่ไม่ใช่ Java เมื่อแอปต้องการเข้าถึง

บริการเว็บยังใช้สำหรับการซิงโครไนซ์การสื่อสารแบบอะซิงโครนัส