웹 서비스-아키텍처
웹 서비스 아키텍처를 보는 방법에는 두 가지가 있습니다.
- 첫 번째는 각 웹 서비스 행위자의 개별 역할을 조사하는 것입니다.
- 두 번째는 새로운 웹 서비스 프로토콜 스택을 조사하는 것입니다.
웹 서비스 역할
웹 서비스 아키텍처에는 세 가지 주요 역할이 있습니다.
서비스 제공자
웹 서비스 제공자입니다. 서비스 제공자는 서비스를 구현하고 인터넷에서 사용할 수 있도록합니다.
서비스 요청자
이것은 웹 서비스의 모든 소비자입니다. 요청자는 네트워크 연결을 열고 XML 요청을 전송하여 기존 웹 서비스를 활용합니다.
서비스 레지스트리
이것은 논리적으로 중앙 집중화 된 서비스 디렉토리입니다. 레지스트리는 개발자가 새 서비스를 게시하거나 기존 서비스를 찾을 수있는 중앙 위치를 제공합니다. 따라서 회사 및 서비스에 대한 중앙 집중식 청산 소 역할을합니다.
웹 서비스 프로토콜 스택
웹 서비스 아키텍처를보기위한 두 번째 옵션은 새로운 웹 서비스 프로토콜 스택을 검사하는 것입니다. 스택은 여전히 진화하고 있지만 현재 4 개의 주요 계층이 있습니다.
서비스 운송
이 계층은 애플리케이션 간의 메시지 전송을 담당합니다. 현재이 계층에는 HTTP (Hyper Text Transport Protocol), SMTP (Simple Mail Transfer Protocol), FTP (파일 전송 프로토콜) 및 BEEP (Blocks Extensible Exchange Protocol)와 같은 최신 프로토콜이 포함됩니다.
XML 메시징
이 계층은 메시지를 양쪽 끝에서 이해할 수 있도록 공통 XML 형식으로 메시지를 인코딩하는 역할을합니다. 현재이 계층에는 XML-RPC 및 SOAP가 포함됩니다.
서비스 설명
이 계층은 특정 웹 서비스에 대한 공용 인터페이스를 설명합니다. 현재 서비스 설명은 WSDL (Web Service Description Language)을 통해 처리됩니다.
서비스 발견
이 계층은 서비스를 공통 레지스트리로 중앙 집중화하고 간편한 게시 / 찾기 기능을 제공합니다. 현재 서비스 검색은 UDDI (Universal Description, Discovery, and Integration)를 통해 처리됩니다.
웹 서비스가 발전함에 따라 추가 계층이 추가되고 각 계층에 추가 기술이 추가 될 수 있습니다.
다음 장에서는 웹 서비스의 구성 요소에 대해 설명합니다.
서비스 전송에 대한 몇 마디
웹 서비스 프로토콜 스택의 맨 아래는 서비스 전송입니다. 이 계층은 실제로 두 컴퓨터간에 XML 메시지를 전송하는 역할을합니다.
하이퍼 텍스트 전송 프로토콜 (HTTP)
현재 HTTP는 서비스 전송에 가장 많이 사용되는 옵션입니다. HTTP는 간단하고 안정적이며 널리 배포됩니다. 또한 대부분의 방화벽은 HTTP 트래픽을 허용합니다. 이를 통해 XMLRPC 또는 SOAP 메시지가 HTTP 메시지로 가장 할 수 있습니다. 이는 원격 애플리케이션을 통합하려는 경우 유용하지만 보안 문제가 많으므로 여러 보안 문제가 발생합니다.
BEEP (Extensible Exchange Protocol) 차단
이것은 HTTP에 대한 유망한 대안입니다. BEEP는 새로운 프로토콜을 구축하기위한 새로운 IETF (Internet Engineering Task Force) 프레임 워크입니다. BEEP는 TCP에 직접 계층화되며 초기 핸드 셰이크 프로토콜, 인증, 보안 및 오류 처리를 비롯한 여러 내장 기능을 포함합니다. BEEP를 사용하여 인스턴트 메시징, 파일 전송, 콘텐츠 신디케이션 및 네트워크 관리를 포함한 다양한 애플리케이션을위한 새로운 프로토콜을 만들 수 있습니다.
SOAP는 특정 전송 프로토콜에 연결되어 있지 않습니다. 실제로 HTTP, SMTP 또는 FTP를 통해 SOAP를 사용할 수 있습니다. 따라서 한 가지 유망한 아이디어는 BEEP보다 SOAP를 사용하는 것입니다.