SOA (Service Oriented Architecture)

-- IT Trend 2010. 3. 10. 12:47
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
서비스 지향 아키텍처(Service Oriented Architecture, 약칭 SOA 「에스오에이」혹은 「소아」로 발음)란 대규모 컴퓨터 시스템을 구축할 때의 개념으로 업무상에 일 처리에 해당하는 소프트웨어 기능을 서비스로 판단하여 그 서비스를 네트워크상에 연동하여 시스템 전체를 구축해 나가는 방법론이다. 업무 처리 변화를 시스템에 빠르게 반영하고자 하는 수요를 대응하기 위해 2004년부터 IT업계에서 주목을 하고 있다.

서비스 지향 아키텍처(SOA) 정의


  • 토마스 얼은 그의 저서 SOA 서비스 지향 아키텍처에서 서비스지향 아키텍처(SOA)를 다음과 같이 정의하고 있다. 최신 SOA는 공개, 기민성, 확장, 연합, 자립적 요소들로 구성된 조합가능한 아키텍처, 서비스 품질, 다양한 벤더, 상호 운영성, 서비스 발견 그리고 잠재적으로 재사용 가능한 서비스들이 웹서비스로 구현된다. SOA는 비지니스 로직과 기술을 추상화하여, 이 도메인 간에 느슨한 결합을 유도한다. SOA는 과거 플랫폼의 진화물로서, 전통적인 아키텍처의 특징들을 고스란히 가지고 있으며, 명확한 원칙을 가지고 SOE를 지원하며 서비스 지향을 촉진한다. SOA는 엔터프라이즈 환경을 이상적으로는 표준화하지만, 치밀한 사전 계획에 의한 이전 필요성과 현재도 진화하고 있는 기술에 대한 지원만이 이러한 목적을 달성할 수 있다.
  • 책 “Enterprise SOA(Dirk Krafzg, Karl Banke, Dirk Slama)”에서는 서비스 지향 아키텍처를 “애플리케이션 프론트엔드, 서비스, 서비스 리포지토리, 서비스 버스의 주요 개념에 바탕을 둔 소프트웨어 아키텍처이다. 서비스는 계약, 하나 이상의 인터페이스, 그에 대한 구현으로 이루어진다.”라고 정의 하고 있다.
  • W3C의 Web Service Architecture Working Group에서 활동하고 있는 Hao He 박사는 “상호 작동하는 시스템 사이를 느슨하게 연결하려는 목적을 가진 아키텍처(Service Oriented Architecture is an architectural style whose goal is to achieve loose coupling among interacting software agents)”라고 정의 하고 있다.


서비스 지향 아키텍처(SOA)의 구성요소

서비스(Service)

  • 명확한 기능적인 의미를 지닌 소프트웨어 컴포넌트로, 고차원의 비즈니스 개념을 캡슐화 하고 있는 것을 말한다.
  • SOA의 관점에서 서비스는 인터페이스를 통해 자신이 가진 비즈니스 프로세스를 처리할 수 있는 컴포넌트로 정의된다. 서비스는 인터페이스와 구현 부분으로 구성된다. 서비스가 가지는 특징을 다음과 같이 3가지로 요약할 수 있다.
    • 서비스의 인터페이스는 플랫폼에 독립적이다.
    • 서비스는 동적으로 검색될 수 있으며, 호출될 수 있다.
    • 서비스는 self-contained하다. 즉, 자신의 상태를 스스로 유지한다.

메시지(Message)

  • SOA를 이루는 두 번째 중요한 개념은 메시지이다. 서비스 제공자와 서비스 사용자는 메시지를 통해 서로 통신한다. 서비스 제공자는 서비스 명세를 통해 자신이 가진 서비스의 인터페이스를 공개하는데, 이 명세 내에는 서비스가 제공하는 기능과 이를 이용하기 위해 사용자와 주고 받아야 하는 메시지의 형식이 정의되어 있다. SOA 관점에서 서비스는 플랫폼 독립적이어야 하므로, SOA에서 정의되는 메시지는 특정 기술에 독립적이어야 한다.

서비스 지향 아키텍처(SOA)의 특징

  • 서비스는 발견이 가능하고 동적으로 바인딩 된다.
  • 서비스는 컴포넌트와 같이 독립된 모듈이다.
  • 서비스의 플랫폼간 상호 운용이 가능하다.
  • 서비스는 느슨하게 연결된다.
  • 서비스는 네트워크 주소로 접근 가능한 인터페이스를 갖는다.
  • 서비스는 위치 투명성을 제공한다.
  • 서비스의 조립이 가능하다.
  • 서비스는 자기 치유(self-healing)를 지원한다.
posted by 어린왕자악꿍