introduction to service-oriented architecture & web service...

40
Introduction to Service-oriented Architecture & Web Service Computing Youn-Hee Han [email protected] LINK@KOREATECH http://link.koreatech.ac.kr

Upload: others

Post on 27-Apr-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Introduction to Service-oriented Architecture

& Web Service Computing

Youn-Hee Han

[email protected]

LINK@KOREATECH

http://link.koreatech.ac.kr

Page 2: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Web Service Computing2

시스템 패러다임 발전 과정

정보시스템 패러다임의 변화

1970년대: 로컬 머신 환경

1980년대: 클라이언트 서버 환경

1990년대: 분산 컴퓨팅 환경

2000년대: 서비스 중심 아키텍처 (Service-oriented Architecture) 환경

2010년대: SaaS(Software as a Service) & Cloud 컴퓨팅 환경

출처: “공공정보화 웹 서비스 도입방안 연구”, 한국전산원

ServiceOriented

Distributed

Client-Server

Monolithic

1970’s 2000’sIncreasing adaptability and Flexibility

Page 3: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Web Service Computing3

시스템 패러다임 발전 과정

클라이언트 서버 (Client-Server) 환경

Client Program

Server SideClient Side

Server Program서비스요청(인자전달)

서비스결과(반환값전달)

Network

Page 4: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Web Service Computing4

시스템 패러다임 발전 과정

분산컴퓨팅 (Distributed Computing) 환경 Grid System

P2P computing

Page 5: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Web Service Computing5

시스템 패러다임 발전 과정

서비스 중심 아키텍처 (Service-oriented Architecture) 환경

Page 6: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Architecture의 개념

6 Web Service Computing

[시스템 (System) – IEEE 1471]시스템은 특정 기능(들)을 달성하도록 조직된 컴포넌트의 집합이다.

시스템은 한 개 이상의 미션을 수행하기 위해 존재한다.

[아키텍쳐 (Architecture) - IEEE 1471]각 컴포넌트로 구체화된 시스템의 기본적인 조직이다.

-아키텍쳐는 시스템의 세부 모습을 결정하고, 작동을 정의하며, 중요한 요소를 결정한다

-아키텍쳐는 모든 시스템에 존재한다.

[소프트웨어 아키텍처(Software Architecture)의 정의]소프트웨어 구성요소를 묘사하고, 해당 구성요소에 대한 기능을 할당하고,

구성요소의 기술적인 구조 및 특성과 구성요소간의 인터페이스를 설명하는

시스템에 대한 청사진이며, 시스템 구축을 위한 고차원의 함축적인 구조 설명

Page 7: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Web Service Computing7

Service & Architecture

Service

work done by one person or group that benefits another

기술이 아닌 가치를 창출하는설계

Loose-Coupling(맞춤(tightly coupled)이 아닌)

Architecture

the principles of design, construction and ornamentation of fine buildings

여러 가지 요소를 유기적으로결합하는방법

Page 8: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

SOA 의 정의

ServiceS

OrientedO

ArchitectureA

SOA는 엔터프라이즈 애플리케이션에 포함된 개별적인 기능들을 서비스지향적으로 분리하여 동적인 비즈니스 요구 사항에 따라 신속하게 조립 및재사용할 수 있는 상호 운영이 가능한 표준 기반 서비스로 구성하는 IT 전략

애플리케이션 중심이 아니라 서비스 중심으로 엔터프라이즈 IT를 구성함으로써 원하는 성과를 거둔다.

8 Web Service Computing

Page 9: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

서비스 지향 vs 객체지향

서비스 지향 객체지향

처리로직단위의 느슨한 결합 사전에 정의된 클래스 의존성이 기반

General한 인터페이스를 선호 정제된 인터페이스를 지원

서비스 단위 객체 단위

서비스의 자율성 강조 객체간 참조와 상속 관계

Point서비스 지향은 객체 지향과 관련이 있으며 그로부터 파생됨.다만, 상속과 같은 객체 지향 원칙들은 서비스 지향에는 적합하지않으며 느슨한 결합과 자율성 등의 원칙은 객체지향에서 파생된 개념이아니다.

