10장. soa 구축 전략pds12.egloos.com/pds/200901/14/88/a0105788_496df5c55bc07.pdf · 2009. 1....

22
One Step Ahead SOA SOA - - 서비스 서비스 지향 지향 아키텍처 아키텍처 개념에서 설계, 구현까지 김상일 [email protected]

Upload: others

Post on 23-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

  • One Step Ahead

    SOASOA--서비스서비스 지향지향 아키텍처아키텍처개념에서 설계, 구현까지

    김상일

    [email protected]

  • 2SOA 서비스 지향 아키텍처

    - One Step Ahead -

    Copyright ⓒ NEXTREE SOFT CO., LTD., 2007, All Rights Reserved.

    11장장.. 개론개론22장장.. 사례연구사례연구33장장.. SOA SOA 소개소개44장장.. SOASOA의의 진화진화55장장.. 웹서비스와웹서비스와 초기초기 SOASOA66장장.. 웹서비스와웹서비스와 최신최신 SOA (1)SOA (1)액티비티액티비티 관리와관리와 구성구성77장장.. 웹서비스와웹서비스와 최신최신 SOA (2)SOA (2)진보한진보한 메시징메시징, , 메타데이터메타데이터, , 보안보안88장장.. 서비스서비스 지향지향 원칙원칙99장장.. 서비스서비스 레이어레이어1010장장.. SOA SOA 구축구축 전략전략1111장장.. 서비스서비스 지향지향 분석분석 (1) (1) 도입도입1212장장.. 서비스서비스 지향지향 분석분석 (2) (2) 서비스서비스 모델링모델링1313장장.. 서비스서비스 지향지향 설계설계 (1) (1) 도입도입1414장장.. 서비스서비스 지향지향 설계설계 (2) SOA (2) SOA 구성구성 가이드라인가이드라인1515장장.. 서비스서비스 지향지향 설계설계 (3) (3) 서비스서비스 설계설계1616장장.. 서비스서비스 지향지향 설계설계 (4) (4) 비즈니스비즈니스 프로세스프로세스 설계설계1717장장.. WSWS--확장확장 기본기본1818장장.. SOA SOA 플랫폼플랫폼

    ContentsContents

  • 1010장장. SOA . SOA 구축구축 전략전략

  • 4SOA 서비스 지향 아키텍처

    - One Step Ahead -

    Copyright ⓒ NEXTREE SOFT CO., LTD., 2007, All Rights Reserved.

    1. SOA 1. SOA 구축구축 라이프사이클라이프사이클 단계단계 (1)(1)1. SOA 구축 라이프사이클의 기본 단계 (1)

    서비스 지향 솔루션 개발 프로젝트는 여타 분산 애플리케이션 개발 프로젝트와비슷해 보인다.

    웹서비스를 설계하고 개발하며, 표준 컴포넌트들과 다양한 요소 기술들에 따라그 웹서비스를 배치한다.

    그러나 서비스 지향 솔루션을 구성하는 각 레이어들을 좀더 자세히 파고 들어 보면서비스 지향 솔루션 프로젝트는 서비스를 SOA의 일부로 바라보고, 그 관점에 따라구축하고 있음을 알 수 있다.

  • 5SOA 서비스 지향 아키텍처

    - One Step Ahead -

    Copyright ⓒ NEXTREE SOFT CO., LTD., 2007, All Rights Reserved.

    1. SOA 1. SOA 구축구축 라이프사이클라이프사이클 단계단계 (2)(2)1. SOA 구축 라이프사이클의 기본 단계 (2)

    SOA 구축 라이프사이클의 일반적인 단계

    SOA의 특징과 서비스 지향 이론이 솔루션에 녹아들어가는 시기가 바로 분석설계 단계이다.

    “서비스 지향”으로 구분되는 분석 설계 프로세스를 만든 이유“서비스”로 시작하는 단계들은 주로 서비스 지향 분석 설계 결과를 구현한 서비스를 배포하는 과정이다.

    서비스 지향 분석

    서비스 지향 설계

    서비스 개발

    서비스 테스트

    서비스 배치

    서비스 관리

  • 6SOA 서비스 지향 아키텍처

    - One Step Ahead -

    Copyright ⓒ NEXTREE SOFT CO., LTD., 2007, All Rights Reserved.

    1. SOA 1. SOA 구축구축 라이프사이클라이프사이클 단계단계 (3)(3)2. 서비스 지향 분석

    잠재적인 SOA의 범위를 결정하는 초기 단계이다.서비스 레이어를 상세히 정의하고, 각각의 서비스는 초기 SOA를 구성하는 서비스 후보로 모델링된다.

    3. 서비스 지향 설계표준에 따른 작업을 중요시 하는 단계

    산업 표준이나 서비스 지향 원칙에 따라 서비스 설계 프로세스를 구성한다.

    서비스 설계자서비스 내부에 포함될 로직 범위에 대한 중요한 결정을 내려야 한다.이 단계에서 설계한 서비스 레이어는 업무 프로세스 정의 결과로 도출되는 오케스트레이션 레이어를 포함할 수도 있다.

    4. 서비스 개발실질적인 개발 단계

    서비스 유형과 상관 없이 특정 개발 플랫폼과 관련된 이슈를 다룬다.특히 서비스와 오케스트레이션된 프로세스에 쓰이는 프로그래밍 언어와 개발환경에 따라 물리적 형태가 달라지게 된다.

  • 7SOA 서비스 지향 아키텍처

    - One Step Ahead -

    Copyright ⓒ NEXTREE SOFT CO., LTD., 2007, All Rights Reserved.

    1. SOA 1. SOA 구축구축 라이프사이클라이프사이클 단계단계 (4)(4)5. 서비스 테스트

    서비스는 일반적으로 사용될 수 있지만, 지금으로서는 알 수 없는 상황에서 앞으로 이 서비스를 재사용하거나 다른 서비스와 조합하여 활용할 가능성이 있으므로, 서비스를 실제 실행환경에 구축하기 전에 테스트를 철저히 해야 한다.

    서비스 테스터가 직면할 수 있는 중요한 이슈들

    향후 이 서비스에 어떤 형태의 서비스 요청자들이 접근할 수 있는가?

    서비스 정책을 모두 만족할 수 있는가?

    예외 조건에는 어떤 것들이 있을 수 있는가?

    서비스 명세가 서비스의 의미를 이해하기 쉽도록 작성되어 있는가?

    바뀐 서비스 명세는 이전 버전을 교체한 것인지 아니면 확장한 것인지?

    여러 개의 서비스를 얼마나 쉽게 조합할 수 있는가?

    서비스 명세를 얼마나 쉽게 찾을 수 있는가?

    가능한 모든 서비스 액티비티와 서비스 조합에 대해 면밀한 계획을 세웠는가?

    신규 서비스들도 기존 설계 표준을 따르는가?

    신규 서비스로 인해 현재 아키텍처가 지원하지 않는 기능적 요구사항 혹은 서비스의품질 속성을 충족시킬 필요가 있는가?

  • 8SOA 서비스 지향 아키텍처

    - One Step Ahead -

    Copyright ⓒ NEXTREE SOFT CO., LTD., 2007, All Rights Reserved.

    1. SOA 1. SOA 구축구축 라이프사이클라이프사이클 단계단계 (5)(5)6. 서비스 배치

    구현단계에서는 분산 컴포넌트, 서비스 인터페이스, 그리고 관련 미들웨어를 실행 서버에 설치하고 환경 설정을 한다.

    이 단계에서는 대체로 다음과 같은 이슈가 제기된다.어떻게 서비스를 분산시킬 것인가?

    이 인프라로 모든 서비스의 요구사항을 처리할 수 있는가?

    새로운 서비스를 도입하면 기존 서비스와 애플리케이션에 어떤 영향이 있는가?

    여러 솔루션에서 사용되는 서비스는 어디에 어떻게 배치해야 하는가?

    필요한 미들웨어를 도입했을 때, 가존 환경에 미치는 영향은?

    이 서비스를 정의하면 기존 버전 서비스 명세에 새 버전 서비스 명세도 추가해야 하는가?

    어떤 보안 설정과 계정이 필요한가?

    예정된 혹은 예측하지 못한 사용자 증가나 기타 이유로 인해 시스템을 확장해야 할경우에 대비해, 서비스 풀을 관리하는 방법은?

    캡슐화되어 감싸진 기존 시스템에 대해서는 어떻게 성능이나 신뢰성에 대한 제한 요건을 유지보수하고 모니터링하는가?

  • 9SOA 서비스 지향 아키텍처

    - One Step Ahead -

    Copyright ⓒ NEXTREE SOFT CO., LTD., 2007, All Rights Reserved.

    1. SOA 1. SOA 구축구축 라이프사이클라이프사이클 단계단계 (6)(6)7. 서비스 관리

    서비스를 배치하고 나면 표준적인 애플리케이션 관리 이슈가 표면으로 떠오른다.

    이 이슈의 본질은 분산 컴포넌트 기반 애플리케이션을 관리하는 것과 비슷한데, 서비스를 적용할 대상이 특정 애플리케이션 환경으로 한정되지 않는다는 점에서 다르다.

    주로 다음과 같은 이슈가 있다.서비스 사용 상황을 어떻게 모니터링할 것인가?

    서비스명세서의 버전관리는 어떻게 할 것인가?

    메시지를 어떻게 추적하고 관리할 것인가?

    성능상의 병목현상을 어떻게 탐지할 것인가?

  • 10SOA 서비스 지향 아키텍처

    - One Step Ahead -

    Copyright ⓒ NEXTREE SOFT CO., LTD., 2007, All Rights Reserved.

    1. SOA 1. SOA 구축구축 라이프사이클라이프사이클 단계단계 (7)(7)8. SOA 구축 전략

    다음과 같은 작업을 할 수 있도록 이 단계를 조직화 할 필요가 있다.구축하고자 하는 서비스 레이어 유형에 따라 우선순위를 적합하게 조정

    애플리케이션, 비즈니스, 프로세스 서비스 구축 조정

    당면한 프로젝트의 요구사항을 충족시키면서도 표준화된 SOA로의 전환을 지원

    기업 차원에서는 SOA가 비즈니스와 애플리케이션 도메인으로 체계적으로 적용될 때 어느 정도 표준화되었는가가 SOA 성공 여부에 크게 영향을 미친다.

    서비스 지향 솔루션을 구축하는 프로젝트의 입장

    주어진 예산과 시간 내에 요구사항을 얼마나 충족시켰느냐에 따라 성공과 실패가 결정

    조직의 우선순위에 기반하여 장기적 관점의 마이그레이션 목적과 단기적 관점의 요구사항 충족 사이에서 적절히 균형을 맞출 수 있도록 해야 한다.

    하향식 접근법

    상향식 접근법

    기민한 또는 절충식(meet-in-the-middle) 접근법

    궁극적으로 무엇을 얻게 될 것인가는 서비스 지향 환경을 구축할 때 선택하는접근법에 따라 달라진다.

  • 11SOA 서비스 지향 아키텍처

    - One Step Ahead -

    Copyright ⓒ NEXTREE SOFT CO., LTD., 2007, All Rights Reserved.

    핵심핵심 요약요약기본 SOA 라이프사이클은 일반적인 개발 프로젝트에 적용되는 것과 비슷한프로세스 단계로 구성되어 있다.

    서비스 구축의 각 단계에는 SOA이기 때문에 고려해야 하는 사항들이 있다.

    특정 서비스 레이어 구축에 쓰이는 라이프사이클 단계를 구성할 때 각기 다른전략을 적용할 수 있다.

  • 12SOA 서비스 지향 아키텍처

    - One Step Ahead -

    Copyright ⓒ NEXTREE SOFT CO., LTD., 2007, All Rights Reserved.

    2. 2. 하향식하향식 전략전략 (1)(1)“분석 우선” 접근 방법

    비즈니스 프로세스를 서비스 지향적으로 만들 뿐만 아니라 조직의 전반적인업무 모델을 개발(또는 재구성)하게 한다.

    그러므로 이 프로세스는 조직의 비즈니스 로직을 기반으로 하거나 그에 밀접하게 연관된다.

    1. 프로세스비즈니스 요구사항이 이미 수집되어 정의되었다고 가정

    일반적인 하향식 전략 프로세스 단계

    적절한개념정의 집합

    관련 비즈니스모델 정렬

    서비스 지향분석 수행

    서비스 지향설계 수행

    서비스 개발

    서비스 기능테스트

    서비스 배치

    1단계

    2단계

    3단계

    4단계

    5단계

    6단계

    7단계

  • 13SOA 서비스 지향 아키텍처

    - One Step Ahead -

    Copyright ⓒ NEXTREE SOFT CO., LTD., 2007, All Rights Reserved.

    2. 2. 하향식하향식 전략전략 (2)(2)2. 찬반 양론

    SOA를 구축하기 위한 하향식 접근법을 적용하면 일반적으로 서비스 아키텍처의 품질 수준이 높아진다.

    향후 각 서비스를 유연하게 조합할 수 있는 재사용 가능성을 최대화하면서, 각 서비스를 설계하거나 필요한 파라미터를 철저히 분석하기 때문이다.

    다양한 시스템이 있는 엔터프라이즈 환경에서 서로 다른 기존 시스템을 통합하는 과정에서 서비스를 적절한 상태로 유지시키려면 이런 하향식 접근법이 유용하다.

    보통 하향식 접근을 따르다보면 시간과 비용이 문제가 된다.

    당장 결과물을 내놓지 않는 분석 프로젝트에 상당한 시간과 비용(조직의 규모나 그결과물의 양에 비례함)을 미리 투자해야 한다.

  • 14SOA 서비스 지향 아키텍처

    - One Step Ahead -

    Copyright ⓒ NEXTREE SOFT CO., LTD., 2007, All Rights Reserved.

    핵심핵심 요약요약하향식 전략은 서비스를 모델링하기 전에 기업의 비즈니스 모델을 정형화하여 효과적으로 정의하도록 돕는다.

    이 방식을 통해 SOA의 품질을 가장 높은 수준으로 올릴 수 있으나, 사전 분석 작업을 매우 많이 해야 한다는 것도 고려해야 한다.

  • 15SOA 서비스 지향 아키텍처

    - One Step Ahead -

    Copyright ⓒ NEXTREE SOFT CO., LTD., 2007, All Rights Reserved.

    3. 3. 상향식상향식 전략전략 (1)(1)이 접근법은 본질적으로 서비스가 애플리케이션 중심의 요구사항이 충족되도록 정의한다.

    이를 통해, 필요한 기반 환경 위에 웹서비스가 구축되고 요구사항에 가장 잘 부응하는 애플리케이션 로직을 감싸도록 모델링할 수 있다.

    상향식 설계를 도입하는 가장 큰 동기는 통합

    단순히 기존 시스템에 서비스 래퍼(wrapper)를 붙여주기만 하면 공개 SOAP 프레임워크의 장점을 활용하여 통합 문제를 해결할 수 있다.

    1. 프로세스비즈니스 요구사항을 수집하고 정의하는 단계가 완료됐다고 가정

    일반적인 상향식 전략 프로세스 단계

    애플리케이션서비스 모델링

    애플리케이션서비스 설계

    애플리케이션서비스 개발

    서비스 테스트

    서비스 배치

    1단계

    2단계

    3단계

    4단계

    5단계

  • 16SOA 서비스 지향 아키텍처

    - One Step Ahead -

    Copyright ⓒ NEXTREE SOFT CO., LTD., 2007, All Rights Reserved.

    3. 3. 상향식상향식 전략전략 (2)(2)2. 찬반 양론

    대부분의 조직은 상향식 접근법을 써서 웹서비스를 구축한다.이런 현상이 발생하는 것은 무엇보다도 단순히 웹서비스 기술을 쓰는 것을 최우선으로 두고 웹서비스를 기존 애플리케이션 환경에 추가하기 때문이다.

    웹서비스가 추가된 후에도 아키텍처는 여전히 그대로이고, 서비스 지향 이론도 거의 반영되지 않는다.

    비록 상향식 설계를 통해 애플리케이션이 요구하는 웹서비스를 효율적으로 생성할 수 있더라도, 나중에 적절한 SOA를 구현하기 위해 서비스의 상당 부분을수정하거나 비표준화된 서비스를 표준화하는 새로운 레이어를 도입해야 할지도모른다.

  • 17SOA 서비스 지향 아키텍처

    - One Step Ahead -

    Copyright ⓒ NEXTREE SOFT CO., LTD., 2007, All Rights Reserved.

    핵심핵심 요약요약상향식 전략은 단순히 “현재 그대로”를 기반으로 만들어진 애플리케이션 서비스에 기초한다.

    이 접근법은 수행하기는 쉽지만 현재의 SOA가 추구하고자 하는 서비스 기반으로 아키텍처를 진전시키는 효과는 기대할 수 없다.

  • 18SOA 서비스 지향 아키텍처

    - One Step Ahead -

    Copyright ⓒ NEXTREE SOFT CO., LTD., 2007, All Rights Reserved.

    4. 4. 기민한기민한 전략전략 (1)(1)웹서비스를 기술 환경에 완전히 적용할 때까지 기다리지 않고 서비스 지향원칙을 비즈니스 분석 과정에 적용시키려면 적당한 균형점을 찾아야 한다.

    비즈니스 수준의 분석과 서비스 설계, 개발을 동시에 진행하는 새로운 프로세스를 정의하면 된다.

    절충식(meet-in-the-middle) 접근법으로 알려진 기민한 전략은 상반되는두 요구사항을 충족시켜야 하므로 앞의 두 방식보다 더 복잡하다.

  • 19SOA 서비스 지향 아키텍처

    - One Step Ahead -

    Copyright ⓒ NEXTREE SOFT CO., LTD., 2007, All Rights Reserved.

    4. 4. 기민한기민한 전략전략 (2)(2)1. 프로세스 1단계

    서비스 지향분석 수행

    2단계

    서비스 지향설계 수행

    3단계

    서비스 개발

    4단계

    서비스 기능테스트

    5단계

    서비스 배치

    6단계

    비즈니스(프로세스)서비스

    7단계

    동시 진행

    하향식분석 현상태의

    비즈니스모델에

    맞추어 조정

    현상태의비즈니스모델에

    맞추어 조정

    재검토하고필요시재설계재개발재테스트재배치

  • 20SOA 서비스 지향 아키텍처

    - One Step Ahead -

    Copyright ⓒ NEXTREE SOFT CO., LTD., 2007, All Rights Reserved.

    4. 4. 기민한기민한 전략전략 (3)(3)2. 찬반 양론

    이 전략은 조직 비즈니스 모델의 무결성과 서비스 지향 아키텍처의 품질을 떨어뜨리지 않으면서도 즉각적으로 요구사항을 만족시키는 SOA를 구현하기 위해양측의 장점을 취해서 결합시킨 것이다.

    이 전략을 수용하면, 서비스를 구축할 때 더 노력을 기울여야 한다는 단점이 있다.

    서비스를 다시 살펴보고 재설계하고, 재개발하고, 재구축할 필요가 있을지도 모른다는 사실은 이 재작업 대상 서비스의 양에 비례하여 부담이 증가한다는 것을 의미한다.

    이 접근법을 수행하려면 수정된 서비스가 개정된 비즈니스 모델을 준수한다는 것을확인하는 유지보수 업무가 필요하다.

    유지보수 프로세스가 있다 하더라도, 상시로 비즈니스 모델이 변화함에 따라 서비스가 그 업무에 적합하지 않게 될 위험이 있을 수 있다.

  • 21SOA 서비스 지향 아키텍처

    - One Step Ahead -

    Copyright ⓒ NEXTREE SOFT CO., LTD., 2007, All Rights Reserved.

    핵심요약핵심요약기민한 전략은 하향식과 상향식 접근법의 조합이다.

    지속적으로 분석할 수 있게 지원하면서, 즉각 필요한 서비스를 구축하는 것도 가능하다.

    분석이 진행되면서 기존 서비스를 재검토하고 필요에 따라 개정한다.

  • 감사합니다감사합니다

    SOA-서비스 지향 아키텍처Contents1. SOA 구축 라이프사이클 단계 (1)1. SOA 구축 라이프사이클 단계 (2)1. SOA 구축 라이프사이클 단계 (3)1. SOA 구축 라이프사이클 단계 (4)1. SOA 구축 라이프사이클 단계 (5)1. SOA 구축 라이프사이클 단계 (6)1. SOA 구축 라이프사이클 단계 (7)핵심 요약2. 하향식 전략 (1)2. 하향식 전략 (2)핵심 요약3. 상향식 전략 (1)3. 상향식 전략 (2)핵심 요약4. 기민한 전략 (1)4. 기민한 전략 (2)4. 기민한 전략 (3)핵심요약