SOA

개념
기존 어플리케이션의 서비스를 조합함으로써, 새로운 어플리케이션을 구현할 수 있도록 한 통합 기술 및 아키텍처 모델 서비스간의 약결합(Loosely Coupled)으로 시스템 통합을 가능하게 해 주는 소프트웨어 아키텍처

1. 서비스 지향 아키텍처 모델, SOA의 개요

  가. SOA(Service Oriented Architecture)의 정의

기존 어플리케이션의 서비스를 조합함으로써, 새로운 어플리케이션을 구현할 수 있도록 한 통합 기술 및 아키텍처 모델

서비스간의 약결합(Loosely Coupled)으로 시스템 통합을 가능하게 해 주는 소프트웨어 아키텍처

 

  나. SOA의 목적

모든 서비스와 프로세스의 블록화를 통한 전산실의 서비스 창고화

블록화된 서비스의 재사용으로 인한 비즈니스 역량 증가

현업 실무자가 프로그래머의 도움 없이 서비스 모듈을 조립 및

재사용할 수 있는 환경 마련

기업간 서비스 모듈 공유로 기업 비즈니스 촉진

 

  다. SOA의 특징

특징

내용

프로세스 중심

-비즈니스 프로세스를 별도의 독립된 구성요소로 보고, 이를 설계 시에 분리

-비즈니스 로직은 비즈니스 서비스에 두고, 프로세스 서비스는 각 비즈니스 서비스를 통합

플랫폼 독립적 어플리케이션 통합

-구현 기술에 관계없는 연결보장

-성능요구,보안수준,신뢰성 보장

Loosely Coupled

메시지 및 프로세스 상태관리

-서비스간 종속성을 줄이고, 프로세스를 단순화

-메시지 상태관리:중복된 메시지,비동기 메시지관리

-서비스가 전체프로세스 상에서 어느상태인지 관리

협업과 재사용

-서로 모듈을 공유하면서 새로운 서비스를 제공, 협업

 

라. 통합Architecture의 발전단계

 

2. SOA 개념도, 기술 아키텍처 및 구현기술

  가. SOA 개념도

- WSDL(Web Service Description Language), UDDI(Universal Description, Discovery and Integration)등의 기술을 통해 인터넷상의 공용 Registry에 등록하고 호출하여 서비스를 이용하는 서비스 기반 아키텍처

 

  나. SOA 구현기술

구분

기술요소

내용

데이터교환

XML

인터넷 데이터 교환 기술

서비스호출

SOAP

-Simple Object Access Protocol

-XML언어를 이용한 분산환경에서의 정보교환을 위한 프로토콜

서비스기술

WSDL

- Web services Description Language

-Web Service의 기능, 사용법 등을 기술한 XML기반의 언어

서비스등록

UDDI

-Universal Description, Discovery and Integration

-인터넷상에서 Web Service에 대한 정보 등록, 검색하는 공용 Registry 서비스

미들웨어

ESB

- Enterprise Service Bus

-메시징을 통해 다수의 System에 대해 약결합 [loosely coupling] 방식으로 연결하여 SOA구현을 가능케하는 통합 미들웨어

3. SOA 기술 아키텍처 Layer 및 구성형태, 접근방법에 따른 분류

  가. SOA 기술 아키텍처 Layer

Layer

설명

대표기술

Presentation

표현 계층

X-Internet, Portal 솔루션

Biz-Process

업무 프로세스 계층

BPM

Service Intermediary

서비스 중간 계층

ESB, Web Service

Application

어플리케이션 계층

EAI(Adapter)

Persistency

데이터 저장 계층

 

 

  나. SOA 구성형태에 따른 분류

Primitive SOA

Networked SOA

Process-Enabled SOA

- Point-to-point 형태로 연결 하는 구조의 형태

- 공통된 Bus형태의 통합을 지원하는 형태

- Process Orchestration 기반 위에서 동작하는 형태이며, SOA-BPM이 결합된 환경

4. SOA 구축전략 및 구축절차

  가. SOA 구축전략

구축전략

내용

전체 아키텍처

관점에서 고민

전사 아키텍처 관점의 통합과 표준 정의, 재사용, 조합들 통한 IT아키텍처 민첩성을 극대화에 중점

IT전체를 대상으로 고려

IT관련 조직, 전략, 프로세스에 대한 표준과 방안들이 종합적으로 고민되어야 함

크게 시작하되 작게 시작

Think Big, Start Small

큰 그림과 상세한 전술적인 방안이 같이 나와야 SOA구축을 위한 최적화된 방안이 나옴

적용 성숙도 모델 참조

적용 범위에 대하여 SOA 적용 성숙도 모델을 참고하여 적용

 

  나. SOA 구축절차

절차

내용

SOA 전략 수립

SOA 가치 평가, ROI 분석, SOA Roadmap 수립

서비스 인지

서비스 그룹화 및 생성, 서비스 아키텍처 수립

서비스 컴포넌트 설계

SOA 설계 (서비스 프로세스, 컴포넌트, 인터페이스)

인프라 통합 및 구현

서비스 조립 및 테스트, 서비스 배포

SOA 유지보수

서비스 품질관리, 서비스 변경 및 포트폴리오 관리

5. SOA와 다른 프레임워크 비교

  가. SOA와 Web2.0

