[원본 출처] http://cxf.apache.org/docs/how-do-i-integrate-my-application-with-cxf.html
CXF provides a broad variety of touch points which your application can take advantage of. This guide should give you an overview of some of the features and options at your disposal.
CXF 는 어플리케이션이 활용할수 있는 넓은 터치 포인트의 다양성을 제공한다. 이 가이드는 당신에게 기능의 몇몇 개요와 처리 옵션을 줄 것이다.
Transports
CXF works with many different transports. Currently CXF includes support for HTTP, JMS, and Local (that is, "in-JVM") transports. The local transport is unique in that it will not work across machines, but simply sends messages in memory. You can also configure the local transport to avoid serialization by using the Object binding or the colocation feature if desired. You can also write your own transport.
CXF 는 많은 transports로 동작한다. 현재 CXF는 HTTP, JMS, 과 Local (that is, "in-JVM") transports를 지원 하는 것을 포함한다. local transport는 머신간에 동작하지 않지만 단순히 메모리에 메시지를 보내는 것이 유일하다. 당신은 또한 Object 바인딩과 당신이 희망하는 colocation 기능을 사용하게 됨으로써 직렬화를 피하기 위해 local transport를 환경 구성할 수 있다. 당신은 또한 자체의 transport으로 쓸 수 있다.
Bindings (바인딩)
Bindings map a particular service's messages to a particular protocol. CXF includes support for several different bindings. The SOAP binding, which is the default, maps messages to SOAP and can be used with the various WS-* modules inside CXF. The Pure XML binding avoids serialization of a SOAP envelope and just sends a raw XML message. There is also an HTTP binding which maps a service to HTTP using RESTful semantics.
바인딩은 특별한 프로토콜에 틀별한 서비스의 메시지를 맵핑한다. CXF는 몇몇 다른 바인딩을 지원하는 것을 포함한다. 기본적인 SOAP 바인딩은 SOAP에 메시지를 매핑하고 CXF 내에서 다양한 WS-* 모듈이 사용 될 수 있다. 순수 XML 바인딩은 SOAP envelop의 직렬화를 피하고 단지 원시 XML 메시지를 보낸다. 또한 RESTful 문법(의미론)을 사용하여 HTTP에 서비스를 맵핑하는 HTTP binding 이 있다.
Message Interception and Modification
(메시지 통합과 수정)
Many times you may want to provide functionality for your application that works at a low level with XML messages. This commonly occurs through functionality referred to as Handlers or Interceptors. Handlers/Interceptors are useful for:
많은 시간 당신은 XML 메시지로 로우레벨에서 동작하는 어플리케이션을 위해 기능들을 제공하는 것을 원한다. 이것은 일반적으로 Handlers 나 Interceptors에 참조된 기능을 통해서 발생한다.
- Performing authentication based on Headers
헤더에 기반한 인증을 수행하기 - Processing custom headers
사용자정의 헤더 처리하기 - Transforming a message (i.e. via XSLT or GZip)
메시지 변환하기(즉 XSLT 또는 GZip을 통해) - Redirecting a message
메시지 리다이렉션하기 - Getting access to the raw I/O or XML stream
원시 I/O 또는 XML stream에 접근하기
JAX-WS Handlers (JAX-WS 핸들러)
If you are using the JAX-WS frontend, JAX-WS supports the concept of logical and protocol handlers. Protocol handlers allow you to manipulate the message in its raw, often XML-based, form - i.e. a SAAJ SOAPMessage. Logical handlers allow you to manipulate the message after its already been bound from the protocol to the JAXB object that your service will receive. See this article to learn more about JAX-WS handlers.
만약 당신이 JAX-WS frontend를 사용한다면 JAX-WS는 로컬 또는 프로토콜 핸들러의 개념을 지원한다. 프로코콜 핸들러는 당신이 그것의 가공되지 않는 메시지 종종 XML 기반 form 즉 SAAJ SOAPMessage를 다루는 것을 허용한다. 로컬 핸들러는 당신이 받게 될 서비스의 JAXB 오프젝트에 프로토콜로 부터 이미 바인드된 뒤에 메시지를 다루는 것을 허용한다.
Interceptors (인터셉터)
Interceptors provide access to all the features that CXF has to offer - allowing you to do just about anything, including manipulating the raw bytes or XML of the message.
Interceptors 는 가공되지 않는 Byte 또는 XML 메시지를 다루는 것을 포함하여 단지 무엇을 하는지를 허용하는 CXF가 제공하는 모든 기능에 접근 하는 것을 허용한다.
Transmitting Binary Data (바이너리 데이타 전송하기)
CXF provides facilities to transmit binary data efficiently via a standard called MTOM. Normally binary data inside an XML message must be Base64 encoded. This results in processing overhead and increases message size by 30%. If you use MTOM, CXF will send/receive MIME messages with the message stored as a MIME attachment, just like email. This results in much more efficient communication and allows you to transmit messages much larger than memory.
CXF 는 MTOM 이라는 표준을 통해서 능률적으로 바이너리 데이타를 전송하기 위한 설비를 제공한다. 보통 XML 메시지 안쪽에 바이너리 데이타는 Base64로 인코딩 되어야 한다. 처리 하는 결과는 과부화되고 30% 메시지 사이즈 증가한다. 만약 당신이 MTOM을 사용하면 CXF는 이메일 처럼 MIME 첨부로써 저장된 메시지로 MIME 메시지를 보내고 받게 될 것이다. 그것은 좀 더 많은 충분한 통신결과이고 메모리보다 더 큰 메시지를 전송하는 것을 허용한다.
WS-*
CXF provides support for a variety of WS-* specifications.
CXF 는 WS-* 명세의 종류를 지원을 제공한다.
Invokers
Invokers allow you to customize how a particular method or backend service object is executed. This is particularly useful if your underlying service objects are not plain javabeans and instead need to be created or looked up via a custom factory.
Invokers 는 당신이 특별한 메서드 또는 백엔드 서비스 오프젝트를 실행하는 방법을 사용자정의 하는 것을 허용한다. 만약 당신이 제일 밑에 있는 서비스 오프벡트가 순수한 자바 빈즈 그리고 사용자정의 Factory를 통해 생성되거나 찾게 될 필요가 있는 대신으로써 이것은 특별히 유용하다.
'Apache CXF' 카테고리의 다른 글
CXF - How-Tos > 단순 JAX-WS 웹서비스 (0) | 2014.11.03 |
---|---|
CXF - How-Tos > 스프링으로 서비스 작성하기 (0) | 2014.11.03 |
CXF - Overview > 어떻게 클라이언트를 개발 하는가? (0) | 2014.11.03 |
CXF - Overview > 어떻게 웹서비스를 개발 하는가? (0) | 2014.11.03 |
CXF - Overview > Why CXF? (0) | 2014.11.03 |