웹서비스 아키텍처

Published: by Creative Commons Licence

  • Tags:

웹서비스 아키텍처

1. 웹 서비스 기본 블록

  • 검색
    • 서비스 검색
  • 기술
    • 서비스를 기술하고 있는 내용 검토
  • 호출
    • 사용하고자 하는 경우 서비스 호출

2. JIT 통합

  • 웹 서비스 시스템
    • 모든 컴포넌트는 서비스
    • 컴포넌트의 동적인 바인딩과 분리 가능
    • 네트워크에 있는 다른 협업 컴포넌트들에게 자신의 메시징 API를 알리고 메시지에 맞추어 동작하는 기능을 캡슐화
    • 서비스 애플리케이션이 협업의 동적 바인딩을 하도록 서비스 검색을 이용해서 메세지 마샬링
    • 서비스 지향 아키텍처 접근 방식을 이용
    • 네트워크에서 이용 가능한 자원 탐색
    • 서비스를 결합해서 또 다른 서비스를 제공
  • 애플리케이션 디자인 작업
    • 특정 기능을 수행하기 위해 네트워크 서비스의 기능을 기술
    • 협업 서비스들의 협업 체계를 기술
  • 런타임 어플리케이션 수행
    • 협업에 대한 요구사항을 실제 서비스의 검색의 입력으로 사용
    • 협업 가능한 서비스 탐색
    • 실제 서비스를 수행하기 위해 협업에 대한 메세지 전송
  • 이러한 새로운 어플리케이션은 또 다른 서비스가 됨
  • 서비스를 합쳐서 새로운 서비스를 창조하고 이 서비스를 다시 검색하고 협업 가능

3. 서비스 지향 환경을 위한 조건

  • 웹 서비스의 인터페이스와 호출 메서드가 정의 되고 생성
  • 웹 서비스는 하나 이상의 인트라넷 또는 인터넷 저장소에 발행되어 있어야 함.
  • 더이상 이용 불가능 하거나 필요하지 않는 경우 삭제될수 있어야 함.

4. 웹 서비스의 기본 동작

  • Web Service Provider
    • 웹 서비스 제공자
    • UDDI 레지스트리에 사용 가능한 웹 서비스 등록
  • Web Service Broker
    • 웹 서비스 중개자
    • 제공자와 소비자 사이에서 제공자가 서비스를 출판하고 이를 소비자가 검색할 수 있도록 편의를 제공
    • UDDI
      • 웹 서비스 검색 기술
  • Web Service Broker
    • 웹 서비스 사용자
    • 서비스 브로커를 통해 원하는 웹 서비스의 위치를 발견 및 사용
  • publish
    • 등록
    • 서비스 제공자는 서비스 브로커(UDDI)에 사용 가능한 웹 서비스 등록
    • WSDL
      • 어떤 메시지를 생성하고 받아들일 수 있는지 정의
      • 네트워크 서비스 기술을 위한 XML 포멧
  • Find
    • 검색
    • 웹 서비스 사용자는 원하는 웹 서비스를 발견하기 위해 서비스 브로커 검색
  • Bind
    • 연결
    • 웹 서비스 사용자는 원하는 웹 서비스에 접근 및 호출을 하기 위해 웹 서비스 제공자와 협의 및 연결

5. Web Service Architecture Stack

  • wire stack : 프로토콜 역활, transport
  • Description stack : 웹 서비스를 기술, wsdl
  • Discovery stack : 웹 서비스를 탐색, registry

6. Simple Object Access Protocol

  • 분산 환경에 있는 peer들 사이에 정형화된 정보와 구조를 주고받을 수 있도록 경량화된 프로토콜을 정의
  • 웹 서비스의 호출을 책임
  • 확장성이 좋은 일정의 메시지 포멧 프로토콜
  • Http, SMTP와 같은 다양한 이너넷 표준 통신 프로토콜을 사용하여 전달 가능
  • XML 기반의 통신 프로토콜
  • 서로 다른 컴퓨터 사이에 OS, 프로그래밍 환경, 객체 모델 프레임워크가 달라도 정보 교환이 가능

  • Soap에서 정의하고 있는 것
    • 메시지 교환하기 위한 방식
      • 모듈화된 패키지를 만드는 방법
      • XML 스키마에 기반한 메시지 내부 데이터를 인코딩하는 방법
    • 메세지 포멧은 편지와 유사
      • 통신할 컴퓨터 주소
      • Envelope : Soap를 포장하는 부분
    • 메시지
      • 기본적으로 송신자가 수신자에게 보내는 단방향 전송
      • XML로 구성되며, 자신의 스키마 사용
      • Namespace 포함
    • Soap를 지원하는 웹사이트와 웹 어필리케이션은 웹서비스를 제공할 수 있음
    • 추가적인 프로그래밍 없이 다른 컴퓨터와의 서비스들과 연계 가능

7. SOAP와 다른 분산 프로토콜 비교

  • CORBA, ORB
    • 객체 실행 생명주기 관리, 성능 향상을 위한 객체 폴링 등
  • SOAP
    • 수많은 분산 프로토콜들과 용이하게 동작할 수 있도록 최대한 가볍고 공통적인 부분만 수용한 프로토콜
  • 쉬운 확장성 및 기존 인터넷 인프라 구조에 포함됨.