구분

SOA

Web 2.0

서비스모델

웹 서비스

웹 서비스

서비스 개념

협의의 웹서비스

관의의 웹서비스

표준 기술

WSDL, UDDI, SOAP, BPEL

HTTP, XML, RSS, REST

메시지 교환 프로토콜

SOAP기반에 국한 XML을 통한 메시지 교환

프로토콜이나 교환 포맷에 독립적

재사용성

약간 높음

매우 높음

유용성/순응성

조합과 통합

서비스 지향의 원칙

단순한 데이터 포멧

간결한 프로그래밍 모델

비즈니스 모델

BPM(Business Process Management)

자산통합(Asset Integration)

데이터 퓨전(Data Fusion)

Legacy자산의 생명주기연장

비즈니스 활동 모니터링

롱테일 효과

네트워크 효과

집단 지능 활용

고객 셀프 서비스

설계플랫폼

Service Layer

Service Bus

AJAX

신디케이션

핵심역량

기능의 재정비

자산으로서의 데이터

접근 가능성

시스템/데이터 통합

비용절감

비즈니스 기민성(Agility)

온톨로지

소비자 중심의 비즈니스 프로세스

서비스로서의 SW(SaaS)

데이터 소스에 대한 통제

공동개발자로서의 사용자 신뢰

플랫폼 독립적

가벼운 UI, 개발모델, 비즈니스 채용

 

  나. SOA와 CBD

구분

SOA

CBD

시스템 관점

기업 내 외부 통합관점

기업내부 특정시스템 관점

프로세스

컴포넌트를 연결하는 프로세스에 대한 고려 비중이 큼

프로세스보다는 개별 컴포넌트에 집중

컴포넌트 특성

서비스 컴포넌트 중심

기능 컴포넌트 중심

추상화

상대적으로 높음

상대적으로 낮음

모델링 기법

컨설팅기법, UML, EA

UML

목표

비즈니스 목표와 연결시키는 것이 목적, 성과 측정과 연계

시스템 관점에서 컴포넌트 구축

플랫폼

이 기종 통합 연계

J2EE, .NET 개별적 연계

연계방식

Loosely Coupling(SOAP)

Tightly Coupling(Serialization)

인터페이스

공개적인 인터페이스(WSDL활용)

개별 인터페이스 활용

응용기술

EAI, Web Service, BPM, 웹 기술

WAS 기반 웹 기술

 

  다. SOA 와 SW Architecture

구분

SOA

SW Architecture

방식

서비스 중심

기능 중심

특성

웹기반의 이기종 플랫폼 간 통합 서비스 제공

프로젝트 중심적인 기능 모듈 상호 연동 및 시스템 통합

활용사례

SOA기반의 웹 서비스

SW개발에 활용

  라. SOA와 EAI

구분

SOA

EAI

특징

비즈니스 프로세스 중심

메시지 중심

플랫폼

독립적

일부 플랫폼에 종속

구성형태

Loosely Coupled

Tightly Coupled

용도

내외부 연계 자동화

내부 프로세스 통합

기술요소

SOAP, UDDI, WSDL, ESB, BPM

EAI 미들웨어, Meta data관리

  마. SOA와 WOA

구분

SOA

WOA

Full name

Service Oriented Architecture

Web Oriented Architecture

Focus

서비스 재활용

데이터

디자인 방식

벤더를 중심으로 Top Down 형태

개발자들 중심의 Bottom Up 방식

기본 프로토콜

SOAP

HTTP 프로토콜

EST(Representational State Transfer) 프로토콜

URI(Uniform Resource Identifier) 형태로 참조

보안

WS-Security 사용

HTTPS 사용

웹 서비스 간의 상호 운영성

XML 스키마 사용

어떤 포맷도 가능

사용성

웹 브라우저 및 매시업 형태로 사용하기 어렵다

어디서나 쉽게 사용 가능

 

6. SOA 도입효과 및 고려사항

  가. 도입효과

  - 이기종간의 서비스 재사용으로 시시각각 변하는 경영환경에 대응

 

구분

내용

재사용성

반복적인 개발비용을 줄이고 서비스 재사용을 통해서 쉽고 빠르게 고품질의 시스템 구축

비즈니스 민첩성

서비스 조합을 통해서 쉽고 빠르게 변경내역을 시스템에 반영할 수 있음

가시성

BPM 기술 적용을 통해 업무처리 및 의사결정을 위한 가시성 향상

유지비용 절감

동일한 업무 기능 모듈을 공유서비스로 재사용함으로써 중복된 서비스를 제거하고 시스템 관리비용 절감

컴플라이언스

및 규제대응

실시간 분석 및 모니터링을 통해 Compliance나 Governance에 대한 감지하여 조치 가능

 

  나. 고려사항

구분

내용

관점

IT적인 요인보다는 비즈니스적인 요인에 의해 검토

서비스 설계 측면

서비스 항목을 도출하기 위해 Top down방식의 비즈니스 관점과 Bottom up 방식의 기술적 관점을 모두 고려

시스템 구성 측면

미들웨어 사용 극대화, 트랜잭션 관리, 에러 수정, 기존 레거시 시스템의 재사용

관리/통제 측면

Tighter Management/Governance

서비스오너쉽/책임제, 이용할당, 우선순위

 

댓글