웹기술및응용 introductionto web services -...
TRANSCRIPT
Instructor: Prof. Young-guk HaDept. of Computer Science & Engineering
웹 기술 및 응용
2019년 2학기
Introduction to Web Services[Part 1] Backgrounds
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
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
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
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
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
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
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
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
10웹기술응용설계
Web Services as Integration Adapter
Business
Applications
Back-endSystems
ERPCRMSCM …
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
12웹기술응용설계
해외 Web Services 기술 동향 (1)
q MS의 .Net
Ø 닷넷 마이서비스(.Net My Services), 닷넷 엔터프라이즈 서버, 비
주얼스튜디오 닷넷 등의 제품군을 출시
Ø 웹 서비스 개발툴인 비주얼스튜디오 닷넷(VS .Net)의 우수한 성과
Ø 웹 서비스를 보강하기 위해 닷넷 마이서비스의 전략을 포기하고 비
주얼스튜디오 닷넷의 업데이트 버전을 출시
q Sun Microsystems의 J2EE
Ø 웹 서비스 개발자 도구인 Developer 스튜디오와 iPlanet 애플리케
이션 서버를 포함한 솔루션을 출시 (이후 J2EE Platform으로 통합)
Ø 2009년에 Oracle에 인수됨
13웹기술응용설계
해외 Web Services 기술 동향 (2)
q Oracle의 WebLogic
Ø 웹 서비스 분야는 IBM에 비해 뒤늦게 사업에 진출
Ø 2008년에 BEA Systems를 인수하고 WebLogic을 통합
Ø WebLogic 제품군에 J2EE를 통합하고 웹 서비스 기능을 추가
q IBM의 WebSphere
Ø WAS(Web Application Server) 세계 시장 부동의 1위
Ø WAS 제품 시장의 우위를 통해 다수의 기업고객 확보
Ø 이러한 자사의 강점을 이용해 웹 서비스 분야의 점유율을 확대
14웹기술응용설계
국내 Web Services 기술 동향
q 동양시스템즈(현 동양네트웍스)
Ø 국내 최초 닷넷(.Net)을 도입하고 닷넷 비즈니스 센터 개설
Ø 금융 웹 서비스인 파이넨스 닷넷(Finance .Net) 구축
q 대우정보시스템
Ø 제조업 대상의 기업 통합 솔루션 협력
Ø 지식 웹 서비스(KWS)와 모바일 분야 기술개발 및 마케팅
q 엘지CNS
Ø 닷넷 기반의 공동 솔루션 개발 및 SI 사업 협력
Ø 닷넷 기반의 eQMS(통합품질관리솔루션)개발 및 마케팅
q 삼성SDS
Ø 웹 서비스 기술을 체험 및 교육할 수 있는 닷넷 센터 개설
Ø 국내외 웹 서비스 관련 기업들과 EAI(Enterprise Application Integration) 분야 기술 제휴 및 사업 추진
v 초기에는 .Net 기반 à 현재는 Java 기반 웹 서비스가 주류
15웹기술응용설계
웹 서비스 전망
q 웹 서비스는 새로운 시스템 구축 뿐만이 아니라 기존에 존재하
는 시스템을 활용한 연계 및 통합 사업(SI)을 가능하게 함으로써
IT 및 관련 산업에 큰 영향을 미칠 것으로 전망되고 있음
Ø 특히 국내외 SI 업체에서 필수 시스템 통합 도구로 활용하고 있음
q 웹 서비스는 차기 IT 기술 패러다임의 요구들을 충족시킴으로써
현재 관심을 모으고 있는 최신 기술들을 직접적으로 지원하거나,
협력할 수 있는 친화적 기술로서 기대되고 있음
Ø Grid computing, Ubiquitous computing, Cloud computing,
Internet of Thing (IoT), Blockchain 등
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
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)
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 기타 관련 표준화 기관에서 유비쿼터스 웹 서비스 관련 표준화를 추진중
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의 예 ]
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”
21웹기술응용설계
SOA: Service Oriented Architecture
2. Discovery
3. Invocation1. Publication
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를 호출하는 응용프로그램을 의미하기도 함)
23웹기술응용설계
Web Services Architecture
2. Discovery(UDDI)
3. Invocation(SOAP)
1. Publication(WSDL)
“An instance of SOA implemented with Web & XML technologies”
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을 통해 서비스를 호출하는 것)
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
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
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)
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