여러 애플리케이션 구조 중 가장 단순하고 많이 사용하는 구조는 역할에 따라 3 계층으로 나누는 방법이다.
여기서 서비스 계층은 어떠한 기술에 종속적이여서는 안된다. 만약 데이터 접근 계층에서 JPA를 사용할 때 서비스 계층은 JPA 기술에는 의존해서는 안되며 오로지 순수한 자바코드로 작성하는 것이 안전하다.
왜냐하면 서비스 계층은 주요 비즈니스 로직을 담고 있기 때문에 사용하는 기술이 바뀌어서 코드가 수정된다면 오류가 발행할 가능성이 굉장히 높다. 따라서 서비스 계층은 가급적 비즈니스 로직만 구현하고 특정 구현 기술에 직접 의존해서는 안된다. 이렇게 하면 추후에 구현 기술이 변경될 떄 변경의 영향 범위를 최소화할 수 있다.