고객지원

ActiveReports는 Bit-Wizards에 웹 서비스 솔루션을 제공하여 미래의 PARS 보고 시스템 구현을 도왔습니다.

Bit-Wizards 고객 Bit-Wizards
웹 사이트 http://www.bitwizards.com
사용 기술 ActiveReports, ASP.NET(스레딩 포함), AJAX
PDF 보기 Bit-Wizards를 도운 ActiveReports

비즈니스 상황

TSA Consulting Group은 수천 건에 달하는 개별 퇴직 거래의 처리 및 규정 준수 분석을 간소화하는 강력하고 사용하기 쉬운 재무 응용 프로그램을 찾던 중 Microsoft Gold Partner이며 플로리다 주 포트 월튼 비치에 본사를 둔 Bit-Wizards에 연락했습니다. 제안 시스템은 수백만 달러의 금융 거래를 관리할 수 있어야 하고, 계속해서 변경되는 IRS 법인세 정책에 대응해야 하며, 기존 회계 응용 프로그램과 통합되어야 하고, 관리가 간편해야 했습니다. Bit-Wizards에서 만든 시스템은 EPARS(Electronic Process for Automated Remittance Service)가 되었습니다.

EPARS는 공립 학구를 위한 자동화 비즈니스 솔루션입니다. 이 시스템에서는 고용주가 한 번의 간단한 거래로 여러 운용사에 퇴직 부담금을 송금할 수 있으므로, 학구에서 수천 건의 개별 부담금을 분석한 다음 여러 퇴직금 운용사에 배분하는 번거로운 관리 업무를 줄일 수 있습니다.

또한 TSA는 금융 거래가 IRS 규정을 준수하는지 확인하고 개별 부담금이 지정된 한도에 근접할 경우 관리자에게 경고를 표시하는 규정 준수 시스템을 제공합니다.


비즈니스 과제

현재 수천 개의 학구에서 EPARS 서비스를 이용하고 있으며, TSA Consulting이 매월 학구를 추가하면서 시스템이 빠르게 확장되고 있습니다. 사용자 수가 증가하던 초기에, Bit-Wizards는 TSA의 기하급수적 비즈니스 성장으로 인해 기존 보고 솔루션이 향후 보고서 요구 사항을 지원할 수 없을 것으로 생각했습니다. 그래서 비용 효율적으로 마이그레이션할 수 있고, 기업의 예상 성장에 대응하는 데 필요한 성능, 기능 및 처리량을 제공할 수 있는 솔루션을 찾기 시작했습니다.


ActiveReports가 적합한 이유

우리는 ActiveReports를 오랫동안 신뢰해온 오래된 고객입니다.

Bit-Wizards 소프트웨어 엔지니어링 이사 Kevin Grohoske

소프트웨어 엔지니어링 담당 Kevin Grohoske 이사는 다음과 같이 말합니다. "우리는 ActiveReports를 오랫동안 신뢰해온 오래된 고객으로서, ActiveReports가 이 프로젝트에 매우 적합하다는 것을 알았습니다. 지난 수년간 ActiveReports 솔루션을 개발해준 고객사가 50곳이 넘고 앞으로도 계속 ActiveReports를 이용할 계획입니다."


솔루션

"우리는 이미 웹 사이트에서 ActiveReports를 사용하고 있었기 때문에 ActiveReports가 적합한 솔루션이었지만, 앞으로 예상되는 성장을 지원할 수 있을지는 확신할 수 없었습니다. 보고서의 크기와 복잡성 때문에 기존 ActiveReports 솔루션은 실제로 ASP.NET 프레임워크의 메모리 한도를 넘어섰습니다. 우리는 ActiveReports로 보고 서비스를 만드는 방법에 대한 자료를 GrapeCity 웹 사이트에서 읽었습니다. Bit-Wizards 개발자 리더인 Matt Parry-Hill은 사용자 지정 보고 솔루션의 기반으로 이 자료를 사용했습니다. 실제 웹 서버에서 보고서 생성을 구분하는 기능, 보고서 요청을 대기열에 추가하는 기능, 멀티 스레드 백엔드 서비스를 만드는 기능과 같은 몇 가지 중요한 기능을 추가했습니다. 이렇게 구축한 솔루션은 단 한 번의 중단도 없이 지금까지 50만 개가 넘는 보고서를 처리했습니다."

Bit-Wizard의 보고 솔루션은 보고서 요청을 생성하고 AJAX를 사용하여 최종 사용자에게 간단하고 친근한 환경을 제공하는 프론트 엔드 EPARS 웹 사이트로 구성되어 있습니다.

