정보통신 개론 1장

Download Report

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