반응형

미들웨어


클라이언트 쪽에 비즈니스 로직이 많은 경우, 클라이언트 관리(배포..) 로 인해 비용이 많이 발생하는 문제가 있음

비즈니스 로직을 클라이언트와 DBMS사이의 미들웨어 서버에서 동작하도록 하여 클라이언트는 오직 입력과 출력만 담당하도록 함(3-tier)

즉 클라이언트와 DBMS 사이에 또 다른 서버를 두어 이 미들웨어 서버에서 대부분의 로직을 수행하며, 데이터를 조작할 일이 있으면 DBMS에게 부탁하는 방식이다. 때문에 클라이언트에는 복잡한 로직이 사라지고 단순히 화면에 결과만 보여주면 되기 때문에 크기가 작이지게 되며, 프로그램 로직이 변경된다 하더라도 모든 클라이언트에게 배포하지 않고 오직 미들웨어만 변경하면 되는 장점을 가지고 있다.


WAS


일종의 미들웨어로 웹 클라이언트(보통 웹 브라우저)의 요청 중 웹 애플리케이션이 동작하도록 지원하는 목적을 가지고 있다. 웹이 널리 사용되면서 웹에서 데이터를 입력하고 조회하는 등의 동적인 기능이 요구되었고 이러한 동적인 기능은 프로그래밍을 통해서 가능했습니다. 보통 이러한 기능들은 DBMS와 연관된 경우가 빈번했고, 브라우저를 클라이언트로 생각한다면 브라우저와 DBMS 사이에서 동작하는 미들웨어가 필요하게 된것입니다. 이러한 미들웨어를 WAS라고 합니다. 즉, WAS도 넓게 보면 미들웨어에 포함된다고 할 수 있습니다. WAS는 중요한 3가지 기능을 제공하는데 먼저 첫번째는 프로그램 실행 환경과 데이터베이스 접속 기능을 제공합니다. 두번째는 여러개의 트랜잭션을 관리하고 마지막으로 업무를 처리하는 비즈니스 로직을 처리합니다.

여기서 트랜잭션은 논리적인 작업단위라 생각하시면 되며, 자세한 내용은 데이터베이스 관련 포스팅을 참고하세요. 또한 WAS는 웹서버의 기능도 기본적으로 제공하는데, 웹 프로그래밍을 진행하면 톰캣이라는 WAS를 설치하면 웹서버로 이용할 수 있는 이유는 WAS인 톰캣이 웹 서버의 역할을 충분히 해주기 때문입니다. 



여기서 WAS와 웹 서버의 차이점은 간단하게 웹 서버는 정적인 컨텐츠를 처리하며 WAS는 동적인 컨텐츠를 처리한다고 정리하시면 되겠습니다. 



반응형

+ Recent posts