Akashic Records

SOA 지원 방법론 본문

오래된글/소프트웨어공학

SOA 지원 방법론

Andrew's Akashic Records 2018. 4. 19. 13:53
728x90

SBD(Service Based Development)는 기존의 CBD(Component Based Development) 방법론에서 확장되었으며 SOA를 지원하기 위한 개발 방법론이다. SBD에서는 기존의 OOAD 나 CBD에서 찾을 수 없는 추가적인 활동이나 산출물이 요구된다. 현재 소개되고 있는SBD로서는 Gartner에서 정의한 SODA(Service Oriented Development of Applications), RUP와 XP의 특징만을 모아서 만든 SOUP(Service Oriented Unified Process)과 IBM에서 정의한 SOMA(Service-Oriented Modeling and Architecture)와 SOAD(Service Oriented Analysis and Design)가 있다.


SODA는 SOA를 구현하기 위해 서비스를 설계, 개발 및 조합 등 일련의 과정에 대한 원칙을 제공한다. 서비스를 개발하고 조합하여 비즈니스 프로세스를 지원할 수 있는 애플리케이션 개발 모델 제공을 목표로 한다. SODA는 CBD, 분산개발, SOA를 통합하여 공통적 개념들을 뽑아 적용하였다.


SOUP은 Knual Mittal이 제안한 것으로서, 소프트웨어 개발의 6단계를 정의하고, 각 단계에서 수행해야 되는 활동들을 포함하고 있다. SOUP의 프로세스는 SOA배치(Deployment)와 배치 후의 SOA 관리의 두 부분으로 나누어진다. SOA 배치부분은 RUP에 기반을 두고 작성되었으며 SOA 관리부분은 XP에 기반 해서 만들어졌다.


SOMA는 SOA를 지원하는 모델링, 분석 설계 기술과 활동을 포함하며, SOA의 각 레이어 내의 요소를 정의하고 각 레벨에서 일어나는 아키텍처적 결정을 하도록 한다. SOMA는 상향식(Bottom-Up) 접근법과 하향식(Top-Down) 접근법을 통합하는 방법이다. 이러한 방식으로 상위수준의 비즈니스 프로세스 기능은 크기가 큰(Large-grained) 서비스로 식별되고 좀더 작은 단위(Smaller-grained) 서비스는 기존에 존재하는 기능을 중심으로 식별한다. 이로써 시스템 내에 있으나 외부 비즈니스 협력자나 사용자가 사용하고자 하는 기능을 외부로 끌어내어 어떻게 어댑터(Adaptors)나 래퍼(Wrappers)를 만들 건지 결정하게 하는 방법을 포함한다. SOMA는 서비스의 식별(Identification), 명세(Specification), 실현(Realization) 세 단계로 구성된다. 서비스 식별은 비즈니스 도메인(Domain)을 기능을 중심으로 하여 서브시스템으로 분해하는 하향식과 이미 가지고 있는 시스템의 분석을 통해 비즈니스 프로세스에서 수용 가능한 기능을 가진 후보 서비스를 상향식으로 식별한다. 앞의 상향식이나 하향식으로 식별되지 않은 다른 서비스를 찾아내는 목표 서비스 모델링(Goal-Service Modeling)으로 구성 된다.


SOAD는 OOAD와 EA 구조(frameworks), BPM과 같은 기존의 모델링 개념들을 SOA에 적용시킨 방법론이다. OOAD, EA, 그리고 BPM 개념들을 모두 포함하고 SOA에서 요구하는 사항들을 지원할 수 있도록 상향식 및 하향식을 포함한 방법론으로 제시되었다.

객체지향 방법론 및 CBD의 개발 절차나 표기법 등은 SOA에서 요구하는 요구사항을 부분적으로는 지원하지만, 서비스 규약, 서비스 저장소나 서비스 버스와 같은 SOA에서 요구하는 사항에 대한 전반적인 지원이 미흡하므로, 추가적인 활동과 산출물들이 필요하다. 일반적인 SOA 모델링에서는 비즈니스 모델링에 CBM(Component Business Modeling)과 같이 상향식을 따르고 있어 기존 시스템이 가진 많은 양의 중요한 데이타와 비즈니스 로직에 대한 재사용을 고려하지 않는다. 따라서 하향식으로 래핑과 같은 전략을 적용해야 한다. 따라서 웹서비스 기반의 SOA 구현 모델의 제시와 함께 구체적 구현 기술 적용 및 활용에 대한 방안이 필요 하다.

방법론

특 징

SODA

  • CBD, 분산시스템 개발, SOA의 공통 요소를 뽑아 적용

  • SOA를 구현하기 위한 서비스 설계, 개발, 조합에 관한 원칙을 정의

  • 서비스 단위나 세부 절차에 대하여 구체적으로 명시하지 않음

SOAD

  • OOAD, EA, BPM 같은 기존의 모델링 개념들을 SOA에 적용시킴

  • 하향식과 상향식을 연결하여 기존시스템의 통합을 위한 아이디어 제시

  • 세부적인 절차나 활동을 명시하지 않음

SOUP

  • RUP와 XP의 특징만을 모아서 SOA에 적용시킨 방법론

  • 소프트웨어 개발 6단계를 정의하고, 단계별 활동을 정의

  • 비즈니스 프로세스, 서비스 규약(choreography)이나 서비스 저장소 같은 SOA에 대한 요구사항을 지원하지 않음

SOMA

  • 기존 IBM의 SOAD를 참조하여 확장된 방법론

  • 서비스 식별, 명세, 실현의 세 단계로 구성

  • 하향식과 상향식방식을 통합하여 정의

  • 서비스 식별에 대한 구체적인 활동이 제시되지 않음


728x90
Comments