Beginning 자바 웹 서비스 SOAP 강미란 Cyber-Infrastructure Research Lab Konkuk University.

Slides:



Advertisements
Similar presentations
Beginning 자바 웹 서비스 웹 서비스 기술 강미란 Cyber-Infrastructure Research Lab Konkuk University.
Advertisements

.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
HTTPS Packet Capture Tutorial
Chapter 8. 인터넷 연결공유와 개인네트워크 구축
Oozie Web API 기능 테스트 이승엽.
Web Service / SOAP 배재대학교 컴퓨터공학과 멀티미디어정보공학연구실 이 상 조
SOAP (Simple Object Access Protocol)
Web Service XML Security
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
Ch.07-5 xml-rpc 사용하기 김상엽.
Network Lab. Young-Chul Hwang
10장. 웹 서비스 공격 (Attacking Web Service)
Content Introduction XML Protocol What is an RPC? SOAP의 정의 SOAP의 장점
PHP입문 Izayoi 김조흔.
웹 서비스 (Web Services).
소켓 모델 주소 지정 in_addr_t inet_addr(const char *ip_address) 연결 지향 모델 (TCP)
웹 서버 동작 HTTP 클라이언트가 서버와 대화하는 방법과 데이터를 서버에서 클라이언트로 전송 하는 방법을 정의한 프로토콜
VoIP (Voice Over Internet Protocol)
웹 애플리케이션 아키텍쳐 웹 클라이언트 서버 요청 응답 전송 애플리케이션 데이터베이스 커넥터 N-계층.
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
Chapter 7. RAS(전화접속,VPN) & IAS
23 장 OSI 상위계층 23.1 세션(session)층 23.2 표현(presentation)층
Chapter 21 Network Layer: ARP, ICMP (IGMP).
Chapter 06. UDP 서버/클라이언트.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
10 장 데이터 링크 제어(Data Link Control)
웹 서비스 (Web Services).
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
제 01 장 인터넷 프로그래밍 개요 학기 인터넷비즈니스과 강 환수 교수.
윤 철 민 ( ) 조 원 근 ( ) 김 남 석 ( ) 김 남 기 ( )
Wireless Java Programming
Web Basic 김영성 인천대 OneScore
컴퓨터III-인터넷 발표 일시 : (수) 발표자 : 김광호
RMI Messenger 지도 : 김정배 교수님 조봉진.
소규모 IPTV 사업자용 실시간 미디어 플랫폼 기술
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
PHP 개요 및 설치 Yang-Sae Moon Department of Computer Science
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
웹디자인
CGI란 무엇인가? CGI(Common Gateway Interface)의 정의
16 장 네트워크 보안 : 방화벽과 VPN 16.1 개요 16.2 기밀성 16.3 전자 서명 16.4 인터넷 보안
KERBEROS.
-네트워크 관리 개요 및 SNMP 프로토콜 동작과정
자바로 만든 채팅 프로그램 임경진 조주경 지도교수님 : 이광세 교수님.
10 장 데이터 링크 제어(Data Link Control)
10 장 데이터 링크 제어(Data Link Control)
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
SSL, Secure Socket Layer
Chapter 26 IP over ATM.
Self Introduction Template PowerPoint
웹(WWW).
암호학 응용 Applied cryptography
Introduction to JSP & Servlet
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
모바일(폰)메일 서비스 정흠수 최동훈.
JSP Programming with a Workbook
9 브라우저 객체 모델.
08. 소프트웨어 아키텍처 설계 전략 명지대학교 융합소프트웨어학부 김정호 교수.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
소리가 작으면 이어폰 사용 권장!.
Installation Guide.
Network Lab. Young-Chul Hwang
JAVA 프로그래밍 16장 JNLP.
ARP.
AJAX? Cho Hyun Min.
소리가 작으면 이어폰 사용 권장!.
리더 코딩 스토리 디자인 박찬준 이근영 박동현 박나영
Presentation transcript:

Beginning 자바 웹 서비스 SOAP 강미란 Cyber-Infrastructure Research Lab Konkuk University

목차 1. SOAP 이란 ? 2. SOAP 의 용도 ? 3. 장점 & 단점 4. SOAP 메시지 교환 모델 5. SOAP 메시지 구조

SOAP SOAP 은 컴퓨터 네트워크 상에서 XML 기반의 메시지 교환을 위한 프로토콜이다 –HTTP/HTTPS 사용 –'Simple Object Access Protocol' SOAP 은 애플리케이션이 HTTP 를 통해 정보를 교환 할 수 있게 하는 심플한 XML 기반의 프로토콜이다. SOAP 이란 무엇인가, SOAP 에서 애플리케이션 사이 에서 정보를 교환하기 위해 XML 이 어떤 역할을 하는 가 ? SOAP 을 위한 XML and XML Namespaces

