WSDL

21
WSDL 전전전전전전 03671052 전전전

description

WSDL. 전산게임학과 03671052 김헌철. WSDL 이란 ??. WSDL 은 문서 지향적 또는 프로시저 지향적인 정보를 포함한 메시지에서 작동하는 종점 집합으로서의 네트워크 서비스를 설명하는 XML 형식입니다 . 작동 및 메시지에 대해 대략적으로 설명한 다음 , 구체적인 네트워크 프로토콜 및 메시지 형식으로 연결하여 종점에 대해 정의합니다 . 관련된 구체적인 종점은 추상 종점 ( 서비스 ) 과 결합되어 있습니다 . - PowerPoint PPT Presentation

Transcript of WSDL

Page 1: WSDL

WSDL

전산게임학과 03671052 김헌철

Page 2: WSDL

WSDL 이란 ??• WSDL 은 문서 지향적 또는 프로시저 지향적인 정보를 포함한 메시지에서 작동하는 종점

집합으로서의 네트워크 서비스를 설명하는 XML 형식입니다 .

• 작동 및 메시지에 대해 대략적으로 설명한 다음 , 구체적인 네트워크 프로토콜 및 메시지 형식으로 연결하여 종점에 대해 정의합니다 .

• 관련된 구체적인 종점은 추상 종점 ( 서비스 ) 과 결합되어 있습니다 .

• WSDL 은 통신에 사용되는 메시지 형식 또는 네트워크 프로토콜과는 상관 없이 종점 및 종점의 메시지를 설명하도록 확장할 수 있습니다 .

• 통신 프로토콜 및 메시지 형식이 웹 커뮤니티에서 표준화됨에 따라 , 통신을 어느 정도 구조적인 방법으로 설명하는 것이 점차 가능해지고 중요해지게 되었습니다 .

Page 3: WSDL

• WSDL 은 네트워크 서비스를 메시지를 교환할 수 있는 통신 종점의 컬 렉 션 으 로 설 명 하 는 XML 문 법 을 정 의 하 여 이 러 한 필 요 성 을 해결합니다 .

• WSDL 서비스 정의는 분산 시스템에 대한 설명서를 제공하고 응용 프로그램 통신과 관련된 자세한 정보를 자동화할 수 있도록 합니다 .

• WSDL 문서는 services 를 네트워크 종점의 컬렉션 또는 ports 로 정의합니다 .

• WSDL 에서 종점 및 메시지의 추상 정의는 구체적인 네트워크 구축 또는 데이터 형식 바인딩과는 구분되며 이러한 특성은 추상 정의를 재사용 가능하도록 합니다 .

• WSDL 은 메시지 형식을 설명하는 다양한 형식 시스템의 필요성을 인 식 하 여 정 식 의 형 식 시 스 템 으 로 XML 스 키 마 규 격 (XSD) 을 지원합니다 .

Page 4: WSDL

WSDL 의 구조

Page 5: WSDL

WSDL 의 특징• 네트워크 서비스를 기술하기 위한 XML 포맷 .

• 서비스 제공자가 공개한 인터페이스를 호출하는 방법 설명 .

• UDDI 저장소에 WSDL 에 참조가 저장 .

• CORBA 나 COM 의 IDL(Interface Definition Lanugage)과 유사함 .

Page 6: WSDL

WSDL 의 중요한 요소• Types : XSD 와 같은 특정 형식 시스템을 사용하는 데이터 형식 정의에 대한 컨테이너 .

• Message : 통신할 데이터에 대한 추상적이고 형식화된 정의 .

• Operation : 서비스가 지원하는 동작에 대한 추상적인 설명 .

• Port Type : 하나 이상의 종점에서 지원하는 추상적인 작업 집합 .

• Binding : 특정 포트 유형에 대한 구체적인 프로토콜 및 데이터 형식 지정 .

• Port : 바인딩과 네트워크 주소가 결합되어 정의되는 단일 종점 .

• Service : 관련된 종점의 컬렉션 .

Page 7: WSDL

WSDL 의 간단한 이해• WSDL 을 간단히 설명하면 웹 서비스 제공자와 웹 서비스를 받는

사람과의 Language 또는 약속이라고 생각하면 된다 .

