App
App 환경은 새로운 Application을 개발하는 환경이다. 범용 Application을 만들고, 업무의 요구나 개선에 따라 Application을 Upgrade한다. App 환경에서 작성한 Application을 기준으로 Tenant를 생성하며, 생성된 Tenant에서는 분리된 Application을 요구 사항에 따라 Customizing하여 구현하고 End User가 사용한다. 따라서 App 환경에서 구현되는 Application은 범용 Application의 형태로 작성하는 것이 필요하다.
App 환경에서 개발된 내용은 Provisioning을 통하여 나머지 3개의 환경(Dev, Sandbox, Prod)에 배포된다. 그리고 배포 시 Database에 변경된 사항은 DDL문으로 추출하여 배포한다.
CALS Env. Provisioning의 과정은 먼저 App 환경의 개발된 내용을 Meta 정보로 생성한다. 생성된 Meta 정보는 먼저 Dev 환경에 배포하며, 배포 후 이상이 없으면, 각 Tenant가 포함된 Sandbox 환경에 배포한다. 최종적으로 Sandbox와 동일한 과정으로 Prod에 배포한다. Note 1. Sandbox와 Prod 환경에서는 각 Tenant마다 별도 권한 및 Deploy, Publish 등의 작업이 필요하다.
App 환경에서 개발한 내역이 각 환경에 배포가 되는 과정에서 Sandbox에서 Customizing한 내역과 Conflict이 발생되는 경우는 Sandbox에서 작업한 개발한 내역이 우선순위를 가진다. Note 2. 해당 적용 기준은 CALS의 Component
, Control
등 저장 단위 별로 적용된다. Sandbox에서 최초 Tenant 생성 시 현재 App에서 배포된 Application을 기준으로 동일하게 생성된다. App에서 신규로 생성한 Object의 경우에는 Sandbox의 Tenant에도 적용되고 권한이 Release된 상태로 배포된다. Provisioning 후에 각 Tenant 별로 해당 신규 Object를 사용할지 여부를 판단한 후 그 결정에 따라 권한을 조정하여 Sandbox의 Tenant에서 사용할 수 있다.