JAX RPC. Spring은 JAX-RPC를 통해 웹 서비스에 대한 원격 지원을 제공합니다. 자체 슬림 직렬화 메커니즘을 사용하는 경량 프로토콜인 Burlap 및 Hessian과 달리 Spring Http 호출자는 표준 Java 직렬화 메커니즘을 사용하여 HTTP를 통해 서비스를 노출합니다. 인수 및 반환 형식이 직렬화 메커니즘 Hessian 및 Burlap 사용을 사용하여 직렬화할 수 없는 복잡한 형식인 경우 큰 이점이 있습니다(원격 기술 선택 시 더 많은 고려 사항은 다음 섹션을 참조하십시오). 이 첫 번째 자습서에서는 RMI를 사용하여 스프링 원격을 살펴봅니다. 이것이 작동하는 방식입니다 – Spring은 실제 원격 콩을 나타내는 프록시를 만듭니다. 프록시는 RmiProxyFactoryBean을 사용하여 만들어집니다. 프록시는 일반 Spring bean으로 사용할 수 있으며 클라이언트 코드는 실제로 원격 메서드를 호출하고 있음을 알 필요가 없습니다. 중요한 클래스를 살펴 볼 수 있습니다 : org.springframework.aop.framework.ProxyFactory.RmiProxyFactoryBean – 이 클래스는 클라이언트가 원격 서비스에 연결하는 프록시를 만드는 데 사용됩니다.

이것은 RMI 프록시를 만들기위한 봄 공장콩입니다. 프록시된 서비스는 ServiceInterface 속성에 지정된 인터페이스를 사용하여 스프링 빈을 사용합니다. 원격 서비스 URL은 serviceUrl 속성에서 지정할 수 있습니다. org.springframework.remoting.rmi.RmiServiceExporter – 이 클래스는 서버에서 원격 서비스를 만드는 데 사용됩니다. 서비스는 위에서 설명한 대로 RmiProxyFactoryBean을 사용하여 만든 일반 RMI 또는 스프링 프록시 클래스에서 액세스할 수 있습니다. 이 클래스는 RMI 호출자를 통해 비 RMI 서비스 노출도 지원합니다. 모든 직렬화 가능한 java 개체는 클라이언트와 서버 간에 전송할 수 있습니다. 클라이언트의 서비스에 연결하려면 간단한 개체와 구성 비트를 연결하는 서비스 가 포함된 별도의 Spring 컨테이너를 만듭니다: Spring은 표준 Java 웹 서비스 API에 대한 완전한 지원을 제공합니다: HTTP 호출자 인프라 설정 서비스 개체는 헤시안 또는 삼베를 사용하는 방식과 매우 유사합니다. 헤시안 지원이 헤시안 서비스 Exporter을 제공하는 것처럼, 봄의 HttpInvoker 지원은 org.springframework.remoting.httpinvoker.httpInvoker.HttpInvoker.HttpInvokerServiceExporter을 제공합니다. 위에서 언급한 AccountService를 노출하려면 다음 구성이 있어야 합니다. JAX-WS 엔진에 등록되지만 수명 주기는 Spring 응용 프로그램 컨텍스트에 따라 다다.

즉, 명시적 종속성 주입과 같은 Spring 기능이 끝점 인스턴스에 적용될 수 있습니다. 물론, @Autowired 통해 부호 구동 주입뿐만 아니라 작동합니다. 스프링에는 JAX-RPC 서볼릿 엔드포인트 구현을 위한 편리한 기본 클래스가 있습니다. 계정 서비스를 노출하기 위해 Spring의 ServletEndpointSupport 클래스를 확장하고 여기에서 비즈니스 논리를 구현하여 일반적으로 비즈니스 계층에 대한 호출을 위임합니다. 헤시안과 삼랩의 장점 중 하나는 두 프로토콜이 HTTP 기반이기 때문에 HTTP 기본 인증을 쉽게 적용할 수 있다는 것입니다. 예를 들어 web.xml 보안 기능을 사용하여 일반 HTTP 서버 보안 메커니즘을 쉽게 적용할 수 있습니다. 일반적으로 여기에서는 사용자별 보안 자격 증명을 사용하지 않고 Hessian/BurlapProxyFactoryBean 수준(JDBC DataSource와 유사)에 정의된 공유 자격 증명을 사용합니다. 이 프로젝트는 Spring의 도움으로 RMI 서버와 클라이언트를 설정하는 방법의 예입니다. String URI 변형은 템플릿 인수를 String 변수 길이 인수 또는 Map로 허용합니다. 또한 URL 문자열이 인코딩되지 않으며 인코딩해야 한다고 가정합니다.

예를 들어 다음: Spring은 다양한 기술을 사용하여 지원을 원격화하기 위한 통합 클래스를 제공합니다. 원격 지원은 일반적인 (봄) POJ에 의해 구현 원격 지원 서비스의 개발을 용이하게합니다.

 

Comments are closed.

Set your Twitter account name in your settings to use the TwitterBar Section.