9 Web Service Computing

Page 10: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

SOA 의 특징

특징 내용

느슨한 결합(Loose Coupling)

서비스들은 의존관계를 최소화하고 상호 식별에 꼭 필요한관계만을 유지한다.

서비스 계약(Service Contract)

서비스들은 커뮤니케이션에 동의해야 하며 하나 이상의 서비스 명세와 관련 문서로 정의된다.

자율성서비스는 캡슐화하고 있는 로직에 대해 스스로 제어 가능하다.

추상화서비스 명세에 서술된 것을 제외하고 서비스는 외부로부터로직을 감춘다.

재사용성재사용을 촉진하기 위해 로직은 여러 서비스로 나뉘어져있다.

조합성서비스의 집합은 조정(coordinate)될 수 있으며 조립된 서비스 형태로 존재할 수 있다.

무상태 유지(Stateless)

서비스는 측정 시점에 특화된 정보만을 유지한다.

발견성서비스들은 외부에 잘 드러나도록 명세를 기반으로 하여설계되므로 외부에서 쉽게 찾을 수 있고 서비스를 식별하는 메커니즘을 통해 접근이 가능하다.

10 Web Service Computing

Page 11: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

SOA 아키텍처 로드맵

항공사웹사이트

과금애플리케이션

EnterpriseLayer

foundation Layer

항공편

예약

고객

과금

[ 기초적 SOA Architecture Road-Map ]

11 Web Service Computing

Page 12: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

SOA 아키텍처 로드맵

항공편

예약

고객

과금

[ 네트워크 SOA Architecture Road-Map ]

항공사웹사이트

EnterpriseLayer

foundation Layer

RelayLayer

Book&

Bill

12 Web Service Computing

Page 13: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

SOA 아키텍처 로드맵

항공편

예약

고객

과금

항공사웹사이트

EnterpriseLayer

foundation Layer

RelayLayer

Book&

Bill

예약프로세스

ProcessLayer

[ 프로세스 SOA Architecture Road-Map ]13 Web Service Computing

Page 14: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Web Service Computing14

시스템 패러다임 발전 과정

Cloud 컴퓨팅 환경

Page 15: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Web Service Computing15

Cloud Computing

Cloud 컴퓨팅 정의

클라우드 컴퓨팅정의

C ommon, L ocation-independent. O nline U tility, on D emand Computing

인터넷기술을활용하여다수의고객들에게 높은 수준의확장성을가진 IT 자원들을 ‘서비스’로

제공하는컴퓨팅

1 클라우드컴퓨팅소비자유형

클라우스 컴퓨팅 서비스이용자유형및 클라우드컴퓨팅

서비스운용및 사용조직확장성에따라 프라이빗 클라우드

컴퓨팅 및 퍼블릭 클라우드 컴퓨팅으로 구분

2 클라우드서비스유형

클라우드 서비스는 일반 소비자 및 기업고객을 대상으로

인터넷을 통해 실시간으로 제공되고 소비되는 제품 및

서비스와 솔루션

IT 인프라서비스 (IaaS), 신규 어플리케이션 개발을 위한

플랫폼서비스 (PaaS), 어플리케이션 모듈을 제공하는

소프트웨어서비스(SaaS)의 3가지 서비스 Layer로 구성

클라우드컴퓨팅구현을위한기반인프라3

클라우드 컴퓨팅 구현을 위해 가상화 기술을 통한 Open

아키텍처 기반의 시스템의 효율적인자원 가상풀구현 및

클라우드 컴퓨팅 운영을 위한 사용량 기반의 Billing 및

Metering 체계구현필요

프라이빗클라우드컴퓨팅(Private Cloud Computing)

퍼블릭 클라우드컴퓨팅(Public Cloud Computing)

1

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

2

클라우드컴퓨팅기반아키텍쳐3

클라우드 컴퓨팅 구성요소

Page 16: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Cloud Computing

