인터페이스에 대하여Java Management API (JMPI)의 특징과 구조 –JMAPI모델이란?JMAPI의 구조JMAPI의 특징1. JMAPI 모델- JMAPI는 서로 다른 운영체제와 서로 다른 네트워크 프로토콜에 관련된 문제의 해결책을 제시하는 자바 컴퓨팅 환경의 장점을 관리 문제에 사용하기 위하여 썬 마이크로 시스템에서 개발한 자바 확장 클래스이다. 이 클래스들은 이질적인 네트워크 환경 상에서의 시스템, 네트웤, 그리고 서비스 관리를 위한 프로그램 개발을 위해 확장된 객체와 메소드 들의 집합이다.이 방법은 네트워크 관리자와 사용자가 임의의 장치, 심지어는 SNMP워크스테이션에 연결돼 있지 않은 장치까지도 진단하고 장애 처리를 할 수 있도록 해줄 것이다. 애플릿은 또한 관리 애플리케이션간에 연관관계 링크를 형성할 수 있는 객체지향 기술을 사용함으로써 수작업을 개선하고, 서로 다른 애플릿과 애플리케이션이 함께 동작해 네트워크와 시스템 장애의 근본 원인을 찾을 수 있도록 해준다.2. JMAPI의 구조(1) 구조- JMAPI는 분산 시스템 관리의 문제들을 해결하는 데에 초점을 맞추어 개발되었다. 따라서, JMAPI의 구조가 서로 다른 환경들을 다룰 수 있도록 설계하는 것이 아주 중요하다.이질의 환경을 동일한 방법으로 다룰 수 있는 구조는 JMAPI에서는 다음의 두가지 방법으로 이루어진다.첫째, 대리자 객체는 다운로드 되어 실행 되어진다. 이것은 모든 대리자 객체를 서버에서 관리하므로 대리자 객체의 분배와 버전 관리를 최소화하고 쉽게 수정, 확장을 할 수 있다.둘째, 자바 가상 머신이 관리되어질 플랫폼에 있으면 된다. 즉, 관리되어질 대상은 자바로 만들어진 대리자 객체를 실행시킬 수 있으면 된다.상위 레벨에서, JMAPI의 구조에는 브라우저 사용자 인터페이스(Browser User Interface)와 어드민 런타임 모듈(Admin Runtime Module)과, 어플리언스(Appliance)로 구성된다. 브라우저 사용자 인터페이스(Browser User Interface)는 사용자가 관리 기능을 수행하도록 입력을 넣는 인터페이스이다. Admin Runtime Module은 활동 중인 관리 객체를 응용 프로그램이 접근할 수 있도록 하는 인터페이스로서 대리자 객체 인터페이스, 통지 인터페이스, 관리 데이터 인터페이스를 포함한다. 마지막으로, 어플리언스는 관리되어질 네트워크상에 연결된 장치들을 말한다.다음 그림은 JMAPI의구조와 인터페이스, 그리고 프로그래머에 의해 사용되는 관계들을 설명하는 것이다.(2) BUI (Browser User Interface) –브라우저 유저 인터페이스- BUI는 어드민 뷰 모듈(Admin View Module: AVM)과 관리대상 객체 인터페이스 (Managed Object Interface)와 자바가 장착된 웹 브라우저로 구성된다.AVM은 사용자 인터페이스와 응용프로그램 레벨의 가증성을 제공한다. AVM은 AVM Help, AVM Base, AVM Integration의 세 패키지로 나누어진다. AVM Help는 일반적인 목적의 도움 환경을 제공하며, AVM Base는 웹 브라우저 상에서의 하이퍼텍스트 스타일의 네비게이션을 만드는 사용자 모델을 구현하기 위하여 사용되며, AVM integration은 AVM Base와 관리 대상 객체 인터페이스 사이의 결합을 제공한다. 관리 대상 객체는 관리되는 자원의 추상화를 위한 것으로 관리 대상 객체인터페이스는 RMI(Remote Method Interface)를 사용하여 원격으로 관리 대상 객체의 메소드를 수행한다.(3) ARM (Admin Runtime Module)- ARM은 HTTP 서버, 관리 대상 객체 팩토리(Managed Objec Factory:MOF) 그리고 데이터베이스 인터페이스의 3가지 서비스를 제공한다.HTTP서버는 다음 페이지로의 URL이 주어졌을 때, HTTP 요청을 서비스하고 MPF는 실제 관리 서비스 프로세스로서 RMI 원격 객체인 관리대상 객체를 생성하고 관리하며 관리 대상 객체 인터페이스를 통하여 접근 할 수 있다. 끝으로 자바 데이터베이스 연결(Java Database Connectivity: JDBC)의 부분 집합인 관리 데이터 인터페이스를 통하여 데이터베이스 서비스에 대한 인터페이스를 제공한다.(4) 어플리언스(Applience)- 어플리언스는 관리되어질 시스템을 말하며 대리자 객체 팩토리(Agent Object Factory: AOF)를 가진다. AOF는 관리되어질 모든 머신 상에서 실행되어질 대리자 객체를 생성하고 관리한다.Java Management API의 특징JMAPI는 개발자들이 자바 컴퓨팅 환경을 이용함으로써 통합된 관리 솔루션을 제공하는 툴을 좀더 쉽게 만들 수 있도록 하는 자바 클래스들의 집합이다. Java와 JMAPI를 조합함으로써, 통합된 관리 솔루션을 개발하기를 원하는 개발자들은 다음과 같은 이점을 얻게 된다.(1) 재사용성의 증가자바 가상 머신은 많은 OS(Operating System) 상에서 동작되며, 이 수는 증가하고 있다. JMAPI는 Java에 의해 제공된 플랫폼 독립적인 것을 메소드를 구현하는 라이브러리들의 안전한 다운로딩을 허락함으로써 더 한층 발전시킨다.(2) 통합이 핵심JMAPI에 의해 제공된 클래스들은 사용자 인터페이스 요소들에서부터 객체정의에 이르는 쉬운 통합을 고려한다. 페이지를 등록하고 객체를 정의함으로써, 관리 정보 영역의 전체를 항해하는데 단절됨이 없게 한다.(3) 대리자 갱신과 배포 문제 해결대리자들은 소프트웨어나 하드웨어의 버전에 대해 고유한 것이다. 만약 새로운 기능이 첨가되면, 대리자는 전형적으로 대체 되어야 한다. 불행하게도 넓게 퍼진 기업환경에서 대리자들에 대한 소프트웨어 배포 문제는 쉬운 일이 아니다. JMAPI는 대리자 버전 변경과 배포 문제를 요구에 따라 적절한 클래스들과 토착 라이브러리를 안전하게 다운로딩 함으로써 해결한다.