정보통신 개론 1장 - Prof. Kim, Sung-Ho

Download Report

Transcript 정보통신 개론 1장 - Prof. Kim, Sung-Ho

11. 웹 서비스
1
목차(1/2)

1. 웹 서비스란?



웹 서비스가 무엇인가요?
웹 서비스는 어떻게 동작하나요?
웹 서비스를 어디에 활용할 수 있을까요?

2. SOAP 란?

3. UDDI 란?

4. WSDL 이란?

5. HTML과 신세대 HTML, HTML5

6. 웹 서비스 적용 사례와 웹 서비스 관리


웹 서비스 적용 사례를 알아볼까요?
웹 서비스 관리란 무엇인가요?
2
목차(2/2)

7. Web2.0은 도대체 뭔가요? 웹 서비스도 버전이 있나 보
군요?
3
웹 서비스가 무엇인가요?

기존의 웹




HTTP, HTML, URL과 같은 기술을 통해 인터넷에 분산되어
있는 정보 자원들에 대하여 표준화된 접근과 정보 표현 방법
XML(Extensible Markup Language)의 출현으로 웹 상에서 구
조화된 데이터의 전달이 가능
HTML로 작성되어왔던 많은 정보들이 XML로 새롭게 재현됨
으로써 효과적인 정보의 검색 및 이용이 가능
웹 서비스


새로운 기술이라기 보다는 컴포넌트, 인터넷, XML 등의 기
술을 새로운 개념으로 적용하는 방법론을 의미
표준화된 XML 메시지를 통해 네트워크에서 접근 가능한 연
산들의 집합을 기술하는 인터페이스인 “웹 서비스”
4
웹 서비스가 무엇인가요?

웹 서비스가 적용된 자동차 쇼핑몰


자동차 쇼핑몰의 컴포넌트가 XML을 이용하여 대리점의 컴포
넌트를 호출
대리점의 컴포넌트는 다시 금융사, 보험사, 차량등록 사업소
의 컴포넌트를 호출하여 업무를 처리함
<웹 서비스가 적용된 자동차
쇼핑몰 개념도>
5
웹 서비스가 무엇인가요?

웹 서비스가 적용된 자동차 쇼핑몰





웹 서비스 적용 이전에는 각각의 회사 사이트에 직접 접속하
여 처리하거나,
자동차 쇼핑몰에서 다른 회사들의 콘텐츠를 내부 프레임 형
태로 지원하거나,
혹은 다른 회사 사이트의 링크를 제공하는 형태가 대부분
그러나 웹 서비스를 적용함으로써 고객은 자동차 쇼핑몰에서
단 한번의 로그인으로 모든 일을 처리할 수 있게 됨
각 회사들에서 제공하는 EJB(Enterprise JavaBeans),
COM(Component Object Model) 등의 컴포넌트들이 XML 기
반의 프로토콜을 사용하여 통신
6
웹 서비스가 무엇인가요?

웹 서비스 정의




인터넷을 통해 XML 데이터를 주고 받는 인터페이스 (W3C)
인터넷 표준 프로토콜을 이용해 동적으로 상호작용하는 느
슨하게 결합된(loosely coupled) 소프트웨어 컴포넌트 (가트
너 리서치)
HTTP, XML, SOAP와 같은 표준화된 웹 프로토콜과 데이터
포맷을 사용하여 다른 애플리케이션에 데이터 및 서비스를
제공하는 단위 애플리케이션 로직 (마이크로소프트)
웹과 같은 네트워크에서 기술되고, 공표되며, 위치하고, 호
출되는 독립적이고 모듈화된 애플리케이션 (IBM)
7
웹 서비스는 어떻게 동작하나요?

웹 서비스 구성요소와 동작과정





