일반적인 웹 어플리케이션의 프로젝트는 3-tier 방식으로 구성된다.
(위키백과 출처)
Presentation Tier (화면 계층)
화면에 보여주는 기술을 사용하는 영역. 프로젝트의 성격에 따라 앱으로 제작하거나 CS로 구성되는 경우도 있다. Spring MVC로 담당
Business Tier (비즈니스 계층)
순수한 비즈니스 로직을 담는 영역이다. 고객이 원하는 요구 사항을 반영하는 계층으로써 주로 xxxService
와 같은 이름으로 구성된다. 메서드의 이름 또한 고객들이 사용하는 용어를 그대로 사용하는 것이 좋다.
Persistence Tier (영속 계층, 데이터 계층)
데이터를 어떤 방식으로 보관하고 사용하는가에 대한 설계가 들어가는 영역이다. 주로 데이터베이스가 해당되지만 경우에 따라서는 네트워크 호출이나 원격 호출등의 기술이 접목될 수도 있음.
프로젝트를 3 티어로 구성하는 일반적인 이유는 유지보수에 있다. 각 영역을 독립적으로 설계하여 나중에 특정 기술이 변하더라도 필요한 부분만 교체하면 되기 때문이다.
각 영역은 설계부터 구분되고 연결 부위는 인터페이스를 이용하여 설계하는 것이 일반적인 구성방식