웹기술및응용 introductionto web services -...

28
Instructor: Prof. Young-guk Ha Dept. of Computer Science & Engineering 웹 기술 및 응용 2019년 2학기 Introduction to Web Services [Part 1] Backgrounds

Upload: others

Post on 17-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

Instructor: Prof. Young-guk HaDept. of Computer Science & Engineering

웹 기술 및 응용

2019년 2학기

Introduction to Web Services[Part 1] Backgrounds

Page 2: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

2웹기술응용설계

Overview

q Part 1: BackgroundsØ World Wide Web

Ø Introduction to Web Services

Ø Web Services Technology Trend

q Part 2: Web Services EssentialsØ Web Services Architecture

Ø Core Technologies (WSDL, SOAP, UDDI)

q Part 3: RESTful Web Services

Ø Introduction to REST

Ø RESTful Web Services Architecture

Ø RESTful Web Services Implementation

Page 3: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

3웹기술응용설계

World Wide Web (WWW)

q Today’s computer systems are capable of running Web servers and Web browsers thru HTTPØ I.e., WWW is a universal communication infrastructure

for users and networked computing devices

Ø E.g., servers, PCs, tablets, smart phones, furthermore, IoT devices such as sensors and actuators

HTTP

Page 4: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

4웹기술응용설계