역할에 따라 서비스 제공자, 서비스 요청자, 서비스 중개자
로 구성
서비스 제공자는 제공하려는 서비스에 대한 상세한 정보를
서비스 중개자의 UDDI 레지스트리에 등록 (Publish)
서비스 요청자는 자신이 원하는 서비스를 누가 제공하는지
알기 위하여 서비스 중개자의 UDDI 레지스트리에서 서비스
를 검색 (Find)
서비스 요청자는 서비스 제공자의 WSDL 파일을 다운로드
한 후, 서비스의 인터페이스에 맞게 SOAP 전송 프로토콜을
사용하여 서비스를 요청하고,
서비스 제공자는 요청에 맞는 결과를 제공(Bind)
8
웹 서비스 기본 모델
<웹 서비스 모델>
9
웹 서비스는 어떻게 동작하나요?

SOAP(Simple Object Access Protocol)



원격 프로시저 호출(Remote Procedure Call: RPC)로부터
시작된 프로토콜
XML 메시지와 인터넷 프로토콜을 사용해 정보를 전송하는
기능을 담당하는 표준
UDDI(Universal Description, Discovery, and Integration)

웹 서비스를 검색할 수 있는“전화번호부”의 역할

웹 서비스 제공자가 해당 웹 서비스의 정보를 등록하고,

사용자는 원하는 웹 서비스를 검색하여 정보를 얻는 웹 서
비스 레지스트리에 관한 표준
10
웹 서비스는 어떻게 동작하나요?

WSDL(Web Services Description Language)


웹 서비스 사용자가 쉽고 빠르게 웹 서비스와 연동할 수 있
도록
각 웹 서비스의 인터페이스에 관한 정보를 표준화된 방식으
로 기술하기 위한 표준화된 XML 문서 형식
11
웹 서비스의 활용

단순하게는 주식, 날씨 등의 정보를 다른 서비스 제공자가 제공
하는 웹 서비스를 사용하여 쉽게 가져오는데 활용

기존에는 애플리케이션으로 제공되었던 기능들을 서비스로 제공

필요한 서비스들만을 골라서 사용 가능


기업 내 애플리케이션 통합을 위해 EAI(Enterprise Application
Integration) 용도로 웹 서비스가 활용
비즈니스 파트너와의 통합을 위해 B2B(Business-to-Business) 영
역에 사용
12
웹 서비스의 활용의 예

웹 서비스를 이용한 여권 발급 시나리오
13
웹 서비스의 활용의 예

여권 발급 웹 서비스 구성
14
Tip: ERP가 무엇인가요?






Enterprise Resource Planning
ERP란 기업 현안에 대한 실시간 분석을 통하여 기업 전체의 최적
화를 추구할 수 있도록 기업 내의 전 업무 기능을 통합한 정보 시
스템을 말함
다양한 비즈니스 분야에서 생산, 구매, 재고, 주문, 공급자와의
거래, 고객서비스 제공 등 주요 프로세스 관리를 돕는 여러 모듈
로 구성된 통합 애플리케이션 소프트웨어 패키지를 뜻함
아울러 ERP에는 재무 및 인적자원을 위한 모듈도 포함되어 있음
ERP는 기업 내 경영활동의 최적화, 효율화를 통해 정보시스템의
효과를 극대화
기업의 정보활용을 위한 전체적인 기반을 제공하여 정보시스템
의 전략적 활용을 위한 중추 시스템 역할
15
시맨틱 웹(Semantic Web)이 무엇인가요?








웹을 창시한 Tim Berners-Lee 가 창안한 차세대 웹 기술
사람이 눈으로 보고 이해하는 웹이 아닌 컴퓨터가 이해할 수 있
는 웹을 의미
현재 웹에서의 정보검색은 사람의 해석과 판단을 요구
만약 검색엔진에“웹 기술”을 입력했다면 이 단어가 포함된 수없
이 많은 웹 문서가 출력됨
검색자는 문서 하나하나를 열어 확인해야 하는 번거로움을
텍스트 위주에서 벗어나 단어의 유사성과 상관관계 등을 파악해
서 결과물을 보여주려는 것
웹에서의 그림, 문서 등의 모든 개체를 대상으로 목적에 맞는 정
보를 수집∙가공∙응용까지 시도
인간의 언어를 이해하고 어떤 측면에서는 인간과 의사소통을 하
는 똑똑한 웹 기술
16
시맨틱 웹(Semantic Web)이 무엇인가요?

