본 안내서는 기본적인 웹 서비스의 개념과 JavaEE 플랫폼에서 프로그래밍이 가능한 개발자라면 웹 서비스를 모르는 상태에서도 웹 서비스 생성이 가능하게 하기 위한 안내서이다. JEUS 웹 컨테이너, JEUS EJB 컨테이너에서 웹 서비스 애플리케이션을 개발, 배치 그리고 유지 보수하는 개발자들을 대상으로 하며 반드시 읽어볼 것을 권장한다.
본 안내서를 원활하게 이해하기 위해서는 다음과 같은 사항을 미리 알고 있어야 한다.
Servlet 개발과 패키징에 대한 기본적인 이해
Servlet 관련 지식은 스펙(http://java.sun.com)이나 관련도서를 참조한다.
EJB 개념에 관한 기본적인 이해. 본 매뉴얼에서는 JavaEE EJB 스펙에 대한 언급이 거의 없다.
XML, SOAP 프로토콜 그리고 WSDL의 개념에 관한 이해
본 안내서에서는 Servlet 또는 EJB 기술처럼 기본적인 JavaEE에 대한 자세한 설명과 JavaEE EJB 스펙에 대한 내용은 설명하지 않는다. 그와 관련된 내용은 관련 안내서를 참조한다.
소스 코드와 관련된 XML 파일들은 JEUS를 설치한 후에 samples 디렉터리에 위치한다.
본 안내서는 총 26개의 장으로 구성되어 있다.
웹 서비스의 기본 개념을 설명한다.
JEUS에서 지원하는 웹 서비스의 개념과 지원 방식 및 설계 지침을 설명한다.
웹 서비스를 구현하는 여러 가지 방식에 대해 설명한다.
Java 클래스와 EJB를 Endpoint로 가지는 웹 서비스의 생성과 배치 방법에 대해 설명한다.
웹 서비스를 호출하기 위한 여러 가지 클라이언트 작성과 호출 방법에 대해 설명한다.
“제6장 WSDL 문서에서 Java 클래스로 표준 바인딩 선언과 사용자화”
WSDL 바인딩의 사용자화 선언에 대해 설명한다.
웹 서비스의 핸들러 프레임워크를 설명한다.
메시지를 XML 메시지 수준으로 다루는 것에 대해 설명한다.
비동기 웹 서비스에 대해 설명한다.
MIME 메시지를 이용하여 웹 서비스의 바이너리 데이터를 효과적으로 다루기 위한 방법을 설명한다.
“제11장 Fast Infoset 이용한 웹 서비스의 응용”
Fast Infoset을 사용하는 웹 서비스에 대해 설명한다.
JMS 트랜스포트를 사용하는 웹 서비스에 대해 설명한다.
웹 서비스에서 정책 기능을 설정하고 운용하는 방법에 대해 설명한다.
웹 서비스에서 Addressing 기능을 설정하고 운용하는 방법에 대해 설명한다.
신뢰성(reliable) 있는 웹 서비스에 대한 설명한다.
JAX-WS 웹 서비스의 보안 설정에 대해 설명한다.
UDDI 개요와 운영 및 사용에 대해 설명한다.
“제18장 JavaEE 환경에서 JAXR Connection을 얻는 방법”
JavaEE 환경에서 JAXR Connection을 얻는 방법을 설명한다.
JEUS 웹 서비스가 지원하고 있는 XML을 다루기 위한 여러 가지 방식에 대해 설명한다.
JAX-RPC 웹 서비스를 구현하는 여러 방식에 대해 설명한다.
Java 클래스와 EJB를 Endpoint로 가지는 JAX-RPC 웹 서비스의 생성과 배치 방법에 대해 설명한다.
JAX-RPC 웹 서비스를 호출하기 위한 여러 가지 클라이언트의 작성과 호출 방법에 대해 설명한다.
“제23장 JAX-RPC 웹 서비스의 SOAP 메시지 핸들러 생성”
JAX-RPC 웹 서비스의 메시지 핸들러와 SAAJ를 이용한 SOAP 메시지 처리에 대해 설명한다.
JAX-RPC 웹 서비스의 표준 웹 서비스 Deployment Descriptor와 JAX-RPC 매핑 파일의 작성 방법에 대해 설명한다.
JAX-RPC 스펙에 근거하여 데이터 타입에 관련된 향상된 웹 서비스 프로그래밍에 대해 설명한다.
JAX-RPC 웹 서비스의 보안 설정에 관련된 내용을 설명한다.
표기 | 의미 |
---|---|
<<AaBbCc123>> | 프로그램 소스 코드의 파일명 |
<Ctrl>+C | Ctrl과 C를 동시에 누름 |
[Button] | GUI의 버튼 또는 메뉴 이름 |
진하게 | 강조 |
" "(따옴표) | 다른 관련 안내서 또는 안내서 내의 다른 장 및 절 언급 |
'입력항목' | 화면 UI에서 입력 항목에 대한 설명 |
하이퍼링크 | 메일계정, 웹 사이트 |
> | 메뉴의 진행 순서 |
+---- | 하위 디렉터리 또는 파일 있음 |
|---- | 하위 디렉터리 또는 파일 없음 |
참고 | 참고 또는 주의사항 |
주의 | 주의할 사항 |
[그림 1.1] | 그림 이름 |
[표 1.1] | 표 이름 |
AaBbCc123 | Java 코드, XML 문서 |
[ command argument ] | 옵션 파라미터 |
< xyz > | ‘<’와 ‘>’ 사이의 내용이 실제 값으로 변경됨 |
| | 선택 사항. 예) A|B: A나 B 중 하나 |
… | 파라미터 등이 반복되어서 나옴 |
본 안내서는 모든 예제와 환경 구성을 Microsoft Windows™의 스타일을 따랐다. UNIX와 같은 다른 환경에서 작업하는 사람은 몇 가지 사항만 고려하면 별 무리없이 사용할 수 있다. 대표적인 것이 디렉터리 구분자인데, Windows 스타일인 “\”를 UNIX 스타일인 “/”로 바꿔서 사용하면 무리가 없다. 이외에 환경변수도 UNIX 스타일로 변경해서 사용하면 된다.
그러나 Java 표준을 고려해서 문서를 작성했기 때문에, 대부분의 내용은 동일하게 적용된다.
안내서 | 설명 |
---|---|
JEUS Server 안내서 | JEUS 시스템과 서버의 개요와 시스템 관리를 위한 안내서이다. |
JEUS Web Container 안내서 | JEUS 웹 컨테이너의 관리에 대해 내용과 Java EE WAR Archive, 서블릿/JSP의 관리 및 디플로이하는 방법에 대해 기술한 안내서이다. |
JEUS EJB 안내서 | JEUS EJB 엔진과 EJB 모듈의 디플로이에 대해 기술한 안내서이다. |
SOAP 1.1 Specification (http://www.w3.org/TR/soap11)
SOAP 1.2 Specification (http://www.w3.org/TR/soap12)
WSDL 1.1 Specification (http://www.w3.org/TR/wsdl)
UDDI 2.0 Specification (http://uddi.org/pubs/ProgrammersAPI_v2.htm, http://www.oasis-open.org/committees/uddi-spec/doc/tcspecs.htm#uddiv2 )
UDDI 3.0 Specification (http://uddi.org/pubs/uddi_v3.htm)
JAX-WS 2.0 Specification (http://jcp.org/en/jsr/detail?id=224)
JAX-RPC 1.1 Specification (http://jcp.org/en/jsr/detail?id=101)
SAAJ 1.2 Specification (http://jcp.org/en/jsr/detail?id=67)
SAAJ 1.3 Specification (http://jcp.org/en/jsr/detail?id=67)
JAXR 1.0 Specification (http://jcp.org/en/jsr/detail?id=93)
WS-I Basic Profile 1.0 (http://www.ws-i.org/Profiles/BasicProfile-1.0.html)
Servlet 2.4 Specification (http://jcp.org/en/jsr/detail?id=154)
Servlet 2.5 Specification (http://jcp.org/en/jsr/detail?id=154)
EJB 2.1 Specification (http://jcp.org/en/jsr/detail?id=153)
EJB 3.0 Specification (http://jcp.org/en/jsr/detail?id=220)
JEUS Web Service Annotations and Feauture
웹 서비스 엔드포인트에서 사용할 수 있는 JEUS Web Service Annotations은 다음과 같다.
Service Scope
@jeus.webservices.jaxws.api.ApplicationScope
배치(deployment)된 웹 서비스 엔드포인트는 하나의 인스턴스를 갖는다. 이 값은 기본값이다.
@jeus.webservices.jaxws.api.SessionScope
각각의 HTTPSession은 하나의 웹 서비스 엔드포인트 인스턴스를 생성한다. 각각 다른 인스턴스를 갖는다. HTTP 전송을 사용할 경우에만 사용할 수 있다.
@jeus.webservices.jaxws.api.RequestScope
요청(request) 메시지가 들어올 때 마다 새로운 웹 서비스 엔드포인트 인스턴스를 생성한다.
Transport
@jeus.webservices.jaxws.api.JMSWebService
JMS 기반 전송이 가능한 웹 서비스 엔드포인트가 된다.
웹 서비스 클라이언트에서 사용할 수 있는 JEUS Web Service Feature는 다음과 같다.
jeus.webservices.jaxws.api.LocalTransportFeature
클라이언트의 웹 서비스 Port가 Local 전송을 사용하여 웹 서비스 엔드포인트와 통신한다. 웹 서비스 클라이언트와 엔드포인트가 동일한 JVM에 존재할 때만 유효하다.
그 밖의 설정 및 API에 관련된 자세한 내용은 다음의 문서를 참고한다.
위치: JEUS_HOME\docs\reference-book\reference_wsdl2uddi.html
콘솔툴 xjc
위치: JEUS_HOME\docs\reference-book\reference_xjc.html
콘솔툴 schemagen
위치: JEUS_HOME\docs\reference-book\reference_schemagen.html
콘솔툴 tcpmon
위치: JEUS_HOME\docs\reference-book\reference_tcpmon.html
ANT Task
위치: JEUS_HOME\docs\reference-book\webservice_appendix_ant_task.html
XML Reference - jeus-webservices-config.xml
XML Reference - jeus-webservices-dd.xml
XML Reference - jeus-webservices-dd-client.xml
위치: JEUS_HOME\docs\reference\schema\index.html
TmaxSoft Co., Ltd
272-6, Seohyeon-dong, Bundang-gu,
Seongnam-si, Gyeonggi-do, 463-824
South Korea
Tel: +82-31-8018-1000
Fax: +82-31-8018-1115
Email: info@tmax.co.kr
Web (Korean): http://www.tmax.co.kr
기술지원: http://technet.tmaxsoft.com
TmaxSoft, Inc.
560 Sylvan Avenue Englewood Cliffs, NJ 07632
U.S.A
Tel: +1-201-567-8266
Fax: +1-201-567-7339
Email: info@tmaxsoft.com
Web (English): http://www.tmaxsoft.com
TmaxSoft Japan Co., Ltd.
5F Sanko Bldg, 3-12-16 Mita, Minato-Ku, Tokyo, 108-0073
Japan
Tel: +81-3-5765-2550
Fax: +81-3-5765-2567
Email: info@tmaxsoft.co.jp
Web (Japanese): http://www.tmaxsoft.co.jp
TmaxSoft China Co., Ltd.
Beijing Silver Tower, RM 1508, 2# North Rd Dong San Huan,
Chaoyang District, Beijing, China, 100027
China
Tel: +86-10-6410-6145~8
Fax: +86-10-6410-6144
Email: info.cn@tmaxsoft.com
Web (Chinese): http://www.tmaxsoft.com.cn