2008-10-08 4 views
9

좋은 바이너리 프로토콜이 필요한 새로운 프로젝트가 있습니다. 사람이 더 좋은 아이디어를 가지고 있지 않는Hessian 시작하기

나는 Hessian를 사용 생각했다.

것은 나는 그들의 문서의 일부를 읽고 있던 나는 생각으로는 간단하지, 그래서 빠른 몇 가지 질문이 있습니다.

* Hessian Documentation 
* Hessian 1.0.1 spec 
* Hessian 2.0 Serialization Draft 
* Hessian 2.0 Web Service Draft 
* Taxonomy explaining Hessians relationship to CORBA, SOAP, RMI 

1) 이들의 차이점은 무엇입니까 :

홈 페이지는 다음의 서류를 가지고 "문서"라는 제목의 섹션이? 나는 1.0.1이 2.0이되고 2.0을 사용하는 것이 맞다고 생각하지만 확실하지는 않습니다.

2) 누군가가 2.0 직렬화 또는 2.0 웹 서비스를 사용할 것으로 기대합니까? 웹 서비스가 새 구현을 만드는 데 참조가 될 것으로 보이지만 다시는 완전히 명확하지 않습니다.

3) PHP를 사용하여 헤 시안을 지원하는 서버를 구현하는 방법은 무엇입니까? Caucho 서버를 사용해야합니까, 아니면 Fedora Core에서 PHP로 서버를 구현하고 Java 클라이언트를 사용하여 연결할 수 있습니까?

답변

2

나는 과거에 헤 시안을 사용하지 않은 나도 미래에 그것을 사용 계획이없는, 나의 주장이 있습니다 : 웹 서비스에 대한

, 내가 그것을 유지하기 위해 정말 열심히 노력 것이다 일반 오래된 XML. 이진 XML 표현을 선택할 경우 아마도 표준이고 웹 서비스 클라이언트 API/라이브러리/프레임 워크의 훨씬 더 큰 세트가 지원할 가능성이 가장 높은 Fast Infoset을 사용할 것입니다. 나는 CXF 사람들이 그들의 메일 링리스트에서 빠른 정보 집합에 대해 이야기 했으므로 이들이 위키에 문서화되어 있지는 않더라도 지원되어야한다는 것을 알고 있습니다. 속도가 기본 일 경우

, 나는 아마 Protocol Buffers을 사용하게됩니다.

+1

여기서 트릭은 기본적으로 서버에서 XML을 반환하는 것이며 클라이언트가 헤 시안을 요청하면이를 반환합니다. –

+0

왜 다시는 헤 시안을 사용하지 않는지 설명 할 수 있다면 도움이 될 것입니다. – Vincent

+0

우리는 Hessian을 우리의 소프트웨어에 사용하고 있으며, 이전 개발자가 C++에서 hessian 끝점에 액세스해야하므로이 작업을 수행하지 않았 으면 좋겠습니다. 그것은 고통이고 나는 단순한 HTTP xml 또는 json에있는 것을 선호합니다. – portoalet

9

예, Hessian 2.0을 사용하십시오. 프로토콜은 데이터 구조가 2 진수로 표현되는 방법을 지정하며, 스펙은 간단합니다. 헤센 웹 서비스 헤센 프로토콜에 기반

, 그것은 예를 설명하는 독일인 형식 헤더의 수를 지정 Hessian 프로토콜의 요청/응답 형식. 요청의 내용, 호출해야하는 메소드 등을 정의합니다. 아무도 그것을 사용하지 않기 때문에 엄격하게 필요하지 않습니다. Hessian 프로토콜을 사용하여 가장 잘 맞는 "Request"클래스와 "Response"클래스를 만들고이를 직렬화하여이 함수를 직접 정의 할 수 있습니다.

헤센 직접 자바 VM에서 지원하지 않는 때문에 자바 직렬화에 대한 대안, 그것은 느린이지만, XML 파싱보다 훨씬 (!) 빠릅니다. 비록 기존의 구현물을 함께 작동시키기 위해 조정해야하지만 크로스 플랫폼 방식으로 사용할 수 있습니다. 스펙이 여기 저기 (예 : 길이 스펙) 변경되어 구현이 다른 경향을 보입니다. 반면은 사람이 읽을 수있는 것이 아니라는 점입니다. 항상 헤 시안을 텍스트로 변환하는 도구가 필요합니다.

내가 자바 리치 클라이언트는 서버 JVM 버전의 클라이언트 JVM 버전이 독립하게하기 위해 백 엔드와 통신하는 대기업 응용 프로그램에서 헤 시안을 사용하고 있습니다. 그리고 그것은 매력처럼 작동했습니다.

구현 Hessian4J을 살펴보십시오. 오픈 소스이므로 완벽하게 제어 할 수 있습니다.

+0

Website broken, SourceForge link : https://sourceforge.net/projects/hessian4j.berlios/ – Wolf

+0

* 당신은 그것을 완벽하게 제어 할 수 있습니다 * - LGPLv2 이내 – Wolf