search
Giriş
Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın Türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi
0 oy
2.6k gösterim
JNDI kavramının ne olduğu ile alakalı bilgi verebilir misiniz? Sadece veri tabanı bağlantı işlemlerini mi yapabiliyoruz?
Java kategorisinde 6.2k puan
yeniden etikenlendirildi

2 Cevap

0 oy
Java platformunun bir parçası olan Java Naming and Directory Interface (JNDI) , java isimlendirme/adlandırma ve dizin bildirme ara birimi/ara yüzü;  birden çok adlandırma ve dizin hizmetleri (servisler) için birleşik bir arayüz ile Java teknolojisi tabanlı uygulamaları sağlar.

JNDI, dizin servisler (directory service) için Java yazılım clientların bir isimle/adla veri ve nesneleri keşfedip aratabilmelerini sağlayan bir Java API'sidir.

JNDI ile veritabanı için sadece bu ismi vermek uygulama geliştiriciler için yeterli olacaktır.
2.0k puan

Ben çok anlamadım açıkçası biraz daha açıklayıcı olabilir misin?

JNDI, dizin servisler (directory service) için Java yazılım clientların bir isimle/adla veri ve nesneleri keşfedip aratabilmelerini sağlayan bir Java API'sidir.
 

Directory service derken ben pek birşey anlamadım. Örnek olarak birşey verebilir misin?

0 oy
JNDI - Java Naming and Directory Interface

JNDI java programlama dili standard versiyonu üzerinde desteklenen bir API grubudur. Naming ve Directory hizmetlerini vermek için kullanılır. Bu kavramları da biraz açalım

Naming service: Bir bilgiyi veya bilgi grubunu herkesin ulaşabileceği merkezi bir alanda tutarak hepsinin bir yerden yönetilmesine deniyor. Bu bilginin içinde istenilen bilgiler olabilir. Şimdiye kadar benim de en fazla kullandığım JNDI API sanırım veritabanı bağlantılarını tuttuğumuz alanlar oluyor. Bir java-web uygulamasında veri tabanı bağlantısını açmak için bir projemizde "size kullanıcı adı-şifre veremeyiz, kullanacağınız veri tabanının bağlantısını JNDI olarak veririz" diye bir yorum yapmışlardı. Ben de o zaman öğrenmiştim. Yani ben bir isimle uygulamamın içinde diyorum ki "veriTabani" ismindeki sınıfı bana ver. Kullandığımız JNDI sağlayıcı (tomcat/JBoss gibi sunucular olabilir) bize direk olarak oluşturulmuş kullanıma hazır sınıfları veriyor. İçindeki bilgileri bizim görmemize gerek kalmıyor. Dökümanlarda ufak tefek string değerler de eklendiğini ve bunların kullanıldığını gördüm.

Tomcat üzerinden örnek verirsek, daha tomcat ayağa kalkarken istediğimiz sınıfları ayağa kaldırıp bizim kullanımımıza veriyor. Bu kullanıma hazır sınıflar da uygulamalar arasında paylaşıyor. Yani tomcat üzerindeki bütün projeler bu sınıfları ortaklaşa kullanabiliyor.

Directory servisi araştırdığım zaman en bariz örnek LDAP çıkıyor. Yani kullanıcıların klasörlenmesi ve içinden çıkılması için kullanılıyor. Java'da default olarak LDAP kullanımı için sınıflar bulunuyor ve bunlar JNDI ile kullanılıyor.
6.2k puan

İlgili sorular

0 oy
1 cevap 266 gösterim
266 gösterim
Yazılım güvenlik testlerinden olan DAST nedir? Neden kullanılır?
16 Ocak 2023 Yazılım Test kategorisinde kenan 6.2k puan sordu
0 oy
1 cevap 206 gösterim
206 gösterim
Static application security testing nedir neden kullanılır?
16 Ocak 2023 Yazılım Test kategorisinde kenan 6.2k puan sordu
0 oy
1 cevap 176 gösterim
176 gösterim
PHP nedir? Hangi tür projeler için kullanılır?
7 Mart 2022 Php kategorisinde kenan 6.2k puan sordu
0 oy
1 cevap 214 gösterim
214 gösterim
VPN nedir? Neden kullanılır? Kısaca açıklabilir misiniz?
7 Ekim 2021 Sunucular kategorisinde kenan 6.2k puan sordu
0 oy
1 cevap 218 gösterim
218 gösterim
SSL ne işe yarıyor, neden kullanılıyor?
31 Ağustos 2021 Sunucular kategorisinde kenan 6.2k puan sordu