티스토리 뷰

반응형

목표: 코드 분리를 위한 사전 설명

기업형으로 만들 경우 업무를 분담해서 프로그램을 만들게 된다.
그러한 모델에 대해서 자세히 알아본다.

 

서블릿으로도 충분히 프로그램을 만들 수 있다.

 

그리고 Controller(servlet)와 View(문서 출력 jsp)로 나누어서 만들 수도 있다.
Controller가 DBMS에 접속해서 쿼리를 만들고 사용자 입출력, 업무처리를 모두 했다.

하지만 업무가 커지게 되면 입출력을 담당하는 Servlet에서 업무 서비스를 또 분리하는 것이 바람직하다.
보통은 경험이 적은 사람은 servlet에서는 사용자 입출력을 관리하고 경험이 조금 더 많은 사람이 업무 서비스를 관리한다. 왜냐하면 servlet에서는 입출력을 실수를 하더라도 입출력 문제이지만, 만약 업무 서비스에서 예를 들어 은행 입출금과 같은 업무를 실수하게 되면 큰 문제가 발생할 수 있기 때문이다.  또한 같은 업무를 하는 새로운 프로그램을 만들 때에도 업무 서비스는 그대로 두고 servlet을 수정해서 만들 수 있다. 
업무 서비스란? 사용자가 요청하는 단위, 예) 계좌이체()

 

업무 서비스에서 데이터베이스를 책임지는 데이터 서비스(DAO)를 따로 만들 수도 있다. 
이렇게 만들게 되면 업무 서비스에서는 SQL 쿼리문 없이 자바만을 사용하고 변동되는 DBMS프로그램에 관여하지 않고 업무를 수행할 수 있다. 즉, 그 부분은 데이터 서비스(DAO)에서 해주면 된다.

DAO는 씨퀄 문을 작성할 수 있는 사람이 업무 서비스로 자바라는 개체(Entity)를 넘겨주고
업무 서비스에서는 업무를 처리해서 업무 결과(model)를 넘겨주면
servlet(Controller, View)에서 받아서 사용자에게 출력하게 한다.

반응형
댓글
공지사항