<펌웨어> – 하드웨어 동작을 지시하는 소프트웨어인데, 하드웨어적으로 구성되어 하드웨어의 일부분으로 볼 수 있는 제품을 의미. – 주로 ROM에 반영구적으로 저장되어 하드웨어를 제어하고 관리하는 역할 수행 – 최근에는 읽기/쓰기가 가능한 플래시 롬으로 저장되기 때문에 내용을 쉽게 변경하거나 추가/삭제할 수도 있다(하드웨어 교체) ->
<미들웨어> – 여러 기종의 컴퓨팅 환경에서 응용 프로그램과 운영 체제 간 또는 종류가 다른 두 응용 프로그램 간에 보완하고 연결해주는 소프트웨어 – 응용 프로그램을 직접 연결하려면 관련 응용 프로그램 모두에 해당 코드를 추가하면 서로 대화가 가능하지만 미들웨어는 이 대화 과정에서 번역기 역할을 함으로써 응용 프로그램에 코드를 추가할 필요가 없다.
<웹 서버> – 정적인 페이지를 표현하기 위한 서버로 HTML, JPG, GIF 등의 이미지를 HTTP 프로토콜을 통해 웹 브라우저에 제공하는 서버 – 사용자가 클라이언트에게 요청을 보내면 해당 명령에 대한 처리를 하고 다시 사용자에게 답변을 보내는 역할 수행 – 정적인 데이터를 처리하여 동적인 데이터를 요청하면 넘겨주는 WAS 서버에 데이터를 전달한다.
<WAS: Web Application Server> – 동적인 페이지(JSP, PHP, ASP 등)를 표현하기 위한 서버 – 서버 단위로 응용 프로그램이 동작할 수 있도록 지원 – Web Application: 웹 브라우저에서 이용할 수 있는 응용 프로그램, 웹 응용 프로그램 및 서버 환경을 만들고 동작시키는 기능을 제공하는 소프트웨어 프레임워크 – 웹 Application: 웹 브라우저에서 이용할 수 없는 응용 프로그램, 웹 앱의 Contain, 웹 애플리케이션과 서버 환경을 만들고 동작하는 기능을 제공하는 소프트웨어 프레임워크
<웹 서버와 WAS를 동시에 사용하는 이유> – 기능을 분리하여 서버 부하 방지 : WAS는 DB 조회 등 페이지를 만들기 위한 다양한 로직 처리, 단순한 정적 콘텐츠를 WAS에서 제공하는 경우 다른 작업에 사용하는 리소스에 따라 지연될 수 있음 – 물리적으로 분리하여 보안 강화 – 여러 개의 WAS를 연결 가능