World Wide Web (cont'd)

q Fundamental technologies

Ø Network: Internet, TCP/IP and DNS

Ø Address: URL (Universal Resource Locator)

Ø Content: HTTP and HTML

URL

DNS

Page 5: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

5웹기술응용설계

World Wide Web (cont'd)

q The principle use of WWW is for interactive access to documents and applications by human users

Ø Human-centric Web (HTML is mainly for user interfaces)

q Nowadays, WWW is commonly used for application to application communications

Ø Issue: HTML is human-centric, not application-centric

Viewing

HTMLpages

HTML

HTML

MobileApps

Web Agents

Hard to parsesemantics of Web pages

Hard to adapt tochanges of Web pages

Page 6: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

6웹기술응용설계

Development of XML Technologies

q XML was developed to overcome the limitations of

HTML

Ø For better support for dynamic data content creation,

handling, and management

q XML-RPC (Since 1998)

Ø A simple protocol to exchange XML messages via HTTP

POST method in forms of a remote procedure call

Ø Having no capability to describe and discover methods

or applications

Ø Prior knowledge about methods or application is

essential for efficient interoperation

Page 7: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

7웹기술응용설계

Next Generation of Web

qRequirement for application-centric Web

Ø Supporting easier communication between applications for automated serviceso Using XML for data exchange instead of HTML

o Description for applications and services(what is it, what it does, how to use it, …)

o Discovery, composition and execution of applications and services

Ø For example, a travel agent appo Searching appropriate hotel and airline services for

users’ preferences

o Then, making reservations automatically

Page 8: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

8웹기술응용설계

Web Services

q Web Services definition by W3C

(from “WS Architecture”, W3C Recommendation)

Ø A software system designed to support interoperable

machine-to-machine (application-to-application)

interaction over a network

Ø It has an interface described in a machine-processable

format (specifically WSDL)

Ø Other systems interact with the Web services in a

manner prescribed by its description using SOAP

messagesà Distributed Computing Perspective

Page 9: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

9웹기술응용설계

Web Services (cont'd)

q Web Services Definition by E. Newcomer

(from “Understanding Web Services”)

Ø “Web services are XML applications mapped to programs,

objects, or databases or to business functions. Using an

XML message, programs send a request to them across

the network, and optionally, receives a reply.”

Ø Web services are internet-oriented, text-based

integration adapter

à System Integration Perspective

Page 10: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

10웹기술응용설계

Web Services as Integration Adapter

Business

Applications

Back-endSystems

ERPCRMSCM …

Page 11: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

11웹기술응용설계

Evolution of Web

Conventional

Web

WebServices

Semantic

Web Services

Foundation

LanguageHTML XML

RDF & OWL

(Web Ontology)

Interface

DescriptionN/A WSDL

OWL-S

(Web Services Ontology)

DiscoveryManual

(Google, Yahoo, ...)

Semi-automated

(UDDI)

Fully automated

(OWL-S Profile)

Execution Manual & staticSemi-automated

(WSDL with SOAP)

Fully automated

(OWL-S Grounding)

Composition N/ASemi-automated

(BPEL4WS)

Fully automated

(OWL-S Process)

Human-centric

Application-centric

Application-readableApplication-

understandable

Page 12: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

12웹기술응용설계

해외 Web Services 기술 동향 (1)

q MS의 .Net

Ø 닷넷 마이서비스(.Net My Services), 닷넷 엔터프라이즈 서버, 비

주얼스튜디오 닷넷 등의 제품군을 출시

Ø 웹 서비스 개발툴인 비주얼스튜디오 닷넷(VS .Net)의 우수한 성과

Ø 웹 서비스를 보강하기 위해 닷넷 마이서비스의 전략을 포기하고 비

주얼스튜디오 닷넷의 업데이트 버전을 출시

q Sun Microsystems의 J2EE

Ø 웹 서비스 개발자 도구인 Developer 스튜디오와 iPlanet 애플리케

이션 서버를 포함한 솔루션을 출시 (이후 J2EE Platform으로 통합)

Ø 2009년에 Oracle에 인수됨

Page 13: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

13웹기술응용설계

해외 Web Services 기술 동향 (2)

q Oracle의 WebLogic

Ø 웹 서비스 분야는 IBM에 비해 뒤늦게 사업에 진출

Ø 2008년에 BEA Systems를 인수하고 WebLogic을 통합

Ø WebLogic 제품군에 J2EE를 통합하고 웹 서비스 기능을 추가

q IBM의 WebSphere

Ø WAS(Web Application Server) 세계 시장 부동의 1위

Ø WAS 제품 시장의 우위를 통해 다수의 기업고객 확보

Ø 이러한 자사의 강점을 이용해 웹 서비스 분야의 점유율을 확대

Page 14: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

14웹기술응용설계

국내 Web Services 기술 동향

q 동양시스템즈(현 동양네트웍스)

Ø 국내 최초 닷넷(.Net)을 도입하고 닷넷 비즈니스 센터 개설

Ø 금융 웹 서비스인 파이넨스 닷넷(Finance .Net) 구축

q 대우정보시스템

Ø 제조업 대상의 기업 통합 솔루션 협력

Ø 지식 웹 서비스(KWS)와 모바일 분야 기술개발 및 마케팅

q 엘지CNS

Ø 닷넷 기반의 공동 솔루션 개발 및 SI 사업 협력

Ø 닷넷 기반의 eQMS(통합품질관리솔루션)개발 및 마케팅

q 삼성SDS

Ø 웹 서비스 기술을 체험 및 교육할 수 있는 닷넷 센터 개설

Ø 국내외 웹 서비스 관련 기업들과 EAI(Enterprise Application Integration) 분야 기술 제휴 및 사업 추진

v 초기에는 .Net 기반 à 현재는 Java 기반 웹 서비스가 주류

Page 15: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

15웹기술응용설계

웹 서비스 전망

q 웹 서비스는 새로운 시스템 구축 뿐만이 아니라 기존에 존재하

는 시스템을 활용한 연계 및 통합 사업(SI)을 가능하게 함으로써

IT 및 관련 산업에 큰 영향을 미칠 것으로 전망되고 있음

Ø 특히 국내외 SI 업체에서 필수 시스템 통합 도구로 활용하고 있음

q 웹 서비스는 차기 IT 기술 패러다임의 요구들을 충족시킴으로써

현재 관심을 모으고 있는 최신 기술들을 직접적으로 지원하거나,

협력할 수 있는 친화적 기술로서 기대되고 있음

Ø Grid computing, Ubiquitous computing, Cloud computing,

Internet of Thing (IoT), Blockchain 등

Page 16: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

16웹기술응용설계

웹 서비스와 주요 IT 이슈들과의 관계 전망 (1)

q 그리드 컴퓨팅과 웹 서비스

Ø 지리적으로 분산 관리되는 이종의 컴퓨터 시스템, 저장 장치 등의 유휴 자원

들을 고속 네트워크에 연결해 가상의 고성능 컴퓨팅(Super Virtual

Computing)을 제공하는 차세대 인터넷 서비스

o E.g., P2P, Torrent, 소리바다, SETI@Home, …

Ø 미래의 분산 컴퓨팅 환경을 “DCE à CORBA à 웹 서비스”의 분산 환경의

진화를 거쳐 차기에는 웹 서비스와 그리드 컴퓨팅이 결합한 형태가 된다고

예측 (Ian Foster 교수, 시카고大, Grid Computing 창시자)

v Grid Computing vs. Cloud Computing

Grid Computing Cloud Computing

ü Networking: WAN vs. LAN

ü Resource: Heterogeneous vs. Homogeneous

Shared vs. Exclusive

Distributed vs. Data center

ü Cost: Free vs. Pay-as-you-go

Page 17: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

17웹기술응용설계

웹 서비스와 주요 IT 이슈들과의 관계 전망 (2)

q 유비쿼터스 컴퓨팅과 웹 서비스

Ø 유비쿼터스 컴퓨팅 환경

o 실세계에 존재하는 다양한 컴퓨팅 디바이스들이 상호 연동하며 언제, 어

디서나 사용자가 원하는 서비스를 제공할 수 있는 컴퓨팅 환경

o Pervasive Computing, Ambient Intelligence, Context-Aware

Computing, Disappearing Computing, Invisible Computing 등

Ø 유비쿼터스 컴퓨팅 핵심 기술

o 하드웨어: 임베디드 시스템, 모바일 컴퓨팅, 센서/RFID, …

o 네트워크: IPv6, 초고속 네트워크(BcN), 센서 네트워크(USN), …

o 소프트웨어: 상황인지 기술, 분산서비스 기술, UI/UX 기술, …

Ø 웹 서비스 à 유비쿼터스 컴퓨팅을 위한 분산서비스 핵심 기술 제공

o 기존 분산 미들웨어 기술들(DCE, CORBA, RMI 등)의 한계를 극복

o 디바이스 및 플랫폼 독립적인 서비스 통합을 지원(Universal Protocol)

o IoT를 위한 유비쿼터스 웹 서비스(Ubiquitous Web Services)

Page 18: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

18웹기술응용설계

웹 서비스와 주요 IT 이슈들과의 관계 전망 (3)

q IoT와 유비쿼터스 웹 서비스 (Ubiquitous Web Services for IoT)

Ø 어떠한 단말/네트워크 환경에서도 다양한 응용 서비스를 연계하여 이용할 수

있도록 하는 미래형 웹서비스 기술 à IoT와 연계

Ø 단순한 유선 기반의 통상적인 컴퓨팅 환경에서 벗어나, 다양한 장치와 단말

을 지원하는 기술, 다양한 컴퓨팅 환경(홈네트워크, 센서네트워크, RFID, 텔

레매틱스, 광대역통합망, 모바일, 방송 등)을 지원하는 기술 등으로 분야별로

발전하면서 연계/융합될 것으로 예상

Ø 국제 표준화 동향

o W3C에서 유비쿼터스 웹 WG을 개설하여 표준화 추진

o 모바일 분야 국제표준화 기구인 OMA(Open Mobile Alliance)에서는 모바일 웹서비

스(Mobile Web Services) 기술 표준화를 추진하고 있음

o RFID에 대한 대표적인 표준화 기구인 EPC Global에서는 웹서비스 프레임워크를

사용하여 핵심 서버 및 서비스를 연동하는 아키텍처와 표준을 개발하고 있음

o 국제 표준화 기구인 ITU-T SG13에서 개방형 서비스 인터페이스를 위하여 웹 서비

스를 채택 및 이를 기반으로 하는 컨버전스 서비스 시나리오를 개발하고 있는 중

o 기타 관련 표준화 기관에서 유비쿼터스 웹 서비스 관련 표준화를 추진중

Page 19: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

19웹기술응용설계

웹 서비스와 주요 IT 이슈들과의 관계 전망 (4)

q 클라우드 컴퓨팅과 웹 서비스

Ø 클라우드 컴퓨팅: 신뢰할 수 있는 기관

에서 대형 Server 및 Data center를

중심으로 가상화된 컴퓨팅 서비스를

제공하고 사용량 만큼 과금하는 “pay-

as-you-go” 컴퓨팅 방식

o SaaS(Software as a Service)

: Google Apps (mail, schedule, …)

o PaaS(Platform as a Service)

: Amazon Web Services (runtime, DB,

development env., …)

o IaaS(Infrastructure as a Service)

: MS Azure, Amazon EC2 (CPU, GPU,

memory, storage, OS, …)

Ø 대부분의 Cloud 컴퓨팅 서비스를 위한

인터페이스 수단으로 웹 서비스 적용

o Google, Amazon, MS 등

[ SaaS의 예 ]

Page 20: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

20웹기술응용설계

웹 서비스와 주요 IT 이슈들과의 관계 전망 (4)

q Amazon Alexa Cloud Service

Lynx

Amazon Cloud

Internet

REST A

PI

Text to Action/Intent

AWS

Lambdaor Web Service

Echo

or

Wake word:

“Alexa”

Page 21: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

21웹기술응용설계

SOA: Service Oriented Architecture

2. Discovery

3. Invocation1. Publication

Page 22: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

22웹기술응용설계

Web Services Entities

q Service Provider

Ø 서비스를 운영하며 제공함(Service 자체를 의미하기도 함)

Ø Service Registry에 사용 가능한 서비스를 등록

q Service Registry (Discovery Service)

Ø Service Registry는 제공자(Provider)와 사용자(Requester)

사이에서 제공자가 서비스를 등록하고 이를 사용자가 탐색

(Discover)할 수 있게 함

q Service Requester

Ø Service Registry를 통해 원하는 서비스를 탐색하고 호출함

(Web Service를 호출하는 응용프로그램을 의미하기도 함)

Page 23: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

23웹기술응용설계

Web Services Architecture

2. Discovery(UDDI)

3. Invocation(SOAP)

1. Publication(WSDL)

“An instance of SOA implemented with Web & XML technologies”

Page 24: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

24웹기술응용설계

Web Services Operations

q Web Service Publication

Ø Web Service Provider가 Web Service Registry(UDDI 서버)에 제

공 가능한 웹 서비스에 대한 명세(WSDL 문서)를 등록하는 것(일반

적으로 SOAP을 통한 등록 서비스 제공)

q Web Service Discovery

Ø Web Service Requester가 원하는 웹 서비스 명세를 발견하기 위

해 Web Service Registry를 탐색하는 것(일반적으로 SOAP을 통한

탐색 서비스 제공)

q Web Service Invocation

Ø Web Service Requester가 원하는 웹 서비스를 호출 하기 위해

WSDL을 기반으로 Web Service Provider와 SOAP을 통해 연동하

는 것(즉, SOAP을 통해 서비스를 호출하는 것)

Page 25: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

25웹기술응용설계

Web Services의 구현 예

CloudServices

Social MediaServices

Web-

Based

Open

API

InformationServices

ü Web Services (SOAP)ü RESTful API

Smart & IoT

Devices

XML

JSON

JSONXML

JSON

XML

Serv

ice R

equeste

rs

Serv

ice P

rovid

ers

Page 26: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

26웹기술응용설계

Web Services Procedure (cont'd)

q Web Service Provider’s perspective

① Implement service functionality

② Create SOAP service wrapper (service interface)

③ Create WSDL service description

④ Deploy service (WAS)

⑤ Register new service to UDDI

q Web Service Requester’s perspective

① Discover services from UDDI

② Retrieve WSDL service description

③ Create SOAP client (application) based on WSDL

④ Invoke remote service via SOAP

Page 27: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

27웹기술응용설계

Core Technologies for Web Services

q XML (eXtensible Markup Language)

q WSDL (Web Services Description Language)

q SOAP (Simple Object Access Protocol)

q UDDI (Universal Description, Discovery, and

Integration)

Page 28: 웹기술및응용 Introductionto Web Services - Konkuksclab.konkuk.ac.kr/attachments/lecture/4/07_1-Intro_WebServices_P… · Ø지식웹서비스(KWS)와모바일분야기술개발및마케팅

28웹기술응용설계

References

q W3C, http://www.w3.org

q Web Services Architecture, http://www.w3.org/standards/techs/wsarch

q Web Services Description,

http://www.w3.org/standards/webofservices/description

q Web Services Protocols,

http://www.w3.org/standards/webofservices/protocols

q WSDL, http://www.w3.org/standards/techs/wsdl

q SOAP, http://www.w3.org/standards/techs/soap

q UDDI, http://www.uddi.org