반응형
웹서비스
기본 개념
- 네트워크 상의 접근 가능한 소프트웨어의 기능단위
- 플랫폼, 프로그래밍 언어, 컴포넌트 모델에 독립적인 기술
- SOA ( Service-Oriented Architecture ) 기반
- SOA에서는 소프트웨어의 기능이 서비스의 집합으로 분류된다.
- SOA의 메카니즘
- Service provider : 어떤 동작을 기술(description) 하고 이를 Registry 에 등록( publish ) 한다.
- Service registry : provider를 등록하고, consumer에게 provider의 정보를 제공한다.
- Service comsumer : registry에서 provider정보를 찾아 ( find ) , provider를 연결(bind) 한다.
Web Service Stack
- Web service stack - 특정 플랫폼이나 제조사에 의존적이지 않음 ( platform- and vender-netural )
- Stack 구조
- Service publication Discovery : UDDI
- Service Description : WSDL
- XML Messaging : SOAP
- Transport network : http, smtp, ftp, https over tcp/ip
- Stack에 대한 설명
- UDDI : Universal Description and Discovery Interface : 웹 서비스를 공개하고 탐색하는 표준 메카니즘
- WSDL : Web Service Descritpion Language : 웹 서비스를 기술하는 표준 메카니즘
- SOAP : Simple Object Access Protocol : 웹 서비스를 호출하는 표준 메카니즘
Web Service Call ( XML RPC , SOAP )
XML-RPC
- RPC - Remote Procedure Call - 원격지의 메소드를 호출 한다.
- XML RPC - XML을 이용해서 원격지의 메소드를 호출한다.
- 특징
- XML 사용
- Http를 사용
SOAP
- 기본적으로는 RPC 와 같음
- Http 이외의 다른 전송 프로토콜 지원
- 복잡한 Data Type 지원
- 메세지의 처리 방법을 기술
- 응답은 HTTP 방식을 이용
- 200일 경우에는 Content-Type 이 XML 형태이나
- 500일 경우에는 text/html 형태로 들어올 수 있다.
- SOAP의 호출 동작
- SOAP Client <-> Web Server <-> SOAP Server <-> Web Service
WSDL
- WSDL : Web Service Descritpion Language
- 웹 서비스를 기술 ( 표현, 설명 ) 한다.
- 웹서비스가 하는 일
- 호출 가능한 메소드
- 전달해야 하는 파라미터
- 파라미터의 Type
- 사용하는 바인딩 프로토콜
- 즉, WSDL 문서가 있다면 웹서비스의 기능을 호출할 수 있다.
- WSDL 문서의 구조
- Implementation Specific
- Service : 특정 바인딩을 어떠한 Port ( 주소 ) 로 연결할것인가?
- Port : 웹 서비스로 접근 가능한 주소 ( End-point? )
- Abstract Definition
- Binding : 사용될 전송 프로토콜 ( Port type에서 사용할 프로토콜 - SOAP ) , 요청방식 ( rpc , document )
- Port Type : 공개된 ( 호출할 수 있는 ) 메소드 집합.
- Message : 메소드에서 사용할 파라미터
- Types : Data Type ( integer , float, String ... )
- Implementation Specific
UDDI
- UDDI : Universal Description and Discovery Interface
- 웹 서비스 제공자와 클라이언트들이 함께 사용할 수 있는 중앙 저장소 제공
- 클라이언트가 필요한 웹 서비스를 찾아 내 줄 수 있게 해야 함.
- 웹서비스 제공자가 서비스를 공개할 방법이 필요
이 글은 스프링노트에서 작성되었습니다.
반응형
'공부 > 컴퓨터' 카테고리의 다른 글
이번에 구매하기로 한 책. (2) | 2008.01.21 |
---|---|
[책읽기] 뉴욕의 프로그래머 - 임백준. (0) | 2007.12.16 |
Java char로 어떻게 16bit 이상의 문자를 표현할 수 있을까? (0) | 2007.07.25 |
File클래스의 setLastModifiedTime 에 관한 정보 (2) | 2007.07.06 |
.class file format 과 overriding에 관한 참고 사항 (0) | 2007.06.18 |