LANGUAGE/JAVA

[Java] JNDI (Java Naming and Directory Interface)

보겸삼촌 2021. 1. 19. 22:38

이번 포스팅에서는 JNDI에 대해서 기술

 

 

# JNDI의 정의

디렉토리 서비스에서 제공하는 데이터 및 객체를 발견하고 참고(lookup)하기 위한 자바 API.

 쉽게 말하면 외부에 있는 객체를 가져오기 위한 기술. Tomcat와 같은 WAS를 보면 특정 폴더에 필요한 데이터 소스(라이브러리)가 있는데 그것을 우리가 사용하기 위해 JNDI를 이용해서 가져오는 것

 

Java 프로그래밍 언어로 작성된 응용 프로그램에

이름 지정 및 디렉토리 기능을 제공하는 Java 기술에 지정된 API

 

 특히, Java의 객체 모델을 사용하는 Java 플랫폼용으로 설계. Java 기술을 기반으로 한 응용 프로그램은

JNDI를 사용하여 모든 유형의 명명 된 Java 객체를 저장하고 검색 할 수 있음. 또한 JNDI는 속성을 객체와 연관시키고 속성을 사용하여 객체를 검색하는 것과 같은 표준 디렉토리 작업을 수행하는 메소드를 제공

 JNDI는 특정 네이밍 또는 디렉토리 서비스 구현과 독립적으로 정의 됨. 이 API를 사용하면 응용 프로그램이 공통 API를 사용하여 여러 다른 이름 지정 및 디렉토리 서비스에 액세스 할 수 있음.

 다른 이름 지정 및 디렉토리 서비스 공급자를이 공통 API 뒤에 완벽하게 연결할 수 있음.

 이를 통해 Java 기술 기반 응용 프로그램은 LDAP, NDS, DNS 및 NIS (YP)와 같은 기존의 다양한 이름 지정 및 디렉토리 서비스의 정보를 활용할 수 있을 뿐만 아니라 응용 프로그램을 기존 소프트웨어 및 시스템과 공존시킬 수 있음.

 

 네임 서비스는 이름을 객체에 관련 지어 지정된 이름에 근거하여 객체를 검색하는 방식. JNDI는 LDAP, DNS 등의 기존의 많은 네임 서비스에 공통의 인터페이스를 제공함.