SOAP 이란 ? SOAP is a communication protocol SOAP is for communication between applications SOAP is a format for sending messages SOAP is designed to communicate via Internet SOAP is platform independent SOAP is language independent SOAP is based on XML SOAP is simple and extensible SOAP allows you to get around firewalls SOAP will be developed as a W3C standard

SOAP 은 어디에 사용 ? 메시지 경로

왜 SOAP 사용 ?  애플리케이션 개발할 경우, 프로그램간의 인터넷 커뮤니케이 션 ( 交流 ) 을 가능하게 하는 것은 매우 중요하다  오늘날 애플리케이션 간의 통신은 DCOM 이나 CORBA 와 같 이 오브젝트간의 Remote Procedure Calls (RPC) 를 통해 이루 어 진다. HTTP 는 이런 용도로 디자인된 것이 아니다.  RPC 는 호환성과 보안성의 문제를 갖고 있다. 방화벽이나 프록 시 서버는 보통 RPC 호출을 차단하고 있다.  애플리케이션 간의 보다 효율적인 통신은 HTTP 를 통해 이루 어진다. HTTP 는 모든 인터넷 브라우저와 서버에서 지원하고 있다.  SOAP 의 목표  SOAP 은 서로 다른 운영체제에서 실행되는 서로 다른 기술과 프 로그래밍 언어를 사용하는 애플리케이션간의 통신을 지원하기 위 한 것이다. 6

장점  프록시 와 방화벽을 통과하는 간편한 통신방법 ◦ HTTP 사용  다양한 전송 프로토콜 허용 ◦ JMS,SMTP,RSS etc..  SOAP 은 플랫폼 독립적이다.  SOAP 은 언어 독립적이다.  SOAP 은 가벼운 프로토콜이다. ◦ 텍스트 - 기반의 메시지  SOAP 은 심플하고 확장 가능하다. ◦ XML 구조  SOAP 은 벤더 중립적이다. ◦ Sun, IBM, Microsoft

단점  XML 포맷은 기존 Object App 보다 느리다 ◦ When we transfer small size messages, it is fine. ◦ 보안 메커니즘이 부족하다 ◦ SOAP 은 메시지를 처리하기 전에 인증 절차가 따로 없 다 ◦ SOAP 은 어떠한 암호화 매커니즘도 갖고 있지 않다 ◦ SOAP 메시지 전송의 성공여부를 보장할 수 없다  Ex. System crash happens.  Publish/Subscribe 모델에 대한 지원이 부족하다 ◦ SOAP 클라이언트는 서버에 직접 요청을 전송해야 한 다.

SOAP 메시지 교환 모델 Simple message transfer model

4.SOAP message exchange model  Message Chain topologies ◦ Request/Response Model ◦ Recursive Model ◦ Broadcast Model Sender Endpoint C Endpoint B Endpoint A Sender Endpoint C Endpoint B Endpoint A SenderEndpoint(A) Request SOAP Message Response SOAP Message

SOAP 메시지 구조 SOAP 메시지는 아래와 같은 Element 를 포함 하는 일반적인 XML 문서이다 –A required Envelope element XML 문서가 SOAP 메시지임을 나타낸다 –An optional Header element 헤더 정보를 포함한다 –A required Body element 호출과 응답 정보를 포함한다 –An optional Fault element 메시지 처리 과정에 발생하는 오류에 대한 정보를 포함 한다

모든 element 는 “default namespace for the SOAP envelope” 에 기술되어 있다 : – default namespace for SOAP encoding and data types is: – 12 SOAP 메시지 구조

SOAP 메시지

SOAP 메시지 구조 문법적인 규칙 –SOAP 메시지는 MUST be encoded using XML use the SOAP Envelope namespace use the SOAP Encoding namespace –SOAP 메시지는 MUST NOT contain a DTD reference contain XML Processing Instructions

SOAP Envelop Element I  The SOAP Envelope Element ◦ 정의  Envelope element 는 SOAP 메시지의 root element 이다  특정 구조의 XML 문서를 SOAP 메시지라고 한다 ◦ xmlns:soap 네임스페이스  must always have an Envelope element associated with the "ht tp:// namespace.  다른 namespace 를 사용하면 애플리케이션은 메시지를 버리거 나 오류를 발생하게 된다 ◦ encodingStyle 속성  문서에서 사용되는 data types 을 정의한다  SOAP element 내 임의 element 에서나 사용 가능하다  해당 element 의 내용 과 모든 하위 elements 에 적용된다  SOAP 메시지는 default encoding 이 없다

<soap:Envelope xmlns:soap= “ ” soap:encodingStyle=" Message information goes here SOAP Envelop Element II

