프로젝트와 서버 개념
주제 목차 · 다음: 새 프로젝트 만들기
이 문서의 결과: ack 서버 하나가 여러 프로젝트를 어떻게 함께 서비스하는지 설명한다.
ack 하나, 프로젝트 여러 개
ack는 하나의 실행 프로그램이지만 contracts 디렉토리 아래에 여러 프로그램 ID(ApplicationID)와 프로젝트 ID(ProjectID)를 동시에 둘 수 있습니다.
contracts/wwwroot
├─HDS <- ApplicationID
│ ├─BOD <- ProjectID (게시판)
│ └─TST <- ProjectID (테스트/예제)
새 업무를 시작할 때 서버를 새로 설치할 필요 없이, 같은 ack 아래 새 ProjectID 디렉토리를 추가하는 것이 일반적입니다. 여러 업무를 완전히 분리해야 한다면(별도 배포 주기, 별도 인증 등) ack 자체를 프로젝트별로 별도 실행할 수도 있습니다.
개발 서버가 하는 일
| 역할 | 설명 |
|---|---|
| 정적 파일 제공 | wwwroot 아래 html/js/css를 브라우저에 제공 |
| 거래 라우팅 | 브라우저 요청을 transact 계약으로 검증 후 dbclient/function 등으로 전달 |
| 모듈 로딩 | module.json 설정에 따라 필요한 모듈만 구동 |
포트와 접속 주소
기본 포트는 8421입니다. 실습 환경에 따라 실제 포트가 다를 수 있으므로 고정값으로 가정하지 말고 실행 로그와 설정 파일을 우선 확인합니다. 최초 실행 화면은 필수 프로그램 설치하기의 안내를 따릅니다.
자주 하는 오해
"업무마다 ack를 새로 설치해야 하나요?"
아닙니다. 같은 ack 아래 contracts에 새 ProjectID 디렉토리만 추가하면 됩니다. 완전한 격리가 필요할 때만 별도 실행을 검토합니다.
이것만 기억하세요
- 하나의 ack가 여러 프로젝트(ProjectID)를 함께 서비스할 수 있다.
- 새 업무는 보통 새 디렉토리 추가로 시작하며, 서버 재설치가 필요하지 않다.