Web Services & WSDL.

Slides:



Advertisements
Similar presentations
CI(Continuous Integration) 이학성. C ontinuous I ntegration? 2 지속적으로 품질관리 를 적용하는 과정 개발자가 기존 코드의 수정 작업 을 시작할 때, 코드 베이스의복사본을 받아서 작업을 시작하면서 코드의 변경.
Advertisements

IBM Visual Warehouse 002COG20 성아영. 순서 n Visual warehouse 란 ? n 주요기능 n 제품의 특징 n 제품의 장단점 n 제품의 가격 n Software Requirements.
Beginning 자바 웹 서비스 웹 서비스 기술 강미란 Cyber-Infrastructure Research Lab Konkuk University.
 Data Mining Laboratory, Univ. of Seoul Software Engineering :Introduction to Web Services.
Dept. Computer Science, Korea Univ. Intelligent Information System Lab. 웹 서비스와 시멘틱 웹의 연동 방안 연구 고려대학교 지능정보시스템 연구실 이 윤 수.
CHAP 22. 블루투스.
Oozie Web API 기능 테스트 이승엽.
제 22 장 HTTP 22.1 HTTP 트랜잭션 22.2 요청 메시지 22.3 응답 메시지 22.4 헤더 22.5 예제
SOAP (Simple Object Access Protocol)
OpenAPI의 응용 인공지능 연구실.
Web Service XML Security
Web Server (JSP, Servlet 지원)
Power Java 제3장 이클립스 사용하기.
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
Ch.07-5 xml-rpc 사용하기 김상엽.
Web Service & Base Technologies
Web Service Computing and Practice_
10장. 웹 서비스 공격 (Attacking Web Service)
Content Introduction XML Protocol What is an RPC? SOAP의 정의 SOAP의 장점
PHP입문 Izayoi 김조흔.
Introduction to Service-oriented Architecture & Web Service Computing
Introduction to Web Service Computing
웹 서비스 (Web Services).
MS SQL Server - 마이크로소프트 사가 윈도우 운영 체제를 기반으로 개발한 관계 DBMS
JSP Programming with a Workbook
Visual Basic .NET 처음 사용하기.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
WSDL 전산게임학과 김헌철.
웹 서비스 (Web Services).
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
KHS JDBC Programming 4 KHS
SOAP 클라이언트 개발 Guide
제 01 장 인터넷 프로그래밍 개요 학기 인터넷비즈니스과 강 환수 교수.
Wireless Java Programming
웹 어플리케이션 보안 2016년 2학기 3. Mongo db.
3강. JSP 맛보기 JSP 문서 작성 하기 JSP 아키텍처 Lecturer Kim Myoung-Ho Nickname 블스
나라장터 사용 방법 공공기관 구매위탁을 위한 사용자 등록 사용자 등록 절차 수요기관 조달청
소규모 IPTV 사업자용 실시간 미디어 플랫폼 기술
Internet과 World Wide Web
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
2007 정기세미나 SOA (Service-Oriented-Architecture)
WSDL 의공학과 3학년 김 기 흔.
Ajax 활용 – Ajax 개요 2008 고급 XML 프로그래밍 임순범.
웹디자인
CGI란 무엇인가? CGI(Common Gateway Interface)의 정의
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
-네트워크 관리 개요 및 SNMP 프로토콜 동작과정
데이터 베이스 DB2 관계형 데이터 모델 권준영.
CHAP 21. 전화, SMS, 주소록.
웹(WWW).
암호학 응용 Applied cryptography
Chapter 27 Mobile IP.
JAXP, WEB Service, SOAP 김만수
Introduction to JSP & Servlet
KISTI Supercomputing Center 명훈주
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
MIDP 네트워크 프로그래밍 ps lab 김윤경.
1장 웹 프로그래밍의 개요 이장에서 배울 내용: 월드 와이드 웹(World Wide Web, WWW)기반에서 동작되는 웹 프로그래밍에 대해 학습하고 , 이러한 웹 기반에서 동작되는 웹 어플리케이션이 어떠한 방식으로 발전해 왔는지 알아본다. 또한 이러한 웹 어플리케이션의.
9 브라우저 객체 모델.
08. 소프트웨어 아키텍처 설계 전략 명지대학교 융합소프트웨어학부 김정호 교수.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
CHAP 15. 데이터 스토리지.
8주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
UDDI 의공학과 이시우.
AJAX? Cho Hyun Min.
Presentation transcript:

