[Java] JNDI (Java Naming and Directory Interface)
이번 포스팅에서는 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 등의 기존의 많은 네임 서비스에 공통의 인터페이스를 제공함.