Transcript 정보통신 개론 1장
11. 웹 서비스
1
목차
웹 서비스의 정의
웹 서비스 개념 모델
웹 서비스 기술
SOAP
UDDI
WSDL
웹 서비스 관리
2
웹 서비스가 무엇인가요?
기존의 웹
HTTP, HTML, URL과 같은 기술을 통해 인터넷
에 분산되어 있는 정보 자원들에 대하여 표준화된
접근과 정보 표현 방법
웹 서비스
새로운 기술이라기 보다는 컴포넌트, 인터넷,
XML 등의 기술을 새로운 개념으로 적용하는 방법
론을 의미
3
웹 서비스가 무엇인가요?
웹 서비스가 적용된 자동차 쇼핑몰
자동차 쇼핑몰의 컴포넌트가 XML을 이용하여 대리점의
컴포넌트를 호출하고, 대리점의 컴포넌트는 다시 금융사,
보험사, 차량등록 사업소의 컴포넌트를 호출하여 업무를
처리함
4
웹 서비스가 무엇인가요?
웹 서비스 정의
인터넷을 통해 XML 데이터를 주고 받는 인터페이
스를 웹 서비스 (W3C)
인터넷 표준 프로토콜을 이용해 동적으로 상호작
용하는 느슨하게 결합된(loosely coupled) 소프트
웨어 컴포넌트 (가트너 리서치)
HTTP, XML, SOAP와 같은 표준화된 웹 프로토
콜과 데이터 포맷을 사용하여 다른 애플리케이션
에 데이터 및 서비스를 제공하는 단위 애플리케이
션 로직 (마이크로소프트)
웹과 같은 네트워크에서 기술되고, 공표되며, 위치
하고, 호출되는 독립적이고 모듈화된 애플리케이
션 (IBM)
5
웹 서비스는 어떻게 동작하나요?
웹 서비스 구성요소와 동작과정
역할에 따라 서비스 제공자, 서비스 요청자, 서비
스 중개자로 구성
서비스 제공자는 제공하려는 서비스에 대한 상세
한 정보를 서비스 중개자의 UDDI 레지스트리에
등록 (Publish)
서비스 요청자는 자신이 원하는 서비스를 누가 제
공하는지 알기 위하여 서비스 중개자의 UDDI 레
지스트리에서 서비스를 검색 (Find)
서비스 요청자는 서비스 제공자의 WSDL 파일을
다운로드 한 후, 서비스의 인터페이스에 맞게
SOAP 전송 프로토콜을 사용하여 서비스를 요청하
고, 서비스 제공자는 요청에 맞는 결과를 제공
(Bind)
6
웹 서비스 기본 모델
7
웹 서비스의 활용
단순하게는 주식, 날씨 등의 정보를 다른 서비
스 제공자가 제공하는 웹 서비스를 사용하여
쉽게 가져오는데 활용
기업 내 애플리케이션 통합을 위해
EAI(Enterprise Application Integration) 용
도로 웹 서비스가 활용
비즈니스 파트너와의 통합을 위해
B2B(Business-to-Business) 영역에 사용
8
웹 서비스의 활용의 예
여권 발급 시나리오
9
웹 서비스의 활용의 예
여권 발급 웹 서비스 구성
10
SOAP란?
SOAP(Simple Object Access Protocol)
XML을 기반으로 분산환경에서 정보를 교환하기
위한 단순하고 가벼운 메커니즘
메시지를 패키징하거나 XML 데이터 인코딩하는
데 사용
메시징 시스템에서부터 원격 프로시져 호출
(Remote Procedure Call: RPC)의 영역에 이르기
까지 다양하게 사용 가능
구성요소
메시지 프레임워크
인코딩 표준
RPC 메커니즘
11
SOAP란?
메시지 프레임워크
메시지를 어떻게 처리하고 만드는지에 대한 내용
을 정의
봉투(Envelope) : 최상위 구성요소로 SOAP 헤더
와 SOAP 바디 구성요소를 포함
헤더(Header) : 애플리케이션 간에 메시지를 주고
받을 때 포함되는 추가정보 등이 들어가며, 필수
구성요소는 아님
바디(Body) : 애플리케이션 간에 교환되어야 하는
메시지, 즉 XML 문서를 담고 있음. 헤더 구성요소
가 있을 경우엔 그 다음에 형제 구성요소로 오게
됨
12
SOAP란?
메시지 프레임워크의 예
13
SOAP란?
인코딩 표준
애플리케이션에서 정의된 데이터 형태를
인코딩하는 방법을 정의
SOAP에서는 애플리케이션이 원하는 데이
터 타입에 맞게 인코딩하거나 디코딩하여
메시지를 전송할 수 있도록 함
14
SOAP란?
RPC 메커니즘
RPC와 그에 따른 응답에 대한 내용을 정의
원격 애플리케이션의 메소드를 호출하고
응답 받는 것에 대한 규약
SOAP 프로토콜이 인코딩된 객체를 원격
프로시져에 매개변수로서 전달하는 방법
15
UDDI란?
UDDI (Universal Description, Discovery, and
Integration)
웹 서비스를 검색할 수 있는 “전화번호부”의 역할
웹 서비스 제공자가 해당 웹 서비스의 정보를 등록하고, 웹
서비스의 사용자가 원하는 웹 서비스를 검색하여 정보를 얻
는 웹 서비스의 레지스트리에 관한 표준
클라이언트는 UDDI 질의를 사용하여 서비스 공급자를 찾고,
UDDI 응답은 찾고자 하는 웹 서비스 호출 방법에 대한 비즈
니스 연락처 정보, 비즈니스 범주, 기술적인 세부사항 등의
정보를 포함
제공하는 서비스를 기술(Description)하고, 필요한 서비스를
검색(Discovery)하며, 서비스들을 통합(Integration)함으로
써 웹 서비스를 수행하는 핵심 기반기술
16
UDDI란?
UDDI 목적
웹 서비스의 상호 운용성을 증대
웹 서비스를 수작업이 아닌 프로그램을 통
하여 검색하도록 하여 보다 효율적인 검색
을 지원
다양한 업체의 웹 서비스를 프로그램 상으
로 연동하여 여러 웹 서비스로 구성된 하나
의 통합 서비스를 제공함
17
UDDI란?
UDDI 구성요소
UDDI 레지스트리
웹 서비스에 대한 정보를 등록하고, 검색할 수 있는 저장
소
공개 UDDI 레지스트리
IBM의 UDDI 레지스트리(http://www3.ibm.com/services/uddi/find)와 같이 주요 업체에 의해
공개 목적으로 구현된 대부분의 UDDI 레지스트리가 이에
해당함
사설 UDDI 레지스트리
멤버쉽을 기반으로 한 폐쇄적인 UDDI
사설 UDDI도 반드시 UDDI 규약을 준수해야 하며, 규약에
정의되어 있지 않은 데이터를 요구할 수 없음
실제 비즈니스 환경에서는 사설 UDDI의 활용도가 더 높을
것으로 예상됨
18
UDDI란?
UDDI 구성요소
레지스트리 API
각종 질의 및 저장 작업을 수행함
UDDI 레지스트리에 접근하여 정보의 저장 및 검색의 작
업을 전송하고 그 결과를 반환받기 위한 API
모든 API 호출 및 결과 반환은 XML로 표현된 SOAP 문
서로 되어 있음
질의(Inquiry) API
질의어를 통해 검색하는 API와 키워드 값으로 구분되는 특
정 웹 서비스의 정보를 얻어오는 API로 구성
퍼블리쉬(Publishing) API
정보를 저장하거나 수정, 삭제하는 API와 보안 및 인증에
관련된 API 등이 이에 포함됨
19
WSDL란?
WSDL (Web Services Description Language)
웹 서비스 사용자가 쉽고 빠르게 웹 서비스와 연동할 수 있
도록 각각의 웹 서비스의 인터페이스에 관한 정보를 표준화
된 방식으로 기술하기 위한 표준화된 XML 문서 형식
웹 서비스의 인터페이스 정의 언어(Interface Definition
Language: IDL)이며, 특정 웹 서비스의 방법과 프로토콜, 데
이터 포맷들을 더욱 상세하게 정의하는 일종의 스크립트
특정 서비스가 어떤 방법과 속성을 가지며 어떤 인자로 호출
해야 하고 어떤 방식의 반환값을 제공하는지를 알려주는 것
20
WSDL란?
21
웹 서비스 적용사례
uBid(www.ubid.com)
22
마이크로소프트사의 SOAP
툴킷 v2.0을 사용
하여 기존에 존재하던
COM/DCOM 컴포넌트를
웹 서비스 인터페이스인
WSDL로 작성함
안전한 거래를 보장하기 위
해서 HTTPS를 이용
새로운 중개자와 연동하는
데 2주 미만의 시간소요로
신속하게 연동이 가능하였
음
시스템 구축 후 경매물량이
평균 50만 건에서 약 3백만
건으로 증가
웹 서비스 관리란?
웹 서비스 관리 (Web Services
Management : WSM)
느슨하게 연결된 컴포넌트들과 이들의 통신을 담
당하고 있는 네트워크 및 종합적인 성능에 대한 관
리가 주요한 이슈로 부각됨
웹 서비스 관리 요구사항
웹 서비스의 상태 체크, SOAP 메시지 모니터링 및 로깅,
사용에 대한 측정, 웹 서비스의 안정성 관리, 다수의 컴포
넌트들이 호출될 경우의 관리, 웹 서비스의 성능 관리, 웹
서비스 변화 관리, 서비스 품질 수준 관리, 보안 관리
23