OutSystems의 Architecture Canvas에 대해서 알아보겠다.
Architecture Canvas는 OutSystems에서 애플리케이션 아키텍처를 설계하기 위해 채택된 프레임워크이다.
Architecture 설계 속도를 높이는 체계적인 접근 방식을 제공하며 세 개의 Layer로 구성된 다중 Layer Framework이다.
Foundation Layer에는 외부 시스템에 대한 Connector, Library, 재사용 가능한 UI pattern 및 theme와 같은 재사용 가능하고
기능이 없으며 비즈니스에 구애받지 않는 모듈이 모두 포함되어 있다.
이 계층에는 Business 관련 서비스가 없어야 한다.
Core Layer에서는 핵심 Business services가 구현된다.
여기에는 종속성 및 Business 규칙과 같은 Business 개념에 대한 서비스가 포함된다.
이러한 핵심 Business services는 기본 기반 서비스의 시스템 독립적이고 추상적인 통합 세부 정보여야 한다.
마지막으로 맨 위에는 서비스가 없어야 하는 End-User Layer이 있다.
여기에서 사용자 인터페이스 및 프로세스를 통해 모든 사용자 상호 작용을 지원한다.
이제 Architecture Canvas를 사용해야 하는 이유를 알아보겠다.
- 재사용 가능한 서비스 및 구성 요소의 올바른 추상화를 촉진함
- 모든 부분 간의 종속성을 이해하고 명확하게 정의하면 수명 주기 독립성을 최적화함
- 변경의 영향을 최소화할 수 있음
OutSystems는 기업 내 다른 사내 또는 클라우드 기반 시스템과 통합할 수 있어야 한다.
Foundation Layer은 비기능적 요구 사항이 정의되는 곳으로 External producers, DB와 연결을 지원하는 Integration services가 있다.
Core services 외에도 Core Layer에는 모든 비즈니스 규칙, 트랜잭션 및 데이터가 포함된다.
이는 외부 시스템에서 사용할 API가 있을 수도 있음을 의미하며 이러한 인터페이스는 REST, SOAP 또는 기타 유형의 API를 사용하여 내부 Core services와 External consumers 간의 연결을 지원한다.
마지막으로 End-User Layer의 응용 프로그램은 Intranet 및 Extranet user 모두에게 서비스를 제공한다.