Web Services & WSDL

서비스 중심의 아키텍쳐 = Next generation Web Communications + (TCP/IP) Web User Interface + (HTML) Web Programming + (Javatm) Web Data + (XML) Web Services (SOAP, WSDL, UDDI…) = Next generation 차세대 e-Business는 현재의 e-Business 아카텍쳐에 데이터 교환을 위한 XML과 서비스를 제공하는 SOAP,WSDL,UDDI 같은 Web Service 를 포함하는 구조가 된다.

Web Services – 새로운 웹 모델 현재까지 웹은 다음 서비스를 제공함 링크된 문서를 보여줌 수작업으로 수행되는 트랜잭션 이 모두가 웹 브라우저를 통해 수동으로 이루어짐 Web Services는 웹을 사용하는 새로운 모델임 트랜잭션은 프로그램에 의해 자동으로 시작함 분산 컴퓨팅 환경에서 동적으로 설명되고 공개되고 검색되고 수행됨 웹을 사용하는 새로운 방식 : 인텔리전트 에이전트, Marketplace, 경매  XML을 사용함 Web Services는 현재 제공되는 HTML 문서를 보여주고 트랜잭션을 처리하기 위해서 미리 정의된 어플리케이션을 수행하는 기능을 제공한다. 리파지토리에 서비스를 등록하고 어플리케이션을 수행하면 필요한 기능을 수행하는 서비스를 리파지토리에서 검색하고 이를 동적으로 바인딩해서 기능을 사용함 하나의 기업이 모두 개발할 필요가 없고 협력업체가 각각 강점이 있는 서비스를 작성하여 등록하면 됨

Web Services e-Business의 다음단계의 진화 비즈니스 기능(Function)을 웹으로 공개 Client/Server 모델의 자연적인 확장 e-Business를 위한 트랜잭션 모델 원격 오브젝트에서의 메쏘드 시작(SOAP) SOAP Lookup을 이용한 사용가능한 서비스와 서비스 제공자 디렉토리 (UDDI) 서비스와 서비스 제공자를 위한 XML기반의 표준 설명(Description) 언어(WSDL, WDS) e-Business는 Web Services의 기초를 형성하기위해 웹, IT & 오브젝트 기술을 통합하고 있음 Web Services는 Building Block임 기존의 분산 시스템 모델을 확장한 개방형 분산 시스템 모델임 하나의 어플리케이션을 구성하기 위해 개발자는 모든 기능을 개발하는 것이 아니고 필요한 부분만 개발하고 나머지는 리파지토리에서 가져다 사용함 – World Wide 분산 모델이 가능 Web Service에서 사용되는 기술 웹 – HTML, HTTP, Java, JSP, ASP IT – TCP/IP, XML, Repository, 객체기술 – 메쏘드 단위로 처리, Encapsulation, 객체의 호출

기존 어플리케이션 통합 여행사 서버 항공사 서버 수작업 여행사 GUI 항공사 GUI 여행사와 항공사의 어플리케이션 간의 직접적인 연결이 없음  별도의 화면을 통해 수작업 처리함

Web Services를 이용한 어플리케이션 통합 여행사 서버 항공사 서버 XML                                                                                               항공사 Web Service는 여행사의 항공기 스케쥴 어플리케이션에 의해 직접 호출되고 수행됨 Web Service는 여행사의 항공기 스케쥴 어플리케이션 가용성을 향상함 여행사 어플리케이션은 직접 항공사 어플리케이션을 호출하여 데이터를 가져와서 하나의 어플리케이션에서 처리가 가능 여행사 GUI

향후 Web Services를 이용한 어플리케이션 통합 렌트카 회사 호텔 항공사 HTTP/SOAP/XML 여행사 어플리케이션 여행 e-Marketplace HTTP/HTML WAP/WML 호텔, 렌트카 등의 Web Service를 추가할 경우 여행사 직원의 역할을 제거할 수 있음 비용절감 향상된 기능 제공 새로운 어플리케이션은 항공 슽케쥴이 변경되면 자동적으로 호텔과 렌트카 예약을 변경 출발 라운지에서 e-Marketplace를 통해 항공 좌석을 판매하기 위해 WAP 폰 에서 엑세스