최근에는 이러한 시맨틱 웹 기술을 웹 서비스 분야에 도입하여
자동화된 웹 서비스의 발견, 실행, 조합, 모니터링을 가능하게 하
려는 노력이 이루어지고 있음

이러한 노력은 시맨틱 웹 서비스라 일컬어짐

이를 통해 얻을 수 있는 이점은 다음과 같음

자동화된 웹 서비스 발견

자동화된 웹 서비스의 실행

자동화된 웹 서비스 조합
17
SOAP란?

SOAP(Simple Object Access Protocol)



XML을 기반으로 분산환경에서 정보를 교환하기 위한 단순하
고 가벼운 메커니즘
단독으로 사용되기 보다는 메시지를 패키징하거나 XML 데이
터 인코딩하는데 사용
메시징 시스템에서부터 원격 프로시져 호출(Remote
Procedure Call: RPC) 영역에 이르기까지 다양하게 사용 가능

SOAP는 XML-RPC를 모태로 하여 만들어진 프로토콜

구성요소

메시지 프레임워크

인코딩 표준

RPC 메커니즘
18
SOAP란?

메시지 프레임워크




메시지를 어떻게 처리하고 만드는지에 대한 내용을 정의
봉투(Envelope) : 최상위 구성요소로 SOAP 헤더와 SOAP 바디
구성요소를 포함
헤더(Header) : 애플리케이션 간에 메시지를 주고받을 때 포
함되는 추가정보 등이 들어가며, 필수 구성요소는 아님
바디(Body) : 애플리케이션 간에 교환되어야 하는 메시지, 즉
XML 문서를 담고 있음. 헤더 구성요소가 있을 경우엔 그 다음
에 형제 구성요소로 오게 됨
19
SOAP란?

SOAP 메시지 구성 예
20
SOAP란?

인코딩 표준



애플리케이션에서 정의된 데이터 형태를 인코딩하는 방법을
정의
SOAP에서는 애플리케이션이 원하는 데이터 타입에 맞게 인
코딩하거나 디코딩하여 메시지를 전송할 수 있도록 함
RPC 메커니즘



RPC와 그에 따른 응답에 대한 내용을 정의
원격 애플리케이션의 메소드를 호출하고 응답 받는 것에 대
한 규약
SOAP 프로토콜이 인코딩된 객체를 원격 프로시져에 매개변
수로서 전달하는 방법
21
UDDI란?

UDDI (Universal Description, Discovery, and Integration)





웹 서비스를 검색할 수 있는 “전화번호부”의 역할
웹 서비스 제공자가 해당 웹 서비스의 정보를 등록하고, 웹
서비스의 사용자가 원하는 웹 서비스를 검색하여 정보를 얻
는 웹 서비스의 레지스트리에 관한 표준
클라이언트는 UDDI 질의를 사용하여 서비스 공급자를 찾고,
UDDI 응답은 찾고자 하는 웹 서비스 호출 방법에 대한 비즈
니스 연락처 정보, 비즈니스 범주, 기술적인 세부사항 등의
정보를 포함
제공하는 서비스를 기술(Description)하고, 필요한 서비스를
검색(Discovery)하며, 서비스들을 통합(Integration)함으로
써 웹 서비스를 수행하는 핵심 기반기술
22
UDDI란?

UDDI 목적



웹 서비스의 상호 운용성을 증대
웹 서비스를 수작업이 아닌 프로그램을 통하여 검색하도록
하여 보다 효율적인 검색을 지원
다양한 업체의 웹 서비스를 프로그램 상으로 연동하여 여러
웹 서비스로 구성된 하나의 통합 서비스를 제공함
23
UDDI란?

UDDI 구성요소

UDDI 레지스트리

웹 서비스에 대한 정보를 등록하고, 검색할 수 있는 저장소

공개 UDDI 레지스트리



