2010-01-27 4 views
0

우리는 라이브러리로 실행되는 동일한 기능이 풍부한 백엔드를 사용하는 여러 웹 사이트를 운영합니다. 백엔드는 여러 구성 요소로 구성되어 있으며 많은 구성 요소가 서로 공유됩니다. 이제 우리는 보안을 위해 무국적 규칙 실행 구성 요소를 다른 컨테이너로 분리해야합니다. 규칙 컴포넌트에서 모든 새로운 백엔드 객체에 액세스 할 수 있다면 (새로운 인터페이스와 객체/어댑터를 정의하는 것보다) 좋을 것입니다.Xstream/HTTP 서비스

전선을 통해 Java pojos (일부는 최대 절전 모드 bean) 전달을 완벽하게 지원하는 RPC 메커니즘을 사용하고 싶습니다. JAXB, Axis 등과 같은 웹 서비스는 각 객체에 대한 보일러 플레이트와 구성을 필요로합니다. 반면 자바 직렬화를 사용하는 사람들은 직관적 인 것처럼 보이지만 역방향/순방향 호환성 문제가 우려됩니다.

우리는 객체를 퍼시스턴스 저장소에 직렬화하고 지금까지 만족스럽게 사용하기 위해 Xstream을 사용하고 있습니다. 하지만 인기있는 rpc/webservice 프레임 워크 중 어느 것도 직렬화에 xstream을 사용하지 않는 것처럼 보입니다. xstream을 사용하고 내 사용자 지정 구현을 사용하여 HTTP를 통해 내 개체를 보내는 것이 좋습니까? 또는 자바 직렬화 그냥 작동하거나 더 나은 대안이 있습니까?

어드바이스에 진심으로 감사드립니다.

답변

0

표준 Java 직렬화의 좋은 점은이 XML 직렬화 메커니즘보다 공간 및 대역폭 효율성이 훨씬 뛰어난 이진 스트림을 생성한다는 것입니다. 그러나 당신이 쓴 것처럼, XML은보다 앞/뒤로 호환성이 좋을 수 있으며 필요할 경우 손으로 그리고/또는 스크립트로 더 쉽게 구문 분석하고 수정할 수 있습니다. 그것은 절충점입니다. 장시간의 스토리지가 필요하다면 일반 직렬화를 피하는 것이 좋습니다.

저는 행복한 XStream 사용자입니다. 지금까지 제로 문제.

+0

안녕하세요 Joonas, 도움이 될만한가요? http://stackoverflow.com/questions/6984707/problem-with-desirailization-of-string-sent-over-wire-with-xstream – SmartSolution

관련 문제