SOAP Header Element I  SOAP Header Element ◦ Optional ◦ 애플리케이션 특유 (application specific) 의 정보를 포함한다  Ex. authentication, payment, etc. ◦ Header element 가 존재한다면  이는 Envelope element 의 첫 하위 element 여야 한다  기본 namespace 의 세가지 속성 ◦ Actor  메시지를 처리할 endpoint 를 알려준다 ◦ mustUnderstand  기본 값 0  1, 수신자는 반드시 element 를 인지하여야 하며, 그렇지 않은 경우 fail 오류 발생한다 ◦ encodingStyle

<soap:Envelope xmlns:soap= “ envelope ” soap:encodingStyle=" <m:Trans xmlns:m= “ ” soap:mustUnderstand="1"> SOAP Header Element II

SOAP Header Element III 위의 예제는 "Trans" element 를 포함한 헤더를 갖고 있다. 속성 –mustUnderstand– 1, –value -234 SOAP 은 기본 namespace 에 세가지 속성을 정의 하고 있다 (" envelope") 세가지 속성 –actor, mustUnderstand, encodingStyle SOAP Header 에 정의된 속성은 SOAP message 수신자가 메시지 처리하는 방법을 나타낸다

The actor Attribute I SOAP 메시지는 메시지 path 내에 있는 여러 endpoint 를 통과하며 송신자로부터 수신자로 전송된다 SOAP message 의 모든 부분이 최종 endpoint 를 위한 것은 아니며, 메시지 path 내에 하나 혹은 여러 개 endpoint 를 위한 내용일 수 있다. SOAP actor 속성은 헤더 element 를 개개 endpoint 에 보내는 용도로 사용할 수 있다 soap:actor="URI"

The actor Attribute II <soap:Envelope xmlns:soap= “ ” soap:encodingStyle=" <m:Trans xmlns:m= “ ” soap:actor="

The mustUnderstand Attribute I SOAP mustUnderstand 속성 – 헤더 entry 가 수신자 측에서의 처리가 필수인 지 아니면 옵션인지를 나타내는데 사용된다 –Header element 하위 Element 에서 "mustUnderstand="1” 이면 수신자는 반드시 해당 Element 를 인지하고 있어야 함을 나타낸 다 – 수신자가 해당 Element 를 알지 못하면 Header 를 처리할때 오류를 발생하게 된다 soap:mustUnderstand="0|1"

The mustUnderstand Attribute II <soap:Envelope xmlns:soap= “ ” soap:encodingStyle=" <m:Trans xmlns:m=" “ soap:mustUnderstand="1">

 필수 요소로서의 SOAP Body element 는 실 질적인 SOAP 메시지를 포함한다  SOAP Body element 는 최종 endpoint 를 위한 내용이다  SOAP Body element 의 하위 Element 는 namespace-qualified Element 일 수 있다  SOAP 기본 namespace 를 갖는 Body element 에서는 하나의 Element 를 정의한다 (" 24 The SOAP Body Element I

The SOAP Body Element II <soap:Envelope xmlns:soap=" “ soap:encodingStyle=" Apples

The SOAP Body Element III 위의 예제는 사과 가격을 요청하는 예제이 다 m:GetPrice 와 Item element 는 application- specific element 이다 이런 Element 는 SOAP standard 는 아니다

The SOAP Body Element VI <soap:Envelope xmlns:soap=" “ soap:encodingStyle=" 1.90

The SOAP Fault Element I SOAP message 에서의 오류 메시지는 Fault element 에 포함된다 Fault element 가 존재한다면, Body element 의 하위 Element 로 나타난다 Fault element 는 SOAP message 에서 한번 만 나타난다

The SOAP Fault Element II Fault element 의 하위 Element Sub ElementDescription 오류를 식별할 수 있는 코드 사람이 해독 가능한 오류에 대한 설명 오류를 발생시킨 SOAP 노드를 나타낸다 Body element 와 관련되는 자세한 오류 정보

SOAP Fault Codes The faultcode values defined below must be used in the faultcode element when describing faults ErrorDescription VersionMismatchFound an invalid namespace for the SOAP Envelope element MustUnderstandAn immediate child element of the Header element, with the mustUnderstand attribute set to "1", was not understood ClientThe message was incorrectly formed or contained incorrect information ServerThere was a problem with the server so the message could not proceed

6. Summary 1. SOAP 은 인터넷에서 메시지를 교환하기 위한 경량의 프로토 콜이다 2. SOAP 은 인터넷 상에서 쉽게 구현할 수 있다 호환성이 있다 3. 장점 & 단점 4. SOAP 메시지 교환 모델 5. SOAP 메시지 구조