프리젠 테이션 계층에서 서비스 계층 호출
문제
연결하려면 기술을 선택해야합니다 응용 프로그램/프리젠 테이션 계층 (Java 기반) 서비스 계층 (Java 기반). 기본적으로 비즈니스 대의원에서 적절한 스프링 서비스를 찾고 있습니다.
저를 혼란스럽게하는 옵션이 너무 많습니다. 여기에 내가 좁아졌지만 확실하지 않은 옵션은 다음과 같습니다.
스프링 RMI
아파치 낙타
Apache Servicemix (ESB)
이오나 퓨즈 (ESB)
여기 내가 알고 싶은 것이 있습니다
- 당신이 이것들 중 하나를 연구했거나 평가 한 경우, 어떤 선택이 더 적절하다고 생각하십니까? (그리고 왜 나에게 왜 그런지 말하는 것은 아프지 않을 것입니다 :)
- 내가 봐야 할 다른 기술이 있습니까?
- 지금은 내가한다 ~ 아니다 애플리케이션 및 서비스 계층이 배포되는 것을 참조하십시오. 그러나 앞으로이 가능성을 배제하고 싶지는 않습니다. 이 유연성을 제공하기 위해 디자인하는 것이 좋습니다.
모든 도움이 유용 할 것입니다. 감사!
해결책
스프링 리모 팅 (스프링 RMI 및 아파치 낙타 구현) - 또는 웹 서비스 (CXF 또는 Metro 구현)에 JAX -WS를 사용하려고합니다. 즉, 당신은 당신의 pojos에 대한 자동 원격을 원하십니까? 아니면 WSDL 계약과 함께 WS를 원하십니까?
원격 기술을 결정한 후에는; 다음 결정은 애플리케이션 내부에서 라이브러리 (예 : 스프링 RMI 또는 낙타)로 묶으려고합니까?
후자가 선택한 경우 Apache ServiceMix를 사용하거나 더 많은 문서, 빈번한 릴리스, 상업적 지원 등이있는 상용 분포를 원한다면 Fuse ESB를 사용하십시오.
다른 팁
스프링 리모 팅은 가장 간단한 접근 방식처럼 보입니다. 또한 그것이 당신이 원하는 방향이라면 미래에 더 복잡한 접근 방식을 열어 줄 것입니다.
요구 사항에 대한 제한된 관점에서, 나는 학습 곡선이 낮은 간단한 솔루션을 고수하고 실제로 필요하다고 판단 할 때까지 ESB를 떠납니다.
키스 원칙은 훌륭한 것입니다.
여기에서 메트로와 낙타를 함께 통합하기위한 간단한 솔루션을 찾을 수 있습니다. http://www.everit.biz/web/guest/everit-blog/-/blogs/calling-a-camel-route-from-web-service-using-metro-and-tomcat?_33_redirect=/web/guest /Everit-Blog