목차

시스템/서비스 연계 - MMS 서비스연계 Nuri v1.0

개요

MMS 서비스연계는 행정기관이 이동통신서비스를 이용하여 기관의 필요에 따라 각종 행정업무에 활용할 수 있도록
행정안전부 정부통합전산센터 M-Gov(http://www.mgov.go.kr)에서 구축/제공하는 이동통신 기반의 MMS 서비스를 인터페이싱한 컴포넌트이다.

실제 메시지는 정부통합전산센터 M-Gov(http://www.mgov.go.kr)에서 제공하는 API가 전송 처리, 결과값 반환처리를 하고,
본 컴포넌트는 사용자 입력값을 넘겨주고, 반환받은 결과값을 처리하는 역할을 한다.
장문 메시지, 이미지, 동영상, 벨소리 등을 전송할 수 있도록 기반환경을 지원한다.

본 컴포넌트는 사용자가 MMS를 전송하며, 관리자가 MMS 첨부파일 및 전송결과를 관리하는 기능을 제공한다.
현재 Nuri v1.0이 최신버전이며 데몬방식으로 변경되었다.
※ 행정안전부 정부통합전산센터에서는 현재 Nuri v1.0을 가장 최신버전으로 제공하고 있다.
※ 기존 v2.0 버전은 발송시 소켓을 통한 전송을 하였으나 Nuri v1.0은 웹서버에 의존하지 않는 독립적 데몬방식으로 변경되어 비교적 손쉽게 구현할 수 있다.

전제조건

mms서비스연계 v2.0 가이드를 참조한다.

Nuri 메시지서비스 데몬

Nuri 요구사항

Nuri 데몬은 WEB/WAS 서버가 필요없이 Java기반에서 단독으로 구동가능한 서비스 데몬이다.

System

필요한 HDD는 100만 건당 약 300 MB 를 차지하므로 월 50만 건씩 1년을 보관한다고 하면 총 600만 건이므로 1.8 GB정도를 생각하면 된다. CPU는 Pentium 200 이상, 전용선은 56 KB 이상이면 된다. Nuri를 구동하기 위해 모바일메시지서비스에 System OS Version과 DB Version을 알려주어, 해당 Binary File을 받는다.

Database

지원RDBMS 지원버전 비고
MYSQL 3.23.xx 이상 MYSQL 4.xx.xx이상 최신버전 권장
MSSQL 6.5, 7.0, 2000, 2005, 2008 SP3 설치권장
ORACLE 7i 이상 (8i , 9i, 10g) 반드시 서버버전과 클라이언트 버전이 동일해야 함
INFORMIX 9.x 이상 최신버전 권장
DB2 9.xx 이상 최신버전 권장
SYBASE 15 이상 최신버전 권장
CUBRID 7.3, 2008 R1.0, 2008 R2.0 최신버전 권장
TIBERO 4 SP1 이상 최신버전 권장
ALTIBASE 5.3.3 이상 최신버전 권장

Nuri 데몬의 프로세스 블럭다이어그램

Nuri는 실행시 3개의 쓰레드로 동작한다. 개발자는 특정 메시지 테이블에 I nsert만 하면 데몬이 테이블을 주기적으로 스캔해서 MMS서버에 전달하므로 구현이 비교적 간단하다.

NURIMain

실행하는 프로세스가 Daemon으로 되면서 남는 프로세스이며 나머지 프로세스를 실행한다.

NURISender

주기적으로 DB를 감시하며, DB에서 보낼 메시지를 Select해서 SMSG로 보낸다.

NURIReceiver

Main SMSG로부터 오는 전송결과를 수신하여 DB를 갱신한다.

설명

모바일MMS서비스는 크게 MMS 첨부파일의 관리기능인 MMS첨부파일 목록조회, 상세조회, 등록, 수정, 삭제와 MMS 전송결과 관리기능인 MMS전송결과 목록조회로 구성되어 있으며,
MMS 전송 기능으로 구성되어 있다.(관련기능 부분참조)

클래스 다이어그램

관련소스
유형대상소스명비고
Controlleregovframework.mbl.com.mms.web.EgovMmsController.javaMMS Controller Class
Serviceegovframework.mbl.com.mms.service.EgovMmsService.javaMMS Service Class
ServiceImplegovframework.mbl.com.mms.service.impl.EgovMmsServiceImpl.javaMMS ServiceImpl Class
Modelegovframework.mbl.com.mms.service.MmsTransInfo.javaMMS 전송정보 Model Class
Modelegovframework.mbl.com.mms.service.AttachFile.java첨부파일 Model Class
VOegovframework.mbl.com.mms.service.MmsTransInfoVO.javaMMS 전송정보 VO Class
VOegovframework.mbl.com.mms.service.AttachFileVO.java첨부파일 VO Class
DAOegovframework.mbl.com.mms.service.impl.MmsDAO.javaMMS Dao Class
JSP/WEB-INF/jsp/egovframework/mbl/com/mms/EgovMmsAttachFileList.jsp첨부파일 목록조회 페이지
JSP/WEB-INF/jsp/egovframework/mbl/com/mms/EgovMmsAttachFileRegist.jsp첨부파일 등록 페이지
JSP/WEB-INF/jsp/egovframework/mbl/com/mms/EgovMmsAttachFileUpdt.jsp첨부파일 수정 페이지
JSP/WEB-INF/jsp/egovframework/mbl/com/mms/EgovMmsAttachFileDetail.jsp첨부파일 상세조회 페이지
JSP/WEB-INF/jsp/egovframework/mbl/com/mms/EgovMmsTransResultList.jspMMS전송결과 목록조회 페이지
JSP/WEB-INF/jsp/egovframework/mbl/com/mms/EgovMobileMmsRegist.jsp모바일 MMS 전송 페이지
JSP/WEB-INF/jsp/egovframework/mbl/com/mms/EgovMobileAttachFileList.jsp모바일 첨부파일 조회 페이지
QUERY XMLresources/egovframework/sqlmap/mbl/com/mms/EgovMms_SQL_XXX.xmlMMS QUERY XML
Validator Rule XMLresources/egovframework/validator/validator-rules.xmlValidator Rule을 정의한 XML
Validator XMLresources/egovframework/validator/mbl/com/mms/EgovMms.xmlMMS Validator XML
Message propertiesresources/egovframework/message/message-common_ko_KR.propertiesMMS Message properties
Idgen XMLresources/egovframework/spring/com/context-idgen.xmlMMS 전송결과 Id, 첨부파일 Id생성 Idgen XML
ID Generation

mms서비스연계 v1.0 가이드를 참조한다.

관련테이블

mms서비스연계 v1.0 가이드를 참조한다.

로그인/회원관리/권한관리

mms서비스연계 v1.0 가이드를 참조한다.

설정 및 주의사항

* 현재 배포된 모바일 공통컴포넌트는 HTML5, CSS3를 적용하고 있다.
* 그에 따라, 현재 모바일OK, W3C의 모바일 웹 사이트 유효성 검사의 표준에 맞지 않으며, 정확한 유효성 검사에 대한 문의는 해당 전문기관에 문의가 필요하다.
* 현재 배포된 모바일 공통컴포넌트 V 2.0은 소스코드에 대한 보안성 검증이 완료 되었다.

환경설정

MMS 서비스연계 기능을 활용하기 위하여 필요한 항목 및 그 환경 설정은 다음과 같다.

접속가능여부 확인

  * telenet(텔넷)을 이용한 SMS/MMS GateWay 와  통신상태 확인
  * SMS/MMS Gateway IP는 운영(042-250-5537)에 문의
  * 10000 :  실 메세지 전송 포트
  * 20000 :  테스트 서버 Test Bed(Dummy Server)
           - 신규개발 및 추가개발시 테스트용
           - 실제 휴대폰 발송은 되지않음
  * 실서비스와 Test Bed는 99% 동일 ,1%는 가상 이통사(Dummy)로 처리 실발송이 안됨  
  * Windows 사용시 : cmd(Command Mode) 실행 
    C:\Documents and Settings\Administrator>telnet 000.000.000.000 10000
    C:\Documents and Settings\Administrator>telnet 000.000.000.000 20000
    예) 정상(연동가능)  :‘C:\Documents and Settings\Administrator>‘ 또는 ’blank‘ 상태로 확인
    예) 비정상(연동불가): 호스트에 연결 할 수 없습니다.
                            연결 대상 000.000.000.000...호스트에 연결할 수 없습니다.
    * UNIX & Linux 사용시 : Consol 실행 
         [root:/]#telnet 000.000.000.000 10000
         [root:/]#telnet 000.000.000.000 20000
         예) 정상(연동가능)  : Connected to 000.000.000.000.
                    		   Escape character is '^]'.
                    		   Connection closed by foreign host.
         예) 비정상(연동불가):telnet: Unable to connect to remote host: Connection timed out