Cloud 컴퓨팅 서비스 유형 클라우드 서비스는 고객이 직접 자원을 구매 또는 구축하지 않고 필요 시

서비스로 이용하는 개념으로, 제공되는 자원의 종류에 따라 SaaS(Application), PaaS(개발 플랫폼), 그리고 IaaS(인프라)의 3가지로 구분

IT 구

조및

표준화

수준

향상

Application Cloud Services (SaaS)

Platform Cloud Services(PaaS)

Infrastructure Cloud Services(IaaS)

Collaboration CRM/ERP/HR

Business Processes

Industry Applications

MiddlewareWeb2.0 App

Runtime

DatabaseDevelopment

Tooling

Java Runtime

Servers Networking

Shared, Virtualized, Dynamic Provisioning

Datacenter

Storage

서버, 스토리지, 미들웨어 등의

인프라 자원에 대하여 사용자가

필요한 만큼 탄력적으로 제공하는

서비스

개발 Platform 환경을 제공하여

소프트웨어 컴포넌트의

구매/개발/판매를 지원해 주는

서비스

개인 및 기업 고객을 대상으로

애플리케이션, 패키지 등 원하는

SW 솔루션을 클라우드형태로

제공하는 서비스

Web Service Computing16

Page 17: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Cloud Computing

Cloud 컴퓨팅 서비스 유형 http://goo.gl/xHkE7K

[note] 아키텍처, 프레임워크, 플랫폼의 정의와 차이점.. http://goo.gl/bf8fA6

http://goo.gl/GhihtN

Web Service Computing17

Page 18: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Cloud Computing

Cloud 컴퓨팅 기술 요소 (1/3)

Web Service Computing18

클라우드

컴퓨팅

아키텍쳐

물리적시스템

Layer

클라우드컴퓨팅

서비스관리체계

Layer

클라우드서비스Layer

가상화Layer

IaaS PaaS SaaS

스토리지 네트워크블레이트서버

UNIX 서버

메인프레임Intel 서버

서버가상화 스토리지가상화 네트워크가상화

프로비져닝

Layer

서버프로비져닝( VM. OS)

네트워크프로비져닝 스토리지프로비져닝어플리케이션프로비져닝

워크플로우 셀프서비스포탈클라우드서비스

라이프사이클관리가상화이미지

라이프사이클관리

사용량및어카운팅관리

사용량미터링

과금관리

성능및가용성관리

장애관리

성능관리

백업복구관리

보안

인증

데이터보안

컴플라이언스관리

접근권한관리

네트워크보안

자원관리

패치관리

라이센스관리

구성관리

클라우드

컴퓨팅

아키텍쳐

물리적시스템

Layer

클라우드컴퓨팅

서비스관리체계

Layer

클라우드서비스Layer

가상화Layer

IaaS PaaS SaaSIaaS PaaS SaaS

스토리지 네트워크블레이트서버

UNIX 서버

메인프레임Intel 서버 스토리지 네트워크

블레이트서버

UNIX 서버

메인프레임Intel 서버

서버가상화 스토리지가상화 네트워크가상화

프로비져닝

Layer

서버프로비져닝( VM. OS)

네트워크프로비져닝 스토리지프로비져닝어플리케이션프로비져닝

서버프로비져닝( VM. OS)

네트워크프로비져닝 스토리지프로비져닝어플리케이션프로비져닝

서버프로비져닝( VM. OS)

네트워크프로비져닝 스토리지프로비져닝어플리케이션프로비져닝

워크플로우 셀프서비스포탈클라우드서비스

라이프사이클관리가상화이미지

라이프사이클관리

사용량및어카운팅관리

사용량미터링

과금관리

성능및가용성관리

장애관리

성능관리

백업복구관리

보안

인증

데이터보안

컴플라이언스관리

접근권한관리

네트워크보안

자원관리

패치관리

라이센스관리

구성관리

워크플로우 셀프서비스포탈클라우드서비스

라이프사이클관리가상화이미지

라이프사이클관리워크플로우 셀프서비스포탈

클라우드서비스라이프사이클관리

가상화이미지라이프사이클관리

