정보통신 개론 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