외규장각 도서 환수 모금 캠페인

'UDDI'에 해당되는 글 1건

  1. 2010.08.20 웹 서비스

웹 서비스

잡동사니 2010. 8. 20. 14:51

웹 서비스(Web Service)는 네트워크 상에서 서로 다른 종류의 컴퓨터들 간에 상호작용을 하기 위한 소프트웨어 시스템이다. 웹 서비스는 서비스 지향적 분산 컴퓨팅 기술의 일종이다. 웹 서비스 프로토콜 스택은SOAP,WSDL,UDDI 등으로 이루어진다. 모든 메시징에 XML이 사용되어 상호운용성이 높다.

월드 와이드 웹은 사람과 컴퓨터 간의 상호작용을 위한 시스템인 데 반해, 웹 서비스는 컴퓨터와 컴퓨터 간의 상호작용을 위한 시스템이다.

SOAP : Simple Object Access
SOA : 서비스 지향 아키텍쳐(SOA:Service-oriented architecture)

SOAP sample
 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Body>
     <getProductDetails xmlns="http://warehouse.example.com/ws">
       <productId>827635</productId>
     </getProductDetails>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

WSDL : WSDL(Web Services Description Language의 약자)은 웹 서비스 기술언어 또는 기술된 정의 파일의 총칭으로 XML로 기술된다. 웹 서비스의 구체적 내용이 기술되어 있어 서비스 제공 장소, 서비스 메시지 포맷, 프로토콜 등이 기술된다.


참조 >
매쉬업(MashUp) : 웹 서비스를 이용하여 여러 웹 서비스를 조합하여 웹 애플리케이션이나 서비스를 구축하는 것






################################################################################################################

웹서비스의 용도

웹서비스의 쓰임새에 대해서는 여러 가지 다른 의견이 있지만 대체로 두 가지로 쓰일 것이라고 보고 있다. 첫 번째는 EAI(Enterprise Application Integration)와 인터넷을 통한 B2B 파트너의 통합이다. 위에서 살펴본 웹서비스의 기본 특징, 프로그래밍 언어와 플랫폼 독립적으로 보아 기업 내에 존재하는 서로 다른 플랫폼의 legacy 시스템을 웹서비스로 통합하는데 매력적이다. 많은 기업에서 내부 어플리케이션의 통합을 목적으로 웹서비스를 적용하려 하고 있다. B2B는 두개 이상의 회사의 비즈니스 시스템을 통합하는 것을 의 미한다. 이에 사람들은 웹서비스가 서로 다른 기업의 비즈니스 프로세스를 통합하는데 핵심 요소가 될 것이라고 생각한다.

1. SOA (Service-Oriented Architectures)

-웹서비스 스택

웹서비스 스택은 크게 가장 밑단의 transport layer로부터 시작하여 가장 윗단의 서비스 플로 스택까지 여러 layer로 구성되어 있다. 자세한 stack 의 구성은 아래 그림을 참조하기 바란다.



① 트랜스포트 단계 (Transport layer)
Transport layer에서는 네트워크 프로토콜로서 HTTP, HTTPS, SMTP, FTP 등의 인터넷 프로토콜들을 사용할 수 있도록 정의 되어 있다. 아울러 RMI/IIOP나 MQSeries도 쓸 수 있다.

② XML기반 메시징 단계 (XML-based messaging layer)
SOAP은 XML을 사용한 메시지 프로토콜이다. 모든 SOAP 메시지는 웹서비스 구조의 publish, bind, find을 지원한다. SOAP 메시지는 메시지 컨텐트를 묘사하기 위한 envelope과 엔코딩 룰, 리모트 프리시져 호출을 제공하기 위한 메커니즘으로 구성 되어 있다.

③ 서비스 설명 단계 (Service description layer)
서비스 설명은 웹서비스를 호출하는 수단에 대한 상세 정보를 제공한다. WSDL(Web Service Desciption Language)이 이 layer에서 서비스 실행과 인터페이스를 정의하는데 쓰이는 기본 표준이다.

④ 서비스 공개 단계 (Service publication layer)
UDDI registry에 웹서비스 정보를 publish하기 위해서는 WSDL을 보완한 다른 서비스 설명이 필요하다. 이 단계에서는 비즈니 스 컨텍스트를 설명하기 위해 UDDI 데이터 구조를 사용한다. 서비스 클라이언트 라이프 사이클의 어느 단계에서도 WSDL 다큐먼트를 사용하게 할 수 있다.
이 단계에서 서비스 제공자(service provider)는 WSDL 다큐먼트를 서비스 클라이언트에게 보낼 수 있다. 이런 방식을 직접 공 개 방식(direct publication)이라 한다. 또한 서비스 제공자는 WSDL 다큐먼트를 퍼블릭 레지스트리가 아닌 로컬 레지스터리에 공개할 수도 있다.