IBM의 UDDI 레지스트리와 같이 주요 업체에 의해 공개 목
적으로 구현된 대부분의 UDDI 레지스트리가 이에 해당함
사설 UDDI 레지스트리
멤버쉽을 기반으로 한 폐쇄적인 UDDI


사설 UDDI도 반드시 UDDI 규약을 준수해야 하며, 규약에
정의되어 있지 않은 데이터를 요구할 수 없음
실제 비즈니스 환경에서는 사설 UDDI의 활용도가 더 높을
것으로 예상됨
24
UDDI란?

UDDI 구성요소

레지스트리 API


각종 질의 및 저장 작업을 수행함
UDDI 레지스트리에 접근하여 정보의 저장 및 검색의 작업을 전
송하고 그 결과를 반환 받기 위한 API

모든 API 호출 및 결과 반환은 XML로 표현된 SOAP 문서

질의(Inquiry) API


질의어를 통해 검색하는 API와 키워드 값으로 구분되는 특
정 웹 서비스의 정보를 얻어오는 API로 구성
퍼블리쉬(Publishing) API

정보를 저장하거나 수정, 삭제하는 API와 보안 및 인증에 관
련된 API 등이 이에 포함됨
25
WSDL란?

WSDL (Web Services Description Language)




웹 서비스 사용자가 쉽고 빠르게 웹 서비스와 연동할 수 있
도록 각각의 웹 서비스의 인터페이스에 관한 정보를 표준화
된 방식으로 기술하기 위한 XML 문서 형식
웹 서비스의 인터페이스 정의 언어(Interface Definition
Language: IDL)
특정 웹 서비스의 방법과 프로토콜, 데이터 포맷들을 더욱
상세하게 정의하는 일종의 스크립트
특정 서비스가 어떤 방법과 속성을 가지며 어떤 인자로 호출
해야 하고 어떤 방식의 반환 값을 제공하는지를 알려주는 것
26
WSDL란?
27
HTML과 신세대 HTML, HTML5





HTML은 웹 페이지 저작을 위한 마크업 언어
마크업이란 화면에 어떻게 보일 것인지 또는 문서의 구조를 나
타내기 위해 사용되는 특정 문자들이나 기호를 의미
즉 HTML은 웹 브라우저상에 정보를 표시하기 위한 언어의 일종
HTML은 웹 페이지의 제목, 단락, 목록 등과 같은 본문을 구성할
수 있는 손쉬운 방법뿐만 아니라
링크, 인용과 같은 항목들을 웹 페이지에 문서화 할 수 있는 방
법을 제공

또한 이미지와 객체를 포함할 수 있는 방법을 제공

대화형 양식을 생성할 수도 있음

HTML은 SGML(Standard Generalized Markup Language)을 모태
로 만들어진 표준언어
28
HTML과 신세대 HTML, HTML5







HTML에서 웹 페이지의 제목, 문단, 그리고 하이퍼링크와 같은
내용들은 모두꺾쇠‘( <’과‘>’)에 둘러싸인‘태그’로 작성됨
HTML은 자바스크립트와 정보의 외관과 배치를 정의하는
CSS(Cascading Style Sheet)와 같은 스크립트를 함께 사용
1989년 팀 버너스리가 WWW의 하이퍼텍스트 시스템을 고안하
면서 최초의 웹 서버와 웹 브라우저 그리고 HTML이 탄생
URL, HTTP, 그리고 HTML의 최초 설계자가 바로 팀 버너스리
이후 웹의 폭발적인 증가에 힘입어 웹 페이지를 작성하는 여러
가지 기능들에 대한 요구 사항이 증가
이를 반영하여 많은 항목(태그)들이 추가되기 시작
그러나 몇몇 태그들은 특정 브라우저에서만 동작하는 등의 호환
성 문제가 제기되면서 웹 표준의 필요성이 대두
29
HTML과 신세대 HTML, HTML5

HTML의 역사

HTML이라는 용어는 1991년에 처음 사용

1995년 W3C에서 HTML 2.0 표준안을 정식으로 발표

현재 최종 버전은 1999년에 제정된 HTML 4.01


