ERS- Enterprise Report Solution
컨택센터에서 발생하는 모든 통계 데이터를 수집하여, 그리드 형식으로 통계 데이터 제공 및 컨택센터 운영에 필요한 통합 운영 설정 기능을 제공하는 솔루션.
기존에 회사의 솔루션 중 하나인 ERS 개발자로 근무했으며, 솔루션 개발 및 프로젝트 진행시 고객사와 요구사항 협의 및 요구사항에 맞게 요건 개발을 주 업무로 진행함.
Solution Features
1. 년/월/일/시간/30분/15분/일+시간 별 통계 데이터 제공
- 검색 조건에 맞게 데이터를 웹 및 엑셀 파일로 제공
2. 컨택센터 상담원 관리 기능
- 각 벤더(Cisco, Aspect, Avaya) 에서 제공하는 Rest API 를 호출하여 상담원 추가/수정/삭제 기능 개발.
3. 실시간 모니터링 제공
- Node.js 를 이용해 실시간 통계 데이터 제공
4. 보고서 Wizard 제공
- 기본적으로 제공하는 보고서 외에도, 관리자가 스스로 통계 보고서를 작성할 수 있도록 동적 보고서 생성 기능 제공
Role
주로 아래 스킬을 사용하여 개발을 진행 함.
1. Spring Framework 3.x
-
Spring Framework 를 사용해 MVC 모델로 통계 보고서 Back-end 기능 개발
- Client의 Request를 받아 Controller <–> Service <–> Repository <–> DB 순으로 각 계층의 역할에 맞게 기능 개발
-
각 벤더에 맞게 상담원 추가/수정/삭제 관련 Rest API 서버 기능 개발
- Cisco / Avaya / Aspect 에서 제공하는 상담원 추가/수정/삭제 및 상담센터 운영에 필요한 데이터를 제공하는 API 기능 개발
- 타 솔루션에서, 벤더가 무엇인지 알필요 없이, 필요한 요청에 따라 작업을 수행할 수 있게 ERS API Server 가 미들웨어 역할을 진행하도록 기능 개발을 하였음.
-
사용자가 스스로 보고서를 동적으로 만들 수 있도록 보고서 Wizard 기능 개발
- 통계 DB 에서 가져올 수 있는 모든 데이터를 XML 파일로 작성 후, 사용자가 해당 데이터 중 필요한 데이터만 뽑아 통계 보고서를 만들면, 해당 컬럼에 대해 DB 에 저장 후 보고서 조회 시, 해당 컬럼만 조회하도록 동적으로 보고서 개발
-
Jsp에 Bootstrap / Jquery 를 이용하여 폴링 방식 위주의 View 화면 개발
2. iBATIS + Oracle
- 통계 데이터 집계를 위한 쿼리 작성 및 쿼리 튜닝 작업 진행
- Full scan 유발하는 슬로우 쿼리 대해 쿼리 튜닝
- 테이블 인덱스 튜닝
- Insert / Update / Delete 와 같이 자주 변경되는 컬럼에 잡혀있는 인덱스
- 조건으로 거의 사용되지 않는 컬럼에 걸려있는 인덱스
- 로우마다 모두 다른 컬럼에 걸려있는 인덱스
3. Node.js
-
Express 를 사용하여 실시간 통계 데이터 제공을 위한 웹 서버 개발
-
3-Layer Architecture 인 Router <–> Servcie <–> Repository 계층을 나눠 서버 구성
-
스케줄링 방식으로 벤더에서 제공하는 실시간 데이터를 가져와 객체에 보관 후 Client에 소켓 통신을 통해 데이터를 제공
-
-
EJS 를 이용하여, SSR 방식으로 실시간 통계 화면 제공
Architecture
1. ERS WAS
2. ERS - Real Time Service
Written on September 7, 2021