제너릭아이티는 Java 기반 업무 시스템을 직접 개발하고 운영하는 개발사입니다. Spring Boot 2.7 · 3.x와 Java 11 · 17로 만든 영업관리 · 레포팅 · 인사관리 · HR 진단 시스템을 운영하고 있고, JSP · Servlet으로 만든 오래된 웹 시스템도 이어받아 유지보수합니다.
이런 Java 시스템이라면
- 10년 전 외주로 만든 JSP · Spring 시스템인데, 만든 업체와 연락이 끊겼다
- Java 6 · 7 · 8, Tomcat 7 · 8, Spring 3 · 4처럼 보안 지원이 끝난 버전으로 돌아가고 있다
- 전자정부 표준프레임워크 2.x · 3.x 기반이라 맡아줄 업체를 찾기 어렵다
- 보안점검에서 오래된 라이브러리(Log4j · Struts · Commons 계열 등) 취약점을 지적받았다
- 빌드 방법을 아는 사람이 없어 작은 수정도 못 하고 있다
맡는 Java 기술 범위
| 구분 | 대상 | 주로 하는 작업 |
|---|---|---|
| JSP · Servlet | JSP · Servlet, JSTL, Struts 1 · 2, iBatis · JDBC 직접 호출 | 구조 분석, 취약 코드(SQL 인젝션 · XSS) 수정, 보안 기능 추가 |
| Spring | Spring 3 · 4 · 5 MVC, 전자정부 표준프레임워크 2.x · 3.x · 4.x, MyBatis | 프레임워크 버전 업, 라이브러리 교체, 기능 개선 |
| Spring Boot | Spring Boot 2.x · 3.x, JPA · QueryDSL, Spring Security | 운영 · 장애 대응, 2.x → 3.x 전환, 인증 · 권한 보강 |
| Java · WAS | Java 6 ~ 21, Tomcat | JDK · Tomcat 지원 버전 전환, WAS 보안 설정 |
| 빌드 · 배포 | Ant · Maven · Gradle, 수동 WAR 배포 | 빌드 환경 복구, 배포 절차 문서화 |
| DB · 서버 | Oracle · MySQL · MariaDB · MS-SQL, CentOS · Ubuntu · Windows Server | DB 버전 업, 지원 종료 OS 이전, 서버 이관 |
Java 레거시에서 자주 하는 작업
지원 종료 버전 업그레이드
Java · Spring · Tomcat은 버전마다 보안 지원 기간이 정해져 있고, 지원이 끝나면 새 취약점이 나와도 패치가 나오지 않습니다. 예를 들어 Spring Boot 2.7은 2023년 11월에 오픈소스 지원이 끝났고, Tomcat 8.5도 2024년 3월에 지원이 끝났습니다. Spring Boot 3.x로 옮기려면 Java 17 이상이 필요하고 javax.* 패키지를 jakarta.*로 바꿔야 해서, 코드와 라이브러리를 함께 고쳐야 합니다. 운영을 멈추지 않도록 단계를 나눠 진행합니다. (참고: 오래된 Java · Spring 시스템, 버전 확인하는 법과 안전한 업그레이드 순서)
취약 라이브러리 교체
오래된 Java 시스템에는 Log4j 1.x · 취약 버전 2.x, Struts, Commons FileUpload · Collections, 구버전 Jackson처럼 알려진 취약점이 있는 라이브러리가 남아 있는 경우가 많습니다. 사용 중인 라이브러리 목록을 뽑아 취약 버전을 찾고, 교체 후 깨지는 코드를 수정합니다.
보안점검 지적 사항 조치
SQL 인젝션 · XSS 같은 취약 코드 수정, 로그인 실패 잠금 · 2단계 인증 · 접속기록 · 개인정보 암호화 같은 보안 기능을 JSP · Spring 시스템에 직접 개발해 넣습니다. 자세한 내용은 협력업체 보안점검 대응과 보안점검 체크리스트 가이드를 참고하세요.
빌드 · 배포 환경 복구
만든 업체가 떠난 Java 시스템은 소스는 있어도 빌드 방법을 아는 사람이 없는 경우가 많습니다. 운영 서버의 WAR · class 파일과 소스를 비교해 실제 운영 버전을 확인하고, 빌드 · 배포 절차를 다시 만들어 문서로 남깁니다.
운영 중인 Java 시스템
| 고객사 | 시스템 | 기술 |
|---|---|---|
| 태산xxx | 영업관리 · 레포팅 · 인사관리 시스템 | Spring Boot 2.7 · 3.3, Java 17, JPA · QueryDSL, Spring Security |
| 마인xxx | HR 진단 솔루션 · 레포팅 시스템 | Spring Boot 2.7, Java 17, JPA · QueryDSL, Spring Security |
| 이지xxx | 헬스퀘어 플랫폼 | Spring Boot 2.7, Java 11, JPA · QueryDSL |
이 밖에 JSP · Servlet으로 만든 기업 웹 시스템, PHP · ASP 시스템도 함께 운영하고 있습니다. 전체 목록은 레거시 · 보안 유지보수에서 볼 수 있습니다.
인수 절차
- 자료 확인 — 소스, 운영 서버 접근 권한, 관리자 · 테스트 계정, 남아 있는 문서를 확인합니다.
- 구조 · 버전 진단 — Java · Spring · WAS · 라이브러리 버전, 빌드 방식, DB 구조, 보안 취약점을 정리합니다.
- 범위 · 견적 제안 — 월 정액 유지보수 범위와 우선 조치할 보안 · 업그레이드 항목을 제안합니다.
- 안정화 — 빌드 · 배포 환경 복구, 백업 체계 정비, 긴급 취약점 조치를 먼저 진행합니다.
- 월간 운영 — 장애 대응, 기능 개선, 월간 보안 점검, 단계적 버전 업그레이드를 이어갑니다.
유지보수 방식
- 월 정액 유지보수: 장애 대응, 소규모 수정, 월간 보안 점검을 포함합니다. 월 50만 원부터(VAT 별도)이며 시스템 규모에 따라 달라집니다.
- 건별 개발: 버전 업그레이드, 보안 기능 개발, 기능 추가처럼 범위가 정해진 작업은 건별로 견적을 드립니다.
- 무료 진단: 계약 전에 Java · Spring · WAS 버전과 주요 취약점을 진단해 드립니다. 진단만 받고 끝내도 됩니다.
자주 묻는 질문
- 다른 업체가 만든 JSP · Spring 시스템도 맡을 수 있나요?
- 가능합니다. 소스와 운영 서버 접근 권한을 받아 구조와 버전을 먼저 분석합니다. 문서가 없거나 빌드 방법을 모르는 상태여도 운영 중인 파일과 소스를 비교해 이어받습니다.
- 전자정부 표준프레임워크로 만든 시스템도 되나요?
- 됩니다. 전자정부 표준프레임워크는 Spring 기반이라 Spring MVC · MyBatis 구조로 분석해 유지보수하고, 필요하면 지원되는 버전으로 업그레이드합니다.
- Java 8 · Tomcat 8 시스템을 꼭 업그레이드해야 하나요?
- 보안점검이나 개인정보 처리가 있는 시스템이라면 지원되는 버전으로 옮기는 것을 권합니다. 다만 한 번에 바꾸면 위험하므로, 취약 라이브러리 교체와 WAS 보안 설정을 먼저 하고 Java · 프레임워크 버전 업은 단계적으로 진행합니다.
- Spring Boot 2.x를 3.x로 옮기는 데 얼마나 걸리나요?
- 시스템 규모와 사용 라이브러리에 따라 다릅니다. Java 17 전환, javax → jakarta 패키지 변경, Spring Security 설정 변경이 주된 작업이며, 무료 진단 후 기간과 비용을 안내해 드립니다.
- 월 비용은 어느 정도인가요?
- 월 정액 유지보수는 월 50만 원부터입니다(VAT 별도). 시스템 규모, 월간 점검 범위, 예상 개발 요청량에 따라 달라지며 무료 진단 후 견적을 드립니다.