워크플로우 셀프서비스포탈클라우드서비스

라이프사이클관리가상화이미지

라이프사이클관리

사용량및어카운팅관리

사용량미터링

과금관리

성능및가용성관리

장애관리

성능관리

백업복구관리

보안

인증

데이터보안

컴플라이언스관리

접근권한관리

네트워크보안

자원관리

패치관리

라이센스관리

구성관리 사용량및어카운팅관리

사용량미터링

과금관리

사용량및어카운팅관리사용량및어카운팅관리

사용량미터링

과금관리

사용량미터링

과금관리

성능및가용성관리

장애관리

성능관리

백업복구관리

성능및가용성관리성능및가용성관리

장애관리

성능관리

백업복구관리

장애관리

성능관리

백업복구관리

보안

인증

데이터보안

컴플라이언스관리

접근권한관리

네트워크보안

보안보안

인증

데이터보안

컴플라이언스관리

접근권한관리

네트워크보안

인증

데이터보안

컴플라이언스관리

접근권한관리

네트워크보안

자원관리

패치관리

라이센스관리

구성관리

자원관리

패치관리

라이센스관리

자원관리

패치관리

라이센스관리

구성관리

Page 19: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Cloud Computing

Cloud 컴퓨팅 기술 요소 (2/3)

Web Service Computing19

서비스운영자

Cloud관리자

OS

Application

WAS

가상 시스템

VM

OS

Application

WAS

가상 시스템

VM

Cloud

Computing

Service

사용자포탈

관리자포탈

Cloud 서비스포탈

리소스풀 관리/프로비저닝

미터링및 과금자원모니터링

Cloud 관리서버

운영프로세스자동화1

2 5 6

3 4

서비스신청현황/승인/반련자원모니터링현황체크

사용자셀프서비스 GUI를이용개발테스트를위한 IT 환경신청

사용리소스모니터링성능/장애모니터링수동/자동조치

프로세스자동화를위한워크플로우리소스성능/장애관리파라미터정의및인스턴스처리

서비스별자원사용량수집과금, 리포팅

자원프로비저닝자동화를위한워크플로우

자원리소스풀관리

Cloud Computing Management

Page 20: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Cloud Computing

Cloud 컴퓨팅 기술 요소 (3/3)

Web Service Computing20

가상화 기술

개요 기업의 주요 궁금 점

•가상화 기술은 하나의 물리적인 장비를가상적인 몇 개의 시스템으로 운영하는기술. 장비 통합 효과와 작업시간 단축, 효율적인 운영환경 등의 혜택 제공

•가상화를 통한 Application 시스템의 성능 영향도

•가상화를 통한 자원 최적 활용 방안 (비용 효과)-유휴 자원의 활용 모델

프로비져닝• Resource Pool을 구성하고 서비스 신청시 자동으로 시스템을 배치하는 기술

• VM, OS, Middleware, Application을구성해 줌

•타 벤더간의 Resource provision이 가능한가?

•모든 SW, Application, Middleware들이 Provision될수 있는가?

•타사업자간의 Cloud가 호환이 되는가?

워크 플로우•업무 운영 프로세스 및 Rule

•정의된 W/F Rule에 따라 서비스프로비져닝이 수행됨

•고객의 다른 서비스 관리 시스템과 연계가가능한가?

• To-be의 Workflow는 어떻게 가야 하는가?

분산 병렬 처리

•업무 Logic 및 I/O Processing에 부하가심한 경우, Multi-node에서 분산, 병렬처리하는 기술

• Grid Computing과 비슷한 개념

• IBM은 분산 병렬 처리 Framework을 보유하고있나?

•어떤 업무 성격이 이 기능을 필요로 하는가?

관리 툴•클라우드 관리 툴

•시스템 관리 툴

• Metering

•고객의 기존 관리 시스템과의 연계성

•미터링의 정책 및 방향 (To-be roadmap?)

• CC의 관리 영역 범위

Page 21: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Web Service Computing21

SOA의 구현

SOA의 가장 좋은 실현 방법 웹 서비스 컴퓨팅 (Web-Service Computing)

