2009-11-26 2 views
3

기본적으로 나는 클라이언트가 우리의 웹 서비스에서 ID 하나 부울 값으로 요청할 수있는 webservice가 필요합니다. 이 작은 API에 가장 적합한 기술은 무엇입니까? 물론 더 많은 인터페이스가 가능할 수도 있지만 이제는 하나의 함수 만 필요합니다. 또한 인증이 필요하기 때문에 auhtorized 클라이언트 만 서비스에 액세스 할 수 있습니다. 그리고 모든 고객은 서로 다른 인증 자격을 가지고 있습니다.작은 Java 웹 서비스를 개발하는 데 사용해야하는 기술은 무엇입니까?

이러한 목적으로 좋은 기술은 무엇입니까?

답변

2

나는 내 웹 서비스를 빌드하기 위해 resteasy을 사용하고 있으며, 사용하기가 아주 쉽습니다. 웹 서비스를 전달하기 위해 내 메서드에 주석을 사용해야합니다.

Here은 다른 JAX-RS 프레임 워크를 비교 한 것입니다. 그것 좀 봐

0

당신은 jersey과 같은 편안한 프레임 워크를 사용할 수 있습니다.

0

귀하의 질문에 "Java"라고 태그가 붙은 것을 감안할 때 Jetty을 제안합니다. 그것은 아주 좋은 작은 서블릿 엔진입니다. 그것은 세션을 지원하므로 인증을 추가해도 문제가되지 않습니다.

1

우선 인증 및 승인. 직접하지 마시고 앱 서버 또는 서블릿 컨테이너를 선택하고 작업을 수행하도록 구성하십시오. 웹 서비스에 대한

....

그냥 POST (안 GET 요청이 내부 상태를 수정하는 경우)에 응답하고 몸에 결과를 반환하는 서블릿을 구현하는 가장 간단한 것. 이렇게하면 어떤 프레임 작업도 필요없고, 배우지도 않습니다 (이미 서블릿을 알고 있다면). 단점은 더 많은 기능을 추가 할 때 규모가 커지지 않을 것이며, 충분한 버즈 단어를 사용하지 않는다는 것입니다.

SOAP 기반 웹 서비스가 필요한 경우 JAX-WS를 확인하십시오. 이제는 Java 6에 쉽게 백업 할 수 있습니다.

가장 간단한 수준에서 JAX-WS를 사용하면 @WebService와 같은 클래스에 몇 가지 주석을 넣을 수 있으며 자동으로 wsdl을 생성하고 웹 서비스를 통해 클래스의 인스턴스를 노출합니다.

documenation 많은 그것을 할 방법을 주변에있다 :

1

JAX-WS + 어떤 서블릿 컨테이너 (Tomcat이 보통 선택)

@WebService(targetNamespace = "http://affinity.foo.com", name="RewardsStatus") 
@SOAPBinding(style=SOAPBinding.Style.RPC, use=SOAPBinding.Use.LITERAL) 
public interface RewardsStatusIF { 
    @WebMethod(operationName="GetLastNotificationDate", action="urn:GetLastNotificationDate") 
    @WebResult(name="return") 
    public Date getLastNotificationDate() throws AffinityException; 
... 

실제로 서블릿 컨테이너가 필요하지 않습니다. JAX-WS는 독립 실행 형 Java 응용 프로그램에서이 서비스를 실행하는 방법을 제공합니다. 그것은 몇 가지 한계가 있습니다 (나는 stateful 서비스 작업을하지 못했습니다),하지만 그것은 매우 간단하게 입니다.

+1

Java 5에서 @WebService 주석을 사용하려면 JSR 181 구현이 필요합니다. Java 6을 사용하면 JAXB도 포함됩니다. 내가 말하고자하는 것은 다음과 같다 : Java 5와 JAXB, JSR 181 또는 Java 6이 필요하다. –

+0

또한 실제로 궁금해한다. JAX-WS가 필요하지 않은가? –

+0

음, 예, 물론 JAX-WS 여야합니다. 서둘러 입력했습니다. –

0

Java 6을 사용하는 경우 이미 HTTP Server가 내장되어 있으며 Http 인증을 지원합니다. 그게 당신이 필요한 전부입니다. 체크 아웃 :

com.sun.net.httpserver

0

JAX-WS 인 SOAP 기반 웹 서비스의 대안은 JAX-RS (RESTful 웹 서비스의 경우)입니다.

0

우리는 프로젝트가 실행되는 동안 간단한 HTTP URL을 통해 소량의 데이터를 사용할 수있는 많은 시나리오를 가지고 있습니다. 경험상 Restlet (http://www.restlet.org/)은 설정에 가장 쉬운 것 중 하나 인 것 같습니다. Java 애플리케이션 내에서 간단한 "웹 서비스"와 같은 인터페이스 (RESTful 인터페이스)를 제공합니다.

관련 문제