# 서버측 리포팅

## Content

ActiveReportsJS는 클라이언트 측에서 작동하도록 설계된 리포팅 솔루션입니다. 이 솔루션은 브라우저 환경에서 작동하여 브라우저에서 직접 보고서를 생성, 인쇄 및 내보낼 수 있습니다. ActiveReportsJS는 문서 객체 모델(DOM, Docoumnet Object Model)을 활용하여 보고서 결과물을 구성합니다.
ActiveReportsJS는 DOM에 의존하기 때문에, DOM API가 없는 Node.js 환경에서는 코드를 실행할 수 없다는 점을 유의해야 합니다.
하지만 서버 측에서 보고서를 실행하고 내보내야 하는 상황이 있을 수 있습니다. 예를 들어, 보고서를 일정에 따라 생성하거나 이메일로 보고서 출력을 배포해야 할 수도 있습니다.
이러한 상황에 대비하기 위해, 헤드리스 브라우저를 사용하여 서버 측에서 ActiveReportsJS 보고서를 실행할 수 있는 애플리케이션을 만들 수 있습니다. 이 애플리케이션은 두 가지 주요 구성 요소로 구성됩니다:

1. **클라이언트 측 자바스크립트 코드**: 이 구성 요소는 보고서를 실행하고 내보내는 역할을 합니다.
2. **서버 측 코드**: 이 구성 요소는 헤드리스 브라우저 새 인스턴스를 초기화하고, 클라이언트 측 코드를 호스팅하는 HTML 페이지를 로드합니다. 또한 출력을 캡처하여 파일이나 다른 형태의 저장소에 기록합니다.

이 작업에 대한 포괄적인 코드 샘플은 ActiveReportsJS GitHub 저장소에서 확인할 수 있습니다:

* [Node.js sample](https://github.com/GrapeCity/activereportsjs-samples/tree/main/arjs-server-mode)
* [C# sample](https://github.com/GrapeCity/activereportsjs-samples/tree/main/arjs-server-mode-csharp)

이 방법은 모든 서버 측 언어(GoLang, Python 등)와 모든 헤드리스 브라우저에서 사용할 수 있습니다.
서버 측 렌더링에는 추가로 도메인 라이선스가를 필요하다는 점에 유의해주시기 바랍니다.