Web Services 컴포넌트 Service Provider e-Business 서비스 제공 레지스트리에 서비스를 공개 Service Broker 서비스의 공개와 위치를 위한 지원 제공 전화번호부 역활 Service Requester Service Broker를 통해 요청되는 서비스를 찾음 Service Provider를 통해 서비스를 바인드

Web Services 오퍼레이션 Publish / Unpublish Service Provider는 그들 서비스의 기능을 하나 또는 복수개의 Service Provider에 전파하거나 서비스 공고를 제거 Find Service Requester는 요구되는 솔루션을 제공하는 서비스와 인터랙션할 수 있는 서비스 세트를 찾기 위해 Service Broker를 검색함 Bind Service Requester는 요구되는 서비스를 사용하기 위해 Service Provider와 협상함

Web Services 베이스 기술 SOAP(Simple Object Access Protocol)  Communication 주어진 기능을 수행하기 위해 서버상의 메쏘드를 시작하는 XML 프로토콜 Service Requester는 요청 메시지를 보냄 Service Provider는 응답 메시지를 보냄 UDDI(Universal Description, Discovery, Integration)  서비스 검색 UDDI 서버는 사용가능한 서비스와 Service Provider의 디렉토리로서의 역할 SOAP은 Service를 찾고 사용하기 위해 UDDI를 사용할 수 있슴 WSDL(Web Services Description Language)  서비스 설명 서비스 인터페이스를 설명하는 XML Vocaburary

Web Services 인프라 Service Broker Service Provider Service Requester

Web Services 기반기술 요약

UDDI & SOAP & WSDL WSDL로 작성된 Web Service 정보를 SOAP 프로토콜을 사용하여 UDDI Registry에 등록 Web Service 이용자는 SOAP을 이용하여 UDDI Registry에 등록되어 있는 WSDL 정보를 검색하여 원하는 Web Service를 찾음 발견된 Web Service와 SOAP을 통해 Binding하고 통합되어 서비스 제공 사용자가 UDDI 등록 요청을 전송할때 SAOP 프로토콜을 사용함 HTTP 서버는 HTTP 프로토콜을 사용한 SOAP 메시지를 SOAP 서버에 전송함 SOAP 서버는 UDDI 요청을 가지고 레지스트리에서 서비스를 등록 UDDI Response를 SOAP을 사용하여 전송

SOAP SOAP은 XML 형태의 메시지를 HTTP 프로토콜(또는 다른 프로토콜)을 사용해서 전송함 SOAP은 완전히 Vender-Neutral SOAP은 어떠한 개발 언어, 오브젝트 모델, 운영체제 또는 플랫폼에서 사용 가능 SOAP은 3 부분으로 이루어 짐 SOAP envelope – 메지시가 무엇이고 어떤 서비스와 인터랙션하고 필수적인지 아니면 선택적인지를 정의하는 구조 SOAP encoding Rule – 어플리케이션에서 정의된 데이터 타입의 인스턴스를 교환하는데 사용되는 Serialization Mechanism을 정의 SOAP RPC representation – RPC 와 응답을 나타내기 위해 사용되는 합의사항

UDDI Web Services를 위한 상호운용성과 적용성을 가속화 하기 위한 표준 웹 기반의 비즈니스 레지스트리의 공유된 오퍼레이션 70개 이상의 회사가 참여 비즈니스와 서비스에 대한 정보를 포함하고 있는 디렉토리의 집합 서비스의 설명과 검색을 위한 표준기반의 스펙 세트 비즈니스와 서비스에 대한 정보를 설명하는 문서 세트를 정의하는 XML Schema 디렉토리에 정보를 공개하고 검색하기 위한 일반 API 세트 대등한 UDDI 노드 사이의 Replication 위한 API

WSDL CORBA의 IDL과 유사한 기능을 하는 XML Vocabulary 서비스에 대한 오페레이션 정보 서비스 인터페이스 수행 기능의 자세한 정보 엑세스 프로토콜 Contact endpoint WSDL은 IBM의 NASSL과 MS의 SDL가 결합된 것임