Internet – WEB

검증되고

널리분포되어있고

표준적이며

많은분야에서활용되고있다

프로토콜/언어

HTTP/SMTP

XML

초기 SOA의 성과 – CORBA, DCOM, RMI, …

초기 SOA의 한계: 언어/플랫폼과긴밀한연결 (Tightly Coupled)

Page 22: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Web Service Computing22

Web-Service Computing - Definition

Web Service Computing 웹을 구성하는표준 프로토콜인 HTTP/TCP(UDP)/IP 를 기반으로

구조화된데이터 (Structured Data) 전달이 가능한 XML을활용하여

네트워크로접근 가능한 연산, 어플리케이션, 서비스컴포넌트들을활용하는 Distributed Computing 기술

Web-based Computing Service-based Computing

Browser-based Simple Access

HTTP/XML-based Communication

Web 2.0 & Web 3.0

Traditional Client/Server Model

Distributed Computing (CORBA, JAVA RMI, DCOM)

Selling “Service” on the net

Web ServiceComputing

(A web-based distributed

computing for ‘service’ sharing)

Page 23: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

인터넷을 통해 XML 데이터를 주고 받는 인터페이스 (W3C)

인터넷 표준 프로토콜을 이용해 동적으로 상호작용하는느슨하게 결합된(loosely coupled) 소프트웨어 컴포넌트 (가트너리서치)

HTTP, XML, SOAP와 같은 표준화된 웹 프로토콜과 데이터포맷을 사용하여 다른 애플리케이션에 데이터 및 서비스를제공하는 단위 애플리케이션 로직 (마이크로소프트)

웹과 같은 네트워크에서 기술되고, 공표되며, 위치하고, 호출되는 독립적이고 모듈화된 애플리케이션 (IBM)

Web-Service - Definition

Web Service Computing23

Page 24: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Web-Service - Definition

기존의 웹

HTTP, HTML, URL과 같은 기술을 통해 인터넷에분산되어 있는 정보 자원들에 대하여 표준화된접근과 정보 표현 방법

웹 서비스

새로운 기술이라기 보다는 컴포넌트, 인터넷, XML 등의 기술을 새로운 개념으로 적용하는 방법론을의미

Web Service Computing24

Page 25: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Web Service Computing25

Features

Web Service Computing 의 특징 Use standardized Internet protocols

표준화된 웹 기반 인터넷 프로토콜(HTTP, TCP/IP)을 통하여 구현

XML-based XML을 통하여 모든 Communication 이 이루어짐

XML XML

Page 26: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Web Service Computing26

Features

Web Service Computing 의 특징 Vendor, Platform, Language에 독립적

다양한 OS, Programming languages다양한 Hardware platforms

Page 27: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Web Service Computing27

Features

Web Service Computing 의 특징 Component-based

하나의 웹 서비스는 대규모웹 서비스의 일부 기능을 담당

Use directory service 웹 서비스는 디렉토리 (Directory)에

공시되고, 클라이언트는 디렉토리를통하여 웹 서비스 검색

개발이용이하고 시간을단축시킴

Page 28: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

웹 서비스의 효과

- 데이터 교환의 자동화 및 표준화

: 애플리케이션의 복잡한 접근정보 제어의 표준화

- 애플리케이션의 재사용성 및 기존 인프라의 재활용성 증가

웹 서비스의 효과

Web Service Computing28

Page 29: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Web Service Computing29

웹 서비스 기본 요소 및 모델

Service

Provider

Service

Consumer

Client Server

Service

Broker

Interact

Service

Contract

Find Publish

Page 30: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Web Service Computing30

웹서비스 활용 예Google

자사의 검색서비스를 타사이트 또는 어플리케이션에 활용할 수 있도록 웹서비스API를 무료로 제공

eBay

자사의 경매 데이터베이스를 통해 비즈니스하고자 하는 파트너에게 웹서비스API를 제공

Amazon

자사가 보유하고 있는 서적 DB, 카탈로그 검색서비스, 구매업무 등을웹서비스로 외부에 공개

