Uzak Nesneleri Bulma – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları
Bağımsız Değişkenler
bind() yöntemi iki bağımsız değişken alır: Adlandırma Hizmetine koyduğunuz nesnenin ve sunucu nesnesinin kendisinin göreli adı olarak bir NameComponent nesneleri dizisi. Adlandırma Hizmetinin kök bağlamını kullanarak bir sunucu nesnesini bağlıyorsanız, ad aynı zamanda genel adlandırma dizinindeki nesnenin mutlak adıdır.
Bir nesne zaten ada bağlıysa, aynı argümanlarla rebind() yöntemini kullanabilir ve bu ada bağlı mevcut nesnenin yeni nesneyle değiştirilmesine neden olabilirsiniz.
Adlandırma Hizmeti, diğer CORBA istemcileri tarafından uzaktan erişilebilen bir CORBA hizmeti olduğundan, içerdiği nesnelerin bu uzak istemcilere aktarılabilir olması gerektiğini unutmayın. Bu, yalnızca org.omg.CORBA.Object referanslarının bir NamingContext içindeki adlara bağlanabileceği anlamına gelir.
Bir nesneyi birden çok bileşene sahip bir ada bağlayabilmeniz için, tüm alt bağlamların (alt dizinler) bir NamingContext’te bind_new_context() yöntemi kullanılarak oluşturulması gerekir. bind_new_context() yöntemi, yeni bağlamın göreli yolu olarak NameComponent nesnelerinin bir dizisini ve genel dizindeki bu konuma bağlanmak için NamingContext nesnesine bir başvuru alır.
Yeni bir NamingContext nesnesi, onun new_context() yöntemi çağrılarak var olan bir nesneden oluşturulabilir. Hedef adında bir bağlam zaten varsa, mevcut bağlamı yenisiyle değiştirmek için rebind_context() yöntemini kullanabilirsiniz. Bu, her bir nesneyi tek tek kaldırmadan tüm alt bağlamı boşaltmak için kullanışlıdır.
Henüz oluşturulmamış bir bağlam içindeki bir nesneyi veya alt bağlamı bir ada bağlamaya çalışırsanız, bir org.omg.CosNaming.NamingContextPackage.NotFound istisnası atılır.
bind() veya rebind() yöntemlerinde kullanılan adların, çağrıldıkları NamingContext nesnesine göre olduğuna dikkat edin. Bu, örneğin son iki satırını aşağıdaki ile değiştirerek önceki örnekteki ThisOrThatServer nesnemizi dizinde aynı mutlak isme bağlayabileceğimiz anlamına gelir.
ttDir bağlamı {“servers”, “ThisOrThat”} alt dizinine bağlıdır, bu nedenle bir nesneyi bu bağlamda {“server1”} adına bağlamak, onu {“servers”, “ThisOrThat” tam yoluna bağlamaya eşdeğerdir. , “sunucu1”}kök bağlamından. Bir dizinde yeni bağlamları bağlarken benzer kısayolu kullanabilirsiniz. Başka bir deyişle, bir bağlamı, kök bağlam içindeki mutlak bir ad yerine, bir alt bağlam içindeki göreli bir ada bağlayabilirsiniz.
Uzak Nesneleri Bulma
Artık uzak nesnemizi bir ORB ile kaydettirdiğimize göre, CORBA istemci uygulamaları tarafından kullanılabilir. Bu, uzak nesnenin kurulumunu tamamladığımız ve dikkatimizi nesneyi kullanmak isteyen istemci uygulamalarına çevirebileceğimiz anlamına gelir.
Daha önce de söylediğim gibi, her CORBA sürecinin bir ORB’ye referans olması gerekir. Bir istemci uygulaması bir ORB’ye eriştiğinde, yapması gereken bir sonraki şey, etkileşime girecek uzak nesneleri bulmaktır. Ancak uzak nesneleri bulmayı tartışmadan önce, CORBA altında uzak nesne referanslarının nasıl göründüğü hakkında biraz konuşmamız gerekiyor.
CORBA’nın tüm amacı, nesneleri ağ üzerinde dağıtabilmek ve ardından bunları ağdaki herhangi bir noktadan kullanabilmektir. Yerel bir işlemin uzak bir nesneden istekte bulunabilmesi için, o uzak nesneye bir tür referansa sahip olması gerekir. Bu nesne referansının, yerel ORB’nin hedef nesneye hizmet eden ORB’yi bulması ve üzerinde anlaşmaya varılmış bir protokol kullanarak uzak ORB’ye talebi göndermesi için yeterli bilgiyi içermesi gerekir.
Çoğu durumda, bir CORBA istemcisi, bir nesne saplaması biçiminde uzak bir nesneye referansa sahiptir. Saplama, gerçek nesne referansını içine alır ve yerel ortamda uzak nesneye doğrudan bir arabirim gibi görünen bir şey sağlar.
İstemci C++, Java veya başka bir nesne yönelimli dilde gerçekleştirilmişse, nesne saplaması o dilde yerel bir nesnedir. Diğer, nesne olmayan diller, o dil için CORBA dili bağlamasında ne şekilde emredilmiş olursa olsun, uzak nesne referanslarını temsil eder.
java ogreniyorum pdf
java dersleri
java ders notları
oop java nedir
java türkçe pdf
java terms and definitions pdf
java kursu
java pdf
Bazı nesne programlama dilleri farklı kalıtım yapılarına sahip olabileceğinden, CORBA kendi kök nesne sınıfını içerir. CORBA için Java bağlamasında, tüm CORBA nesne referansları (yerel veya uzak) org.omg.CORBA.Object arabirimini uygular. Bu nedenle, uzak bir CORBA nesnesinin istemcisi nesne için bir saplama aldığında, aslında uzak nesne için bir proxy görevi gören bir org.omg.CORBA.Object alır.
org.omg.CORBA.portable.ObjectImpl sınıfı, org.omg.CORBA.Object üzerinde tanımlanan yöntemler için varsayılan uygulamalar sağlar. CORBA nesneleri için Java taslakları ve uygulamaları aslında ObjectImpl sınıfından alt sınıflara ayrılır.
Dahili olarak, ObjectImpl, ister uzak bir nesne ister yerel bir nesne olsun, nesne üzerindeki istekleri uygun hedef nesneye devretmekle ilgilenir. ObjectImpl, org.omg.CORBA.Object arabirimini uygular ve Java.lang.Object sınıfını genişletir, böylece CORBA ve Java nesne ortamları arasında gerçekten bir birleşme noktası sağlar.
Uzak bir nesneye bağlı bir org.omg.CORBA.Object nesnesine yapılan başvuru, bir istemcinin uzak bir nesne üzerinde yöntemleri çağırması için gereken tek şeydir. CORBA standardı tarafından tanımlanan Dinamik Çağırma Arayüzü’nü kullanarak, bu bölümde daha sonra tartışacağımız gibi, yöntem istekleri oluşturabilir ve bunları Nesne arabirimi aracılığıyla uzak nesneye gönderebilirsiniz.
Ancak, istemciniz derleme zamanında uzak nesne için gerçek Java arabirimine sahipse, büyük olasılıkla Object referansını bu türden bir referansa dönüştürmek istersiniz, böylece arabirimi doğrudan uzak yöntemleri çağırmak için kullanabilirsiniz.
Bir org.omg.COBRA.Object öğesini belirli bir uzak arabirime dönüştürmek, daraltmayı yapmak için türe özgü yardımcı sınıfları kullanarak nesne başvurusunu karşılık gelen arabirim türüne daraltarak yapılır. Java IDL derleyicisi idltojava’nın bir IDL arabiriminden (örneğin, ThisOrThatServerHelper) nasıl bir yardımcı sınıf oluşturduğunu zaten gördük.
Helper sınıfı, bir org.omg.CORBA.Object başvurusunu verilen türdeki bir başvuruya dönüştüren bir dar() yöntemi içerir. Dar() yöntemine ilettiğiniz nesne başvurusu, yardımcının beklediği türden değilse, bir org.omg.CORBA.BAD_PARAM istisnası atılır. Bu bir RuntimeException’dır, bu nedenle herhangi bir nedenle CORBA başvurusunun türünü test etmeye çalışmadığınız sürece kodunuz tarafından yakalanması gerekmez.
Bu arka plan materyali aradan çıktıktan sonra, aslında uzak nesne referanslarını bulmayı tartışalım. Bir nesne referansının ORB üzerinden bir istemci uygulamasına giden yolunu bulmasının birçok yolu vardır, ancak bunların hepsi şu yöntemlerden birine indirgenir:
- Doğrudan ORB’den bir ilk referans alma
- Başka bir uzak nesne başvurusunda bir yöntem çağrısı yoluyla bir nesne başvurusu alma
- İkincil bir kanal aracılığıyla elde edilen dizili bir nesne referansını kullanma ve bunu canlı bir nesne referansına dönüştürme
Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır.
1) Backlink Paketi 50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)