330 likes | 784 Views
11. 웹 서비스. 목차 (1/1). 1. 웹 서비스란 ? 2. SOAP 란 ? 3. UDDI 란 ? 4. WSDL 이란 ? 5. 웹 서비스 적용 사례와 웹 서비스 관리 6. Web2.0 은 도대체 뭔가요 ? 웹 서비스도 버전이 있나 보군요 ?. 웹 서비스가 무엇인가요 ?. 기존의 웹 HTTP, HTML, URL 과 같은 기술을 통해 인터넷에 분산되어 있는 정보 자원들에 대하여 표준화된 접근과 정보 표현 방법
E N D
목차(1/1) • 1. 웹 서비스란? • 2. SOAP 란? • 3. UDDI 란? • 4. WSDL 이란? • 5. 웹 서비스 적용 사례와 웹 서비스 관리 • 6. Web2.0은 도대체 뭔가요? 웹 서비스도 버전이 있나 보군요?
웹 서비스가 무엇인가요? • 기존의 웹 • HTTP, HTML, URL과 같은 기술을 통해 인터넷에 분산되어 있는 정보 자원들에 대하여 표준화된 접근과 정보 표현 방법 • XML(Extensible Markup Language)의 출현으로 웹 상에서 구조화된 데이터의 전달이 가능 • 이에 따라 HTML로 작성되어왔던 많은 정보들이 XML로 새롭게 재현됨으로써 효과적인 정보의 검색 및 이용이 가능 • 웹 서비스 • 새로운 기술이라기 보다는 컴포넌트, 인터넷, XML 등의 기술을 새로운 개념으로 적용하는 방법론을 의미 • 표준화된 XML 메시지를 통해 네트워크에서 접근 가능한 연산들의 집합을 기술하는 인터페이스인 “웹 서비스”
웹 서비스가 무엇인가요? • 웹 서비스가 적용된 자동차 쇼핑몰 • 자동차 쇼핑몰의 컴포넌트가 XML을 이용하여 대리점의 컴포넌트를 호출하고, 대리점의 컴포넌트는 다시 금융사, 보험사, 차량등록 사업소의 컴포넌트를 호출하여 업무를 처리함
웹 서비스가 무엇인가요? • 웹 서비스 정의 • 인터넷을 통해 XML 데이터를 주고 받는 인터페이스를 웹 서비스 (W3C) • 인터넷 표준 프로토콜을 이용해 동적으로 상호작용하는 느슨하게 결합된(loosely coupled) 소프트웨어 컴포넌트 (가트너 리서치) • HTTP, XML, SOAP와 같은 표준화된 웹 프로토콜과 데이터 포맷을 사용하여 다른 애플리케이션에 데이터 및 서비스를 제공하는 단위 애플리케이션 로직 (마이크로소프트) • 웹과 같은 네트워크에서 기술되고, 공표되며, 위치하고, 호출되는 독립적이고 모듈화된 애플리케이션 (IBM)
웹 서비스는 어떻게 동작하나요? • 웹 서비스 구성요소와 동작과정 • 역할에 따라 서비스 제공자, 서비스 요청자, 서비스 중개자로 구성 • 서비스 제공자는 제공하려는 서비스에 대한 상세한 정보를 서비스 중개자의 UDDI 레지스트리에 등록 (Publish) • 서비스 요청자는 자신이 원하는 서비스를 누가 제공하는지 알기 위하여 서비스 중개자의 UDDI 레지스트리에서 서비스를 검색 (Find) • 서비스 요청자는 서비스 제공자의 WSDL 파일을 다운로드 한 후, 서비스의 인터페이스에 맞게 SOAP 전송 프로토콜을 사용하여 서비스를 요청하고, 서비스 제공자는 요청에 맞는 결과를 제공(Bind)
웹 서비스 기본 모델 <웹 서비스 모델>
웹 서비스의 활용 • 단순하게는 주식, 날씨 등의 정보를 다른 서비스 제공자가 제공하는 웹 서비스를 사용하여 쉽게 가져오는데 활용 • 기업 내 애플리케이션 통합을 위해 EAI(Enterprise Application Integration) 용도로 웹 서비스가 활용 • 비즈니스 파트너와의 통합을 위해 B2B(Business-to-Business) 영역에 사용
웹 서비스의 활용의 예 • 여권 발급 시나리오
웹 서비스의 활용의 예 • 여권 발급 웹 서비스 구성
SOAP란? • SOAP(Simple Object Access Protocol) • XML을 기반으로 분산환경에서 정보를 교환하기 위한 단순하고 가벼운 메커니즘 • 메시지를 패키징하거나 XML 데이터 인코딩하는데 사용 • 메시징 시스템에서부터 원격 프로시져 호출(Remote Procedure Call: RPC)의 영역에 이르기까지 다양하게 사용 가능 • 구성요소 • 메시지 프레임워크 • 인코딩 표준 • RPC 메커니즘
SOAP란? • 메시지 프레임워크 • 메시지를 어떻게 처리하고 만드는지에 대한 내용을 정의 • 봉투(Envelope) : 최상위 구성요소로 SOAP 헤더와 SOAP 바디 구성요소를 포함 • 헤더(Header) : 애플리케이션 간에 메시지를 주고받을 때 포함되는 추가정보 등이 들어가며, 필수 구성요소는 아님 • 바디(Body) : 애플리케이션 간에 교환되어야 하는 메시지, 즉 XML 문서를 담고 있음. 헤더 구성요소가 있을 경우엔 그 다음에 형제 구성요소로 오게 됨
SOAP란? • 메시지 프레임워크의 예
SOAP란? • 인코딩 표준 • 애플리케이션에서 정의된 데이터 형태를 인코딩하는 방법을 정의 • SOAP에서는 애플리케이션이 원하는 데이터 타입에 맞게 인코딩하거나 디코딩하여 메시지를 전송할 수 있도록 함
SOAP란? • RPC 메커니즘 • RPC와 그에 따른 응답에 대한 내용을 정의 • 원격 애플리케이션의 메소드를 호출하고 응답 받는 것에 대한 규약 • SOAP 프로토콜이 인코딩된 객체를 원격 프로시져에 매개변수로서 전달하는 방법
UDDI란? • UDDI (Universal Description, Discovery, and Integration) • 웹 서비스를 검색할 수 있는 “전화번호부”의 역할 • 웹 서비스 제공자가 해당 웹 서비스의 정보를 등록하고, 웹 서비스의 사용자가 원하는 웹 서비스를 검색하여 정보를 얻는 웹 서비스의 레지스트리에 관한 표준 • 클라이언트는 UDDI 질의를 사용하여 서비스 공급자를 찾고, UDDI 응답은 찾고자 하는 웹 서비스 호출 방법에 대한 비즈니스 연락처 정보, 비즈니스 범주, 기술적인 세부사항 등의 정보를 포함 • 제공하는 서비스를 기술(Description)하고, 필요한 서비스를 검색(Discovery)하며, 서비스들을 통합(Integration)함으로써 웹 서비스를 수행하는 핵심 기반기술
UDDI란? • UDDI 목적 • 웹 서비스의 상호 운용성을 증대 • 웹 서비스를 수작업이 아닌 프로그램을 통하여 검색하도록 하여 보다 효율적인 검색을 지원 • 다양한 업체의 웹 서비스를 프로그램 상으로 연동하여 여러 웹 서비스로 구성된 하나의 통합 서비스를 제공함
UDDI란? • UDDI 구성요소 • UDDI 레지스트리 • 웹 서비스에 대한 정보를 등록하고, 검색할 수 있는 저장소 • 공개 UDDI 레지스트리 • IBM의 UDDI 레지스트리(http://www-3.ibm.com/services/uddi/find)와 같이 주요 업체에 의해 공개 목적으로 구현된 대부분의 UDDI 레지스트리가 이에 해당함 • 사설 UDDI 레지스트리 • 멤버쉽을 기반으로 한 폐쇄적인 UDDI • 사설 UDDI도 반드시 UDDI 규약을 준수해야 하며, 규약에 정의되어 있지 않은 데이터를 요구할 수 없음 • 실제 비즈니스 환경에서는 사설 UDDI의 활용도가 더 높을 것으로 예상됨
UDDI란? • UDDI 구성요소 • 레지스트리 API • 각종 질의 및 저장 작업을 수행함 • UDDI 레지스트리에 접근하여 정보의 저장 및 검색의 작업을 전송하고 그 결과를 반환받기 위한 API • 모든 API 호출 및 결과 반환은 XML로 표현된 SOAP 문서로 되어 있음 • 질의(Inquiry) API • 질의어를 통해 검색하는 API와 키워드 값으로 구분되는 특정 웹 서비스의 정보를 얻어오는 API로 구성 • 퍼블리쉬(Publishing) API • 정보를 저장하거나 수정, 삭제하는 API와 보안 및 인증에 관련된 API 등이 이에 포함됨
WSDL란? • WSDL (Web Services Description Language) • 웹 서비스 사용자가 쉽고 빠르게 웹 서비스와 연동할 수 있도록 각각의 웹 서비스의 인터페이스에 관한 정보를 표준화된 방식으로 기술하기 위한 표준화된 XML 문서 형식 • 웹 서비스의 인터페이스 정의 언어(Interface Definition Language: IDL)이며, 특정 웹 서비스의 방법과 프로토콜, 데이터 포맷들을 더욱 상세하게 정의하는 일종의 스크립트 • 특정 서비스가 어떤 방법과 속성을 가지며 어떤 인자로 호출해야 하고 어떤 방식의 반환값을 제공하는지를 알려주는 것
웹 서비스 적용사례 • uBid(www.ubid.com) • 마이크로소프트사의 SOAP 툴킷 v2.0을 사용 • 하여 기존에 존재하던 COM/DCOM 컴포넌트를 웹 서비스 인터페이스인 WSDL로 작성함 • 안전한 거래를 보장하기 위해서 HTTPS를 이용 • 새로운 중개자와 연동하는데 2주 미만의 시간소요로 신속하게 연동이 가능하였음 • 시스템 구축 후 경매물량이 평균 50만 건에서 약 3백만 건으로 증가
웹 서비스 관리란? • 웹 서비스 관리 (Web Services Management : WSM) • 느슨하게 연결된 컴포넌트들과 이들의 통신을 담당하고 있는 네트워크 및 종합적인 성능에 대한 관리가 주요한 이슈로 부각됨 • 웹 서비스 관리 요구사항 • 웹 서비스의 상태 체크, SOAP 메시지 모니터링 및 로깅, 사용에 대한 측정, 웹 서비스의 안정성 관리, 다수의 컴포넌트들이 호출될 경우의 관리, 웹 서비스의 성능 관리, 웹 서비스 변화 관리, 서비스 품질 수준 관리, 보안 관리
Web2.0은 도대체 뭔가요? • web2.0은 인터넷이 있는 곳이라면 누구나, 어디에서나 각 주체가 생산자이며 또한 소비자가 되는 상호작용을 할 수 있다는 개념의 인터넷 플랫폼 • 기존 웹(Web2.0의 등장으로 Web1.0이라 불린다)이 정보를 단순히 모을 수만 있다면, Web2.0은 모아진 정보를 직접 다룰 수 있다는 특징을 갖음 • 인터넷 사용자들은 정보를 보다 쉽게 수집하고 쉽게 활용 할 수 있는 방법을 찾기 시작하면서 인터넷 웹 어플리케이션들은 이용자들의 요구에 맞는 플랫폼을 개발하기 시작 • 2004년 오라일리미디어사(O’reilly Media, Inc.,)의 오라일리(Tim O’reilly)팀은 이러한 현상을 Web2.0이라는 개념으로 도입 • UCC는 대표적인 Web2.0이라고 할 수 있음
Web2.0은 도대체 뭔가요? • 인터넷 이용자 개개인이 직접 콘텐츠를 제작하여 웹에 올리기 쉽게 구성되어 있으며, 다른 사용자들은 제작된 UCC 콘텐츠를 자유롭게 이용 • 블로그(Blog) 역시 개인의 정보를 웹상에 제공하고, 트랙백 또는 스크랩의 정보에 대한 수집이 용이하게 제작된 하나의 플랫폼 • 최근에는 블로그2.0이란 개념으로 블로그 화면을 개인 취향에 맞추어 제작할 수 있게 하며, 출처 및 자료 제공에 대하여 편리한 기능들을 제공함으로써, 블로그 자체를 개인이 작성 할 수 있는 컨텐츠를 제공
Web2.0은 도대체 뭔가요? <Web2.0 기술 분포>
Web2.0은 도대체 뭔가요? • 구글(www.Google.com)은 Web1.0에 해당하는 정보검색 서비스뿐만 아니라, 다양한 컨텐츠를 통하여 Web2.0을 실현 • 첫 번째로 페이지 랭크라는 개념을 도입하여 사이트에 대한 가치 정도를 측정하는 방식으로, 인터넷 이용자들의 검색에 따른 결과를 보여줌 • 이는 사용자들의 참여가 즉 하나의 컨텐츠로 자리 할 수 있음을 보여주고 있음 • 또한 구글은 자체 API를 공개함으로 써, 전세계 사람들의 참여를 유도할 수 있는 정책 • 구글어스 또한 Web2.0에 해당하는 컨텐츠 • 특히 사용자가 해당 지역에 대한 사진을 직접 구글어스의 맵과 상에 업로드 할 수 있으며, 이 해당 정보는 KML(Keyhole Markup Language)으로 제작되어 구글어스를 사용하는 사용자들에게 모두 공개
Web2.0은 도대체 뭔가요? <사용자가 직접 해당 지역의 사진을 올리는 구글어스>
Web2.0은 도대체 뭔가요? • 가장 잘 알려진 Web2.0기술로는 RSS/Atom • RSS나 Atom의 경우 정보를 담는 객체를 XML로 표준화를 하여 정보의 꾸러미를 작성 • 이 XML로 작성된 정보의 꾸러미는 다른 RSS를 또는 Atom의 표준을 지원하는 어플리케이션 또는 웹 페이지에서 읽어 올 수 있으며, 이때 정보를 이용하는 이용자의 입맛에 맞는 정보의 구성이 가능 • RSS는 XML규격을 사용하여 콘텐츠를 표시하는 방식으로 사용자는 RSS관련 프로그램 또는 서비스를 이용하여 해당 사이트의 방문 없이 정보를 이용할 수 있음 • Web2.0은 정보의 제공과 이용, 그리고 수정 및 전파가 용이하도록 정의된 개념으로, 몇 가지 성질을 만족해야 함 • 그 중 하나가 정보 접근이 용이해야 한다는 조건
Web2.0은 도대체 뭔가요? • 회원제 등 정보를 열람하기 위한 제약 사항이 많으면 안 되며, 누구라도 공개적으로 쉽게 정보를 얻을 수 있어야 함 • 또한 사용자는 사이트에서 자신의 데이터를 직접 소유 할 수 있어야 하며, 순수 웹 기반으로, 브라우저만으로 모든 이용이 가능하도록 가능한 간단한 기능만 제공해야 Web2.0의 요건을 만족할 수 있다고 할 수 있음