여기서 하향식 접근과 상향식 접근은 시스템 개발 진행 관점을 말한다.
하향식 : 시스템 전체적인 동작을 기술한 후 서서히 하부구조나 응용 프로그램의 개별 디자인을 진행하는 방식
상향식 : 반대로 응용 프로그램의 개별 디자인을 만들고 나서 각 부분들을 조립하는 방식
하향식(Top-down) 접근
"분석 우선" 접근 방식으로, 비즈니스 프로세스를 서비스 지향적으로 만들 뿐 아니라 조직의 전반적인 업무 모델을 개발 (또는 재구성)하게 된다.
- 적절한 기업 차원의 온톨로지 (적절한 개념정의 집합) 정의
- (엔티티 모델을 포함하여) 신규 혹은 수정된 온톨로지를 활용하여 관계된 업무 모델 정렬
- 서비스 지향 분석
- 서비스 지향 설계
- 필요한 서비스 개발
- 서비스 기능 테스트
- 서비스 배치
즉, 하향식 접근은 서비스를 모델링 하기 전에 기업의 비즈니스 모델을 정형화하여 정의하도록 돕는다.
장점: 서비스 아키텍처의 품질 수준이 높아진다.
- 향후 각 서비스를 유연하게 조합할 수 있는 재사용 가능성을 최대화
- 각 서비스를 설계하거나 필요한 파라미터를 철저히 분석
단점: 시간과 비용이 많이 든다.
- 시간과 비용이 많이 든다. 당장 결과물을 내놓지 않는 '분석' 에 상당한 시간과 비용을 미리 투자해야 하기 때문
상향식(Bottom-up) 접근
필요한 기반 환경 위에 서비스가 구축되고 요구사항에 가장 잘 부합하는 애플리케이션 로직을 감싸도록 모델링하는 접근 방식이다.
기존 서비스들의 통합을 위해 사용하는 방식으로 Wrapper 만 만들어도 동작할 수 있다.
- 애플리케이션 서비스 모델링 (서비스로 해결할 수 있는 요구사항 정의)
- 애플리케이션 서비스 설계
- 애플리케이션 서비스 개발
- 서비스 테스트
- 서비스 배치
장점: "현재 그대로" 를 기반으로 만들어진 애플리케이션 서비스에 기초하기 때문에 수행하기 쉽다.
단점: SOA가 추구하고자 하는 서비스 기반 아키텍처를 진전시키는 효과는 기대할 수 없다.
- 재사용을 고려하지 않았기 때문에 개별 서비스의 업데이트로 인한 파라미터도 변화할 수 있다.
- 비즈니스 프로세스도 변경해야 할 수 있다. (유지보수가 힘들어진다)
유지보수가 필요하겠지만, 두 접근 방법을 적절히 조합하여 서비스 지향적이 되어 가는 비즈니스 프로세스를 구축하는것이 필요하다.
'Study > Software Engineering' 카테고리의 다른 글
클라우드 서비스란? (Cloud Service) (2) | 2011.03.22 |
---|---|
웹 서비스란 (0) | 2010.12.28 |
Programmable Web (Mashup list 및 ranking 확인) (1) | 2010.06.25 |
Eclipse 에서 WSDL GUI Editor 사용하기 (0) | 2010.03.17 |
Eclipse SOA Platform 구성 요소 (0) | 2010.03.16 |