DBMS(database management system) 등장 이전에는 개발자들이 파일의 데이터를 저장하고 읽어들이는 등의 기능을 모두 구현해야 했다. 이를 해결하기 위해 DBMS가 등장하게 되었고 이전에 비해 데이터를 훨씬 쉽게 관리할 수 있게 된다. 하지만 DBMS는 보통 서버 형태로 서비스를 제공하기 때문에 이러한 DBMS에 접속해서 동작하는 클라이언트 프로그램이 많이 만들어지게 된다. 하지만 이 방식은 클라이언트의 로직이 많아지고 클라이언트 프로그램의 크기가 커진다는 문제가 있었다.
위와 같이 DBMS를 직접 클라이언트가 연결되어 동작하는 방식은 여러 단점을 가졌고 이러한 문제점을 해결하기 위해 등장한 것이 MiddleWare다. MiddleWare는 클라이언트와 DBMS 사이에 또 다른 서버를 두는 방식이다. 클라이언트는 단순히 중앙에 있는 서버에 요청을 보내고, 이 MiddleWare에서 대부분의 로직을 수행하게 된다. 이때 데이터의 조작이 필요한 경우 DBMS에게 요청을 보낸다. 그리고 그 결과를 클라이언트에 전송하면 클라이언트는 그 결과를 화면에 보여준다. 이 덕분에 클라이언트의 크기가 굉장히 작아진다.
최초의 웹이 등장했을 때 웹 브라우저는 정적인 데이터만 보여줬다. 하지만 웹이 널리 사용되면서 웹에서 데이터를 입력하고 조회하는 등의 동적인 기능이 필요했고 동적인 기능은 프로그래밍을 통해 가능했다. 당시 웹 서버에서 프로그래밍 기능이 들어가는 방식을 CGI라 불렀고 CGI는 단순한 프로그래밍에서 사용 시 별 문제가 없었다. 하지만 웹은 점점 복잡해졌고 점점 복잡한 프로그래밍적인 기능을 요구하게 되었다. 이때 사용하게 된 미들웨어가 WAS다. 보통 웹 서버는 정적 컨텐츠를 처리하고, WAS는 동적 컨텐츠를 처리하도록 한다.
Reference
'BackEnd' 카테고리의 다른 글
MVC 패턴이란? (0) | 2023.02.01 |
---|---|
[Maven] Could not initialize class org.apache.maven.plugin.war.util.WebappStructureSerializer 에러 (0) | 2023.01.18 |
Maven이란? (0) | 2022.12.25 |
웹 서버란? (0) | 2022.12.19 |
Apache Tomcat 다운 및 설치 (0) | 2022.11.21 |