Uzak yordam çağrısı (ya da uzak prosedür çağrısı; İngilizce: Remote Procedure Call (RPC), bir diğer adres uzayı (genelde ağ paylaşımlı bilgisayarlar) üzerinde programcı açıkça bu uzaktan etkileşim detayları kodlama olmadan çalıştırmak için bir alt yordam veya prosedürü sağlayan bilgisayar programına izin veren süreçler arası iletişim teknolojisidir.Sunucu üzerindeki servisleri kontrol ettiğimizde karşımıza çıkan RPC, arka plânda birçok şeyi gerçekleştiren bir . RPC, temelde istemci ve sunucu arasında yapılan işlemlerin iletişimi için tasarlandı. Bir işlemin gerçekleşmesi için bir gönderici (sunucu) ve bir de istemci vardır.. Yani programcı, alt prosedür ister çalışan programın yerelinde ister uzağında olsun, temelde aynı kodu yazar. Bu bir tür istemci-sunucu etkileşimidir (çağıran istemci, çalıştıran sunucudur) ve tipik olarak bir istek-yanıt mesaj geçirme sistemi aracılığıyla uygulanır. Nesne yönelimli programlama modelinde, RPC'ler uzaktan yöntem çağırma (RMI) ile temsil edilir. RPC modeli bir konum şeffaflığı seviyesini ifade eder, yani çağrı prosedürleri yerel ya da uzak olsun büyük ölçüde aynıdır, ancak genellikle aynı değildirler, bu nedenle yerel çağrılar uzak çağrılardan ayırt edilebilir. Uzak çağrılar genellikle yerel çağrılardan çok daha yavaş ve daha az güvenilirdir, bu nedenle bunları ayırt etmek önemlidir.
RPC'ler süreçler arası iletişimin (IPC) bir şeklidir, çünkü farklı süreçler farklı adres alanlarına sahiptir: aynı ana makine üzerindeyseler, fiziksel adres alanı aynı olsa bile farklı sanal adres alanlarına sahiptirler; farklı ana makinelerdeyseler, fiziksel adres alanı farklıdır. Bu kavramı uygulamak için birçok farklı (genellikle uyumsuz) teknoloji kullanılmıştır.
Tarihi ve kökeni
İstek-yanıt protokolleri 1960'ların sonlarında bilgi işlemin ilk dönemlerine, ağ işlemleri modeli olarak uzaktan yordam çağrılarının teorik önerileri 1970'lere ve pratik uygulamaları 1980'lerin başlarına dayanmaktadır. Bruce Jay Nelson genellikle 1981 yılında "uzaktan yordam çağrısı" terimini ortaya atmasıyla tanınır. Modern işletim sistemlerinde kullanılan uzak yordam çağrılarının kökleri, süreç senkronizasyonu için bir istek-yanıt iletişim protokolü kullanan RC 4000 çoklu programlama sistemine dayanmaktadır. Ağ işlemlerini uzak yordam çağrıları olarak ele alma fikri, en azından 1970'lerde ARPANET'in ilk belgelerine kadar uzanmaktadır. 1978'de Per Brinch Hansen, süreçler arasındaki yordam çağrılarından oluşan "harici isteklere" dayalı dağıtık bilgi işlem için bir dil olan Dağıtık Süreçleri önermiştir.
İlk pratik uygulamalardan biri 1982 yılında Brian Randell ve arkadaşları tarafından UNIX makineleri arasında Newcastle Connection için yapılmıştır. Bunu kısa süre sonra Xerox PARC'daki Cedar ortamında Andrew Birrell ve Bruce Nelson tarafından yapılan "Lupine" takip etmiştir. Lupine otomatik olarak taslaklar oluşturmuş, tip açısından güvenli bağlar sağlamış ve iletişim için verimli bir protokol kullanmıştır. RPC'nin ilk iş kullanımlarından biri 1981 yılında Xerox tarafından "Courier" adı altında yapılmıştır. RPC'nin Unix üzerindeki ilk popüler uygulaması, Ağ Dosya Sistemi (NFS) için temel olarak kullanılan Sun'ın RPC'siydi (şimdi ONC RPC olarak adlandırılıyor).
1990'larda, nesne yönelimli programlamanın popülerleşmesiyle birlikte, Common Object Request Broker Architecture (CORBA, 1991) ve Java uzaktan yöntem çağırma gibi alternatif bir uzaktan yöntem çağırma (RMI) modeli yaygın olarak uygulanmıştır. RMI'lar ise internetin yükselişiyle birlikte, özellikle 2000'li yıllarda popülerliğini yitirmiştir.
Mesaj geçişi
RPC bir istek-yanıt protokolüdür. RPC, istemci tarafından başlatılır ve bu, sağlanan parametrelerle belirtilen bir yordamı yürütmek için bilinen bir uzak sunucuya bir istek mesajı gönderir. Uzaktaki sunucu istemciye bir yanıt gönderir ve uygulama işlemine devam eder. Sunucu çağrıyı İşlerken, istemci sunucuya eş zamansız bir istek göndermediği sürece, istemci engellenir (yürütmeye devam etmeden önce sunucu işlemeyi bitirene kadar bekler). Çeşitli uygulamalarda birçok varyasyon ve incelik vardır, bu da çeşitli farklı RPC protokolleriyle sonuçlanır.
Uzaktan prosedür ile yerel prosedürün en önemli farkı, yerel prosedürün öngörülemeyen ağ problemlerinde hatayla karşılaşmasıdır. Ayrıca, arayanlar genellikle uzaktan yordamın gerçekten çağrılıp çağrılmadığını bilmeden bu tür arızalarla ilgilenmelidir. İdempotent prosedürler (birden fazla çağrılırsa ek etkisi olmayanlar) kolayca ele alınır, ancak uzak prosedürleri çağırmak için kodun genellikle dikkatlice yazılmış düşük seviyeli alt sistemlerle sınırlı olması için yeterli zorluk kalır.
RPC yapımında temel adımların sırası
- İstemci, istemci sapmasını çağırır. Çağrı parametrelerin yığına normal şekilde itildiği yerel bir yordam çağrısıdır.
- İstemci taslağı parametreleri bir mesaja paketler ve mesajı göndermek için bir sistem çağrısı yapar. Paketlenmiş parametreler diye adlandırılır.
- İstemcinin yerel işletim sistemi, istemci makineden sunucu makineye mesajı yollar.
- Sunucu makinesindeki yerel işletim sistemi, gelen paketleri sunucu saplamasına geçirir.
- Sunucu saplaması, parametreleri iletiden açar. Parametrelerin açılmasına unmarshalling denir.
- Son olarak, sunucu saplaması sunucu yordamını çağırır. Yanıt, ters yönde aynı adımları izler.
Güvenlik
Dağıtılmış uygulamaların kullanımının artmasıyla beraber uygulamaların istemci-sunucu iletişiminde güvenliğin önemi de artmaktadır. Uzaktan Yordam Çağrısı (RPC) çalışma zamanı kitaplığı, hem istemciler hem de sunucular için kimlik doğrulama hizmetlerine yönelik standartlaştırılmış bir arabirim sağlar. Uygulamalar, tüm çağrıların yetkili istemcilerden geldiğinden emin olmak için kimliği doğrulanmış uzaktan yordam çağrıları kullanır.
Uygulanabilirlik
Uzaktan yordam çağrısı, Windows işletim sistemlerini temel alan tüm istemci/sunucu uygulamalarında kullanabilirsiniz. Unix ve Apple gibi işletim sistemlerini içeren heterojen ağ ortamları için istemci ve sunucu programları oluşturmak için de kullanılabilir.
Standart iletişim mekanizmaları
Sunucuya farklı istemcilerin erişmeleri için standart RPC sistemleri oluşturulmuş olmalıdır.
RPC, C/C++ programcıları tarafından kullanılmak üzere tasarlanmıştır. Microsoft Arabirim Tanım Dili (MIDL) ve MIDL derleyicisine aşinalık gereklidir.
Çoğunda arayüz tanımlama dili ( (IDL)) kullanılır.
Arayüz tanımlama dili birçok platforma izin verir.
Arayüz tanımlama dili (IDL) istemci ve sunucu arasındaki arayüz kodunu düzeltmede kullanılabilir.
Bu iş için genelde kullanılır.
Avantajları ve dezavantajları
Uzaktan Yordam Çağrısının(RPC) avantajları aşağıdaki şekilde sıralanabilir.
- İstemcilerin sunucu ile her zamanki sistem çağrıları ve prosedürler ile iletişimde bulunmasına fayda sağlar.
- Dahili mesaj aktarımı işlemlerini kullanıcıdan gizli olarak yapar.
- Hem dağıtık hem de yerel sistemlerde kullanılır.
- Eş zamanlı olarak farklı programlar tarafından kullanılabilir.
Bu avantajların yanında belli dezavantajları da bulunmaktadır.
- RPC sistemleri büyük miktarda veri aktarımı için uygun değildir.
- RPC, bir iletişim sistemini, başka bir makineyi ve başka bir işlemi içerdiği için arızaya karşı oldukça savunmasızdır.
- RPC için tek tip bir standart yoktur; çeşitli şekillerde uygulanabilir.
- RPC yalnızca etkileşim tabanlıdır ve bu nedenle, donanım mimarisi söz konusu olduğunda herhangi bir esneklik sunmaz.
Kaynakça
- ^ . 10 Nisan 2023 tarihinde kaynağından arşivlendi.
- ^ "Remote procedure Call(English Wikipedia)". 28 Mart 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Mart 2023.
- ^ . 10 Nisan 2023 tarihinde kaynağından arşivlendi.
- ^ "Remote Procedure Call(English Wikipedia)". 27 Ocak 2004 tarihinde kaynağından arşivlendi.
Ayrıca bakınız
Dış bağlantılar
- RFC 1057 - ONC RPC'nin Özelleştirilmiş versiyonu
- RFC 5531 - ONC RPC'nin Özelleştirilmiş versiyon 2
- Remote Procedure Calls (RPC) 25 Mayıs 2010 tarihinde Wayback Machine sitesinde .
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Uzak yordam cagrisi ya da uzak prosedur cagrisi Ingilizce Remote Procedure Call RPC bir diger adres uzayi genelde ag paylasimli bilgisayarlar uzerinde programci acikca bu uzaktan etkilesim detaylari kodlama olmadan calistirmak icin bir alt yordam veya proseduru saglayan bilgisayar programina izin veren surecler arasi iletisim teknolojisidir Sunucu uzerindeki servisleri kontrol ettigimizde karsimiza cikan RPC arka planda bircok seyi gerceklestiren bir RPC temelde istemci ve sunucu arasinda yapilan islemlerin iletisimi icin tasarlandi Bir islemin gerceklesmesi icin bir gonderici sunucu ve bir de istemci vardir Yani programci alt prosedur ister calisan programin yerelinde ister uzaginda olsun temelde ayni kodu yazar Bu bir tur istemci sunucu etkilesimidir cagiran istemci calistiran sunucudur ve tipik olarak bir istek yanit mesaj gecirme sistemi araciligiyla uygulanir Nesne yonelimli programlama modelinde RPC ler uzaktan yontem cagirma RMI ile temsil edilir RPC modeli bir konum seffafligi seviyesini ifade eder yani cagri prosedurleri yerel ya da uzak olsun buyuk olcude aynidir ancak genellikle ayni degildirler bu nedenle yerel cagrilar uzak cagrilardan ayirt edilebilir Uzak cagrilar genellikle yerel cagrilardan cok daha yavas ve daha az guvenilirdir bu nedenle bunlari ayirt etmek onemlidir RPC ler surecler arasi iletisimin IPC bir seklidir cunku farkli surecler farkli adres alanlarina sahiptir ayni ana makine uzerindeyseler fiziksel adres alani ayni olsa bile farkli sanal adres alanlarina sahiptirler farkli ana makinelerdeyseler fiziksel adres alani farklidir Bu kavrami uygulamak icin bircok farkli genellikle uyumsuz teknoloji kullanilmistir Tarihi ve kokeniIstek yanit protokolleri 1960 larin sonlarinda bilgi islemin ilk donemlerine ag islemleri modeli olarak uzaktan yordam cagrilarinin teorik onerileri 1970 lere ve pratik uygulamalari 1980 lerin baslarina dayanmaktadir Bruce Jay Nelson genellikle 1981 yilinda uzaktan yordam cagrisi terimini ortaya atmasiyla taninir Modern isletim sistemlerinde kullanilan uzak yordam cagrilarinin kokleri surec senkronizasyonu icin bir istek yanit iletisim protokolu kullanan RC 4000 coklu programlama sistemine dayanmaktadir Ag islemlerini uzak yordam cagrilari olarak ele alma fikri en azindan 1970 lerde ARPANET in ilk belgelerine kadar uzanmaktadir 1978 de Per Brinch Hansen surecler arasindaki yordam cagrilarindan olusan harici isteklere dayali dagitik bilgi islem icin bir dil olan Dagitik Surecleri onermistir Ilk pratik uygulamalardan biri 1982 yilinda Brian Randell ve arkadaslari tarafindan UNIX makineleri arasinda Newcastle Connection icin yapilmistir Bunu kisa sure sonra Xerox PARC daki Cedar ortaminda Andrew Birrell ve Bruce Nelson tarafindan yapilan Lupine takip etmistir Lupine otomatik olarak taslaklar olusturmus tip acisindan guvenli baglar saglamis ve iletisim icin verimli bir protokol kullanmistir RPC nin ilk is kullanimlarindan biri 1981 yilinda Xerox tarafindan Courier adi altinda yapilmistir RPC nin Unix uzerindeki ilk populer uygulamasi Ag Dosya Sistemi NFS icin temel olarak kullanilan Sun in RPC siydi simdi ONC RPC olarak adlandiriliyor 1990 larda nesne yonelimli programlamanin populerlesmesiyle birlikte Common Object Request Broker Architecture CORBA 1991 ve Java uzaktan yontem cagirma gibi alternatif bir uzaktan yontem cagirma RMI modeli yaygin olarak uygulanmistir RMI lar ise internetin yukselisiyle birlikte ozellikle 2000 li yillarda populerligini yitirmistir Mesaj gecisiRPC bir istek yanit protokoludur RPC istemci tarafindan baslatilir ve bu saglanan parametrelerle belirtilen bir yordami yurutmek icin bilinen bir uzak sunucuya bir istek mesaji gonderir Uzaktaki sunucu istemciye bir yanit gonderir ve uygulama islemine devam eder Sunucu cagriyi Islerken istemci sunucuya es zamansiz bir istek gondermedigi surece istemci engellenir yurutmeye devam etmeden once sunucu islemeyi bitirene kadar bekler Cesitli uygulamalarda bircok varyasyon ve incelik vardir bu da cesitli farkli RPC protokolleriyle sonuclanir Uzaktan prosedur ile yerel prosedurun en onemli farki yerel prosedurun ongorulemeyen ag problemlerinde hatayla karsilasmasidir Ayrica arayanlar genellikle uzaktan yordamin gercekten cagrilip cagrilmadigini bilmeden bu tur arizalarla ilgilenmelidir Idempotent prosedurler birden fazla cagrilirsa ek etkisi olmayanlar kolayca ele alinir ancak uzak prosedurleri cagirmak icin kodun genellikle dikkatlice yazilmis dusuk seviyeli alt sistemlerle sinirli olmasi icin yeterli zorluk kalir RPC yapiminda temel adimlarin sirasi Istemci istemci sapmasini cagirir Cagri parametrelerin yigina normal sekilde itildigi yerel bir yordam cagrisidir Istemci taslagi parametreleri bir mesaja paketler ve mesaji gondermek icin bir sistem cagrisi yapar Paketlenmis parametreler diye adlandirilir Istemcinin yerel isletim sistemi istemci makineden sunucu makineye mesaji yollar Sunucu makinesindeki yerel isletim sistemi gelen paketleri sunucu saplamasina gecirir Sunucu saplamasi parametreleri iletiden acar Parametrelerin acilmasina unmarshalling denir Son olarak sunucu saplamasi sunucu yordamini cagirir Yanit ters yonde ayni adimlari izler GuvenlikDagitilmis uygulamalarin kullaniminin artmasiyla beraber uygulamalarin istemci sunucu iletisiminde guvenligin onemi de artmaktadir Uzaktan Yordam Cagrisi RPC calisma zamani kitapligi hem istemciler hem de sunucular icin kimlik dogrulama hizmetlerine yonelik standartlastirilmis bir arabirim saglar Uygulamalar tum cagrilarin yetkili istemcilerden geldiginden emin olmak icin kimligi dogrulanmis uzaktan yordam cagrilari kullanir UygulanabilirlikUzaktan yordam cagrisi Windows isletim sistemlerini temel alan tum istemci sunucu uygulamalarinda kullanabilirsiniz Unix ve Apple gibi isletim sistemlerini iceren heterojen ag ortamlari icin istemci ve sunucu programlari olusturmak icin de kullanilabilir Standart iletisim mekanizmalariSunucuya farkli istemcilerin erismeleri icin standart RPC sistemleri olusturulmus olmalidir RPC C C programcilari tarafindan kullanilmak uzere tasarlanmistir Microsoft Arabirim Tanim Dili MIDL ve MIDL derleyicisine asinalik gereklidir Cogunda arayuz tanimlama dili IDL kullanilir Arayuz tanimlama dili bircok platforma izin verir Arayuz tanimlama dili IDL istemci ve sunucu arasindaki arayuz kodunu duzeltmede kullanilabilir Bu is icin genelde kullanilir Avantajlari ve dezavantajlariUzaktan Yordam Cagrisinin RPC avantajlari asagidaki sekilde siralanabilir Istemcilerin sunucu ile her zamanki sistem cagrilari ve prosedurler ile iletisimde bulunmasina fayda saglar Dahili mesaj aktarimi islemlerini kullanicidan gizli olarak yapar Hem dagitik hem de yerel sistemlerde kullanilir Es zamanli olarak farkli programlar tarafindan kullanilabilir Bu avantajlarin yaninda belli dezavantajlari da bulunmaktadir RPC sistemleri buyuk miktarda veri aktarimi icin uygun degildir RPC bir iletisim sistemini baska bir makineyi ve baska bir islemi icerdigi icin arizaya karsi oldukca savunmasizdir RPC icin tek tip bir standart yoktur cesitli sekillerde uygulanabilir RPC yalnizca etkilesim tabanlidir ve bu nedenle donanim mimarisi soz konusu oldugunda herhangi bir esneklik sunmaz Kaynakca 10 Nisan 2023 tarihinde kaynagindan arsivlendi Remote procedure Call English Wikipedia 28 Mart 2023 tarihinde kaynagindan arsivlendi Erisim tarihi 28 Mart 2023 10 Nisan 2023 tarihinde kaynagindan arsivlendi Remote Procedure Call English Wikipedia 27 Ocak 2004 tarihinde kaynagindan arsivlendi Ayrica bakinizHTTP ODBCDis baglantilarRFC 1057 ONC RPC nin Ozellestirilmis versiyonu RFC 5531 ONC RPC nin Ozellestirilmis versiyon 2 Remote Procedure Calls RPC 25 Mayis 2010 tarihinde Wayback Machine sitesinde