본문 바로가기
Study/Software Engineering

서비스 지향 시스템 개발에서 하향식(Top-down) 접근과 상향식(Bottom-up) 접근 비교

by SeulKom 2011. 1. 17.

여기서 하향식 접근과 상향식 접근은 시스템 개발 진행 관점을 말한다.

 

하향식 : 시스템 전체적인 동작을 기술한 후 서서히 하부구조나 응용 프로그램의 개별 디자인을 진행하는 방식

상향식 : 반대로 응용 프로그램의 개별 디자인을 만들고 나서 각 부분들을 조립하는 방식

 

하향식(Top-down) 접근

"분석 우선" 접근 방식으로, 비즈니스 프로세스를 서비스 지향적으로 만들 뿐 아니라 조직의 전반적인 업무 모델을 개발 (또는 재구성)하게 된다. 
 
  1. 적절한 기업 차원의 온톨로지 (적절한 개념정의 집합) 정의
  2. (엔티티 모델을 포함하여) 신규 혹은 수정된 온톨로지를 활용하여 관계된 업무 모델 정렬
  3. 서비스 지향 분석
  4. 서비스 지향 설계
  5. 필요한 서비스 개발
  6. 서비스 기능 테스트
  7. 서비스 배치
즉, 하향식 접근은 서비스를 모델링 하기 전에 기업의 비즈니스 모델을 정형화하여 정의하도록 돕는다.
 
장점: 서비스 아키텍처의 품질 수준이 높아진다. 
  • 향후 각 서비스를 유연하게 조합할 수 있는 재사용 가능성을 최대화
  • 각 서비스를 설계하거나 필요한 파라미터를 철저히 분석
단점: 시간과 비용이 많이 든다.
  • 시간과 비용이 많이 든다. 당장 결과물을 내놓지 않는 '분석' 에 상당한 시간과 비용을 미리 투자해야 하기 때문

 

상향식(Bottom-up) 접근

필요한 기반 환경 위에 서비스가 구축되고 요구사항에 가장 잘 부합하는 애플리케이션 로직을 감싸도록 모델링하는 접근 방식이다.
기존 서비스들의 통합을 위해 사용하는 방식으로 Wrapper 만 만들어도 동작할 수 있다.
 
  1. 애플리케이션 서비스 모델링 (서비스로 해결할 수 있는 요구사항 정의)
  2. 애플리케이션 서비스 설계
  3. 애플리케이션 서비스 개발
  4. 서비스 테스트
  5. 서비스 배치
장점: "현재 그대로" 를 기반으로 만들어진 애플리케이션 서비스에 기초하기 때문에 수행하기 쉽다.
단점: SOA가 추구하고자 하는 서비스 기반 아키텍처를 진전시키는 효과는 기대할 수 없다.
  • 재사용을 고려하지 않았기 때문에 개별 서비스의 업데이트로 인한 파라미터도 변화할 수 있다.
  • 비즈니스 프로세스도 변경해야 할 수 있다. (유지보수가 힘들어진다)
유지보수가 필요하겠지만, 두 접근 방법을 적절히 조합하여 서비스 지향적이 되어 가는 비즈니스 프로세스를 구축하는것이 필요하다.