| Editor Login | Register | ||
| > Akademik İnternet ® > .Net FrameWork |
|
|
| Remoting 1 |
REMOTING Remoting , bir uygulamanınn farklı bir uygulamayla iletişimini ve etkileşimini sağlar. İletişim kurduğu uygulama aynı ağ üzerinde veya farklı bir ağ üzerinde olabilir. Remoting; yazılımcılara dağıtık uygulama oluşturma imkanı sunar. Nesne, karşı tarafta etkileşimde bulunacağı nesneden transfer edilen mesajlara cevap vermek için kanallar kullanır. Kanallardan bilgi akışı gerçekleşirken bu işlem için belirli formatlar kullanılır. Karşı tarafta belirlenen formatta kodlanmış olarak kanala aktarılan mesaji, alıcı taraf aynı formatı kullanarak kodu çözer ve gönderilen mesajı elde etmiş olur. Bu yazı dizisinde Remotingi anlatacağım. Adım kavramları inceleyerek, dizinin sonunda bir örnekle kavramları pratiğe dökeceğiz. Uygulama Sınırları
İşlem Bazında Sınırlamalar İşlemler arası geçişlerde, kullanılmak istenen herhangi bir programın içeriğinde değişiklik yapıldığında, bu programın yeni içeriğiyle birlikte diğer programlarda kullanılabilmesi için içerik kaydedilmeli. Bu durum sistem kaynağı tüketen kısa ömürlü birçok altprogram oluşmasını beraberinde getirir. Uygulama Domain’i Bazında Sınırlamalar CLR içindeki çalışan uygulamalarda izolasyonun temel ünitesi, uygulama domainidir (uygulama etki alanı). Uygulama domaini (System.AppDomain) .net uygulamaları için çalışan küçük bir ünitedir. CLR tek bir windows uygulaması için ,bir çok uygulama domaini sağlar ve uygulamalar arasındaki izolasyonu aynı seviyede tutar. Uygulama domain’leri, kendi sınırları içinde bu izolasyonu başarır. Her uygulama domaini kendi kodlarını , verilerini ve konfigurasyon ayarlarını içerir. Uygulama domainnine , diğer uygulama domainlerinin veri yapılarıyla veya kodla direk olarak ulaşılamaz. Bir uygulama domaini içindeki kodun çalışması diğer uygulama domainlerini etkileyemez. Dağıtık UygulamalarApplication domain (AppDomain), .net uygulamaları için çalıştırılabilir ünitelerdir demiştik. İşlemler uygulama domain’leri sayesinde belirli şekilde korunaklıdır ve belirli çerçeve içinde izolasyonu sağlanır. Bunun sonucunda, işlem içindeki bir nesne veya domaindeki bir uygulama ile diğer işlem veya uygulamalar arasında direk bir iletişim söz konusu olmaz. Buna rağmen, gerek iletişim dünyasında, gerek iş dünyasında ve gerekse diğer alanlarda dağıtık uygulamalar bir zorunluluk haline geliyor. Dağıtık uygulama, işlem sınırları içerisinde nesnelere karşılıklı konuşma imkanı sağlıyor. Aynı veya farklı bilgisayar, veya internet üzerinde karşılıklı farklı uygulama domain’lerinde veya uygulama işlemlerinde çalışan nesneler arasında ilişki kurmak işlemi dağıtık uygulama kapsamına girmektedir. Dağıtık uygulama geliştirmenin DCOM , Remoting , Asp.Web Servisleri gibi çeşitli yöntemleri vardır. Şimdi bunları inceleyelim . DCOM Artıca, ateş duvarı dediğimiz, sistemlerdeki güvenliği sağlayan firewall tarafından standart olarak belirlenenen, bazı bloke edilmiş portlar üzerinden iletişim sağlamaya çalışır. Belirli portlar ile sınırlanması , DCOM’ların geçerli kullanımlarını azaltmaktadır. .Net Framework Kullanarak Dağıtık Uygulama Oluşturma Birincisi .Net Remoting Frameworkunu oluşturan System.Runtime.Remoting namespace’si. .Net Remoting Framework, farklı uygulama domain’lerinde çalışan veya aynı bilgisayar üzerindeki nesneler arasında iletişimi sağlar. Genişletilebilen esnek bir yapıya sahiptir. Remoting, kompleks yapıdaki ağ programlarında ve basit uygulamalarda iletişimi sağlar. .Net Remoting farklı iletişim protokollerini ve formatlarını destekleyerek DCOM’un eksi tarafı olan sınırlı port özelliğinin getirdiği olumsuzlukların üstesinden gelmiştir. İkincisi ise Asp.Net Web Servisleri’nin frameworku’nu oluşturan System.Web.Services namespace’si. Asp.Net Web Servisleri nesnelerin farklı domain uygulamalarında standart protokoller içinde mesajın iletiminde kullanılır. Diğer sistemlerle birlikte işlerliği çok kolaydır. .Net Remoting ve Asp.Net Web Servisleri beraber frameworkun dağıtık uygulama kısmını oluşturur. Web Servisleri’nin Remoting’le Karşılaştırılması
Web Servisleri stateless (durumunu koruyamayan) bir protokol üzerinden çalışır. .NET Remoting Singleton ve SingleCall yöntemlerini kullanarak hem statefull (durumunu koruma) hemde stateless özelliğine sahip olabilir. Web Servisleri yalnızca XSD içinde tanımlı olan veri tiplerini destekler. Sınırlı sayıda nesneyi serialize(dönüştürme) işlemine tabi tutabilir. .Net Remoting binary formatını kullanır ve bir çok veri tipini destekleyerek iletişim kurar. Web Servisleri heterojen çevreler arasında ve karşılıklı platformlar arasında birlikte işlerliği destekler. .Net Remoting ise homojen sistemler arasında birlikte işlerliği sağlar. Web Servisleri her zaman IIS hostunu kullarak yüksek ölçüde güvenilirlik sağlar. .Net Remoting de aynı zamanda IISin desteğini kullanabilir. IIS desteği kullanılmayan remoting uygulamalarında ise, uygulamanın güvenliği programcı tarafından hesaba katılmak zorundadır. Web Servisleri oluşturulması ve bilgisayara yerleştirilmesi oldukça kolaydır. .Net Remoting, Web Servisleri’ne nazaran oldukça kompleks bir programlamaya sahiptir. |
|
| Bağlantılar: bilgininefendisi.net |
| Open Source Document Project | AUP&TOS |