Part I. JEUS 6 웹 서비스

JEUS 6 웹 서비스는 JavaEE 5의 웹 서비스 표준인 JAX-WS 웹 서비스를 지원한다. JAX-WS 웹 서비스의 가장 중요한 특징은 설정 파일들 없이 자유롭게 구현할 수 있는 포조(POJO) 스타일의 웹 서비스 구현이다. 이러한 포조 스타일의 웹 서비스 구현은 JavaSE 5의 Annotation의 기능에 힘입어 가능하게 되었다.

이 파트에서는 JAX-WS 웹 서비스를 구현하고 JEUS에서 구동 시키는 방법, JAX-WS 웹 서비스를 호출하는 클라이언트의 작성 방법, 바인딩의 사용자화 선언, 핸들러, 메시지를 XML 수준으로 다루는 방법, 비동기, MIME 부착물로 좀 더 효율적으로 메시지를 전송하는 방법, 보다 빠른 웹 서비스의 구현에 대해 알아보며 마지막으로 상호 운용성을 위한 웹 서비스, UDDI, JAXR 그리고 XML을 다루는 다양한 방법들에 대해 알아본다.

앞으로 나오는 여러 장들을 통해 이러한 JAX-WS 웹 서비스를 JEUS 6 웹 서비스가 어떻게 지원하고 있는지 자세하게 알아볼 것이다.

내용 목차