• “ 웹 서비스야 나는 이런 서비스를 받고 싶다 . 그러면 어떻게 해야하니 ??” 라고 웹 서비스에게 물어보면은 웹 서비스는 “내가 서비스 요청하는 방법 (WSDL) 을 알려줄게 이렇게 준비해서 나한테 보내라 ~” 라고 합니다 . 그럼 웹 서비스는 사용자가 제대로 준비했는지 확인 후에 관련된 서비스를 제공해주는 것입니다 .

• 서비스라고 하니깐 거창하기는 하지만 간단한 결과 값을 얻는 것도 서비스라고 할 수 있습니다 .

Page 8: WSDL

• 또 이해를 돕기 위해서 더 간단하게 설명 드리겠습니다 .

• 웹 서비스는 어떤 2 개의 값을 더 하는 서비스를 제공하고 있습니다 .

public int plus(int a, int b) {return a+b;}

그리고 이 서비스를 제공하기 위해서 이와 관련된 WSDL 파일을 만들어 놓습니다 .

Page 9: WSDL

• WSDL 에는 뭐 여러가지 정보가 있겠지만 파라미터 (int a, int b)에 대한 정보도 있습니다 . 그런 저는 이 WSDL 파일을 보고 파라미터로 사용할 2 개의 값을 웹 서비스 제공자에게 보내줍니다 . 그럼 이 웹 서비스 제공자는 이 2 개의 값을 가지고 plus 라는 메소드를 이용해서 return 값을 돌려 줍니다 . 이것이 웹 서비스이며 이게 바로 WSDL 역할인 것 같다 .

Page 10: WSDL

SOAP,WSDL,UDDI 간의 관계

• 웹 서비스 클라이언트 역할을 하는 애플리케이션은 네트워크 어딘가에 있을 다른 애플리케이션이나 비즈니스 로직의 위치를 알아내야 한다 .

• 클라이언트는 이름별 , 카테고리별 , 식별 기호별 혹은 지원 규격별 서비스를 위해 UDDI레지스트리를 조회한다 .

• 일단 그 위치를 파악하고 나면 클라이언트는 UDDI 레지스트리로 부터 WSDL 문서의 위치 정보를 얻는다 .

• WSDL 문서에는 웹 서비스 접속 방법과 XML 스키마 내의 요청 메시지 형식에 대한 정보를 포함한다 .

• 클라이언트는 WSDL 에 있는 XML 스키마에 따라 SOAP 메시지를 생성하고 , 호스트 ( 서비스가 있는 곳 ) 로 요청을 보낸다 .

Page 11: WSDL

문서 명명 및 연결• WSDL 문서는 간단한 형태의 설명서로 제공되는 NCNAME

형식의 선택적인 name 특성으로 지정될 수 있습니다 .

• URI 형식의 targetNamespace 특성을 지정할 수도 있습니다 .

• URI 는 상대 URI 일 수 없습니다 .

<definitions…> <import namespace="uri" location="uri"/> * </definitions>

• WSDL 에서 QNames 확인은 XML 스키마 규격으로 설명된 Qnames 확인과 유사합니다 .

Page 12: WSDL

WSDL 문서의 구조

Page 13: WSDL

WSDL 문서의 용어• 다음은 WSDL 문서의 구조를 이루는 핵심 엘리먼트들이다 .

Page 14: WSDL

WSDL 문서의 용어• 다음은 WSDL 문서에서 부수적으로 사용되는 엘리먼트들이다 .

Page 15: WSDL

제작 스타일• import 요소를 사용하여 서비스 정의의 서로 다른 요소들을

별도의 문서로 분리하여 필요할 때 가져올 수 있습니다 . • 서비스의 추상화 수준에 따라 정의를 분리하여 서비스 정의를 더

명확하게 작성할 수 있도록 도와 줍니다 .• 모든 종류의 서비스 정의를 재사용하는 기능을 최대화합니다 .• 구조화된 WSDL 문서는 사용 및 유지 관리가 쉽습니다 .• 데이터 형식 정의 , 추상 정의 및 특정 서비스 바인딩의 세 개

문서로 분리하였습니다 .• 메커니즘의 사용은 이 규격에 정의된 언어 요소만 사용하는 예제에 명시적으로 나타난 정의에만 제한되지는 않습니다 .

• 추가 언어 확장을 기반으로 하는 다른 형식의 정의는 유사한 방법으로 인코드되고 다시 사용될 수 있습니다 .

