웹 애플리케이션 아키텍처
웹 애플리케이션의 구조와 구성요소들 간의 상호작용 방식을 정의하는 설계 원칙과 패턴의 집합. 웹 애플리케이션을 설계하고 개발할 때 어떻게 구성되어야 하는지를 결정하며, 확장성, 유지보수성, 보안성 등 다양한 측면을 고려
크게 세 가지 계층으로 나뉜다.
1. 프레젠테이션 계층 (Presentation Layer)
- 사용자와 상호작용하는 부분을 담당
- 웹 브라우저를 통해 사용자에게 보여지는 UI를 구성하고, 사용자의 입력을 받아 서버로 전달
- HTML, CSS, JavaScript를 사용하여 UI를 구현하며, 사용자와 웹 애플리케이션 사이의 데이터 전송을 처리
2. 비즈니스 로직 계층 (Business Logic Layer)
- 웹 애플리케이션의 핵심적인 기능과 비즈니스 규칙을 구현하는 부분
- 프레젠테이션 계층에서 전달된 요청을 받아서 필요한 데이터 처리, 업무 로직 수행, 데이터 검증 등을 수행
- 데이터베이스와의 상호작용, 외부 API 호출, 파일 시스템 접근 등을 처리
3. 데이터 접근 계층 (Data Access Layer)
- 데이터베이스나 다른 외부 데이터 소스와의 상호작용을 담당
- 비즈니스 로직 계층으로부터 요청받은 데이터를 데이터베이스에서 가져오거나 저장
- 이 과정에서 데이터의 CRUD(Create, Read, Update, Delete) 작업을 수행하며, 데이터의 영구 저장과 검색을 담당
이렇게 분리된 아키텍처는 코드의 재사용성, 유지보수성, 확장성을 향상시키고, 팀원들 간의 협업을 원활하게 만드는 데 도움을 준다. 또한 보안성과 성능 최적화 등에도 영향을 미친다.