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

Java Adlandırma ve Dizin Arayüzü – 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, Akademik Danışmanlık, Tercüme Danışmanlık

Java Adlandırma ve Dizin Arayüzü – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları

 Java Komut Dosyası – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatlarıv

Java Adlandırma ve Dizin Arayüzü (JNDI)

Java Adlandırma ve Dizin Arayüzü (JNDI), Java programlarında adlandırma ve dizin hizmetlerine erişimi destekleyen bir API’dir. Adlandırma hizmetinin amacı, adları nesnelerle ilişkilendirmek ve adlarına göre nesnelere erişmenin bir yolunu sağlamaktır. Adlandırma sistemlerine aşina olmalısınız; bunları her gün bilgisayarınızdaki dosya sistemine göz atarken veya bir URL yazarak Web’de gezinirken kullanırsınız.

Bir adlandırma sistemindeki nesneler, bir dosya sistemindeki dosyalardan ve Etki Alanı Adı Sistemi (DNS) kayıtlarında bulunan adlardan, bir uygulama sunucusundaki Enterprise JavaBeans (EJB) bileşenlerine ve bir LDAP (Hafif Dizin Erişim Protokolü) dizinindeki kullanıcı profillerine kadar değişebilir.

Bir arama yardımcı programı, ağ özellikli bir masaüstü, bir uygulama başlatıcı, bir adres defteri, bir ağ yönetimi yardımcı programı veya bir sınıf tarayıcısı gibi bir uygulama yazmak için Java kullanmak istiyorsanız, kısacası, bir ağdaki nesnelere erişen herhangi bir şey. adlandırma sistemi JNDI, bu uygulamayı yazmak için iyi bir adaydır.

Adından da anlaşılacağı gibi, JNDI yalnızca adlandırma hizmetleriyle ilgilenmez. JNDI, adlandırma hizmetlerinin doğal bir uzantısı olan dizin hizmetlerini de kapsar. İkisi arasındaki birincil fark, bir dizin hizmetinin, bir kullanıcı nesnesi için bir e-posta adresi özniteliği gibi özniteliklerin nesnelerle ilişkilendirilmesine izin verirken, bir adlandırma hizmetinin izin vermemesidir.

Böylece, bir dizin hizmeti ile nesnelerin özniteliklerine erişebilir ve özniteliklerine göre nesneleri arayabilirsiniz. LDAP ve Novell Dizin Hizmetleri (NDS) dizinleri gibi dizin hizmetlerine erişmek için JNDI’yı kullanabilirsiniz.

Bir kurumsal programcı olarak, Enterprise JavaBeans’e erişmek için büyük ihtimalle JNDI kullanacaksınız; EJB belirtimi, ağdaki EJB bileşenlerini bulmak için JNDI kullanmanızı gerektirir. Ancak, uzak sunucudaki bir RMI kayıt defterindeki uzak nesneleri bulmak için JNDI’yı da kullanabilirsiniz. BEA WebXPress, IBM, Novell, Sun ve SCO gibi çoğu kurumsal Java tedarikçisi, adlandırma sistemlerine JNDI erişimini destekler.

JNDI Mimarisi

JNDI’nin mimarisi, her ikisinin de protokole özgü sürücü veya sağlayıcı uygulamalarının üzerine inşa edilmiş standart bir protokolden bağımsız API sağlaması bakımından, bir şekilde JDBC mimarisine benzer. Bu katman, bir uygulamayı kullandığı gerçek veri kaynağından yalıtır, bu nedenle, örneğin, uygulamanın bir NDS veya LDAP dizin hizmetine erişmesi önemli değildir.

JNDI mimarisi, gösterildiği gibi hem bir uygulama programlama arabirimi (API) hem de bir hizmet sağlayıcı arabirimi (SPI) içerir. Bir Java uygulaması, öncelikle Context ve DirContext arabirimleri aracılığıyla adlandırma ve dizin hizmetlerine erişmek için JNDI API’sini kullanır.

JNDI API, javax.naming ve javax.naming.directory paketlerinde tanımlanır. JNDI’nin Java 2 platformunun standart bir uzantısı olduğunu unutmayın; http://java.sun.com/products/jndi/ adresinde mevcuttur. Bu bölüm, JNDI’nin 1.1 Sürümünü kapsar.

Bir uygulamanın belirli bir adlandırma veya dizin hizmetiyle gerçekten etkileşim kurabilmesi için, o hizmet için bir JNDI hizmet sağlayıcısı olmalıdır.

JNDI SPI burada devreye girer. Bir hizmet sağlayıcı, belirli bir adlandırma veya dizin hizmeti için çeşitli JNDI arabirimlerini uygulayan bir sınıflar kümesidir; tıpkı bir JDBC sürücüsünün belirli bir veritabanı sistemi için çeşitli JDBC arabirimlerini uygulaması gibi. Sağlayıcı, Novell’in NdsObject arabirimi gibi JNDI’nin parçası olmayan diğer arabirimleri de uygulayabilir.

