달력

122024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

웹서비스란

  • 웹 서비스는 네트워크 상에서 상호 운용 가능한 소프트웨어 컴포넌트들이다

웹서비스 아키텍처

  • client와 server 사이에 통신을 하기 위해서
  • service Provider는 UDDI에 등록
  • Client는 UDDI을 이용하여 탐색 & 서비스 정보

SOAP(Simple Object Access Protocol)

  • wsdl에서 설명하는 것을 기반으로
  • 클라이언트와 서버 간에 서로 통신하는 메시징 프로토콜을 발한다.
  • 서버는 Axis Engine을 이용해서 SOAP을 통해 들어온 메시지를 해석 한다.
  • 구성

    • Envlelop - 필수

      • SOAP Part

        • Header - 옵션 => 서비스에 대한 부가적인 정보(트랜잭션, 보안, 신뢰성 문제 등)
        • Body - 필수 => 서비스 호출에 대한 정보,.
      • Attachment Part

        • Attchment 들 - 옵션 => 첨부 파일들(바이너리 정보)
  • SOAP의 바탕은 WSDL 이다.

WSDL(Web Services De

  • 구성요소

    • Service
    • Port
    • Blinding
    • Port type : 인터페이스 선언 => 인터퍼이스로 변환
    • Operation : 함수 선언 => 함수로 변환
    • Message : 함수 인자 선언 => 함수의 인자들
    • Types : 데이터 타입 선언 => 실제적인 데이터 타입

웹 서비스 표준 현황

  • 표준을 정하는 단체에 참여하는 단체에서 책정한 표준 스팩들
  • UDDI, SOAP(메시지 프로토콜(어플리케이션 단)), WSDL(설명) => 1세대
  • 1세대 만으로도 기업용을 사용할 수 없고(트랜잭션 처리 불가능), XML의 보안이 취약함

    • WS-* 단들 : WS-Security. WS-Transaction, WS-Coordination ...
    • 기업체 환경에 적용하기 위한 부과적인 스팩들 => XML 문서로 정의
  • BPEL4WS : 흔히 BPEL, 서로 다른 이기종 및 웹 서비스에 대해서 각각의 서비스를 모델링을 통해 하나의 서비스로 조합시키는 것

웹 서비스 보안

  • WS-Security를 통하여 지원

WSDL

  • types : 실질적인 데이터의 정의
  • message : 메소 인자 정의
  • portType : 메소드 정의
  • binding : 어떤 통신 프로토콜을 통해서 통신을 할 것인지 정의
  • service : 클라이언트 단에 제공하기 위해, 처음 호출시 해당 주소를 호출해라. 또한 어떤 서비스를 하는 지 알려 준다.
  • xml 자체가 xsd를 통하여 재작
  • WSDL이란

    • 서비스의 외부 인터페이스를 표현,
    • CORBA, COM+(ATL)의 IDL에 해당
  • WSDL 읽는 방법

    • targetNamespace : 해당 WSDL의 고유한 키. definitions 에서 정의
    • definitions에서는 또한 긴 targetNamespace에 대신에 축약하여 사용할 수 있는 것을 정의할 수 있다.
    • 맨 아랫단부터 service -> binding - > portType -> message -> types 로 올라가면서 찾는다.
  • 웹서비스 Stub 생성 : 하부 단에서 local을 호출하지만, 다른 머신의 것을 호출하게 하는 것(RMI)

    • <types> : 문서에서 사용되고 있는 데이터형의 정의 : Class
    • <message> : 서비스가 사용하는 메시지를 정의 : Method Parameter Or Return type
    • <operation> : 서비스의 함수에서 사용되는 요청/ 응답 메시지 저의 : Method
    • <portType> : 여러 오퍼레이션의 묶음 : class
    • <binding> : 포트형과 네트워크 호출 프로토콜
    • <service><port>
  • WSDL Document/RPC

    • 통신 방법에 대한 정의 : binding 에서 정의 되어 있다. <soap:binding style="">, soap 메시지가 가는 형식
    • style

      • document : 문서 자체가 가는 개념
      • RPC : 명시적으로 어떤 오퍼레이션을 호출하겠다는 개념
    • use

      • literal
      • Encoded
    • 현재 많이 사용하는 방식 : document/literal 와 document/literal/wrapper 방식을 주로 사용한다. (style/use)
    • 트랜스포트에 독립적이므로 WS-Addressing을 이용해서 정의한다(중요하지 않음.. - 지금은)

서비스 제작 방식

  • Top-Down : WSDL을 기반으로 java 파일 생성
  • Bottom-Up : java 파일을 기반으로 WSDL를 생성

SOAP

  • document/literal 방식은 : 바로 입력하는 형태로 되어 있다 => TYPE 타입을 참조
  • document/literal/wrapper 방식은 : 입력하는 것을 한 번더 감싸서 정보를 입력한다. => TYPE 타입을 참조
  • RCP/literal 방식 : operation - parameter 를 주어서 호출하는 방법  => PORT 타입을 참조
  • WS-Addressing : 주소 결정 방식.. (아직 여기 까지 진전되지 않았다.. => 아직는 독립적이지 못하다.. HTTP 에 종속적..)

'Soap & WebService' 카테고리의 다른 글

SOAP 모델에 따른 인코딩방식  (0) 2008.08.20
SOAP Version 1.2 스펙 한글판  (0) 2008.08.20
SOAP message  (0) 2008.08.20
SOAP 인코딩 스타일 비교  (0) 2008.05.24
soap(Simple Object Access Protocol)  (0) 2008.05.24
Posted by marryjane
|