15%의 로얄티 지불

Page 31: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

단순하게는 주식, 날씨 등의 정보를 다른 서비스제공자가 제공하는 웹 서비스를 사용하여 쉽게가져오는데 활용

기업 내 애플리케이션 통합을 위해 EAI(Enterprise Application Integration) 용도로 웹 서비스가 활용

비즈니스 파트너와의 통합을 위해 B2B(Business-to-Business) 영역에 사용

웹서비스 활용 예

Web Service Computing31

Page 32: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

웹 서비스의 활용 예 – 여권 발급 (1)

여권 발급 시나리오

Web Service Computing32

Page 33: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

여권 발급 웹 서비스 구성

웹 서비스의 활용 예 – 여권 발급 (2)

Web Service Computing33

Page 34: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Web Service Computing34

How to work?Web Service Computing 의 구성 요소 Web Service Provider (웹 서비스 제공자)

Web Service Broker (웹 서비스 중개자)

Web Service Consumer (웹 서비스 사용자)

FIND Publish (WSDL)

BIND (SOAP)

Web ServiceProvider

Web ServiceConsumer

WSDL: Web Service Description Language SOAP: Simple Object Access Protocol

UDDI

UDDI: Universal Description, Discovery and Integration

Page 35: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

Web Service Computing35

How to work?Web Service Computing 의 구성 요소 Web Service Provider (웹 서비스 제공자)

웹 서비스를 운영하며 제공

UDDI 레지스트리에 사용 가능한 웹 서비스 등록

Web Service Broker (웹 서비스 중개자) 서비스 중개자는 제공자와 소비자 사이에서 제공자가 서비스를 출판하고 이를

소비자가 검색할 수 있도록 편의를 제공

Web Service Consumer (웹 서비스 사용자) 서비스 브로커를 통해 원하는 웹 서비스의 위치를 발견 및 사용

웹 서비스 제공자를 통해 웹 서비스와 연결

Page 36: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

SOAP

SOAP(Simple Object Access Protocol)

XML을 기반으로 분산 환경에서 정보를 교환하기 위한메커니즘

메시지를 패키징하거나 XML 데이터 인코딩하는데 사용

메시징 시스템에서부터 원격 프로시져 호출(Remote Procedure Call: RPC)의 영역에 이르기까지 다양하게사용 가능

Web Service Computing36

서비스<A>

서비스<B>

------

------

오퍼레이션 SOAP 메시지

Page 37: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

SOAP 메시징

헤더

바디

메시지 내용(결함 정보 포함)

헤 더 블 록

[SOAP Envelope]

<env:Envelope

xmlns:env=http://www.w3.org/2003/05/soap-envelope>

<env:Header> … </env:Header>

<env:Body> … </env:Body>

</env:Envelope>

<env:Envelope

xmlns:env=http://www.w3.org/2003/05/soap-envelope>

<env:Header>

<n:shipping> UPS </n:shipping>

</env:Header>

<env:Body> … </env:Body>

</env:Envelope>

<env:Envelope xmlns:env=http://www.w3.org/2003/05/soap-envelope>

<env:Header> … </Header><env:Body>

<x:Book xmlns:x=http://www.examples.ws/><x:Title> … </x:Title></x:Book>

</env:Body></env:Envelope>

[Envelope 생성자 구조]

[SOAP 헤더 구조]

[BODY 생성자 구조]

37 Web Service Computing

Page 38: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

SOAP 메시징

38 Web Service Computing

A simple weather service

XML-based protocol for exchanging information between computers

RPCs transported via HTTP

Page 39: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

SOAP vs. REST

39 Web Service Computing

RESTful API

Page 40: Introduction to Service-oriented Architecture & Web Service …link.koreatech.ac.kr/.../2015/09/Web_Service_Computing.pdf · 2015-09-07 · 2000년대: 서비스중심아키텍처(Service-oriented

SOAP vs. REST

40 Web Service Computing

Google Trends

Soap API vs. REST API

http://greatkim91.tistory.com/79