HTML을 XML 형태로 사용할 수 있도록 한 XHTML 또한 별도
로 제정되어 최신 버전은 2001년 발표된 XHTML 1.1
현재 대부분의 웹 페이지는 HTML 4.01 과 XHTML 1.1 형태로
작성된 것
30
HTML과 신세대 HTML, HTML5
<HTML의 역사>
31
HTML과 신세대 HTML, HTML5

HTML5

마크업 언어 HTML의 최신 규격

즉 HTML 4.01, XHTML 1.0이 차기 버전




HTML5는 액티브X(Active X)를 설치하지 않아도 해당 기능을
구현할 수 있고,
특히 플래시(flash)나 실버라이트(Silverlight), 자바 FX(JAVA
FX) 없이도 웹 브라우저(web browser)에서 화려한 그래픽
효과를 낼 수 있도록 설계
2004년 6월 WHATWG(Web Hypertext Application
Technology Working Group)에서 웹 애플리케이션 1.0이라
는 이름으로 표준화 작업을 시작
HTML5의 정식 권고안은 2012년 3월에 나올 예정
32
HTML과 신세대 HTML, HTML5

HTML5






현재 사용되고 있는 대부분의 HTML 버전으로는 플래시나 실
버라이트에서 제공하는 역동적 기능을 구현할 수 없음
액티브X나 플래시 같은 플러그인을 사용할 수밖에 없음
이러한 플러그인들은 특정 회사 제품이기 때문에 호환성 문
제뿐만 아니라 보안에 취약점이 있음
HTML5는 기존의 플러그인들을 번거롭게 설치할 필요 없이
화려한 웹페이지를 만들 수 있게 하려는 목적
아무런 플러그인 없이도 동영상이나 오디오 플레이어를 브
라우저상에서 곧바로 구현하는가 하면 포토샵 같은 프로그
램이나 게임까지 브라우저로 즐길 수 있게 구현
HTML5의 또 다른 장점은 모바일 환경에서도 운영체제를 가
리지 않고 구동될 수 있다는 것
33
HTML과 신세대 HTML, HTML5
<HTML5를 사용한 사이트 예제
(http://dougx.net/plunder/plunder.html)>
<국내 최초 HTML 기반 모바일 올레마켓>
34
HTML과 신세대 HTML, HTML5

HTML5 의 단점

현재까지 HTML5는 일종의 표준을 제시할 뿐

기존의 플래시를 완전히 없앨 만큼의 발전된 기술은 없음

또한 HTML5를 기반으로 제작된 페이지를 정상적으로 보려
면, HTML5를 지원하는 브라우저로 업그레이드해야 함
35
웹 서비스 적용사례

uBid(www.ubid.com)





36
마이크로소프트사의 SOAP 툴
킷 v2.0을 사용
기존에 존재하던 COM/DCOM
컴포넌트를 WSDL로 작성함
안전한 거래를 보장하기 위해
서 HTTPS를 이용
새로운 중개자와 연동하는데
2주 미만의 시간소요로 신속
하게 연동이 가능하였음
시스템 구축 후 경매물량이
평균 50만 건에서 약 3백만
건으로 증가
웹 서비스 관리란?


웹 서비스로 인해 각 기업들은 소수의 대규모 애플리케이션 대
신 많은 소프트웨어 컴포넌트를 소유하는 형태로 변화하게 됨
웹 서비스 관리 (Web Services Management : WSM)


느슨하게 연결된 컴포넌트들과 이들의 통신을 담당하고 있
는 네트워크 및 종합적인 성능에 대한 관리가 주요한 이슈
웹 서비스 관리 요구사항

웹 서비스의 상태 체크, SOAP 메시지 모니터링 및 로깅,

사용에 대한 측정, 웹 서비스의 안정성 관리,

다수의 컴포넌트들이 호출될 경우의 관리,

웹 서비스의 성능 관리, 웹 서비스 변화 관리,

서비스 품질 수준 관리, 보안 관리
37
Web2.0은 도대체 뭔가요?

web2.0은 누구나, 어디에서나 각 주체가 생산자이며 또한 소비
자가 되는 상호작용을 할 수 있다는 개념의 인터넷 플랫폼

기존 웹(Web1.0)이 정보를 단순히 모을 수만 있다면,

Web2.0은 모아진 정보를 직접 다룰 수 있다는 특징을 갖음




사용자들은 정보를 보다 쉽게 수집/활용 할 수 있는 방법을 찾
기 시작
웹 어플리케이션들은 이용자들의 요구에 맞는 플랫폼을 개발하
기 시작
2004년 오라일리미디어사의 오라일리(Tim O’reilly)팀은 이러한
현상을 Web2.0이라는 개념으로 도입
UCC는 대표적인 Web2.0이라고 할 수 있음

개인이 직접 콘텐츠를 제작하여 웹에 올리기 쉽게 구성
38
Web2.0은 도대체 뭔가요?



인터넷 이용자들의 자발적인 참여를 유도
블로그(Blog) 역시 개인의 정보를 웹상에 제공하고, 트랙백 또는
스크랩의 정보에 대한 수집이 용이하게 제작된 하나의 플랫폼
최근에는 블로그2.0이란 개념으로 블로그 화면을 개인 취향에
맞추어 제작

출처 및 자료 제공에 대하여 편리한 기능들을 제공

블로그 자체를 개인이 작성 할 수 있는 컨텐츠를 제공
39
Web2.0은 도대체 뭔가요?
<Web2.0 관련 기술>
40
Web2.0은 도대체 뭔가요?






구글(www.Google.com)은 Web1.0에 해당하는 정보검색 서비
스뿐만 아니라, 다양한 컨텐츠를 통하여 Web2.0을 실현
첫 번째로 페이지 랭크라는 개념을 도입하여 사이트에 대한 가
치 정도를 측정하는 방식으로, 인터넷 이용자들의 검색에 따른
결과를 보여줌
이는 사용자들의 참여가 즉 하나의 컨텐츠로 자리 할 수 있음을
보여주고 있음
또한 구글은 자체 API를 공개함으로 써, 전세계 사람들의 참여
를 유도할 수 있는 정책
구글어스 또한 Web2.0에 해당하는 컨텐츠
특히 사용자가 해당 지역에 대한 사진을 직접 구글어스의 맵과
상에 업로드 할 수 있으며, 이 해당 정보는 KML(Keyhole Markup
Language)으로 제작되어 사용자들에게 모두 공개
41
Web2.0은 도대체 뭔가요?
<사용자가 직접 해당 지역의 사진을 올리는 구글어스>
42
Web2.0은 도대체 뭔가요?






가장 잘 알려진 Web2.0기술로는 RSS/Atom
RSS나 Atom의 경우 정보를 담는 객체를 XML로 표준화를 하여
정보의 꾸러미를 작성
이 XML로 작성된 정보의 꾸러미는 다른 RSS를 또는 Atom의 표
준을 지원하는 어플리케이션 또는 웹 페이지에서 읽어 올 수 있
으며, 이때 정보를 이용하는 이용자의 입맛에 맞는 정보의 구성
이 가능
RSS는 XML규격을 사용하여 콘텐츠를 표시하는 방식으로 사용자
는 RSS관련 프로그램 또는 서비스를 이용하여 해당 사이트의 방
문 없이 정보를 이용할 수 있음
Web2.0은 정보의 제공과 이용, 그리고 수정 및 전파가 용이하도
록 정의된 개념으로, 몇 가지 성질을 만족해야 함
그 중 하나가 정보 접근이 용이해야 한다는 조건
43
Web2.0은 도대체 뭔가요?


회원제 등 정보를 열람하기 위한 제약 사항이 많으면 안 되며,
누구라도 공개적으로 쉽게 정보를 얻을 수 있어야 함
또한 사용자는 사이트에서 자신의 데이터를 직접 소유 할 수 있
어야 하며, 순수 웹 기반으로, 브라우저만으로 모든 이용이 가능
하도록 가능한 간단한 기능만 제공해야 Web2.0의 요건을 만족
할 수 있다고 할 수 있음
44