Ankara
0 (312) 276 75 93
info@billgatesweb.com

İstemci ve Sunucu Taslakları – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları

Web Danışmanlık Hizmeti, Seo Hizmeti Al, Mobile Uygulama Yaptır, Back Link Satın Al, Blog Yazdırmak İstiyorum, Makale YAZDIRMA siteleri, Parayla makale YAZDIRMA, Seo makale fiyatları, Sayfa başı yazı yazma ücreti, İngilizce makale yazdırma, Akademik makale YAZDIRMA, Makale Fiyatları 2022, Makale yazma, Blog Yazdırma

İstemci ve Sunucu Taslakları – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları

Karmaşık Veri Yapılarını İşleme – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları

Derleyiciler

Derleyici ayrıca ThisOrThatServerHelper adlı bir yardımcı sınıf oluşturur. Daha önce bahsettiğim gibi, yardımcı sınıf, ThisOrThatServer nesnelerini CORBA I/O akışlarına ve akışlarından okumanıza ve yazmanıza, bir ThisOrThatServer nesnesi için TypeCode almanıza ve en önemlisi, bir CORBA Nesne başvurusunu bir ThisOrThatServer başvurusuna güvenli bir şekilde daraltmanıza izin veren yöntemlere sahiptir. 

dar() yönteminin uygulanmasında, yardımcı sınıfın bir CORBA Nesnesi başvurusunu belirli bir türe bir başvuruya nasıl dönüştürdüğünü görebiliriz. İlk olarak, dar() yöntemi, Object parametresinin zaten bir ThisOrThatServer nesnesi olup olmadığını (Java instanceof operatörünü kullanarak) kontrol eder, ardından iletilen nesnenin bir boş gösterici olup olmadığını kontrol eder.

Her iki durum da doğru değilse, Object, ThisOrThatServer nesnesinin bir temsilcisini içermelidir. Uzak bir nesne için her CORBA saplaması, saplama tarafından uzak istekleri çağırmak için kullanılan bir dahili Delege nesnesi (org.omg.CORBA.portable paketinden) içerir.

Nesnenin temsilcisi bir ThisOrThatServer ise (nesnelerin _is_a() yöntemi kullanılarak kontrol edilir), temsilci yeni bir ThisOrThatServer saplaması oluşturmak için kullanılır. ThisOrThatServer saplama sınıfına birazdan göz atacağız. Nesne bir temsilci içermiyorsa, is_a() yöntemi false döndürür ve dar() yöntemi bir BAD_PARAM istisnası atar.

Tutucu Sınıfı

Derleyici, gösterildiği gibi ThisOrThatServer sınıfı için bir tutucu sınıf oluşturur. ThisOrThatServerHolder adlı tutucu sınıfı, ThisOrThatServer nesneleri bir IDL yönteminde out veya inout bağımsız değişkenleri olarak çağrıldığında kullanılan bir sarmalayıcıdır.

Tüm tutucu sınıfları, org.omg.CORBA.portable paketinden Streamable arabirimini uygular. Bir ORB, Streamable nesnesinin _read() ve _write() yöntemlerini kullanarak yöntem çağrılarında Streamable nesneleri geçirmeyi bilir; bu yöntemler, nesnenin ihtiyaç duyduğu serileştirmeyi işler.

Bir tutucu, bir CORBA nesnesinin tek bir örneğini içerir (bu örnekte bir ThisOrThatServer). Bir tutucu nesne bir uzak yöntem çağrısına bir inout argümanı olarak iletildiğinde, onun _write() yöntemi çağrılır.

Bu yöntem, tutucu sınıfın içerdiği nesneyi alır, seri hale getirir ve ORB aracılığıyla uzak nesne sunucusuna akıtır. Uzak yöntem çağrısı döndüğünde, uzak nesne sunucusundan (muhtemelen güncellenen) nesneyi okumak için tutucunun _read() yöntemi çağrılır ve tutucu nesne, iç değerini güncellenen nesneyle değiştirir.

Holder sınıf kullanımına bir örnek olarak, giriş parametresi olarak ThisOrThatServer kullanan bir yöntemi içeren başka bir IDL arabirimi tanımlayalım.

Bu IDL arabiriminden oluşturulan Java arabirimi, karşılık gelen Java yöntemi parametresinin türü olarak ThisOrThatServer için tutucu sınıfını kullanır. ThisOrThatServerHolder sınıfı, var olan bir ThisOrThatServer nesnesinden bir tutucu oluşturmanıza izin veren ortak oluşturuculara sahiptir, böylece nesneyi bu tür bir yönteme kolayca geçirebilirsiniz.


Sunucu ve istemci Nedir
İstemci sunucu mimarisi
Sunucu Nedir
İstemci ve sunucu arasında bir zaman ve/veya tarih farkı var
İstemci Nedir
İstemci ve sunucu arasında alınıp verilen isteklerin ve yanıtların içeriğin biçimlendirilmesi
İstemci Sunucu Çalışma Zamanı İşlemi
İstemci sunucu mimarisi için aşağıdakilerden hangisi


