웹 서비스 (Web Services)
인터넷 이해와 활용 ■ WWW 서비스 웹은 유럽에서 태동 방대한 정보 검색을 위한 모색의 방안들이 고려 팀 버너스 리가 하이퍼텍스트(Hypertext)프로젝트라고 명명된 정보전달 방법을 제안 인터넷을 통해 정보를 제공하거나 받는 방법의 한 형태 인터넷에서 하이퍼미디어 정보를 전달하기 위한 시스템 웹 브라우저를 이용하여 정보검색 1992년 11월에 모자익(Mosaic)이라는 웹 브라우저를 개발 웹이 폭박적인 성장의 발단은 넷스케이프(Netscape)의 등장 Microsoft에서 웹 브라우저 시장을 주도하기 위하여 Internet Explorer 발표 Hypertext 형식을 이용
인터넷 이해와 활용 ■ 하이퍼미디어 -하이퍼텍스트(Hypertext) 문서 내 특정 정보와 연관된 구체적 정보를 연계시켜 문서를 읽는 도중 곧바로 연관 정보가 있는 곳으로 곧바로 이동하여 검색할 수 있는 형태 다른 문서로의 링크(hyperlink)를 가지는 문서이며 인터넷 언어인 HTML로 만들어진다. 확장자는 *.HTML 혹은 *.HTM -하이퍼미디어(Hypermedia) 일반 텍스트 형태의 문서, 그림, 음성, MPEG 형식의 화상 등을 포함하는 각종 데이터를 하나의 문서로 통합한 것
인터넷 이해와 활용 웹 시스템의 동작 과정
인터넷 이해와 활용 HTML 문서 전송
인터넷 이해와 활용 HTML 문서 형태
웹 서비스 정의 일반적인 웹 서비스 정의 발표 기관에 따른 웹 서비스 정의 유, 무선 웹 상에서 플랫폼이나 구현언어에 독립적인 컴포넌트 기반의 분산 컴퓨팅 서비스 발표 기관에 따른 웹 서비스 정의 발표 기관 정의 W3C 하나의 URI (Uniform Resources Identifier)에 의해 정의된 소프트웨어 어플리케이션으로, XML 구조에 의해 Application Interface 및 결합의 정의, 서술, 발견이 가능해지고, 인터넷기반의 프로토콜을 경유한 XML 기반의 메시지를 사용하는 다른 소프트웨어 Application과 직접적인 상호 운영이 가능하도록 지원해 주는 것. IDC 웹 서비스 아키텍처는 인터넷 프로토콜(IP), SOAP, WSDL 등을 포함한 공개적인 접속 표준과 독자적으로 기술된 구성요소에 의해서 동적인 구성요소 간의 연결성 및 상호 운영성을 가능하게 하는 표준화된 접근 방식 Barland 웹 서비스는 인터넷상에서 표준화된 기술을 사용하고 운영되고 발견될 수 있는 비즈니스 프로세스 Gartner 웹 서비스는 e-비즈니스 관련 표준을 기반으로 하고 있으며, 인터넷을 통해 제공되는 비즈니스 로직을 갖는 소프트웨어 컴포넌트 웹 서비스에 관한 정의는 각 조직이나 벤더, 단체마다 유사하면서도 각각 특색 있는 정의를 내리고 있으며 이러한 정의 역시 변화 발전하고 있다. 그 대표적인 몇몇 정의를 살펴보면 다음과 같다.
웹 서비스란 무엇인가? 기존의 웹 HTTP, HTML, URL과 같은 기술을 통해 인터넷에 분산되어 있는 정보 자원들에 대하여 표준화된 접근과 정보 표현 방법 웹 서비스 정의 : “XML”과 “인터넷 프로토콜”을 통해 “표준화된 방식으로 상호작용” 새로운 기술이라기 보다는 컴포넌트, 인터넷, XML 등의 기술을 새로운 개념으로 적용하는 방법론을 의미 기본적인 표준 인프라가 구축되어 있는 경우에는 그것을 바탕으로 무궁무진한 활용이 가능하다.
웹 서비스란 무엇인가? 웹 서비스가 적용된 자동차 쇼핑몰 자동차 쇼핑몰의 컴포넌트가 XML을 이용하여 대리점의 컴포넌트를 호출하고, 대리점의 컴포넌트는 다시 금융사, 보험사, 차량등록 사업소의 컴포넌트를 호출하여 업무를 처리함
웹 서비스 특징 플랫폼에 독립적 디바이스 및 위치에 독립적 동적인 기능 (Dynamic Function) 비용 효율적 웹 서비스 특징 플랫폼에 독립적 디바이스 및 위치에 독립적 동적인 기능 (Dynamic Function) 비용 효율적 기존 시스템(Legacy System)에 적용 첫쨰, 플랫폼에 독립적 웹 서비스는 약결합(loosely couple) 구조를 가짐지고 있기 때문에 서비스 공급자, 수요자가 특별한 기능을 추가하기 위해 새로운 플랫폼을 사용하지 않아도 되며, 플랫폼 선택도 매우 자유롭다. 둘째, 디바이스 및 위치 독립적 웹 서비스를 통해 PC, PDA, 핸드폰 등 다양한 유·무선 디바이스를 통해 시간 및 장소에 상관없이 웹 서비스에 접근 가능 세쨰, 동적인 기능 기업에서 요구되는 다양한 기능들을 적절한 서비스 제공자로부터 찾을 수 있고, 실시간으로 연계될 수 있으며, 서비스 제공자와 고객의 역할이 고정되어 있지 않다. 그러므로 웹 서비스를 통해 자사의 필요한 기능 또는 공급자들 을 자유롭게 선택할 수 있어서 보다 비용효율적인 기능으로 대체가 가능하며, 새로운 비즈니스 모델로 변화하는데도 편의성을 제공해 줄 수 있다. 넷쨰, 비용 효율적 웹 서비스는 분산시스템의 소프트웨어간의 통합을 자동화함으로서 각 기업의 IT 개발비용이나 운영비용을 절감시켜준다. 마지막, 기존 시스템(legacy system)에 적용 가능 기존에 투자되었던 IT 애플리케이션 및 인프라 등 기존의 시스템에 특별한 웹 서비스 프로세스를 포함시켜 운영할 수 있다.
Increasing adaptability and Flexibility 웹 서비스 필요성 정보시스템 패러다임의 변화 1970년대: 대규모 메인 프레임 시스템 1980년대: 클라이언트 서버 환경 1990년대: 분산 컴퓨팅 환경 2000년대: 서비스 중심 아키텍처 환경 Service Oriented Distributed Client-Server Monolithic 1970’s 2000’s Increasing adaptability and Flexibility 정보기술(Information Technology)은 컴퓨터의 탄생을 시초로 계속 진화하고 있으며, 그 흐름은 당시 기술과 사회적 필요에 맞는 타당한 방향으로 발전해 왔다. 정보기술(Information Technology)은 컴퓨터의 탄생을 시초로 계속 진화하고 있으며, 그 흐름은 당시 기술과 사회적 필요에 맞는 타당한 방향으로 발전해 왔다. 정보기술 패러다임은 1970년대의 대규모 메인프레임 시스템에서 클라이언트 서버 환경으로, 그리고 다시 분산 시스템 환경으로 진화하였으며, 2000년에 이르러서는 본격적인 서비스 중심의 환경으로 다시 진화하고 있다. 웹 서비스는 이러한 서비스중심의 환경을 실현시킬 현실적인 기술로서 오늘날 많은 관심을 모으고 있다 출처: “공공정보화 웹 서비스 도입방안 연구”, 한국전산원
웹 서비스의 필요성 UDDI SOAP Web services Jini Enterprise Java Beans WSDL RMI (Remote Method Invocation) Microsoft DCOM CORBA (Common Object Request Broker Architecture) Open Software Foundation DCE (Distributed Computing Environment) Sun ONC/RPC (Open Network Computing) IP, UDP, TCP
웹 서비스의 기본 구조 웹 서비스 컴포넌트 Web Service Provider (웹 서비스 제공자) Web Service Broker (웹 서비스 중개자) Web Service Consumer (웹 서비스 사용자) FIND Publish (WSDL) BIND (SOAP) UDDI Web Service Provider Consumer
웹 서비스 컴포넌트 Web Service Provider (웹 서비스 제공자) 웹 서비스를 운영하며 제공 UDDI 레지스트리에 사용 가능한 웹 서비스 등록 Web Service Broker (웹 서비스 중개자) 서비스 중개자는 제공자와 소비자 사이에서 제공자가 서비스를 출판하고 이를 소비자가 검색할 수 있도록 편의를 제공 Web Service Consumer (웹 서비스 사용자) 서비스 브로커를 통해 원하는 웹 서비스의 위치를 발견 및 사용 웹 서비스 제공자를 통해 웹 서비스와 연결
웹 서비스 오퍼레이션 Publish (등록) Find (검색) Bind (연결) 서비스 제공자는 서비스 브로커(UDDI)에 사용 가능한 웹 서비스 등록 Find (검색) 웹 서비스 사용자는 원하는 웹 서비스를 발견하기 위해 서비스 브로커 검색 Bind (연결) 웹 서비스 사용자는 원하는 웹 서비스에 접근 및 호출 하기 위해 웹 서비스 제공자와 협의 및 연결
웹 서비스는 어떻게 동작하나요? 웹 서비스 구성요소와 동작과정 역할에 따라 서비스 제공자, 서비스 요청자, 서비스 중개자로 구성 서비스 제공자는 제공하려는 서비스에 대한 상세한 정보를 서비스 중개자의 UDDI 레지스트리에 등록 (Publish) 서비스 요청자는 자신이 원하는 서비스를 누가 제공하는지 알기 위하여 서비스 중개자의 UDDI 레지스트리에서 서비스를 검색 (Find) 서비스 요청자는 서비스 제공자의 WSDL 파일을 다운로드 한 후, 서비스의 인터페이스에 맞게 SOAP 전송 프로토콜을 사용하여 서비스를 요청하고, 서비스 제공자는 요청에 맞는 결과를 제공(Bind)
웹 서비스의 활용 단순하게는 주식, 날씨 등의 정보를 다른 서비스 제공자가 제공하는 웹 서비스를 사용하여 쉽게 가져오는데 활용 기업 내 애플리케이션 통합을 위해 EAI(Enterprise Application Integration) 용도로 웹 서비스가 활용 비즈니스 파트너와의 통합을 위해 B2B(Business-to-Business) 영역에 사용
웹 서비스의 활용의 예 여권 발급 시나리오
웹 서비스의 활용의 예 여권 발급 웹 서비스 구성
웹 서비스 상호 운용성 스택 Wire 스택 - 프로토콜의 역할 Description 스택 - 웹 서비스를 기술 Discovery 스택 - 웹 서비스를 검색 SOAP, WSDL, UDDI, WSEL, WSFL, … 이들을 어떻게 연결하고 , 어떻게 사용하는 지에 … Wire Stack Data format – XML, URL encoding Data format definition – XML Schema Wire format XML Protocol : XML-RPC, SOAP Transfer protocol : HTTP, SMTP, FTP, Jabber, … Description Stack WSDL – What, How, Where 구문 수준의 Interface – 의미(semantics)가 통해야 하고 공통언어와 명확한 표현을 사용 Discovery Stack UDDI – service type, service provider, categorization Discovery/Publish mechanism is also Web Services
웹 서비스 구성 요소 XML(eXtensible Markup Language) 데이터 기술 SOAP(Simple Object Access Protocol) 웹 서비스 호출 분산환경에서 정보를 교환, 실제 서비스의 요청,응답을 정의 WSDL(Web Services Description Language) 웹 서비스 기술 UDDI(Universial Description, Discovery and Integration) 웹 서비스 검색, 분류