Development/etc...
기업형으로 레이어를 나누는 이유와 설명
evagrim
2022. 8. 16. 06:09
1인 개발의 경우 MVC 방식에 따라 쿼리로 DBMS 내용을 가져와 데이터를 준비하는 servlet(model,controller)과 jsp(출력view) 만으로 나눠 서비스를 해도 크게 상관이 없지만, 기업과 같은 다인 개발의 경우 개발자의 역량이나 기업 업무의 파악도에 따라 servlet에서 추가로 특정 업무 서비스(계좌이체 같은)를 담당하는 파트로 나뉜다.
상대적으로 위험도가 적고 코드 수정이 자유로운 입출력부 Controller는 신입에게, 업무 이해도가 높아야 하는 중요 업무 서비스 혹은 신규 서비스 기능 등은 리스크를 감안해 경험이 많은 개발자에게 맡기는 것
처리해야 할 데이터가 많고 보안이 중요하다면 따로 데이터서비스(DAO), 즉 CRUD 업무를 처리해 DBMS 자체적으로 파일을 관리하여 서버에서는 보안을 위해 DB쿼리 사용을 억제하고 정제된 파일을 받아서 쓰기만 하면 되는 DBA를 쓰기도 한다
기업형 개발 업무의 일반적인 형태
사용자 <-> 문서 출력(View) <-> 제어(Controller) <--(Mode)--> 업무 서비스(트랜잭션 처리) <--(Entity)---> 데이터 서비스(DAO) <--(SQL)--> DBMS
(기업 상황에 따라 유동적으로 업무 로직을 합칠 수도, 분할할 수도 있다)