웹 MVC 관점에서의 Model
:: 컨트롤러에 필요한 기능이나 데이터를 처리해주는 존재
시스템 전체구조에서의 Model
:: 컨트롤러와 뷰를 제외한 남은 모든 부분
여기서 모델을 세분화하자면
데이터베이스를 담당하는 영역 (Data Layer) 과 비지니스 로직을 처리하는 영역 (Service Layer) 으로 구분할 수 있다.
JSP/Servlet은 Presentation Layer를 담당하게 되고 세분화한 모델을 합쳐보게 되면 3티어 구조가 나오게 되는데,
3티어와 같이 계층을 분리하는 경우에는 반드시 계층이나 객체들 간에 데이터 교환이 이루어지게 된다.
보통 이런 경우 한 개 이상의 데이터를 전달할 때가 많기 때문에 여러 개의 데이터를 묶어서 하나의 객체로 전달하게 되는데 이를
DTO (Data Transfer Object)라고 한다.
DTO는 여러개의 데이터를 묶어서 필요한 부분에 전달하거나 호출을 결과로 받는 형식으로 사용하기 때문에 특별한 규격이나 제약이 있는 것은 아니지만 대부분은 JAVA BEAN의 형태로 구성하는 경우가 많다.
Java Bean의 대체적인 형식