본 안내서는 기본적인 웹 서비스의 개념과 Java EE 플랫폼에서 프로그래밍이 가능한 개발자라면 웹 서비스를 모르는 상태에서도 웹 서비스 생성이 가능하게 하기 위한 안내서이다. JEUS 웹 컨테이너 및 JEUS EJB 컨테이너에서 웹 서비스 애플리케이션을 개발, 배치 그리고 유지 보수하는 개발자들을 대상으로 하며 반드시 읽어볼 것을 권장한다.
본 안내서를 원활하게 이해하기 위해서는 다음과 같은 사항을 미리 알고 있어야 한다.
서블릿 개발과 패키징에 대한 기본적인 이해
서블릿 관련 지식은 스펙(http://www.oracle.com/technetwork/java/index.html)이나 관련도서를 참조한다.
EJB 개념에 관한 기본적인 이해
XML, SOAP 프로토콜 그리고 WSDL의 개념에 관한 이해
본 안내서에서는 서블릿 또는 EJB 기술처럼 기본적인 Java EE에 대한 자세한 설명과 Java EE EJB 스펙에 대한 내용은 설명하지 않는다. 그와 관련된 내용은 관련 안내서를 참조한다.
소스 코드와 관련된 XML 파일들은 JEUS를 설치한 후에 samples 디렉터리에 위치한다.
본 안내서는 총 26개의 장으로 구성되어 있다.
웹 서비스의 기본 개념에 대해 설명한다.
JEUS에서 지원하는 웹 서비스의 개념과 지원 방식 및 설계 지침에 대해 설명한다.
웹 서비스를 구현하는 여러 가지 방식에 대해 설명한다.
Java 클래스와 EJB를 Endpoint로 가지는 웹 서비스의 생성과 배치 방법에 대해 설명한다.
웹 서비스를 호출하기 위한 여러 가지 클라이언트 작성과 호출 방법에 대해 설명한다.
WSDL 바인딩의 사용자화 선언에 대해 설명한다.
웹 서비스의 핸들러 프레임워크를 설명한다.
메시지를 XML 메시지 수준으로 다루는 것에 대해 설명한다.
비동기 웹 서비스에 대해 설명한다.
MIME 메시지를 이용하여 웹 서비스의 바이너리 데이터를 효과적으로 다루기 위한 방법을 설명한다.
Fast Infoset을 사용하는 웹 서비스에 대해 설명한다.
JMS 기반 전송을 사용하는 웹 서비스에 대해 설명한다.
웹 서비스에서 정책 기능을 설정하고 운용하는 방법에 대해 설명한다.
웹 서비스에서 Addressing 기능을 설정하고 운용하는 방법에 대해 설명한다.
신뢰성(reliable) 있는 웹 서비스에 대해 설명한다.
웹 트랜잭션에 대해 설명한다.
JAX-WS 웹 서비스의 보안 설정에 대해 설명한다.
UDDI 개요와 운영 및 사용 방법에 대해 설명한다.
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 중 하나 |
… | 파라미터 등이 반복되어서 나옴 |
본 안내서의 모든 예제와 환경 구성은 UNIX의 스타일에 준하여 작성되어 Microsoft Windows™(이하 Windows)와 같이 다른 환경에서 작업하는 경우 몇 가지 사항을 고려해야 한다.
예를 들어 경로 구분자의 경우 UNIX 스타일인 “/”를 Windows 스타일인 “\”로 바꿔서 사용한다. 또한 환경변수도 Windows 스타일로 변경해서 사용하면 된다.
문서의 내용은 Java 표준을 고려해서 작성했기 때문에 대부분의 내용은 동일하게 적용된다.
안내서 | 설명 |
---|---|
JEUS Server 안내서 | JEUS 시스템과 서버의 개요와 시스템 관리를 위한 안내서이다. |
JEUS Web Engine 안내서 | JEUS 웹 엔진의 관리에 대해 내용과 Java EE WAR Archive, 서블릿/JSP의 관리 및 deploy하는 방법에 대해 기술한 안내서이다. |
JEUS EJB 안내서 | JEUS EJB 엔진과 EJB 모듈의 Deploy에 대해 기술한 안내서이다. |
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.2 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
웹 서비스 Endpoint에서 사용할 수 있는 JEUS Web Service Annotations는 다음과 같다.
Service Scope
@jeus.webservices.jaxws.api.ApplicationScope
배치(deployment)된 웹 서비스 Endpoint는 하나 의 인스턴스를 갖는다. 이 값은 기본값이다.
@jeus.webservices.jaxws.api.SessionScope
각각의 HTTPSession은 하나의 웹 서비스 Endpoint 인스턴스를 생성한다. 각각 다른 인스턴스를 갖는다. HTTP 전송을 사용할 경우에만 사용할 수 있다.
@jeus.webservices.jaxws.api.RequestScope
요청(request) 메시지가 들어올 때마다 새로운 웹 서비스 Endpoint 인스턴스를 생성한다.
Transport
@jeus.webservices.jaxws.api.JMSWebService
JMS 기반 전송이 가능한 웹 서비스 Endpoint가 된다.
웹 서비스 클라이언트에서 사용할 수 있는 JEUS Web Service Feature는 다음과 같다.
jeus.webservices.jaxws.api.LocalTransportFeature
클라이언트의 웹 서비스 Port가 Local 전송을 사용하여 웹 서비스 Endpoint와 통신한다. 웹 서비스 클라이언트와 Endpoint가 동일한 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
5, Hwangsaeul-ro 329beon-gil, 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
TmaxSoft Brazil
Avenida Copacabana, 177 - 3 andar 18 do Forte Empresarial,
Alphaville - Barueri, Sao Paulo, SP-Brasil CEP 06472-001
Brazil
Tel: +86-10-6410-6145~8
Fax: +86-10-6410-6144
Email: contato.brasil@tmaxsoft.com
Tmax Russia L.L.C.
Grand Setun Plaza, No A204 Gorbunova st.2,
Moscow, 121596
Russia
Tel: +7(495)970-01-35
Email: info.rus@tmaxsoft.com
Web(Russian): http://ru.tmaxsoft.com
Tmax Singapore Pte. Ltd.
430 Lorong 6, Toa Payoh 10-02,
OrangeTee Building, 319402
Singapore
Tel: +65-6259-7223
Email: info.sg@tmaxsoft.com
Web(English): http://www.tmaxsoft.com
TmaxSoft UK Ltd.
Surrey House, Suite 221, 34 Eden Street,
Kingston-Upon-Thames, KT1 1ER
United Kingdom
Tel: + 44-(0)20-8481-3776
Email: info.uk@tmaxsoft.com
Web(English): http://www.tmaxsoft.com