====== 요소기술 - 파일동기화 ====== ===== 개요 ===== **파일동기화**는 파일 저장 및 삭제에 대하여 여러 AP 서버에 동기화 시키는 기능으로 AP 서버들 간 동기화를 통해 파일 첨부 및 다운로드 기능을 제공한다. ===== 설명 ===== ***파일동기화**는 파일 저장 및 삭제에 대하여 여러 AP 서버에 동기화 시키기 위한 목적으로 동기화대상 서버정보의 등록, 수정, 삭제, 조회, 목록조회의 기능 및 화일 동기화 처리 기능을 수반한다. ① 동기화대상서버목록조회 : 동기화대상 서버정보를 최근 등록 순서대로 조회하고. 그 결과를 화면에 반영한다. ② 동기화대상서버등록 : 동기화대상 서버정보를 등록하고, 등록한 결과를 조회한다. ③ 동기화대상서버수정 : 기 등록된 동기화대상 서버정보를 수정한다. ④ 동기화대상서버삭제 : 기 등록된 동기화대상 서버정보를 삭제한다. ⑤ 동기화대상서버상세조회 : 동기화대상 서버목록에서 선택한 서버의 상세정보를 보여준다. ⑥ 동기화대상파일등록 : 동기화대상 파일을 등록한다. ⑦ 동기화대상파일삭제 : 동기화대상 파일을 삭제한다. ⑧ 파일동기화처리 : 업로드 파일들에 대하여 동기화 처리를 수행한다. ==== 관련소스 ==== ^유형^대상소스명^비고^ |Controller|egovframework.com.utl.sys.ssy.web.EgovSynchrnServerController.java|동기화대상 서버관리를 위한 controller 클래스| |Service|egovframework.com.utl.sys.ssy.service.EgovSynchrnServerService.java|동기화대상 서버관리를 위한 Service Interface| |ServiceImpl|egovframework.com.utl.sys.ssy.service.impl.EgovSynchrnServerServiceImpl.java|동기화대상 서버관리를 위한 서비스 구현 클래스| |DAO|egovframework.com.utl.sys.ssy.service.impl.SynchrnServerDAO.java|동기화대상 서버관리를 위한 데이터처리 클래스| |Model|egovframework.com.utl.sys.ssy.service.SynchrnServer.java|동기화대상 서버관리를 위한 Model 클래스| |VO|egovframework.com.utl.sys.ssy.service.SynchrnServerVO.java|동기화대상 서버관리를 위한 VO 클래스| |JSP|/WEB-INF/jsp/egovframework/utl/sys/ssy/EgovSynchrnServerList.jsp|동기화대상서버 목록조회를 위한 jsp페이지| |JSP|/WEB-INF/jsp/egovframework/utl/sys/ssy/EgovSynchrnServerDetail.jsp|동기화대상서버 상세조회를 위한 jsp페이지| |JSP|/WEB-INF/jsp/egovframework/utl/sys/ssy/EgovSynchrnServerRegist.jsp|동기화대상서버 등록를 위한 jsp페이지| |JSP|/WEB-INF/jsp/egovframework/utl/sys/ssy/EgovSynchrnServerUpdt.jsp|동기화대상서버 수정을 위한 jsp페이지| |QUERY XML|resources/egovframework/mapper/com/utl/sys/ssy/EgovSynchrnServer_SQL_altibase.xml|동기화대상서버정보 Altibase용 QUERY XML| |QUERY XML|resources/egovframework/mapper/com/utl/sys/ssy/EgovSynchrnServer_SQL_cubrid.xml|동기화대상서버정보 Cubrid용 QUERY XML| |QUERY XML|resources/egovframework/mapper/com/utl/sys/ssy/EgovSynchrnServer_SQL_maria.xml|동기화대상서버정보 Maria용 QUERY XML| |QUERY XML|resources/egovframework/mapper/com/utl/sys/ssy/EgovSynchrnServer_SQL_mysql.xml|동기화대상서버정보 MySQL용 QUERY XML| |QUERY XML|resources/egovframework/mapper/com/utl/sys/ssy/EgovSynchrnServer_SQL_oracle.xml|동기화대상서버정보 Oracle용 QUERY XML| |QUERY XML|resources/egovframework/mapper/com/utl/sys/ssy/EgovSynchrnServer_SQL_postgres.xml|동기화대상서버정보 Postgres용 QUERY XML| |QUERY XML|resources/egovframework/mapper/com/utl/sys/ssy/EgovSynchrnServer_SQL_tibero.xml|동기화대상서버정보 Tibero용 QUERY XML| |Validator Rule XML|resources/egovframework/validator/validator-rules.xml|Validator Rule을 정의한 XML| |Validator XML|resources/egovframework/validator/com/utl/sys/ssy/EgovSynchrnServer.xml|동기화대상서버정보 Validator XML| |Message properties|resources/egovframework/message/com/utl/sys/ssy/message_ko.properties|동기화대상서버정보 Message properties(한글)| |Message properties|resources/egovframework/message/com/utl/sys/ssy/message_en.properties|동기화대상서버정보 Message properties(영문)| |Idgen XML|resources/egovframework/spring/com/idgn/context-idgn-SynchrnServer.xml|동기화대상서버정보 Id생성 Idgen XML| ==== 클래스 다이어그램 ==== {{:egovframework:com:utl:sys:ssy:SynchrnServer.png?740|}} === 관련테이블 === ^테이블명^테이블명(영문)^비고^ |동기화서버정보|COMTNSYNCHRNSERVERINFO|파일 동기화대상 AP서버 정보를 관리한다.| === ID Generation 관련 DDL 및 DML === * ID Generation Service를 활용하기 위해서 Sequence 저장테이블인 COMTECOPSEQ에 **SYNCHRNSERVER_ID** 항목을 추가해야 한다. CREATE TABLE COMTECOPSEQ ( table_name varchar(16) NOT NULL, next_id DECIMAL(30) NOT NULL, PRIMARY KEY (table_name) ); INSERT INTO COMTECOPSEQ VALUES ('SYNCHRNSERVER_ID','0'); === ID Generation 환경설정(context-idgn-SynchrnServer.xml) === ==== 관련설정 ==== globals.properties 파일에 Globals.SynchrnServerPath 경로가 없을 경우 에러가 발생하므로, 반드시 해당 디렉토리를 생성해야 한다. # 파일 동기화 컴포넌트에서 사용할 파일 업로드 경로(경로 설정은 반드시 절대경로를 사용해야함, 경로 뒤에 /를 붙여 주어야함.) Globals.SynchrnServerPath = C:/egovframework/upload/Synch/ ===== 관련화면 및 수행메뉴얼 ===== ==== 동기화대상서버 목록조회 ==== ^Action^URL^Controller method^SQL Namespace^SQL QueryID^ |조회|/utl/sys/ssy/selectSynchrnServerList.do|selectSynchrnServerList|"synchrnServerDAO"|"selectSynchrnServerList"| | | | |"synchrnServerDAO"|"selectSynchrnServerListTotCnt"| 동기화대상서버 목록은 페이지당 10건씩 조회되며 페이징은 10페이지씩 이루어진다. 검색조건은 서버명에 대해서 수행된다. {{:egovframework:com:v3.9:utl:sys:ssy:파일동기화_목록.jpg|}} 조회 : 기 등록된 동기화대상서버 목록을 조회한다.\\ 등록 : 동기화대상서버를 등록하기 위해서는 **등록 버튼**을 선택하여 **동기화대상서버 등록** 화면으로 이동한다.\\ 상세조회 : 동기화대상서버의 상세정보를 조회하기 위해 **서버ID**를 선택하여 **동기화대상 서버정보 상세조회** 화면으로 이동한다.\\ 동기화대상파일 등록 : 동기화처리를 위한 대상**파일**을 등록한다.\\ 동기화대상파일 삭제 : 동기화대상 파일을 삭제한다.\\ ---- ==== 동기화대상서버 등록 ==== ^Action^URL^Controller method^SQL Namespace^SQL QueryID^ |저장|/utl/sys/ssy/addSynchrnServer.do|insertSynchrnServer|"synchrnServerDAO"|"insertSynchrnServer"| |목록|/utl/sys/ssy/selectSynchrnServerList.do|selectSynchrnServerList|"synchrnServerDAO"|"selectSynchrnServerList"| 동기화대상서버의 속성정보를 입력한 뒤 등록한다. {{:egovframework:com:v3.9:utl:sys:ssy:파일동기화_등록.jpg|}} 저장 : 신규 동기화대상서버를 등록하기 위해서는 동기화대상서버 속성을 입력한 뒤 하단의 **저장 버튼**을 통해서 동기화대상서버를 등록한다. **서버ID**는 등록시 자동으로 부여된다.\\ 목록 : 동기화대상서버 목록조회 화면으로 이동한다.\\ ---- ==== 동기화대상서버 수정 ==== ^Action^URL^Controller method^SQL Namespace^SQL QueryID^ |저장|/utl/sys/ssy/updtSynchrnServer.do|updateSynchrnServer|"synchrnServerDAO"|"updateSynchrnServer"| |삭제|/utl/sys/ssy/removeSynchrnServer.do|deleteSynchrnServer|"synchrnServerDAO"|"deleteSynchrnServer"| 동기화대상서버의 속성정보를 변경한 후 저장한다. {{:egovframework:com:v3.9:utl:sys:ssy:파일동기화_수정.jpg|}} 저장 : 동기화대상서버를 수정하기 위해서는 동기화대상서버 속성을 변경한 뒤 하단의 **저장 버튼**을 통해서 동기화대상서버를 수정한다.\\ 목록 : 동기화대상서버 목록조회 화면으로 이동한다.\\ ---- ==== 동기화대상서버 상세조회 ==== ^Action^URL^Controller method^SQL Namespace^SQL QueryID^ |조회|/utl/sys/ssy/getSynchrnServer.do|selectSynchrnServer|"synchrnServerDAO"|"selectSynchrnServer"| 동기화대상서버의 속성정보를 조회한다. {{:egovframework:com:v3.9:utl:sys:ssy:파일동기화_상세.jpg|}} 수정 : 동기화대상서버를 수정하기 위해서는 하단의 **등록 버튼**을 선택한 뒤 동기화대상서버 수정 화면으로 이동한다.\\ 삭제 : 기 등록된 동기화대상서버를 삭제하기 위해서는 하단의 **삭제 버튼**을 통해서 동기화대상서버를 삭제한다.\\ 목록 : 동기화대상서버 목록조회 화면으로 이동한다.\\ 동기화파일 다운로드 : **동기화대상서버**에 등록되어 있는 파일을 **동기화대상 컴포넌트가 설치된 서버**로 다운로드 한다.\\ 동기화파일 삭제 : 동기화대상서버에 등록되어 있는 파일을 삭제한다.\\ ---- ==== 동기화대상 처리 ==== ^Action^URL^Controller method^SQL Namespace^SQL QueryID^ |파일등록|/utl/sys/ssy/uploadFile.do|uploadFile| | |파일삭제|/utl/sys/ssy/deleteFile.do|deleteFile| | |동기화|/utl/sys/ssy/processSynchrn.do|processSynchrn|"synchrnServerDAO"|"processSynchrn"| 기 등록된 동기화대상서버를 대상으로 파일동기화 처리를 한다. {{:egovframework:com:v3.9:utl:sys:ssy:파일동기화_목록.jpg|}} 파일등록 : 동기화 대상 파일을 등록한다..\\ 파일삭제 : 동기화 대상 파일을 삭제한다.\\ 동기화 : 상단의 **동기화 버튼**을 통해서 기 등록된 동기화대상서버를 대상으로 동기화 대상파일에 대하여 동기화처리를 한다.\\ ----