Page 16: WSDL

언어 확장성 및 바인딩• WSDL 에서 바인딩이라는 용어는 프로토콜 또는 데이터 형식 정보와 m

essage, operation 또는 portType 과 같은 추상 엔티티를 연결하는 과정을 나타냅니다 .

• WSDL 는 WSDL 로 정의된 다양한 요소 아래 특정 기술 ( 확장성 요소 )을 나타내는 요소를 허용합니다 .

• 확장성은 일반적으로 특정 프로토콜 또는 메시지 형식에 대한 바인딩 정보를 지정하는 데 사용되지만 이러한 사용에 제한되지 않습니다 .

• 확장성 요소는 WSDL 이름 공간과는 다른 XML 이름 공간을 사용해야 합니다 .

• 확장성 요소를 사용하면 기본 WSDL 규격을 개정하지 않고 네트워크와 메시지 프로토콜 영역을 새로 바꿀 수 있습니다 .

• WSDL 은 이러한 프로토콜을 정의하는 규격이 프로토콜이나 형식을 설명하는 데 사용하는 필수 WSDL 확장도 정의할 것을 권장합니다 .

Page 17: WSDL

형식• types 요소는 교환된 메시지와 관련된 데이터 형식 정의를 묶습니다 .

• 상호 운영성 및 플랫폼 중립성을 최대화 하기 위해 WSDL 은 정식의 형식 시스템으로서 XSD 를 사용하고 이것을 기본적인 형식 시스템으로 처리합니다 .

• XSD 형식 시스템은 결과 네트워크 형식이 실제 XML 인지 또는 결과 XSD 스키마가 특정 네트워크 형식을 확인하는지 여부에 관계 없이 메시지의 형식을 정의하는 데 사용될 수 있습니다 .

• 동일한 메시지에 대해 다중 바인딩이 있거나 하나의 바인딩만 존재하지만 해당 바인딩 형식이 널리 사용되는 형식 시스템을 가지지 않는 경우에 유용합니다 .

Page 18: WSDL

메시지• 메시지는 하나 이상의 논리적인 parts 로 구성되어 있습니다 .

• 메시지 형식 특성을 사용하는 특정 형식 시스템의 형식과 연관되어 있습니다 .

• 메시지 형식의 특성 집합은 확장할 수 있습니다 . WSDL 은 XSD 에 사용되는 몇몇 메시지 형식의 특성을 정의합니다 .

• WSDL 의 이름 공간과는 다른 이름 공간을 사용하면 다른 메시지 형식 특성이 정의될 수도 있습니다 .

• 메시지 name 특성은 해당 WSDL 문서에 정의된 모든 message 간에 고유한 이름을 제공합니다 .

Page 19: WSDL

메시지 부분• part 는 message 의 논리적인 추상 컨텐트를 설명하는 융통성 있는

메커니즘입니다 .

• 바인딩은 부분에 관한 바인딩별 정보를 지정하기 위해 부분의 이름을 참조할 수 있습니다 .

• RPC 를 사용하기 위해 메시지를 정의하는 경우 , 부분은 메시지에 매개 변수를 나타낼 수도 있습니다 .

• 부분의 실제 의미를 결정하기 위해서는 반드시 바인딩을 점검해야 합니다 .

• 다중 부분 요소는 메시지에 여러 개의 논리적 단위가 있는 경우에 사용됩니다 .

Page 20: WSDL

서비스• 서비스는 관련된 포트의 집합을 그룹화합니다 .• name 특성은 이를 포함하는 WSDL 문서에 정의된 모든

서비스에 고유 이름을 제공합니다 .• 별도의 바인딩 및 주소를 사용하면서도 한개의 서비스에 포트

형식을 공유하는 여러 개의 포트가 있는 경우 포트는 대체 요소가 됩니다 .

• 포트를 확인하여 서비스의 포트의 형식을 결정할 수 있습니다 .• WSDL 문서의 고객은 이 문서가 여러 개의 포트를 지원하는지의

여부에 따라 특정 서비스와 통신할지를 결정할 수 있습니다 .• 포트 형식의 작업간에 몇몇 묵시적인 관계가 있는 경우에

유용하며 , 특정 작업을 수행하기 위해서는 포트 형식의 전체 집합이 반드시 표시되어야 합니다 .

Page 21: WSDL

감사합니다 .