Download presentation
Presentation is loading. Please wait.
Published byΙππόλυτος Κομνηνός Modified 6년 전
1
Introduction to Service-oriented Architecture & Web Service Computing
Youn-Hee Han
2
Increasing adaptability and Flexibility
시스템 패러다임 발전 과정 정보시스템 패러다임의 변화 1970년대: 로컬 머신 환경 1980년대: 클라이언트 서버 환경 1990년대: 분산 컴퓨팅 환경 2000년대: 서비스 중심 아키텍처 (Service-oriented Architecture) 환경 2010년대: SaaS(Software as a Service) & Cloud 컴퓨팅 환경 Service Oriented Distributed Client-Server Monolithic 1970’s 2000’s Increasing adaptability and Flexibility 출처: “공공정보화 웹 서비스 도입방안 연구”, 한국전산원 Web Service Computing
3
시스템 패러다임 발전 과정 Client Program Server Program Client Side Server Side
클라이언트 서버 (Client-Server) 환경 Client Program Server Program 서비스 요청 (인자 전달) Network 서비스 결과 (반환값 전달) Client Side Server Side Web Service Computing
4
시스템 패러다임 발전 과정 분산컴퓨팅 (Distributed Computing) 환경 Grid System
PC Grid System based on P2P computing Web Service Computing
5
시스템 패러다임 발전 과정 Cloud 컴퓨팅 환경 Web Service Computing
6
Architecture의 개념 [시스템 (System) – IEEE 1471]
시스템은 특정 기능(들)을 달성하도록 조직된 컴포넌트의 집합이다. 시스템이라는 용어에는 개별 애플리케이션, 전통적인 의미의 시스템, 하위 시스템, 시스템의 시스템, 제품 라인, 제품군, 전체 엔터프라이즈, 기타 이익의 집합 등을 아우른다. 시스템은 이 환경에서 한 개 이상의 미션을 수행하기 위해 존재한다. [환경 or 컨텍스트 – IEEE 1471] 해당 시스템에 대한 개발, 작동, 정책, 기타 영향들의 설정 및 주변 요소 [아키텍쳐 (Architecture) - IEEE 1471] 각 컴포넌트로 구체화된 시스템의 기본적인 조직이며, 환경에 대한 관계를 설명하고 디자인과 진화를 이끄는 원리이다. 아키텍쳐가 구조를 결정하고, 작동을 정의하며, 중요한 요소를 결정한다. 아키텍쳐는 모든 시스템에 존재한다. [소프트웨어 아키텍처(Software Architecture)의 정의] 소프트웨어 구성요소를 묘사하고, 해당 구성요소에 대한 기능을 할당하고, 구성요소의 기술적인 구조 및 특성과 구성요소간의 인터페이스를 설명하는 시스템에 대한 청사진이며, 시스템 구축을 위한 고차원의 함축적인 구조 설명 Web Service Computing
7
Welcome to EUTOPIA - SOA
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 여러 가지 요소를 유기적으로 결합하는 방법 Web Service Computing
8
SOA 의 정의 S Service O Oriented A Architecture
SOA는 엔터프라이즈 애플리케이션에 포함된 개별적인 기능들을 서비스 지향적으로 분리하여 동적인 비즈니스 요구 사항에 따라 신속하게 조립 및 재사용할 수 있는 상호 운영이 가능한 표준 기반 서비스로 구성하는 IT 전략 애플리케이션 중심이 아니라 서비스 중심으로 엔터프라이즈 IT를 구성함 으로써 원하는 성과를 거둔다. 서비스 지향은 아키텍처와 결합하여 기술적인 의미를 지니며 서비스 지향 아키텍처는 자동화 로직이 작고 특정한 로직으로 분할할 수 있는 모델입니다. 이런 단위들이 모여 더 커다란 비즈니스 자동화 로직을 구성하며 각 단위 로직은 분산 환경에 배치될 수 있습니다. 이러한 로직 단위를 서비스라고 하며 각 서비스는 상호 간 서로 고립되지 않고 상호작용하면서 자율적으로 존재합니다. Web Service Computing
9
[ 기초적 SOA Architecture Road-Map ]
Enterprise Layer 항공사 웹사이트 과금 애플리케이션 foundation Layer 고객 항공편 과금 예약 기초적 레이어는 기본 레이어와 엔터프라이즈 레이어 두 가지 레이어로 정의되어 있다. 이 두 레이어로 고차원의 구조를 정의할 수 있으며 복수의 애플리케이션이 비즈니스 로직과 실제 데이터를 공유한다. 장점으로는 단순하여 구현하기 상대적으로 쉽다. EA환경의 유지보수성을 향상시킨다. 서비스 공유로 인해 기업 애플리케이션 통합(Enterprise Application Intergration) 같은 데이터 복제가 불필요해진다. 단점으로는 애플리케이션 프론트엔드가 비즈니스 프로세스 제어와 백엔드의 통합을 처리하므로 복잡하다. [ 기초적 SOA Architecture Road-Map ] Web Service Computing
10
[ 네트워크 SOA Architecture Road-Map ]
Enterprise Layer 항공사 웹사이트 Relay Layer Book & Bill foundation Layer 고객 네트워크 SOA는 기초와 엔터프라이즈 레이어 사이에 중계 레이어를 두게 됩니다. 중계 레이어 사용은 아키텍처에서 기술적인 불일치나 설계상의 차이를 연결하는 역활로써., 중계 레이어에는 퍼사드, 기술 게이트웨이, 어댑터, 서비스 추가 기능이 포함되어 있습니다. 기술 게이트 웨이는 상호 이질적인 기술을 연결시켜 주며 어댑터는 특정 서비스의 시그니처와 메시지 포팻을 클라이언트의 요청에 매핑시키는 서비스 입니다. 퍼사드는 하나 이상의 기존 서비스에 대해 또다른 통합된 뷰를 제공하여 일련의 인터페이스에 대한 하나의 통합 인터페이스를 제공하는 역할을 합니다. 마지막으로 기능추가 서비스는 기존의 서비스 자체를 변경하지 않으면서 해당 서비스에 기능을 추가할 수 있습니다. 네트워크 SOA의 장점으로는 기초적 SOA에 비해 애플리케이션 프론트엔드가 가볍다(복잡성은 아직 그대로이다. 중계 레이어로 기술적이고 개념적인 차이를 메울 수 있다. 기업으로 하여금 하부의 기술과 무관하게 소프트웨어 자산을 통합 가능하게 한다. 항공편 과금 예약 [ 네트워크 SOA Architecture Road-Map ] Web Service Computing
11
[ 프로세스 SOA Architecture Road-Map ]
Enterprise Layer 항공사 웹사이트 Process Layer 예약 프로세스 Relay Layer Book & Bill 세 번째 단계로 프로세스 레이어를 가진 프로세스 SOA로서 프로세스 상태를 캡슐화하여 애플리케이션 프론트엔드가 단순화 되어 기업의 프로세스에 대한 지원을 극대화시키는 로드맵 입니다. 장점으로는 사용자 세션을 정교하게 처리하여 사용자 친화적인 장점이 있습니다. 또한 프로세스 로직과 다른 부분이 확실하게 분리되어서 복잡성을 캡슐화하는 장점이 있습니다만.. 가장 구현하기가 어렵고 비용이 많이 든다는 단점이 있습니다. foundation Layer 고객 항공편 과금 예약 [ 프로세스 SOA Architecture Road-Map ] Web Service Computing
12
서비스 지향 vs 객체지향 Point 서비스 지향 객체지향 처리로직단위의 느슨한 결합 사전에 정의된 클래스 의존성이 기반
General한 인터페이스를 선호 정제된 인터페이스를 지원 서비스 단위 객체 단위 서비스의 자율성 강조 객체간 참조와 상속 관계 서비스 지향과 객체지향의 차이점을 정리하였으나 사실 서비스지향과 객체지향은 경쟁적 페러다임이 아님. 서비스 지향은 객체 지향에 근원을 두고 있고 최신 서비스 지향 솔루션은 서비스와 객체지향 컴포넌트의 혼합으로 구성. 두 원칙을 잘 이해하고 사용하게 되면 각 개념을 서로 보완하고 더 좋은 시너지 효과를 가져올 수 있음. Point 서비스 지향은 객체 지향과 관련이 있으며 그로부터 파생됨. 다만, 상속과 같은 객체 지향 원칙들은 서비스 지향에는 적합하지 않으며 느슨한 결합과 자율성 등의 원칙은 객체지향에서 파생된 개념이 아니다. Web Service Computing
13
SOA 의 특징 특징 내용 느슨한 결합 (Loose Coupling)
서비스들은 의존관계를 최소화하고 상호 식별에 꼭 필요한 관계만을 유지한다. 서비스 계약 (Service Contract) 서비스들은 커뮤니케이션에 동의해야 하며 하나 이상의 서비스 명세와 관련 문서로 정의된다. 자율성 서비스는 캡슐화하고 있는 로직에 대해 스스로 제어 가능하다. 추상화 서비스 명세에 서술된 것을 제외하고 서비스는 외부로부터 로직을 감춘다. 재사용성 재사용을 촉진하기 위해 로직은 여러 서비스로 나뉘어져 있다. 조합성 서비스의 집합은 조정(coordinate)될 수 있으며 조립된 서비스 형태로 존재할 수 있다. 무상태 유지 (Stateless) 서비스는 측정 시점에 특화된 정보만을 유지한다. 발견성 서비스들은 외부에 잘 드러나도록 명세를 기반으로 하여 설계되므로 외부에서 쉽게 찾을 수 있고 서비스를 식별하는 메커니즘을 통해 접근이 가능하다. Web Service Computing
14
SOA 의 특징 서비스 서비스 내부로직 내부로직 느슨한 결합 느슨하게 결합 Web Service Computing
느슨한 결합(loose coupling)은 서비스가 자신의 독립성은 여전히 유지하면서 다른 서비스의 정보를 요구하는 조건으로 서비스가 미리 정의된 파라미터로 상호 교류 하도록 하는 서비스 계약을 통해 달성된다. 서비스를 느슨하게 결합하게 되면 기민성을 향상시킬 수 있다. 또한 느슨하게 결합된 아키텍처 안에서 서비스 계약은 서비스와 서비스 오퍼레이션을 강하게 결합시킨다. 느슨하게 결합 Web Service Computing
15
SOA 의 특징 서비스 서비스 계약 Web Service Computing
--- --- 서비스 --- --- --- 서비스 계약은 다음의 각 항목에 대한 공식적인 정의를 제공하며 SOA의 주요 구성요소 중 대부분을 정의한다. 잘 정의된 계약은 서비스의 수행방식에 의미있는 정보를 제공하며 서비스 제공자와 요청자 간 합의사항을 나타낸다. 서비스 계약은 서비스 사이에서 공유되므로 서비스 계약 설계는 매우 중요하며 이 계약에 동의한 서비스 요청자는 그 계약 정보에만 의존해야 한다. --- Web Service Computing
16
SOA 의 특징 자율성 Web Service Computing 실행 시에, 서비스는 자신의 기본 애플리케이션
로직에 대한 지배권을 가진다. 자율성은 서비스가 처리하는 로직의 영역에 대한 경계를 명확하게 한다. 이로써 서비스는 자신의 모든 처리 작업에 대해서 스스로 제어가 가능하며 다른 서비스들에 대한 의존성을 제거, 서비스의 배포와 전개를 방해하는 것으로 부터 서비스를 독립시킬 수 있다. 자율성은 서비스 배타적인 소유권을 반드시 보장할 필요는 없으며 실행 시간에 서비스가 표현하려는 어떠한 로직이든 완벽하게 제어가 가능하다는 것을 보장한다. 자율성의 두 가지 유형은 다음과 같다. 서비스 수준의 자율성 : 서비스 경계는 서비스들 간에는 명확하나, 기본 자원들은 서비스들 간에 공유가 가능하다. 순수 자율성 : 서비스 내부 조직은 서비스가 제어하고 소유, 내부 조직이 서비스의 지원 하에 처음부터 끝까지 구축되는 경우이다. Web Service Computing
17
SOA 의 특징 User 추상화 Web Service Computing
UpdateAccount 서비스 오퍼레이션에 대한 기본적인 처리 상세 내용은 서비스 요청자가 누구인지와 관계없이 모든 서비스 요청자들에게 감추어져 있다. 서비스 인터페이스 추상화는 서비스가 외부에 세부적인 내용을 숨기고도 동작할 수 있게 하는 원칙이다. 서비스가 표현하는 로직의 범위는 자신의 오퍼레이션에 대한 설계와 프로세스 안에서의 자신의 위치에 중대한 영향을 준다. 서비스가 표현할 수 있는 로직의 양이나 출처는 아무런 제한이 없으므로 오퍼레이션 크기는 주요 설계 항목이고, 서비스가 노출하려는 기능의 범위와 본질에 직접적으로 관계된다. Web Service Computing
18
SOA 의 특징 계정 서비스 재사용성 Web Service Computing GetAccount UpdateAccount
서비스 지향은 모든 서비스가 재사용을 고려하도록 설계하며 설계 표준을 적용시켜 향후 발생할지도 모르는 재사용에 대한 요구사항을 대비할 수 있다. 서비스를 재사용 가능하게 하려면 서비스를 구성하는 오퍼레이션들도 재사용이 가능해야 한다. 또한 메시징은 SOAP 헤더를 사용함으로써 서비스 재사용을 간접적으로 지원한다. 메시지는 처리 명령어와 비즈니스 규칙을 갖추고 있기 때문에 메시지를 받는 서비스가 메시지 처리를 스스로 결정한다. 메시지 안에 로직이 포함되어 있으므로 서비스가 이 로직을 포함해야 할 필요가 없다. 서비스 오퍼레이션이 일반적일수록 재사용성은 향상된다. AddAccount 각각의 오퍼레이션은 다양한 서비스 요청자들에 의해서 재사용이 가능하다. Web Service Computing
19
SOA 의 특징 조합성 Web Service Computing 서비스 서비스 서비스
UpdateEverything 서비스 서비스 UpdateAccount UpdateLogs 서비스는 다른 서비스와 같은 다향한 출처를 이용하여 어떤 로직이라도 표현이 가능하다. 서비스 조합성이 중요한 이유는 서비스가 다른 서비스 조합에 효과적으로 참여할 수 있게 보장해주지만 자신의 로직을 처리하기 위해서 다른 서비스들을 조합하는 것과는 상관이 없다. 서비스 조합으로 분류될 수 있는 서비스 지향 프로세스는 프로세스 참여자를 조합하는 상위 프로세스 서비스에 의해 통제된다. 조합성은 재사용의 또다른 형태로 볼 수 있으므로 많은 조합이 가능하도록 오퍼레이션을 표준화하여 설계한다. 서비스 UpdateHistory Web Service Computing
20
SOA 의 특징 무상태성 Web Service Computing
--- 메시지 A 보내기 Stateless 메시지 A에 대해 모른다. --- 메시지 A를 받아서 해석,처리,전송한다. 서비스는 상태 정보와 그 상태정보를 유지하는 기간을 최소화해야만 한다. 상태 정보는 현 액티비티에 한정된 데이터들로 서비스가 메시지를 처리하는 동안에 일시적으로만 상태를 유지시킨다. 서비스가 한 요청자에 대한 상태를 오랫동안 유지하면, 다른 요청자들이 해당 서비스를 사용하는데 제약을 받기 때문이다. 무상태성은 서비스의 우선 조건이며 재사용성과 확장성을 촉진시킨다. SOA에서는 문서 스타일 메시지를 사용하여 무상태성을 지원하며 더 많은 정보가 메시지에 추가되면 될수록, 서비스는 더욱 독립적이고 자급자족이 가능하게 된다. --- 메시지 A 보내기 Stateless 메시지 A에 대해 모른다. Web Service Computing
21
SOA 의 특징 발견성 Web Service Computing 서비스 1 서비스 A 서비스 D 서비스2 서비스 B 서비스 E
--- --- --- 서비스2 서비스 B 내부 서비스 레지스트리 서비스 E --- --- --- 서비스 발견은 새로운 서비스가 기존 서비스들과 중복되거나 중복된 로직을 구현하지 않도록 해준다. 오퍼레이션은 잠재적으로 재사용 가능한 처리 로직을 제공하기 때문에, 서비스의 메타데이터는 서비스의 목적뿐만 아니라 서비스 오퍼레이션이 제공하는 기능까지 충분히 설명해야 한다. SOA 수준에서 발견성은 서비스 레지스트리나 디렉토리와 같은 발견 메커니즘을 제공하는 아키텍처의 능력이다. 서비스 수준에서 발견성은 가능한한 발견되기 쉽도록 개별 서비스를 설계하는 것을 가리킨다. 서비스3 서비스 C 서비스 F --- --- --- Web Service Computing
22
SOA의 구현 SOA의 가장 좋은 실현 방법 웹 서비스 컴퓨팅 (Web-Service Computing)
Internet – WEB 검증되고 널리 분포되어 있고 표준적이며 많은 분야에서 활용되고 있다 프로토콜/언어 HTTP/SMTP XML 초기 SOA의 성과 – CORBA, DCOM, RMI, … 초기 SOA의 한계: 언어/플랫폼과 긴밀한 연결 (Tightly Coupled) Web Service Computing
23
Web-Service Computing - Definition
Web Service Computing (A web-based distributed computing for ‘service’ sharing) Browser-based Simple Access Traditional Client/Server Model Distributed Computing (CORBA, JAVA RMI, DCOM) HTTP/XML-based Communication Web 2.0 & Web 3.0 Selling “Service” on the net Web-based Computing Service-based Computing Web Service Computing 웹을 구성하는 표준 프로토콜인 HTTP/TCP(UDP)/IP 를 기반으로 구조화된 데이터 (Structured Data) 전달이 가능한 XML을 활용하여 네트워크로 접근 가능한 연산, 어플리케이션, 서비스 컴포넌트들을 활용하는 Distributed Computing 기술 Web Service Computing
24
Web-Service - Definition
인터넷을 통해 XML 데이터를 주고 받는 인터페이스 (W3C) 인터넷 표준 프로토콜을 이용해 동적으로 상호작용하는 느슨하게 결합된(loosely coupled) 소프트웨어 컴포넌트 (가트너 리서치) HTTP, XML, SOAP와 같은 표준화된 웹 프로토콜과 데이터 포맷을 사용하여 다른 애플리케이션에 데이터 및 서비스를 제공하는 단위 애플리케이션 로직 (마이크로소프트) 웹과 같은 네트워크에서 기술되고, 공표되며, 위치하고, 호출되는 독립적이고 모듈화된 애플리케이션 (IBM) Web Service Computing
25
Web-Service - Definition
기존의 웹 HTTP, HTML, URL과 같은 기술을 통해 인터넷에 분산되어 있는 정보 자원들에 대하여 표준화된 접근과 정보 표현 방법 웹 서비스 새로운 기술이라기 보다는 컴포넌트, 인터넷, XML 등의 기술을 새로운 개념으로 적용하는 방법론을 의미 Web Service Computing
26
Features Web Service Computing 의 특징
Use standardized Internet protocols 표준화된 웹 기반 인터넷 프로토콜(HTTP, TCP/IP)을 통하여 구현 XML-based XML을 통하여 모든 Communication 이 이루어짐 XML Web Service Computing
27
Features Web Service Computing 의 특징 Vendor, Platform, Language에 독립적
다양한 OS, Programming languages 다양한 Hardware platforms Web Service Computing
28
Features Web Service Computing 의 특징 Component-based
하나의 웹 서비스는 대규모 웹 서비스의 일부 기능을 담당 Use directory service 웹 서비스는 디렉토리 (Directory)에 공시되고, 클라이언트는 디렉토리를 통하여 웹 서비스 검색 A gazetteer server provides services to convert a place name into a geographic location; A route server provides services to get the road route between two geographic locations; A map server provides services to get a base map on which the route is displayed; An overlay server provides a service to overlay the route on the map; and A display route server makes use of the services above to convert a road route request into a map displaying the route. 개발이 용이하고 시간을 단축시킴 Web Service Computing
29
웹 서비스의 효과 웹 서비스의 효과 데이터 교환의 자동화 및 표준화 : 애플리케이션의 복잡한 접근정보 제어의 표준화
애플리케이션의 재사용성 및 기존 인프라의 재활용성 증가 Web Service Computing
30
웹 서비스 기본 요소 및 모델 Service Broker Service Consumer Service Provider Find
Publish Service Contract Service Consumer Service Provider Interact Client Server Web Service Computing
31
웹 서비스 웹 서비스 기본 요소 및 모델 Web Service Computing
32
웹 서비스 구성요소와 동작과정 역할에 따라 서비스 제공자, 서비스 요청자, 서비스 중개자로 구성
서비스 제공자는 제공하려는 서비스에 대한 상세한 정보를 서비스 중개자의 UDDI 레지스트리에 등록 (Publish) 서비스 요청자는 자신이 원하는 서비스를 누가 제공하는지 알기 위하여 서비스 중개자의 UDDI 레지스트리에서 서비스를 검색 (Find) 서비스 요청자는 서비스 제공자의 WSDL 파일을 다운로드 한 후, 서비스의 인터페이스에 맞게 SOAP 전송 프로토콜을 사용하여 서비스를 요청하고, 서비스 제공자는 요청에 맞는 결과를 제공(Bind) Web Service Computing
33
How to work? Web Service Computing 의 구성 요소
Web Service Provider (웹 서비스 제공자) Web Service Broker (웹 서비스 중개자) Web Service Consumer (웹 서비스 사용자) UDDI FIND Publish (WSDL) Web Service Consumer Web Service Provider BIND (SOAP) UDDI: Universal Description, Discovery and Integration WSDL: Web Service Description Language SOAP: Simple Object Access Protocol Web Service Computing
34
웹서비스 활용 예 Google eBay Amazon
자사의 검색서비스를 타사이트 또는 어플리케이션에 활용할 수 있도록 웹서비스 API를 무료로 제공 eBay 자사의 경매 데이터베이스를 통해 비즈니스하고자 하는 파트너에게 웹서비스 API를 제공 Amazon 자사가 보유하고 있는 서적 DB, 카탈로그 검색서비스, 구매업무 등을 웹서비스로 외부에 공개 15%의 로얄티 지불 Web Service Computing
35
웹서비스 활용 예 단순하게는 주식, 날씨 등의 정보를 다른 서비스 제공자가 제공하는 웹 서비스를 사용하여 쉽게 가져오는데 활용
기업 내 애플리케이션 통합을 위해 EAI(Enterprise Application Integration) 용도로 웹 서비스가 활용 비즈니스 파트너와의 통합을 위해 B2B(Business-to-Business) 영역에 사용 Web Service Computing
36
웹 서비스의 활용 예 – 여권 발급 (1) 여권 발급 시나리오 Web Service Computing
37
웹 서비스의 활용 예 – 여권 발급 (2) 여권 발급 웹 서비스 구성 Web Service Computing
38
WSDL 정의 WSDL : Web Services Description Language
웹 서비스 사용자가 쉽고 빠르게 웹 서비스와 연동할 수 있도록 각각의 웹 서비스의 인터페이스에 관한 정보를 표준화된 방식으로 기술하기 위한 표준화된 XML 문서 형식 웹 서비스의 인터페이스 정의 언어(Interface Definition Language: IDL)이며, 특정 웹 서비스의 방법과 프로토콜, 데이터 포맷들을 더욱 상세하게 정의하는 일종의 스크립트 특정 서비스가 어떤 방법과 속성을 가지며 어떤 인자로 호출해야 하고 어떤 방식의 반환값을 제공하는지를 알려주는 것 Web Service Computing
39
WSDL 문서 추상화 구체화 <definitions> <interface name="Catalog">
... </interface> <message name="BookInfo"> </message> <Service> </Service> <binding name="Binding1"> <binding> </definitions> 추상화 (서비스 인터페이스 정의) 포트타입(혹은 인터페이스) 오퍼레이션 메시지 구체화 (서비스 구현 정의) 바이딩 포트(혹은 엔드포인트) 서비스 [추상명세] 추상 명세의 상위 포트타입 구문은 서비스 인터페이스의 추상 수준에서의 관점으로 메시지를 분류, 한 서비스가 오퍼레이션으로 알려진 기능의 그룹으로 처리될 수 있다. 각 오퍼레이션은 서비스가 수행하는 특정 기능을 나타내며, 입력과 출력 메시지로 구성된다. 메시지 전송은 사전에 정의된 메시지 교환 패턴에 의해 제어되며 오퍼레이션과 연결지어 생각한다. [실제명세] 바인딩은 물리적인 연결을 수립하기 위한 서비스나 그 서비스를 수행하기 위한 연결에 필요한 것을 설명한다. SOAP가 바인딩의 가장 일반적인 형태이며 전체 인터페이스에 적용될 수 있고 특정 오퍼레이션에만 적용이 가능하다. 포트는 서비스가 접속될 프로토콜의 물리적인 주소를 나타낸다. WSDL에서의 서비스는 관련된 엔드포인트의 그룹을 일컫는다. [서비스 정의] [WSDL 문서] Web Service Computing
40
WSDL 활용 Web Service Computing
41
SOAP SOAP(Simple Object Access Protocol)
XML을 기반으로 분산 환경에서 정보를 교환하기 위한 단순하고 가벼운 메커니즘 메시지를 패키징하거나 XML 데이터 인코딩하는데 사용 메시징 시스템에서부터 원격 프로시져 호출(Remote Procedure Call: RPC)의 영역에 이르기까지 다양하게 사용 가능 서비스 <A> SOAP 메시지 오퍼레이션 서비스 <B> ------ ------ Web Service Computing
42
SOAP 메시징 헤더 바디 [SOAP Envelope] Web Service Computing 메시지 내용 (결함 정보 포함)
<env:Envelope xmlns:env= <env:Header> … </env:Header> <env:Body> … </env:Body> </env:Envelope> 헤더 헤 더 블 록 [Envelope 생성자 구조] <env:Envelope xmlns:env= <env:Header> <n:shipping> UPS </n:shipping> </env:Header> <env:Body> … </env:Body> </env:Envelope> 바디 메시지 내용 (결함 정보 포함) [SOAP 헤더 구조] <env:Envelope xmlns:env= <env:Header> … </Header> <env:Body> <x:Book xmlns:x= <x:Title> … </x:Title> </x:Book> </env:Body> </env:Envelope> [SOAP Envelope] [BODY 생성자 구조] Web Service Computing
43
UDDI 개념 UDDI (Universal Description, Discovery, and Integration)
웹 서비스를 검색할 수 있는 “전화번호부”의 역할 웹 서비스 제공자가 해당 웹 서비스의 정보를 등록하고, 웹 서비스의 사용자가 원하는 웹 서비스를 검색하여 정보를 얻는 웹 서비스의 레지스트리에 관한 표준 클라이언트는 UDDI 질의를 사용하여 서비스 공급자를 찾고, UDDI 응답은 찾고자 하는 웹 서비스 호출 방법에 대한 비즈니스 연락처 정보, 비즈니스 범주, 기술적인 세부사항 등의 정보를 포함 제공하는 서비스를 기술(Description)하고, 필요한 서비스를 검색(Discovery)하며, 서비스들을 통합(Integration)함으로써 웹 서비스를 수행하는 핵심 기반기술 Web Service Computing
44
UDDI 목적 웹 서비스의 상호 운용성을 증대 웹 서비스를 수작업이 아닌 프로그램을 통하여 검색하도록 하여 보다 효율적인 검색을 지원 다양한 업체의 웹 서비스를 프로그램 상으로 연동하여 여러 웹 서비스로 구성된 하나의 통합 서비스를 제공함 Web Service Computing
45
웹 서비스와 유비쿼터스 (1/3) 유비쿼터스 컴퓨팅 유비쿼터스 컴퓨팅 핵심 기술 웹 서비스
다양한 디바이스들이 실세계의 사물 및 환경과 상호연결하여 언제, 어디서나 이용할 수 있는 컴퓨팅 환경 제공 유비쿼터스 컴퓨팅 핵심 기술 하드웨어: Embedded System, 모바일 기술 네트워크: IPv6 소프트웨어: 웹 기술, 소프트웨어 기술 연구 발전 상태 웹 서비스 기존의 분산객체 미들웨어 기술들의 한계(통합성)를 극복 플랫폼 독립적인 애플리케이션 통합을 지원 유비쿼터스 컴퓨팅의 소프트웨어 통합 기반구조의 핵심 유비쿼터스 컴퓨팅에 있어서, 이 세가지 부류의 기술들은 각각 매우 중요하며, 각 기술들의 발전을 통해서 궁극적으로 우리가 원하는 유비쿼터스 IT 환경을 실현할 수 있게 되는 것이다. Web Service Computing
46
웹 서비스와 유비쿼터스 (2/3) 특징 다양한 장치(플랫폼)들과의 네트워크 연결 임베디드 OS + 미들웨어
모바일, 유선 랜 네트워크 P2P 분산 컴퓨팅 Web Service Computing
47
유비쿼터스 분산 컴퓨팅 + 웹 서비스 분산 컴퓨팅 유비쿼터스와 웹 환경을 위한 통합된 P2P 분산컴퓨팅
웹 서비스와 유비쿼터스 (3/3) 유비쿼터스와 웹 통합을 위한 분산 컴퓨팅 표준 유비쿼터스 웹 서비스 컴퓨팅 유비쿼터스 분산 컴퓨팅 + 웹 서비스 분산 컴퓨팅 유비쿼터스와 웹 환경을 위한 통합된 P2P 분산컴퓨팅 INTERNET Office Home Web Service Computing Mobile
Similar presentations