170 likes | 518 Views
자바 개발자를 위한 XML. JAXP, WEB Service, SOAP 김만수. CHAPTHER 11-17. JAXP(Java API for XML Processing) 웹 서비스와 SOAP. 1. JAXP(Java API for XML Processing). JAXP 소개 XML 파서에 무관하게 XML 문서를 파싱 , 변환할 수 있는 방법을 제공 J2SDK 1.4 에 포함 J2SDK 1.4 이전 버전 http://java.sun.com/xml/jaxp 에서 JAXP 다운로드
E N D
자바 개발자를 위한 XML JAXP, WEB Service, SOAP 김만수
CHAPTHER 11-17 • JAXP(Java API for XML Processing) • 웹 서비스와 SOAP
1. JAXP(Java API for XML Processing) • JAXP 소개 • XML 파서에 무관하게 XML 문서를 파싱, 변환할 수 있는 방법을 제공 • J2SDK 1.4에 포함 • J2SDK 1.4 이전 버전 • http://java.sun.com/xml/jaxp에서 JAXP 다운로드 • JAXP Package 구성
1. JAXP(Java API for XML Processing) • JAXP 소개 JAXP Package를 Import 파서를 생성
1. JAXP(Java API for XML Processing) • JAXP를 이용한 XSLT • 표준화된 API를 이용해서 XML 문서를 변환 • XSLT에 관련된 Package
2. 웹 서비스와 SOAP • 순서 • 웹 서비스 소개 • SOAP(Simple Object Access Protocol) 소개 • Axis(Apache Extensible Interaction System) 사용 • JAXML(Java API for XML Messaging) • JAXP-RPC(Java API for XML-based RPC)
2.1 WEB Service의 소개 • WEB의 일상생활화 • 메일, 게시판, 상품 구입, 예약, 은행 업무 등을 처리 • WEB Application • 웹을 이용해서 데이터를 처리하는 프로그램 • 웹 기반 응용프로그램이 시장을 주도 • 웹이 컴퓨터에서 매우 중요한 분야 • 웹 기술의 지속적인 발전 • 사용자들의 다양한 요구가 반영
2.1 WEB Service의 소개 • WEB의 발전 특징 • WEB 컨텐츠가 동적인 형태로 발전 • 빠른 인터넷 통신, 대용량의 저장 매체, 저렴한 인터넷 비용 • Pervasive Computing이 점차 중요 • 네트워크 기능이 있는 핸드폰, PDA, 가전제품 등 • 널리 퍼져 있고, 일상에서 쉽게 접근 가능 • 일반적으로 이동성이 있고 생활환경에 포함 • 네트워크 구조에 연결 • Pervasive Computing의 발전 • 다양한 플랫폼 기기들의 연동 • XML과 같은 플랫폼 독립적인 기술의 중요성이 높아짐
2.1 WEB Service의 소개 • Pervasive Computing Any Device Any Network Any Data
2.1 WEB Service의 소개 • WEB Service • WEB 기술과 XML을 이용한 분산 컴퓨팅 기술 • CORBA, RMI, DCOM과 같은 기존 기술들을 대신하여 사용 • WEB 접근이 보다 쉽다 • 어느 곳에서도 사용이 가능 • MS와 IBM이 주도적으로 개발 • IBM사의 WEB Service의 정의 • “웹 서비스는 표준화된 XML 메시징을 통해서 네트워크로 접근할 수 있는 오퍼레이션들을 기술할 수 있는 인터페이스이다. 웹 서비스는 특정 작업을 수행할 수 있다.” • MS사의 WEB Service의 정의 • “웹 서비스는 다른 응용프로그램에 서비스와 데이터를 제공하는 프로그램 로직의 일부분이다. 응용프로그램은 HTTP, XML, SOAP과 같이 어디서든지 사용할 수 있는 웹 프로토콜과 데이터 포맷을 이용해서 웹 서비스를 접근할 수 있다.”
2.1 WEB Service의 소개 • WEB Service의 장점 • 플랫폼/언어 독립성 • 서비스 제공자와 서비스 요청자 사이의 상호 작용은 완전히 언어와 플랫폼에 무관 • WSDL 문서에 서비스에 대한 기술과 인터페이스를 정의 • JIT(Just-in-time) 통합 • 서비스 요청자는 서비스 제공자를 찾기 위해서 서비스 브로커를 이용 • 제공자를 찾으면 제공자의 WSDL 문서가 요청자의 서비스를 bind하기 위해 사용 • 요청자, 제공자, 브로커가 시스템을 구성하기 위해 협동 ServiceBroker Find Publish ServiceRequester ServiceProvider Bind
2.1 WEB Service의 소개 • WEB Service 중요 구성요소 • 서비스 제공자(Service Provider) • 웹 서비스를 위한 코드를 구현 • 구현된 서비스를 웹에 배치(deploy) • 서비스에 관한 사항들을 WSDL을 이용해서 기술 • 서비스 브러커에서 WSDL로 기술된 서비스 내용을 공표 • 서비스 요청자(Service Requester) • API를 이용해서 서비스 브로커에 필요한 서비스에 대한 질의 • 서비스 브로커가 결과를 리턴 • 특정한 서비스에 연결
2.1 WEB Service의 소개 • WEB Service Layer 서비스 공표 및 찾기(UDDI : Universal Description, Discovery and Integration) 서비스 기술 (WSDL : WEB Service Description Language) • SOAP이 선택된 이유 • SOAP은 문서 중심 메시지 통신과 원격 함수 호출을 위한 표준화된 방법을 제공 • XML과 HTTP POST를 사용하기 때문에 간단 • SOAP 메시지는 웹 서비스의 publish, find, bind 오퍼레이션을 지원 XML Messaging (SOAP : Simple Object Access Protocol) 네트워크 (HTTP, SMTP, …)
2.2 SOAP(Simple Object Access Protocol) • SOAP • 분산 환경에서 구조적이고 타입이 있는 정보를 XML을 이용해서 교환하기 위한 프로토콜 • MS에서 처음으로 제안 • W3C에서 1.1이 표준, 현재 1.2가 표준화 진행 중 • 기존의 분산 환경에서의 원격 함수 호출 방법 • CORBA의 IIOP(Internet Inter-ORB Protocol) • DCOM의 ORPC(Object Remote Procedure Call) • 문제점 • 바이너리 형태 • 플랫폼이 다양한 인터넷 환경에서는 적당하지 않음 • 통신 프로토콜간의 호환성이 결여 • CORBA-DCOM Bridge • 복잡하고, 호환성에 문제
2.2 SOAP(Simple Object Access Protocol) • SOAP의 장점 • XML을 이용한 원격 함수 호출 프로토콜 • 텍스트 기반의 프로토콜 • 구현이 쉬움 • 사람이 읽을 수 있는 형태의 요청이기 때문에 디버깅 쉬움 • 호환성이 높기 때문에 널리 사용될 수 있음 • SOAP 실행 환경 • HTTP 프로토콜 상위에서 동작 • HTTP 프로토콜은 모든 플랫폼의 웹 서버와 웹 브라우저에서 지원 • PDA와 핸드폰 등의 소형 가전 제품에서 사용 가능 • http://www.w3.org/TR/SOAP
2.2 SOAP(Simple Object Access Protocol) • WEB 서비스에서 SOAP의 사용 용도 두 가지 • EDI (Electronic Data Interchange) • 전자 문서를 교환 • 물품 주문서, 세금 계산서 등을 SOAP을 이용해서 전달 • SUN에서는 JAXM(Java API for Messaging) 제공 • RPC(Remote Procedure Call) • 원격 함수를 호출 • SOAP을 통해서 전달되는 내용 • 호출할 메쏘드의 이름 • 매개 변수 • 리턴 값 • RPC 스타일 SOAP을 위해 SUN에서는 JAX-RPC 제공
2.2 SOAP(Simple Object Access Protocol) • SOAP 메시지 전달 Service Requestor Service Provider Application Application WEB Service 1 4 3 2 SOAP SOAP Network Protocol Network Protocol Response Request(Service Invocation)