## 도메인이란
온라인 서점이 있으면 어떤 책이 나왔는지 검색하고, 목차와 서평을 보고 어떤 책인지 가늠해 볼 수 있다. 장바구니에 담아두기도 하고 바로 구매하기도 한다. 사게 살 수 있는 쿠폰이 있는지 찾아보기도 하고 간편결제나 외부 포인트를 이용해 결제하기도 한다. 구매한 뒤 언제 책을 받아볼 수 있는지 궁금해서 배송 추적 기능도 사용한다.
개발자 입장에서 보면 온라인 서점은 구현해야 할 소프트웨어 대상이 된다. 온라인 서점 소프트웨어는 상품 조회, 구매, 결제, 배송 추적등의 기능을 제공해야한다. 이때 온라인 서점은 소프트웨어로 해결하고자 하는 문제 영역, 즉 도메인에 해당한다.
한 도메인은 다시 하위 도메인으로 나눈다.
카탈로그 하위 도메인은 고객에게 구매할 수 있는 상품 목록을 제공하고, 주문 하위 도메인은 고객의 주문을 처리한다. 혜택 하위 도메인은 쿠폰이나 특별 할인과 같은 서비스를 제공하고, 배송 하위 도메인은 고객에게 구매한 상품을 전달하는 일련의 과정을 처리한다. 한 하위 도메안은 다른 하위 도메인과 연동하여 완전한 기능을 제공한다. 예를들어 고객이 물건을 구매하면 주문, 결제, 배송, 혜택 하위 도메인 기능이 엮인다.
특정 도메인을 위한 소프트웨어라고 해서 도메인 기능을 모두 구현해야 하는 것은 아니다. 외부 시스템을 이용하여 연동해서 사용할 수가 있다.
하위 도메인을 어떻게 구성할지는 상황에 따라 다르다. 기업 고객을 대상으로 장비를 판매하는 곳은 온라인으로 카탈로그를 제공하고 주문서를 받는 정도만 필요할 것이다. 온라인 결제나 배송 추적 기능을 제공할 필요가 없다. 일반 고객 대상이라면 카탈로그, 리뷰, 주문, 결제, 배송, 회원 등의 기능이 필요할 것이다.