javax.naming.spi paketindeki sınıflar ve arabirimler, yalnızca hizmet sağlayıcıları oluşturan geliştiricilerin ilgi alanına girer. Örneğin, NamingManager sınıfı, Bağlam nesneleri oluşturmak ve temel alınan hizmet sağlayıcının çalışmasını başka şekilde kontrol etmek için yöntemler tanımlar.

Bir uygulama programcısı olarak, JNDI SPI hakkında endişelenmenize gerek yok. Tek yapmanız gereken, kullanmak istediğiniz her adlandırma veya dizin hizmeti için bir hizmet sağlayıcınız olduğundan emin olmaktır. Sun, daha önce listelenen JNDI web sayfasında mevcut hizmet sağlayıcıların bir listesini tutar.


Java paketleri
Java import Nedir
Java isimlendirme Kuralları
Java Paket isimlendirme
Veri Tipleri
Java package Nedir
Patika C
Patika Java 101


Bir JNDI Örneği

Daha ileri gitmeden önce basit bir JNDI örneğine bakalım. Bir adlandırma sistemindeki bir nesneye erişmek için, adlandırma sistemine bir giriş noktası vermek üzere, adlandırma sistemi için bir başlangıç ​​bağlamı oluşturmamız gerekir. Bir başlangıç ​​bağlamına sahip olduğumuzda, bir nesneyi ada göre arayabiliriz.

Örnek, bir adlandırma sistemine başlangıç ​​bağlamı alma ve bu adlandırma sisteminde bir nesne arama gibi temel JNDI görevlerini gösterir. Küçük bir değişiklikle bu kod, herhangi bir JNDI sağlayıcısı ile nesneleri aramak için kullanılabilir.

Örneğin, bir RMI kayıt defterinde Enterprise JavaBeans veya uzak nesneleri aramak ve bunları istediğiniz gibi işlemek için Lookup’ı kullanabilirsiniz. Değiştirmeniz gereken tek şey, erişilen adlandırma sistemini kontrol eden özelliklerdir.

Arama uygulamasının yaptığı ilk şey, bir java.util.Properties nesnesi oluşturmak ve onu bazı String değerlerini depolamak için kullanmaktır. Bu değerler için kullanılan anahtarlar, javax.naming.Context sınıfında tanımlanan sabitlerdir.

Her sabit, uygulamanın kullandığı JNDI hizmeti hakkında belirli bilgileri iletmesi amaçlanan temel bir JNDI özellik adına karşılık gelir. Context.INITIAL_CONTEXT_FACTORY, kullanmak istediğimiz hizmet için bir başlangıç ​​bağlamı oluşturan fabrika sınıfını belirtir.

com.sun.jndi.fscontext.RefFSContextFactory sınıfı, Sun’ın dosya sistemi hizmet sağlayıcısından bir fabrika sınıfıdır. Context.PROVIDER_URL, fabrika sınıfına bir başlangıç ​​bağlamı oluştururken kullanılacak protokolü, sunucu adını ve yolu söyler. Yerel dosya sisteminin kökünü belirtmek için file:/// URL’sini belirtiyoruz. Bu, herhangi bir Unix veya Windows dosya sisteminde çalışır.

Properties nesnesini oluşturduktan sonra, onu, bu belirli adlandırma sistemine giriş noktamız olan ilk bağlam nesnesini döndüren javax.naming.InitialContext yapıcısına iletiriz. Ardından, bakmak istediğimiz adı belirterek,initialContext’te lookup() yöntemini çağırıyoruz. Bu çağrı, adlandırma sisteminden, bu durumda bir dosya veya dizin olan bir nesne döndürür.

Lookup’ı daha genel yapmak istiyorsak, özellik değerlerini bir özellikler dosyasından okuyacak şekilde değiştirebileceğimizi unutmayın. Ardından, adlandırma sistemini değiştirmek, uygun fabrika nesnesini ve URL’yi belirtmek için özellikler dosyasını düzenlemek kadar basit bir meseledir. Fabrika sınıfı için kullandığınız değere bağlı olarak, aradığınız nesne bir Enterprise JavaBeans bileşeni, uzak bir nesneye başvuru veya başka bir şey olabilir.

JNDI, adlandırma işlemleri tamamlanamadığında adlandırma istisnaları atar. Kök adlandırma istisnası, javax.naming.NamingException, tüm JNDI istisnaları için bir yakalamadır. javax.naming paketi, NamingException’ın çok sayıda alt sınıfını tanımlar.

Yaygın bir adlandırma istisnası olan NameNotFoundException, var olmadığı veya yanlış yazıldığı için bir ad bulunamadığı zaman atılır. JNDI, bir program yeterli haklara veya izinlere sahip olmadığında bir NoPermissionException ve bir uygulama, söz konusu adlandırma işlemini desteklemeyen bir nesne üzerinde bir JNDI yöntemi kullandığında bir OperationNotSupportedException atar.


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 yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

× Bize Whatsapp'tan Ulaşın