Dizeleştirilmiş Nesne – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları
Dizeleştirilmiş Nesne
Dizeleştirilmiş nesne başvurusu, uzak bir CORBA istemcisinin nesnenin ana ORB’sini bulması ve dizeyi nesneye yönelik bir çalışma zamanı saplama başvurusuna dönüştürmesi için yeterli bilgiyi içerir. ORB arabirimindeki iki yöntem, object_to_string() ve string_to_object(), bir CORBA nesne başvurusunu dize biçimine ve tekrar geri dönüştürmenize izin verir.
Örnek, ThisOrThatServer arabiriminin sunucu uygulamamızın bir örneğini nasıl oluşturacağımızı, onu ORB’ye kaydettireceğimizi ve CORBA sunucu nesnesinden dizeleştirilmiş bir nesne referansı oluşturacağımızı gösterir.
Uzak bir nesneye yönelik dizi haline getirilmiş bir referans, Birlikte Çalışabilir Nesne Referansı (IOR) olarak adlandırılır, çünkü nesne referansları için ağ üzerinde çalışan ORB’ler arasında serbestçe dağıtılabilen bir format kullanır. Ürettiğiniz IOR’nin başka bir ORB tarafından kabul edilebilir olması için, hem ORB’niz hem de uzak ORB aynı ORBler arası iletişim protokolünü (IIOP, DCE-CIOP, vb.) kullanıyor olmalıdır. Bu örnekte, hem istemcimiz hem de sunucumuz IIOP çalıştırıyor.
ServerInit sınıfı, uzak nesnemiz için sunucu ana bilgisayarında çalıştırılması amaçlanan bir main() yöntemi içerir. main() yöntemi önce yerel ORB’ye bir bağlantı başlatır ve ardından ThisOrThatServerImpl sınıfının bir örneğini oluşturur. Bu örnek, uzak nesnemizin sunucu uygulaması olarak hizmet eder.
ORB’de object_to_string() yöntemini kullanarak nesneye dizili bir referans yaratırız ve ardından kopyalanıp istemcilere gönderilebilmesi için dizili referansı çıkarırız. Son olarak, yerel bir nesne üzerinde senkronize bir wait() yaparak, main() yöntemi bekleme durumuna geçer. Bu bekleme(), istemci isteklerine yanıt verebilmesi için ORB’nin çalışır durumda kalması için gereklidir. main() yönteminin çıkmasına izin verirsek, oluşturduğumuz sunucu nesnesi yok edilir ve oluşturduğumuz IOR artık geçerli değildir.
Nesnemiz için örnek bir istemci gösterilmiştir. İstemci, dizgeleştirilmiş bir nesne başvurusunu main() yöntemine komut satırı bağımsız değişkeni olarak kabul eder. Ardından yerel bir ORB referansını başlatır ve string_to_object() yöntemini kullanarak stringleştirilmiş referansı canlı bir nesne referansına dönüştürür. Bunu yapmak için, ORB dizilmiş referanstaki kodlanmış bilgiyi ayrıştırır, nesneye hizmet veren uzak ORB ile bağlantı kurar ve istemci için bir CORBA nesne referansı oluşturur.
Her nasılsa, bu IOR’u istemci ana bilgisayarına iletmelisiniz. Bir HTML sayfasındaki gizli bir alana dizilmiş nesne referansını gömebilirsiniz, böylece bir Java istemcisi bir URL nesnesi kullanarak ona erişebilir.
Veya ana makinenizdeki belirli bir bağlantı noktasında, soket bağlantısı yapan kişiye dizili nesne referansını yayınlayan basit bir sunucu kurabilirsiniz. Veya dizeyi bir iş arkadaşınıza e-posta ile gönderebilirsiniz ve o, dizelenmiş referansı CORBA istemcisi için başlatma komutuna yazabilir. Her durumda, istemci bir komut satırı seçeneği olarak IOR ile çağrılır.
Java Nesne Nedir
Java class Örnekleri
Java sınıflar
Java Dersleri
java’da veri ile çalışmak için kullanılan sınıflar
Java new Nedir
Java Nesne oluşturma
java’da tek bir sınıftan maksimum kaç nesne oluşturulabilir?
Arayüz Bilinmezliği
Şimdiye kadar gördüğümüz örneklerde, her zaman uzak nesneler için Java arayüzlerinin derleme zamanında mevcut olduğunu varsaydık. Ama değillerse ne olur? Örneğin, bir Adlandırma Hizmetinden bir CORBA Nesnesine başvuru alabilir ve bu nesnenin hangi arabirimi uyguladığını bilmiyor olabilirsiniz. Daha önce org.omg.CORBA.Object referansını doğrudan istekte bulunmak ve uzak nesnesi ile veri alışverişi yapmak için kullanabileceğinizden bahsetmiştim.
CORBA standardı bu amaç için iki tamamlayıcı API tanımlar: bir istemcinin bir sunucu nesnesinden uzak yöntem istekleri yapmak için kullanabileceği Dinamik Çağrı Arayüzü (DII) ve bir sunucu tarafı iskeletinin kullanabileceği Dinamik İskelet Arayüzü (DSI). yöntem çağrılarını sunucu uygulama nesnesine iletir.
Bu API’lerin her ikisi de aynı temel işlevi sağlar: arabirimi derleme zamanında bilinmeyen bir nesneye dinamik bir arabirim. DII, bu işlevselliği CORBA nesnelerinin istemcilerine sunar ve DSI, nesne uygulamasını ORB ile köprüleyen sunucu tarafı iskeletlerine sağlar.
DII ve DSİ, CORBA dünyasında kenar çubuğu konuları gibi görünebilir, ancak gerçekte bunlar, CORBA’nın ve nasıl çalıştığının merkezinde yer alır. IDL arabirimlerinden Java saplamaları ve iskeletleri oluşturduğumuzda, oluşturulan kod, uzak yöntem çağrılarını yürütmek için DII ve DSI’yi kullanır.
Bunun nasıl yapıldığına ilişkin ayrıntılar, uzaktaki nesneyle etkileşim kurmak için kullandığınız Java arabirimi tarafından geliştiriciden korunur. Ancak, özellikle uzak nesne için Java arabiriminin olmadığı durumlarda, CORBA nesnelerinin dağıtılmış doğalarını nasıl uyguladığını anlamak hala önemlidir ve bu ayrıntılarla doğrudan ilgilenmeniz gerekir.
Bu bölümde, DII’nin nasıl çalıştığına ve onu bir istemcide nasıl kullanabileceğinize bir göz atacağız. Pratik kullanımları ortalama geliştirici için daha da sınırlı olduğundan, bu kitapta DSİ’yi ele almayacağız. Bununla birlikte, DSİ’nin API’sinin DII’nin API’sine benzer olduğuna dikkat edin, bu nedenle aşağıdaki açıklamayı DSİ’ye eşleme konusunda fazla sorun yaşamamalısınız.
Uzak bir nesneye bir org.omg.CORBA.Object referansı aldığınızda (zaten ele aldığımız yaklaşımlardan herhangi birini kullanarak), yöntem çağrısı için bir parametre listesi oluşturarak nesneye bir yöntem isteği oluşturabilir ve gönderebilirsiniz, sonucu tutmak için bir NamedValue nesnesi yapmak, bir Context nesnesi yapmak ve buna herhangi bir yararlı ortam değeri koymak ve ardından tüm bu öğeleri kullanarak nesne üzerinde belirli bir yönteme karşılık gelen bir İstek nesnesi oluşturmak gerekir.
Örnek, bir Adlandırma Hizmeti aracılığıyla uzak bir nesneye başvuru alan ve ardından doThis() yöntemine dinamik bir çağrı yapan örnek bir DII istemcisini gösterir.
Çoğu durumda, yardımcı sınıfıyla birlikte istemcinizde bulunan uzak nesne için Java arabirimine sahip olacağınızı ve böylece Nesne başvurusunu belirli bir türe göre daraltabileceğinizi unutmayın. Bir tür yazılım geliştirme aracı oluşturuyorsanız ve geliştirilmekte olan CORBA kodu için dinamik bir yürütme yardımcı programı sağlamak istiyorsanız bir istisna olabilir.
Önceki örnek, bir CORBA yöntem çağrısının, bunu gerekli bulmanız durumunda, bu alt düzeyde nasıl gerçekleştirilebileceğini gösterir. Ve CORBA uygulamanızla ilgili bir sorunu çözmeye çalıştığınızda, tabiri caizse, kaputun altında neler olup bittiğini anlamak her zaman daha iyidir.
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)