달력

«   2020/10   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
10-31 01:45
Total790,033
Today1
Yesterday4
4.16세월호참사가족대책협의회
4.16연대
딱 하루

 by eJungHyun

글 보관함

2010. 8. 20. 15:14

아파치 미나(Apache Mina) by eJungHyun



Mina(Multipurpose Infrastructure for Networked Applications)

- Mina의 전체 구성도

사용자 삽입 이미지

[펌] 만보님 블로그 http://mckdh.net/130

  • NetWork Service 영역 : 서버와 클라이언트 간의 네트워크 흐름이 이루어진다. 그 과정에서 IoHandler가 세션변 이벤트를 제어한다. 각 통신간의 정보는 IoSession에서 모두 가지고 있다.
  • Service Logic Filter 영역 : 서버와 클라이언트 간의 통신 간의 이벤트를 Interrupt 해서, 각 이벤트에 알맞는 프로토콜을 선별하여 필요한 로직을 수행해 준다. 필요한 프로토콜을 작성한 후 ProtocolCodecFactory에 등록하여 사용할 수 있다.
  • Mina Common API 영역 : Network Service 영역과 Service Logic Filter 영역에 구현된 사항들은 Mina Common API 영역의 주요 클래스/인터페이스들을 상속하여 구현한다.
  • SPRING Framework 관리영역 : 아파치 미나의 클래스, 프로퍼티를 관리하고 모니터링 할 수 있다.

 

Mina 활용 (4가지 영역별 관리)

  • Spring Framework 영역 : 주요 클래스, 서버 IP:PORT 등의 정보 관리. 환경 설정 등을 별도로 편리하게 관리
  • Protocol Filter 영역 : 추가/확장 되어야 할 "중요한 기반 로직"은 프로토콜 필터에 추가한다.
  • IO 영역 : 추가/확장 되어야 할 "주변 유틸리티 로직"은 IO Filter에 추가한다.
  • 네트워크 제어 영역 : 주요 통신 서버별 로직은 IoHandler를 통해 개발, 관리한다.

 

아파치 Mina 기본예제

Apache Mina 최신 버전 다운로드

http://mina.apache.org/downloads.html

- 기본 예제는 Apache Mina를 다운 받은 후 Library를 Import 해주면 mina-example 소스를 활용하여 경험해 볼 수 있다.

본인이 경험해 본 예제는 채팅 예제이다.
org.apache.mina.example.chat

  • 채팅 서버의 특징은 클라이언트의 메시지 입력을 받아서, 서버에 접속해 있는 모든 클라이언트에게 동시에 메시지를 전달해 준다는 것이 특징이다.
  • SpringMain.java 클래스를 통해 Spring 사용법을 알 수 있다.
  • JMX를 이용하는 설정이 있고, 일반 실행 설정이 있다.
  • 일반 실행일 경우 serverContext.xml로 부터 가져다 쓴다.

 

아파치 미나 중요 사이트 및 관련 문서 링크

'리뷰 > IT' 카테고리의 다른 글

아파치 미나(Apache Mina)  (0) 2010.08.20
BPM(Business Process Management)  (0) 2010.08.15
YouTube.com  (0) 2010.07.18

Name

Password

Homepage

Secret

사랑합니다. 편안히 잠드소서