Web Services의 이점 - 요약 상호운용성을 향상 낮은 진입장벽 just-in-time 통합 캡슐화에 의한 복잡성 감소 디자인시 서비스가 호출되고 실행되는 메커니즘에 대한 부분을 고려하지 않아도 되기 때문에 시스템 복잡성은 감소함. 유연성과 확장성 – 동일 형태의 서비스의 다른 수행방식 또는 복수개의 동일 서비스의 수행이 실행시에 가능함. 리거시 어플리케이션과의 상호운용성을 증대 리거시 어플리케이션을 WSDL을 사용하여 Web Services로서 Wrapping함.

Web Services Description Language

WSDL - Definitions Definitions: WSDL is an XML-based language used to define Web Services and describe how to access them. WSLD is an XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information.

Working of WSDL                                                                                                                                                                                              A client invoking a Web service.

Working of WSDL contd. WSDL terminology used for describing Web services.

Working of WSDL (with Java) contd.

Working of WSDL contd. A client can invoke a web service using SOAP, HTTP GET/POST and MIME. WSDL Document Structure <definition> Root element <types> Provides data type definitions <message> Represents the abstract definition of the data being transmitted <portType> Defines a set of abstract operations <binding> Specifies concrete protocol and data format specifications for the operations and messages defined by a particular portType <port> Specifies an address for a binding <service> Used to aggregate a set of related ports.

Namespace The XML namespace prefix are used to indicate the namespace of the element being defined All WSDL elements belong to the WSDL namespace, defined as http://schemas.xmlsoap.org/wsdl/ For WSDL SOAP binding, http://schemas.xmlsoap.org/wsdl/soap/ For WSDL HTTP GET and POST binding, http://schemas.xmlsoap.org/wsdl/http/ For WSDL MIME binding, http://schemas.xmlsoap.org/wsdl/mime/

Service Description in WSDL Service implementation definition describes how a particular service interface is implemented by given service provider Service interface definition abstract or reusable service definition can be referenced by multiple service implementation definitions convergence of IBM’s NASSL, CORBA’s IDL, MS’s SDL

WSDL Element Relationships

<definition> </definition> <types> definition of Types…. </types> <message> definitions of messages… </message> <portType> definitions of portTypes… <binding> definitions of bindings… </binding> <service> definition of Services…. </service> </definition>

Types Defines the data types that are used by the web service. For Example, we can write following C structure definition, typedef struct { string Name; int Age; } PERSON;

As, <types> <xsd:complexType name="PERSON"> <xsd:sequence> <xsd:element name="Name" type="xsd:string"/> <xsd:element name="Age" type="xsd:int"/> </xsd:sequence> </xsd:complexType> </types>

Message Defines the data element in an operation. For Example, to construct input, output message for following c construct, int get_id ( string firstname, int age)

We can write it as, <message name=“InputParameters”> < part name=“firstname” type=“xsd:string” /> < part name=“age” type=“xsd:int” /> </message> <message name=“OutputParameters”> < part name=“id” type=“xsd:int />

Operation Abstract description of the operation supported by services. For example, following C definition int get_id(string firstname, int age) Can be written as, <operation name=“get_id” parameterOrder=“firstname age”/ > <input name=“function_input” message=“InputParameters/> <output name=“function_output” message=“OutputParameters”/> </operation>

Operation (Contd..) Operation Types 1, One-Way 2, Request-Response 3, Solicit-Response 4, Notification

Port Type Port Type is a set of abstract operation and abstract messages involved. <portType name=“record”> <operation name=“get_id” parameterOrder=“firstname age” /> <input name=“function_input” message=“InputParameters/> <output name=“function_output” message=“OutputParameters”/> </operation> </portType>

Bindings A binding defines message format and protocol details for operations and messages. The Binding section concretizes the abstractions made in the early sections.

<binding name="Binding1" type="record"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name = "get_id"> <soap:operation soapAction="http://example.com/get_id"/> <input> <soap:body use="literal"/> </input> <output> </output> </operation> </binding>

Port The port defines the connection point to a web service. Each port associates a location with a binding in a one-to-one fashion A port must not specify more than one address. A port must not specify any binding information other than address information.

Service A service is a set of <port> elements. <service name="Service1"> <port name="Port1" binding="Binding1"> <soap:address location="http://mysite/Service1/my.asp"/> </port> </service>