İstemci ve Sunucu Taslakları

idltojava derleyicisi, arayüz tanımımızdan iki sınıf daha oluşturur: bir istemci saplaması (_ThisOrThatServerStub) ve bir sunucu uygulaması için bir temel sınıf (_ThisOrThatServerImplBase). İstemci saplaması, oluşturulan ThisOrThatServer Java arabirimini uygular ve uzak bir ThisOrThatServer nesnesi için istemci tarafı proxy işlevi görür.

Saplama, arabirimden doThis() ve doThat() yöntemlerinin uygulamalarına sahiptir. Her uygulama, yalnızca bu saplamanın proxy olduğu sunucu tarafı nesnesinde bir uzak yöntem çağrısı yapmak için ORB’ye bir istek oluşturur. Yöntem argümanları paketlenir ve istekle birlikte ORB’ye iletilir.

Saplamanın yöntem uygulamalarının ayrıntılarına girmeyeceğim çünkü onlar hakkında fazla endişelenmenize gerek yok, ancak uzaktaki nesnelerin ne yaptıklarını ayrıntılı olarak görmek için kaynak koduna bakmak aydınlatıcı oluyor. çekirdek CORBA işlevlerini kullanarak.

Bir Java istemcisi uzaktaki ThisOrThatServer nesnesine bir başvuru aldığında, kendisine bu saplama nesnelerinden biri verilir. İstemci saplama nesnesi üzerinde yöntem çağrıları yapabilir ve saplama, uzak nesne üzerindeki yöntemleri çağırmak ve sonuçları geri göndermek için bu çağrıları ORB’ye karşılık gelen isteklere dönüştürür.

Örnekte gösterilen sunucu uygulaması için temel sınıf, ORB’den sunucu uygulamasına yönelik istekleri kabul eder. Temel sınıf, bir isteği sunucu nesnesinde bir yöntem çağrısına dönüştürür ve ardından çağrının sonucunu alır ve istemci saplamasına göndermek için ORB’ye geri verir.

Tüm bu işler sunucu iskeletinin invoke() yönteminde yapılır. invoke() yöntemi, hangi yöntemin çağrıldığını bulur, istekten yöntem bağımsız değişkenlerini (varsa) açar ve yöntemi doğrudan kendi kendine çağırır.

Sunucu iskeletinin, arayüzde bildirilen doThis() veya doThat() yöntemlerinin uygulamalarına sahip olmadığını unutmayın. idltojava derleyicisi sizin için her şeyi yapmaz; yine de arayüzünüz için bir sunucu uygulaması oluşturmanız gerekiyor.

Uygulamanın Yazılması

Bu nedenle, bir IDL arabirimi yazdık ve bunun için istemci saplaması ve sunucu iskeleti de dahil olmak üzere Java arabirimini ve destek sınıflarını oluşturduk. Şimdi, arayüzünüzdeki tüm yöntemlerin somut sunucu tarafı uygulamalarını oluşturmamız gerekiyor. Bunu, idltojava derleyicisi tarafından oluşturulan _xxxImplBase sınıfından alt sınıflara ayırarak yapıyoruz.

Örneğimiz için, _ThisOrThatServerImplBase alt sınıfını oluşturmamız ve doThis() ve doThat() yöntemlerini uygulamamız gerekiyor. Örnekteki ThisOrThatServerImpl sınıfı tam da bunu yapar.

RMI örneğinden “Uzaktan Yöntem Çağırma” yöntem uygulamalarını taklit ettiğimizi unutmayın. Tek gerçek fark, bu ThisOrThatServerImpl sınıfının _ThisOrThatServerImplBase’i, “Uzaktan Yöntem Çağırma” ise UnicastRemoteObject’i genişletmesidir.

IDL arayüzümüzün Java uygulamasını uzak istemciler için kullanılabilir hale getirmek için hala biraz çalışmamız gerekiyor. İstemcinin uzak bir nesneye referans almasının iki yolu vardır: ORB.resolve_initial_references() yöntemini kullanarak bir ilk nesne referansı alabilir ve bir şekilde ilk nesnedeki yöntem çağrıları aracılığıyla nesneye bir referans bulabilir veya bir uzak nesneye (Birlikte Çalışabilir Nesne Referansı) “stringified” referansı ve onu yerel olarak canlı bir nesne referansına dönüştürün.

İlk durumda, uzak nesnenin bir şekilde sunucu tarafı ORB ile kaydedilmesi gerekir. Uzak bir nesneyi kaydetmeniz için önce bir ORB’ye referans almanız gerekir. Önce bunun nasıl yapılacağına, ardından uzak nesneyi bir Adlandırma Hizmetine kaydetmeye bakacağız. Bu bölümün ilerleyen kısımlarında, istemcilerin uzak nesnelere nasıl erişebileceğine baktığımızda, dizili nesne referans tekniğini tartışacağız.


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)


 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

× Bize Whatsapp'tan Ulaşın