Nuri for Java 간단한 실행

D:\NURI에 압축을 해제한다.

nuri.conf파일의 DB설정을 환경에 맞게 수정한다.

####################################################################
# 데이터베이스 유형(db_name)
# ORACLE, MSSQL, MYSQL, SYBASE, DB2, INFOMIX, CUBRID, TIBERO, ALTIBASE
#
# Database Driver
#
db_name=MYSQL
db_driver=com.mysql.jdbc.Driver
db_url=jdbc:mysql://localhost:3306/nuri?autoReconnect=true&useUnicode=true&characterEncoding=euc-kr
 
####################################################################
# 데이터베이스 CharSet(db_charset)
# ORACLE, MSSQL, MYSQL, SYBASE, DB2, INFOMIX, CUBRID, TIBERO, ALTIBASE 공통사용
# DBMS에 설정된 CharSet으로 설정한다.
# DBMS마다 euckr, euc_kr, eucksc 으로 명칭이 틀릴경우 EUC-KR로 사용.
# EUC-KR UTF-8 , UTF8 ,euckr
# 기관 로컬 DB 의 언어설정 값
db_charset=EUC-KR
 
####################################################################
# 데이터베이스의 계정설정(테이블생성권한필요함)
# ORACLE, MSSQL, MYSQL, SYBASE, DB2, INFOMIX, CUBRID, TIBERO, ALTIBASE 공통사용
#
db_userid=nuri
db_password=nuri

java -jar nuri.jar nuri.conf 를 실행하고 로그를 확인한다.

Exception이 나오지 않으면 정상적으로 DB에 접속하여 데몬이 실행된 것이다.

Nuri v1.0은 데몬방식으로 변경이 되어서 WAS에 라이브러리를 적재할 필요가 없다.
데몬 구동 패키지는 정부통합전산센터(http://www.mgov.go.kr)에서 다운로드 받을 수 있다.
정부통합전산센터홈 > 개발가이드 에서 바로 nuri_for_java_20150204.zip파일을 다운로드 받을수 있다.

관련기능

mms서비스연계 v1.0 가이드를 참조한다.

참고자료