Remoting 3

Remoting 3

Lifetime Leases

Lifetime Leases; nesnenin bellek üzerinde ne kadar süre kalacağıdır. Nesnelerin .Net Framework üzerinden silinmesine kadar olan süredir. Hem CAO hem de SAO işlem modlarında, nesnenin varlığının ne kadar süreceğinin belirlenmesi olan lifetime leases kavramı kullanılır. CAO ve SAO dedik . Şimdi bunları açıklayalım.

Uzak Nesne Aktivasyonu

İki çeşit nesneyle çalıştık: MBV ve MBR. Bunlardan yanlızca MBR nesnesinin üzerinde uzaktan işlem yapılabiliyor. MBV nesnesi ise kendi kendini kullanıcı tarafına transfer ettiği için MBV üzerinde işlem yapabilmek için ona ulaşmak gerekmiyor.MBR aşağıdaki tipte nesnenelere uzaktan erişim yapabiliyor:1-Non-static public metodlara2-Non-static public özelliklere3-Non-static public alanlara

Bu aktivasyon temelindeki MBR nesneleri iki temel kataogoriye ayrılıyor:

Sunucu çalıştırmalı nesneler İstemci çalıştırmalı nesneler

Sunucu Çalıştırmalı Nesneler(Server Activition Object)

SAO uzaktan erişelebilen nesnelerinin bellekte kalış süreleri direk olarak sunucu tarafından kontrol edilir. Diğer bir ifadeyle, nesnenin lifetime lease’si sunucu tarafından belirlenir.

Kullanıcı bir istekte bulunduğunda, örneğin istemci tarafından proxy üzerinden nesne üzerinde işleyen bir metod çağırdığında,. çağrılan nesne yanlızca sunucu üzerinden işletilebilir.

SAO kullanımı yalnızca gelen nesnenin geçerli olan yapılarını kullandığı için sınırlı esneklik sağlar. Başka bir ifadeyle nesneleri parametre açısından kısır olarak kullanıyor .

SAO tarafından iki çeşit işletilebilir mod vardır ( bunlara aynı zamanda well known nesneleri de deniyor ): • SingleCall çalıştırma modu• Singleton çalıştırma modu

SingleCall Çalıştırma Modu

SingleCall modunda, yanlızca bir kullanıcının isteğine cevap verilir. İstek tamamlandığında, .Net Remoting Framework bu nesneyi siler. Böylece onun kapladığı hafıza birimini geri kazanmış olur.SingleCall modunda işletilen nesne stateless (durumunu koruyamama) özelliğine sahiptir. Çünkü nesneler, her bir kullanıcı istekte bulunduğunda yeni baştan oluşturulur ve ve işlem bittiğinde silinir. Bu yüzden karşı tarafta durumunu devam ettiremez. SingleCall modunun bu özelliği sayesinde, nesneler sunucu belleğinde fazla yer kaplamamış oluyor.

Singleton Çalıştırma Modu

Singleton çalıştırma modunda, nesneye ulaşan istemci sayısına bakılmaksızın uzakta erişilen nesnenin bir örneği tutulur. İstemci tarafından bu nesnenin bir metodu çağırıp kullanır. Bu sırada sunucu tarafındaki nesne kendi durum bilgisi korur.Singleton modu sohbet sunucuları gibi çok kullanıcılı sistemlerde kullanışlıdır. Sunucu tarafında tutulan uzaktaki nesne kullanıcılar tarafından ortak olarak kullanılır.

İstemci Çalıştırmalı Nesneler(Client Activition Object)

CAO’da uzaktan erişilen nesnelerin, kullanılabilecekleri zaman sınırı direk olarak istemci tarafından kontrol ediliyor. SAO‘nun tam tersidir , anlatığım gibi ömürleri sunucu tarafından belirleniyor ve üzerinde kontrol işlemleri direk olarak sunucu tarafında yapılıyordu. CAOda ise ömürleri ve üzerlerinde yapılan işlemler istemci tarafından yönetiliyor.

Uzaktaki nesnenin bulunduğu sınıfta CAO yöntemiyle çalışmak için çeşitli yollar vardır.

Aşağıda CAO çalıştırılması için klasik bir yöntemin adımlarını göreceksiniz. 1. İstemci tarafında istek mesajı sunucuya gönderilir. 2. Sunucu tarafında özel yapılar kullanılarak istenen sınıfın bir örneği oluşturulur ve ObjRef nesnesi döndürülür. ObjRef nesnesi, proxy nesnesi tarafından üretilen, bütün istek bilgilerini içerir. Bu istek bilgileri, uzaktaki nesne ile iletişimi sağlayabilecek özelliktedir. Kullanıcı tarafında bu nesne çağrılır.3. Kullanıcı tarafında ObjRef nesnesi kullanılarak, sunucudaki nesne kullanıcı tarafında oluşturulur.

Bu adımlar sonunda istenen bilgi elde edilmiş olur.

CAO’da yalnızca kullanıcı tarafında istek oluşuyor. Her istemci sahip olduğu kendi durumunu sürdürür. SAO‘da olduğu gibi farklı CAO’lar ortak bir durumu kullanamaz.

CAO’nun kullanıldığı yerlere baktığımızda:• Uzaktaki nesneler için istemci tarafının kendine özel durumu tutması için kullanılabilir.• Kullanıcı kendi kullandığı nesneleri oluşturmak ve kullanım süresini kendisi belirlemek istediği zaman kullanılabilir.• Sunucu kullanıcı arasında gidip gelme durumlarında, istemcinin uzaktaki nesne ile ilgili özel isteklerini saklamasında kullanılabilir.

SAOda nesnenin örneği sunucu üzerinde istekte bulunan istemci olup olmadığına bakılmaksızın tutuluyor ve gerektiğinde istemci tarafından metodları çağırılıyor. CAOda ancak istekte bulunulduğunda nesne oluşturuluyor.

CAO ve SAO Karşılaştırılması:SAO işlem modu maksimum ölçeklenebilir bir özellik sağlıyor. Çünkü uzaktaki nesne sunucu tarafında minimum zamanda oluşturuluyor. Ve sunucu tarafına yerleşen nesne, diğer birçok kullanıcı arasında kullanılıyor .

Diğer taraftan CAO’da uzaktaki nesne üzerindeki bütün işlemler kullanıcı tarafında yapılıyor olması ile maksimum esneklik sağlıyor.

Döküman Arama

Başlık :

Kapat