EPARS Payroll Run Report

EPARS 급여 실행 보고서



프론트 엔드 웹 사이트의 요청이 웹 서비스로 전달되며, 여기에서 동시 사용자 수백 명의 보고서 요청 대기열을 관리합니다. 보고서 대기열은 실행 중인 10가지 백그라운드 스레드 중 하나에서 처리됩니다. 보고서 대기열은 별도의 보고 서버에서 실행할 수 있으며 ActiveReports를 사용하여 데이터를 가져오고, 시각적 보고서를 생성하며, 감사 및 향후 요청을 위해 완료된 보고서 이미지를 데이터베이스에 저장합니다.

마지막으로, 서비스에서 EPARS 웹 사이트에 보고서를 사용할 수 있음을 알리면 EPARS는 ActiveReport의 WebViewer 구성 요소를 사용하여 보고서 이미지를 가져와 표시합니다. 이 접근 방식에서는 사용자가 결과 보고서를 RTF, HTML, Adobe PDF, Microsoft Excel XLS, TXT, CSV 등 지원되는 파일 형식 중 하나로 저장할 수 있습니다.

구축된 시스템에서는 하루 평균 100명 이상의 사용자를 처리하고 4,000개 이상의 보고서를 생성하며, 빌드 시간은 보고서당 평균 몇 밀리초에 불과합니다. 도입 후 50만 개가 넘는 보고서를 만들었으며, 지금까지 가동 중지는 업데이트 및 서버 재부팅 중 단 한 번 있었습니다.

EPARS의 Windows Service에서 보고서의 수명 주기가 다음의 단계 및 순서도에 설명되어 있습니다.


  1. 보고서 요청 데이터가 보고서 웹 서비스에 제출됩니다. (요청에는 데이터베이스 연결 문자열, 보고서 어셈블리에 대한 전체 경로 등 보고서 빌드에 필요한 모든 정보가 들어 있습니다.)
  2. 보고서 웹 서비스가 요청을 수신하여 대기열에 저장합니다. 요청 관련 정보도 SQL Server 데이터베이스에 저장됩니다. (이 구현에서는 보고서 요청 데이터가 직렬화되어 대기열 폴더에 파일로 작성됩니다.)
  3. Windows Service의 보고서는 파일 감시 도구를 사용하여 보고서 요청을 선택하고 메모리 내 대기열에 추가합니다.
  4. Windows Service 내에서 타이머가 정기적으로 실행되어 대기열에 처리할 보고서가 있는지 확인합니다.
  5. 대기열에서 보류 중인 각 보고서 요청이 제거되어 스레드 풀의 작업자 스레드에 할당된 다음 처리됩니다.
  6. 각 보고서 요청은 역직렬화되고 보고서 빌드 상태가 보고서 데이터베이스에 정기적으로 기록됩니다.
  7. 보고서는 작업자 스레드에 의해 처리됩니다.
  8. 보고서가 완료되면 보고서 이미지가 RDF, PDF, HTML 등 호출자가 요청한 형식으로 데이터베이스에 저장됩니다.
  9. 요청이 완료되고 작업자 스레드가 스레드 풀로 반환됩니다.

Reports Server Design

보고서 서버 디자인


이점

  • 생산성 향상
  • 정확성 향상
  • 커뮤니케이션 향상
  • 웹 사이트 성능 향상
  • 다음을 통한 비용 절감:
  • 복잡성 감소
  • 지원/유지 관리 비용 감소
  • 기존 보고서 빌드 지식 재사용

향후 전망

EPARS를 구현한 이후 성능 문제없이 50만 개가 넘는 보고서를 처리했습니다. EPARS 이용 학구 수가 20개에서 1,000개 이상으로 늘었고, 하루 평균 4,000개 이상의 보고서가 생성됩니다.

아직까지는 이 솔루션의 기술적 한계에 도달하지 않았습니다.

Bit-Wizards 개발자 리더 Matt Parry-Hill

이 솔루션을 통해 고객의 ROI(투자 수익)가 계속해서 크게 향상되고 있으며, 앞으로는 웹 사이트 이외의 다른 보고서 요구에도 이 솔루션을 활용할 수 있을 것입니다. Matt Parry-Hill은 다음과 같이 요약합니다. "아직까지는 이 솔루션의 기술적 한계에 도달하지 않았으며, 이 보고 솔루션은 앞으로도 TSA Consulting Group 금융 상품의 성공에 계속 기여할 것입니다."


리스트로 돌아가기