프런트엔드와 백엔드
일반적으로 프런트엔드(front-end)와 백엔드(back-end)라는 용어는 프로세스의 처음과 마지막 단계를 가리킨다. ‘프런트엔드’는 사용자로부터 다양한 형태의 입력을 받아 ‘백엔드’가 사용할 수 있는 규격을 따라 처리할 책임을 진다. ‘프런트엔드’를 ‘백엔드’로 연결하는 것은 인터페이스의 일종이다.
소프트웨어 공학에서 프론트 엔드와 백엔드라는 용어는 소프트웨어의 presentation layer (프론트 엔드)과 data access layer (백엔드) 또는 물리구조 또는 하드웨어 사이의 관심사를 분리하는 것을 의미한다. 클라이언트 - 서버 모델에서 클라이언트는 일반적으로 프런트 엔드로 간주되며 서버에서 실제로 presentation 작업이 수행되는 경우에도 일반적으로 서버가 백 엔드로 간주된다.
콘텐츠 관리 시스템(CMS)에서 프론트엔드와 백엔드는 CMS의 최종 사용자가 보는 뷰와 관리 뷰를 각각 가리킬 수 있다.[1] 음성 합성에서 프론트엔드는 입력 텍스트를 심볼 음운 표현으로 변환하는 합성 시스템의 일부를, 백엔드는 음운 표현을 실제 소리로 변환(convert)하는 것을 가리킨다.[2] 주요 컴퓨터 하위 시스템에서 그래픽 파일 관리자는 컴퓨터의 파일 시스템의 프론트엔드이고 셸은 운영 체제와 통신한다. 프론트엔드는 사용자와 마주하며 백엔드는 응답 시 운영 체제의 프로그램의 실행을 종료한다. 컴파일러에서 프론트엔드는 컴퓨터 프로그래밍 소스 코드를 중간 표현으로 변환하며 백엔드는 컴퓨터 출력 언어의 코드로 생성하기 위해 중간 표현을 가지고 작업한다.[3]
클라이언트 서버 시스템 다층 구조