Part I. JEUS 8 웹 서비스

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

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

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

내용 목차

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. Client Artifact 생성
5.2.2. Java SE 클라이언트 방식
5.2.3. Java EE 클라이언트 방식
5.3. 디스패치 방식의 웹 서비스 호출
6. 표준 바인딩 선언 및 사용자화
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.2. 클라이언트 비동기 오퍼레이션
9.2.1. 비동기 메소드를 가진 SEI Stub 이용 방법
9.2.2. 디스패치 인터페이스 이용하는 방법
9.3. 비동기 웹 서비스
9.3.1. 비동기 웹 서비스 설정
10. MIME Attachment 메시지 전송
10.1. 개요
10.2. MTOM/XOP
10.2.1. 기본 동작
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.2. Fast Infoset 사용
11.2.1. Content Negotiation
11.3. Fast Infoset 예제
11.4. Fast Infoset 웹 서비스 실행
12. JAX-WS JMS 기반 전송
12.1. 개요
12.2. JAX-WS JMS 기반 전송 설정
12.2.1. JMS 서버 설정
12.2.2. 웹 서비스 작성
12.2.3. WSDL 설정
12.2.4. 웹 서비스 클라이언트 작성
13. 웹 서비스 정책
13.1. 개요
13.2. 웹 서비스의 정책(WS-Policy)
13.3. 서버 정책 설정
13.3.1. WSDL로부터 웹 서비스 구성
13.3.2. Java 클래스로부터 웹 서비스 구성
13.4. 클라이언트의 정책 설정
14. 웹 서비스 Addressing
14.1. 개요
14.2. 서버 설정
14.2.1. Java 클래스로부터 설정
14.2.2. WSDL로부터 설정
14.3. 클라이언트 설정
14.4. 예제
14.5. 예제 실행
15. 신뢰성 메시징 기술
15.1. 개요
15.2. 서버 설정
15.2.1. WSDL로부터 설정
15.2.2. Java 클래스로부터 설정
15.3. 클라이언트 설정
15.4. 예제
15.5. 예제 실행
16. 웹 서비스 트랜잭션
16.1. 개요
16.2. 서버 설정
16.2.1. WSDL로부터 설정
16.2.2. Java 클래스로부터 설정
16.3. 클라이언트 설정
16.4. 코디네이터 서비스
16.5. 웹 서비스 트랜잭션 예제
17. 웹 서비스 보안
17.1. 개요
17.2. 전송 수준 보안
17.3. 메시지 수준 보안
17.3.1. 웹 서비스 보안 정책
17.3.2. 웹 서비스 보안
17.3.3. 웹 서비스 보안 대화
17.3.4. 웹 서비스 신뢰
17.4. 메시지 수준 보안 설정
17.4.1. 공통 설정
17.4.2. 사용자명 인증을 통한 대칭 바인딩의 인증 기능 강화
17.4.3. 상호 인증 보안(Mutual Certificates Security)
17.4.4. SSL을 통한 SAML 인증
17.4.5. 보안 대화(Secure Conversation)
17.4.6. 웹 서비스 신뢰(WS-Trust)
17.4.7. 실행
17.5. JAX-RPC(JEUS 5) 웹 서비스 보안 이전 방법
17.5.1. 암호화(Encryption)
17.5.2. 서명(Signature)
17.5.3. Timestamp
17.5.4. 사용자명 토큰(Username Token)
17.6. 접근 제어 설정된 웹 서비스 호출 방법
17.6.1. Portable Artifact의 생성
17.6.2. 웹 서비스의 클라이언트 작성
18. Server-Sent Event
18.1. 개요
18.2. JAX-RS 리소스에서 Server-Sent Events(SSE) 지원
18.2.1. 간단한 SSE 리소스 메소드
18.3. JAX-RS 클라이언트에서 SSE 이벤트 처리
18.3.1. EventInput를 사용하여 SSE 이벤트 읽기
18.3.2. EventSource를 사용하여 비동기 SSE 처리
19. UDDI 이용
19.1. 개요
19.1.1. UDDI 이용
19.2. JEUS에서 UDDI 서버 운영
19.2.1. UDDI DataStore 생성
19.2.2. UDDI 서버 Deploying
19.2.3. UDDI 서버 구성 설정
19.2.4. 새로운 사용자 추가
19.2.5. UDDI 서버 실행
19.3. JEUS 서버에서의 UDDI Explorer 사용
19.3.1. UDDI 레지스트리 Querying
19.3.2. UDDI 레지스트리에 대한 Publish
19.3.3. JEUS UDDI Explorer 설정
19.4. UDDI 클라이언트 생성
19.4.1. UDDI 클라이언트 작성
19.4.2. UDDI 클라이언트 컴파일
19.4.3. UDDI 클라이언트 실행
19.5. XML 디지털 서명 사용법
19.5.1. 디지털 서명(Digital Signature)
19.5.2. UDDI 클라이언트 XML 서명 생성 방법
19.5.3. UDDI 클라이언트 XML 서명 검증
19.6. UDDI subscription 사용법
19.6.1. 기본 개념
19.6.2. 생성 방법
19.6.3. UDDI subscription 예제
19.6.4. UDDI subscription 클라이언트 프로그래밍
19.6.5. 이메일 공지를 받기 위한 UDDI 서버 설정
19.7. UDDI WSDL Publishing 사용법
19.7.1. UDDI WSDL Publishing
19.7.2. wsdl2uddi 사용
20. JEUS 웹 서비스 XML
20.1. 개요
20.2. JAXB(XML 바인딩을 위한 Java 아키텍처)
20.2.1. 바인딩 컴파일러(XJC) 관련 프로그래밍 기법
20.2.2. 스키마 생성기(Schemagen) 관련 프로그래밍 기법
20.3. JAXP(XML을 다루기 위한 Java 표준 API)
20.3.1. StAX(Java 스트리밍 XML 파서)