3. JEUS 웹 서비스 구현
3.1. 개요
3.2. Java 클래스 웹 서비스의 구현
3.3. EJB 웹 서비스의 구현
3.4. WSDL로부터 웹 서비스 구현
4. 웹 서비스 생성과 배치
4.1. 개요
4.2. Java 클래스 웹 서비스 생성과 배치
4.3. EJB 웹 서비스 생성과 배치
4.4. WSDL 웹 서비스 생성과 배치
4.5. Endpoint 주소 결정 방식
4.5.1. 서블릿 Endpoint
4.5.2. EJB Endpoint
5. 웹 서비스 호출
5.1. 개요
5.2. 동적 프록시 방식의 웹 서비스 호출
5.2.1. 클라이언트 아티팩트 생성
5.2.2. JavaSE 클라이언트 방식
5.2.3. JavaEE 클라이언트 방식
5.3. 디스패치 방식의 웹 서비스 호출
6. WSDL 문서에서 Java 클래스로 표준 바인딩 선언과 사용자화
6.1. 개요
6.2. 표준 바인딩 선언하기
6.2.1. 외부 문서(파일)에서 직접 선언
6.2.2. WSDL 문서 내에서 직접 선언
6.3. 표준 바인딩의 사용자화
6.3.1. 전체적인 바인딩
6.3.2. 패키지명의 사용자화
6.3.3. Wrapped 스타일
6.3.4. 비동기화
6.3.5. 프로바이더 인터페이스
6.3.6. 클래스명의 사용자화
6.3.7. Java 메소드의 사용자화
6.3.8. Java 파라미터의 사용자화
6.3.9. XML 스키마의 사용자화
6.3.10. 핸들러 체인의 사용자화
7. 핸들러 프레임워크
7.1. 개요
7.2. 핸들러 체인의 우선순위
7.3. 핸들러 클래스 구성
7.3.1. 핸들러 클래스의 선언
7.4. 핸들러 클래스 설정
7.4.1. Java 클래스로부터 웹 서비스 구성
7.4.2. WSDL로부터 웹 서비스 구성
7.4.3. 클라이언트의 구성
7.5. 핸들러 체인을 사용하는 웹 서비스의 예제
7.6. 웹 서비스의 핸들러 프레임워크 실행
8. 프로바이더와 디스패치 인터페이스
8.1. 개요
8.2. 서비스 Endpoint 프로바이더 인터페이스
8.2.1. 프로바이더 인터페이스
8.2.2. 프로바이더 인터페이스 예제
8.2.3. 프로바이더 인터페이스 예제 실행
8.3. 클라이언트 디스패치 인터페이스
8.3.1. 디스패치 인터페이스
8.3.2. 디스패치 인터페이스 예제
8.3.3. 디스패치 예제 실행
8.4. XML/HTTP 바인딩
8.4.1. RESTful 웹 서비스
8.4.2. RESTful 웹 서비스 예제
8.4.3. RESTful 웹 서비스 예제 실행
9. 비동기 웹 서비스
9.1. 클라이언트 비동기 오퍼레이션
9.1.1. 비동기 메소드를 가진 서비스 Endpoint 인터페이스 Stub을 이용 방법
9.1.2. 디스패치 인터페이스 이용하는 방법
9.2. 비동기 프로바이더(Provider)
9.2.1. 비동기 프로바이더 사용 예제
9.2.2. 비동기 프로바이더 실행
10. MIME Attachment 메시지 전송
10.1. 개요
10.2. MTOM/XOP
10.2.1. MTOM 사용
10.2.2. Attachment 바이너리 데이터 크기 설정
10.2.3. MTOM/XOP 예제
10.2.4. MTOM/XOP 예제 실행
10.3. swaRef
10.3.1. swaRef 사용
10.3.2. swaRef 예제
10.3.3. swaRef 예제 실행
10.4. 스트리밍 방식으로 첨부 파일을 처리하는 방법
11. Fast Infoset 이용한 웹 서비스의 응용
11.1. 개요
11.1.1. Fast Infoset의 설계
11.1.2. 장점
11.2. Fast Infoset 사용
11.2.1. Content Negotiation
11.3. Fast Infoset 예제
11.3.1. 클라이언트 애플리케이션
11.3.2. 서버 사이드
11.4. Fast Infoset 웹 서비스 실행
12. JAX-WS JMS Transport
12.1. 개요
12.2. JAX-WS JMS 기반 전송 사용
12.2.1. JMS 서버 설정
12.2.2. JAX-WS JMS 기반 전송을 사용하는 웹 서비스 작성
12.2.3. WSDL에 JAX-WS JMS 기반 전송을 위한 wsdl:port 설정
12.2.4. JAX-WS JMS 기반 전송을 사용하는 웹 서비스 클라이언트 작성
13. 웹 서비스 정책
13.1. 개요
13.2. 웹 서비스의 정책(WS-Policy)
13.2.1. 웹 서비스 정책 프레임워크(Framework)
13.3. 웹 서비스 정책 설정 시나리오
13.3.1. 서버 사이드
13.3.2. 클라이언트 사이드
14. 웹 서비스 Addressing
14.1. 개요
14.2. 웹 서비스 Addressing 설정
14.2.1. 서버 설정
14.2.2. 클라이언트 설정
14.3. 웹 서비스 Addressing 예제
14.4. 웹 서비스 Addressing 예제 실행
15. 신뢰성 메시징 기술
15.1. 개요
15.2. WS-Reliable Messaging 설정
15.2.1. 서버 사이드
15.2.2. 클라이언트 사이드
15.3. WS-Reliable Messaging 예제
15.4. WS-Reliable Messaging 예제 실행
16. 웹 서비스 보안
16.1. 개요
16.2. 전송 수준 보안
16.2.1. 서버의 SSL 설정
16.2.2. 클라이언트 응용 프로그램의 SSL 설정
16.3. 메시지 수준 보안
16.3.1. 웹 서비스 보안 정책
16.3.2. 웹 서비스 보안
16.3.3. 웹 서비스 보안 대화
16.3.4. 웹 서비스 신뢰
16.4. 메시지 수준 보안 설정
16.4.1. 공통 설정
16.4.2. 사용자명 인증을 통한 대칭 바인딩의 인증 기능 강화
16.4.3. 상호 인증 보안(Mutual Certificates Security)
16.4.4. SSL을 통한 SAML 인증
16.4.5. 보안 대화(Secure Conversation)
16.4.6. 웹 서비스 신뢰(WS-Trust)
16.4.7. 실행
16.5. JAX-RPC(JEUS 5) 웹 서비스 보안 이전 방법
16.5.1. 암호화(Ecryption)
16.5.2. 서명(Signature)
16.5.3. Timestamp
16.5.4. 사용자명 토큰(Username Token)
16.6. 접근 제어 설정된 웹 서비스 호출 방법
16.6.1. 접근 제어가 설정된 웹 서비스의 클라이언트를 위한 Portable Artifact의 생성
16.6.2. 접근 제어가 설정된 웹 서비스의 클라이언트 작성
17. UDDI 이용
17.1. 개요
17.1.1. UDDI 이용
17.2. JEUS에서 UDDI Server 운영
17.2.1. UDDI DataStore 생성
17.2.2. UDDI 서버 Deploying
17.2.3. UDDI 서버 구성 설정
17.2.4. 새로운 user 추가
17.2.5. UDDI 서버 실행
17.3. JEUS 서버에서의 UDDI Explorer 사용
17.3.1. UDDI 레지스트리 Querying
17.3.2. UDDI 레지스트리에 대한 Publish
17.3.3. JEUS UDDI Explorer 설정
17.4. UDDI 클라이언트 생성
17.4.1. UDDI 클라이언트 작성
17.4.2. UDDI 클라이언트 컴파일
17.4.3. UDDI 클라이언트 실행
17.5. XML 디지털 서명 사용법
17.5.1. 디지털 서명(Digital Signature)
17.5.2. UDDI 클라이언트 XML 서명 생성 방법
17.5.3. UDDI 클라이언트 XML 서명 검증
17.6. UDDI subscription 사용법
17.6.1. UDDI subscription
17.6.2. UDDI subscription 생성 방법
17.6.3. UDDI subscription 예제
17.6.4. UDDI subscription 클라이언트 프로그래밍
17.6.5. 이메일 공지를 받기 위한 UDDI 서버 설정
17.7. UDDI WSDL 퍼블리싱 사용법
17.7.1. UDDI WSDL 퍼블리싱
17.7.2. wsdl2uddi 사용
18. JavaEE 환경에서 JAXR Connection을 얻는 방법
18.1. 개요
18.2. JEUS 서버에 JAXR Resource를 등록하는 방법
18.3. JavaEE JAXR 클라이언트가 JNDI를 사용하는 방법
19. JEUS 웹 서비스 XML
19.1. 개요
19.2. JAXB(XML 바인딩을 위한 Java 아키텍쳐)
19.2.1. 바인딩 컴파일러(XJC) 관련 프로그래밍 기법
19.2.2. 스키마 생성기(Schemagen) 관련 프로그래밍 기법
19.3. JAXP(XML을 다루기 위한 Java 표준 API)
19.3.1. StAX(Java 스트리밍 XML 파서)