- jfile 업/다운로드 컴포넌트는 AJAX 기반의 업그레이드 된 기술로 개발자들이 쉽게 파일 업로드 컴포넌트를 다룰 수 있도록 해 줍니다. SI 프로젝트에서 빈번히 요구하는 보안 지침 사항, 또는 사용자 편의성에 의거하여 다양한 요구사항이 나올 때 여러분들이 클래스 수정없이 단순한 설정 값 변경만으로 반영 할 수 있도록 도와줍니다. 아래 내용은 실제 모 SI 프로젝트 고객에서 요구한 요구사항입니다. jfile 컴포넌트는 아래의 요구사항을 쉽게 적용 할 수 있도록 도와 줍니다. 예를 들어 보안 지침사항 1)번과 사용자편의성 7)번 만 적용 하고자 할 경우 클래스 수정 없이 설정값 변경으로 쉽게 반영 할 수 있습니다.
z
<보안지침사항>
1) 회원이 업로드한 파일 위치가 DMZ 영역에 있을 경우에는 파일자체를 암호화 해야함.
2) 파일 암호화 알고리즘은 고객사가 신뢰 할 수 있는 알고리즘으로 쉽게 변경 가능해야 함.
3) 파일이 관리되는 각각의 고객사 폴더별로 암호화 알고리즘을 변경 해야 할 시에도 조치 가능해야 함.
4) 파일명을 암호화 해야 함.
<사용자편의성>
1) 크로스 부라우징을 지원해야 함.
2) ajax 기반으로 동작해야 함.
3) 파일 선택시 다중 선택이 가능해야 함.
4) 파일이 업로드 될 때 progressbar 의 움직임으로 업로드 진행상황을 확인 할 수 있어야 함.
5) 이미지파일인 경우 파일을 다운받기 전에 미리보기(preview) 가능해야 함.
6) 다운받을 파일이 복수개 일 경우 한번에 압축하여 다운로드 받을 수 있어야 함.
7) 해당업무별로 파일저장 경로를 다르게 관리 할 수 있어야 함.
<고객 접근 통계>
1) 다운로드 시 다운로드 건수 이력을 남겨야 함.
<이슈 사항>
1) 회원수 증가로 인해 월별로 생성해 놓은 디렉터리가 파일 30만건 이상 일 경우 더 이상 파일을 업로드 할수 없음.
2) 서버에 파일이 저장되는 root 폴더의 위치를 업무마다 다르게 저장하고 해야함. 예) S은행 : /app/s001, K은행 : /app/k001, W은행 : /app/w001.
3) 시스템구성환경이 복수개의
WebServer(아파치, Webtobe...) 와 복수개의 WAS(웹로직,웹스피어...) 로 구성 되어 있을경우 파일업로드 완료 시점에 ftp 또는 sftp 를 통해 웹서버로 전송되야 함. (이미지는 웹서버에서 <img src="이미지 URL"/> 형태로 사용하기 때문. 이미지를 웹서버로 전송하지 않고 WAS 에서 byte[] 형태로 서비스 할 수 있게 해주는 방법으로 구현했다가 로드러너로 부하테스트 시 CPU, Memory 과다 부하로 WAS 가 죽어 버림. 즉 파일 완료시점에 사용자가 핸들링 할 수 있는 User 이벤트를 제공해야 함.)