포털 플랫폼 아키텍처 원칙
이 문서는 여러 포털이 함께 성장하는 과정에서 무엇을 중앙 기준으로 두고, 무엇을 각 포털이 독립적으로 소유하는지를 기록한다. 구현이 바뀌기 전에 책임 경계를 먼저 확인하는 것을 목적으로 한다.
1. 역할 분리
| 계층 | 담당 책임 | 중앙에서 강제하지 않는 영역 |
|---|---|---|
| DirectoryService | 사용자·조직 원장, 중앙 로그인, 포털 간 공통 권한 기준 | 각 포털의 업무 데이터와 화면 규칙 |
| UI Center | 공통 UI 패키지, 테마, 컴포넌트 릴리스, 포털별 UI 적용 상태 | 개별 포털의 업무 기능과 데이터 |
| 공통 기능 Asset | 게시판·첨부파일 등 반복 기능의 기본 소스, 예제, 테스트, 적용 문서 | 포털별 게시판 운영, DB 구조, 승인·노출 정책 |
| 개별 포털 | 고유 업무 기능, 화면, 데이터베이스, 배포·운영 정책 | 중앙 사용자·조직 원장의 직접 변경 |
이 구조에서 DirectoryService는 정체성의 기준, UI Center는 표현 규칙의 기준, 공통 기능 Asset은 생산성을 위한 출발점, 개별 포털은 업무 요구를 최종적으로 구현하는 주체다.
공통 UI의 표준 템플릿 범위와 히어로 아래 자유 레이아웃의 책임 경계는 공통 UI 템플릿 및 포털 자유 레이아웃 가이드에서 관리한다.
2. 공통 기능 Asset의 원칙
공통 기능은 중앙에서 모든 포털을 하나의 화면·데이터베이스·운영 규칙으로 묶는 통합 서비스가 아니다. 검증된 기본 구현을 포털에 전달하고, 포털이 이후 요구에 맞게 수정하고 확장할 수 있도록 돕는 재사용 Asset 카탈로그다.
일반게시판과 첨부파일은 첫 Asset 후보다. 기본 목록·상세·작성·첨부 처리·권한 연결·테스트·적용 가이드를 제공하되, 각 포털은 해당 소스를 가져가 자체 DB와 자체 배포 흐름으로 운영한다. 한 포털의 변경·장애·성능 문제는 다른 포털의 런타임에 영향을 주지 않는다.
| 제공 항목 | Asset 저장소의 역할 | 포털의 역할 |
|---|---|---|
| 기본 게시판 | 목록·상세·작성·삭제 등 기준 소스와 테스트 제공 | 화면, 필드, 워크플로, 승인 규칙 확장 |
| 첨부파일 처리 | 업로드 검증, 메타데이터 모델, 보안·오류 처리 예시 제공 | 저장소 선택, 보존 기간, 접근 정책 운영 |
| 사용자·조직 연동 | DirectoryService 조회·권한 연결 예시 제공 | 업무 맥락에 맞는 권한 규칙 구현 |
| 개선 사항 | 보안 보정·버그 수정·새 기준 버전 기록 | 필요한 변경만 선택적으로 채택 |
인계 원칙: 공통 기능은 “여기까지는 검증된 기본값으로 제공합니다. 이 지점부터는 포털의 업무에 맞게 바꾸어 쓰세요.”라는 전달 단위다.
3. 독립 운영과 업그레이드
Asset을 적용한 포털은 공통 기능 저장소와 런타임 의존 관계를 만들지 않는다. 적용 후 소스·DB·배포는 해당 포털이 소유하며, 공통 기능의 새 버전은 자동 반영되지 않는다. 포털 운영자는 변경 사항을 검토한 뒤 필요한 부분만 선택적으로 반영한다.
이 방식은 포털별 자유도를 보장하면서도, 다음 프로젝트가 검증된 기초에서 출발하도록 한다. 공통 Asset은 포털을 통제하는 장치가 아니라 반복 구현을 줄이는 기준선이다.
4. 수동 갱신 운영 방식
이 문서는 자동 생성하지 않는다. 아키텍처·권한·데이터 소유권·배포 방식에 의미 있는 변경이 생길 때, 변경을 수행한 사람이 결정 이력에 다음 항목을 추가한다.
| 기록 항목 | 내용 |
|---|---|
| 날짜 | 결정이 확정된 날짜 |
| 결정 | 무엇을 바꾸었는지 |
| 이유 | 어떤 문제나 요구를 해결하는지 |
| 영향 | DirectoryService, UI Center, Asset, 포털 중 영향 범위 |
| 후속 조치 | 구현·테스트·문서화가 필요한 작업 |
초기에는 변경 시 수동 갱신으로 운영한다. 실제 변경 빈도와 범위가 커진 뒤에만 정기 초안 생성 방식을 다시 검토한다.