⑤ 서비스 디스커버리 단계 (Service discovery layer)
서비스 디스커버리는 서비스 공개에 의존한다. 만약 웹서비스가 공개될 수 없거나 안 되었다면 그 웹서비스를 찾을 수 없다. 서비스 클라이언트는 직접 공개(direct publish) 방식을 통해 서비스 제공자로부터 WSDL 다큐먼트를 바로 다운받을 수 있다. 이러한 방식을 static discovery라 한다. 한편 서비스 클라이언트가 public 또는 private UDDI 레지스터리를 사용하여 WSDL 다 큐먼트를 바로 다운받을 수 있으며 이러한 방식을 dynamic discovery라 한다.

⑥ 서비스 플로우 단계 (Service flow layer)
WSFL(Web Services Flow Language)는 웹서비스 스택의 최상위 layer인 service flow layer의 표준이다. IBM이 선도적으로 W3C에 제안하였으며 업계 표준으로 자리잡아 가고 있다. WSFL은 어떻게 웹서비스가 Workflow에서 상호 작용하는지를 설 명하는데 쓰이고 어떻게 service-to-service communication을 수행하는가를 설명한다. 예를 들면 WSFL은 구매자, 판매자, 중개자 간에 어떻게 연동하는가에 대한 설명이다.


  웹서비스를 구성하는 기본요소들

XML
1996년 W3C에서 SGML과 비슷하고 HTML보다는 엄격한 syntax 구조를 가진 standard markup language를 개발하기 시작한 데에 서 비롯되었다.

XML의 이점은 다음과 같다.

1. 인터넷에서 사용하기 쉽다.
2. 다양한 어플리케이션을 지원할 수 있다.
3. Unicode 기반이어서 세계 각국어를 지원할 수 있다.
4. 데이터를 구조적으로 표현할 수 있다.
5. 많은 변형이 가능하면서도 사용하기 쉽다.

- SOAP: Simple Object Access Protocol
SOAP은 기본적으로 RPC Call을 위한 XML 마샬링 메커니즘이다. SOAP은 TCP/IP 소켓이나 JMS 메시지를 통해 RPC call로 인코 드 되어 사용할 수도 있다. SOAP은 전자적 커뮤니케이션의 기본 프로토콜로서 XML로 작성된 간단한 요청과 응답 메시지들을 위 한 모델이다. SOAP은 어떠한 전송 프로토콜과도 함께 사용될 수 있다: HTTP는 현재 가장 많이 사용된다. 하지만 SOAP은 TCP/IP 소켓이나 JMS 메시지를 통해 RPC call로 인코드 되어 사용할 수도 있다. 어떤 형태의 XML 정보를 교환하는데도 사용될 수 있다. W3C 기구의 XML 프로토콜 담당 그룹은 앞으로 W3C의 추천 사양이 될 SOAP 1.2라고 명명된 새로운 제원을 만들고 있는 중이다.

- WSDL: Web Service Description Language
WSDL은 XML 용어의 하나로 프로그래밍 단계의 자동적 통합에 요구되는 모든 기술 세목들을 구성한다. WSDL은 어떻게 보면 방 법론 디스크립션 부분, 아규먼트 형태 및 결과 값에 있어서, 또는 WSDL이 서비스의 호출을 원하는 이용자에게 상세한 구현 절차 를 설명함으로써 IDL에 비교된다. WSDL은 밑단의 구현 절차를 개의치 않고 메시지 프로토콜의 요건적 정의의 설명에 주력한다. WSDL 1.1은 현재 추천의 고려 대상으로 W3C에 제출되어 있다.

- UDDI: Universal Description, Discovery, and Integration
UDDI는 글로벌 전자적 옐로우 페이지의 역할을 수행한다. 다시 말하면 사용 가능한 웹서비스의 서비스 레지스터리를 정의하는 데 에 사용되는 요소이다. UDDI는 기업으로 하여금 자신이 서비스의 제공자임을 드러내어, 가용한 제품과 서비스 설명을 레지스터리 에 공개하도록 해준다. 요청자는 잠재된 비즈니스 파트너를 찾는 동시에 서비스 제공자와의 e-비즈니스 시작을 위한 간단한 통합 을 이룰 수 있다. UDDI의 현재 버전은 2.0으로 http://uddi.org에서 개발 중에 있으며, 세 번째 릴리즈가 나오게 되면 표준 기관에 제 출될 것이다.


출처 : http://www-903.ibm.com

Posted by 닉네임영역
,


사랑합니다. 편안히 잠드소서