2013-06-10 4 views
2

EJB 모듈을 RESTful 웹 서비스로 사용할 수 있습니까?EJB 모듈을 RESTful 웹 서비스로 사용 하시겠습니까?

아래 주제와 관련하여 이전에 질문 한 내용이 있지만 1 년에서 3 년 전의 내용입니다. "왜 ejb 모듈에서 RESTful 웹 서비스를 만들 수 없습니까?"

그 이후로 어떤 업그레이드가 있었습니까?

답변

0

이제는 (CDI 활용) 가능합니다.

JavaEE 튜토리얼 here을 참조하십시오.

+0

나는 구현하려는 것을 설명하고 어떤 옵션이 올바른 방법이라고 생각하는지보고 싶습니다. 엔티티 관리자를 통해 데이터베이스에 액세스 할 수있는 REST 웹 서비스를 개발 중입니다. 많은 연구가 끝나면 여러 트랜잭션에 상태 비 저장 빈을 사용하는 것이 좋습니다. CDI가 더 나은 선택입니까? – David031

0

예이 작업을 수행 할 수 있습니다. 안정적인 웹 서비스는 처음에는 HTTP 컨텍스트에서 설명되었지만 그 프로토콜에만 국한되지는 않습니다. 주요 HTTP 작업이 어떻게 사용되는지에 대한 훌륭한 기초 지식은 좋을 것입니다.

기본 규칙을 따르는 서비스를 제공하는 bean 메소드가 필요합니다. 구현의 EJB 모듈의 맥락에서 주목해야 할

주요 사항은 다음과 같습니다

자원

(1) 자원의 정체성을 가지고 아무것도입니다.

(2) 모든 리소스에는 URI가 있습니다.

(3) URI가 "불투명"한 경우 구현의 세부 정보가 노출되지 않습니다.

리소스는 서비스를 위해 "통화"로 사용할 수있는 모든 것입니다. 클라이언트가 특정 메소드의 개를 나타내는 특정 표현의 오브젝트를 리턴하는 경우, 개를 나타내는 무언가가 필요할 수있는 다른 메소드와 대화하기 위해 해당 오브젝트를 사용할 수 있어야합니다. 개를 나타내는 그 객체가 여러 장소에서 사용될 경우 객체를 가져 오는 식별자와 메서드가 있습니다. 메소드 이름 + 식별자 = URI (고유 자원 식별자).

프로토콜

(4) 작업이 부작용이없는 "멱등"이다 얻는다.

(5) 부작용이없는 요청은 GET을 사용해야합니다.

(6) 모든 상호 작용은 stateless입니다.

bean 메소드를 getDog (Long dogID) 형식으로 구현할 수 있습니다. dogID 식별자의 개에 대한 URI는 무엇입니까? getXXXX()를 사용하는 모든 메소드는 나머지 서비스에는 부작용이 없습니다. getXXX() 만 서비스에서 수행 된 경우 백엔드는 1 비트를 변경하지 않습니다.

모든 상호 작용은 stateless입니다. 따라서 무국적자 이외의 다른 것들만 사용하십시오.

표현

(7) 데이터 및 메타 데이터 형식이 문서화되어 있습니다.

(8) 데이터는 여러 가지 형태로 제공됩니다.

(9) 표현에는 다른 자원에 대한 링크가 포함됩니다.

귀하의 클라이언트가 "통화"로 사용하고있는 강아지 개체에 소유자가 참조되어 있다면 (이 참조는 식별자 (예 : ownerID) 형식이어야 함) 식별자를 사용하여 전체 소유자를 얻을 수 있습니다 표현은, getOwner (ownerID), 그 URI를 사용합니다.

스타일

(10) 서비스 API를 문서화하고 광고하십시오.

(11) 사용 가능한 표준 및 기술을 사용하십시오.

(12) 수정 및

이 메소드 이름 자체가 전반에 걸쳐 설명하고 공통되어 있는지 확인 아키텍처, 표준 및 도구를 확장합니다. 즉, updateDog (개 독), create (개 독), deleteDog (긴 dogID). 따라서 클라이언트가 소유자를 만들고자한다면 메소드 이름이 자원 'Owner'의 이름과 이전 표현에서 Dog 표현의 참조에 의해 얻어진 식별자에 의해 무엇인지를 즉시 알 수 있습니다.

죄송합니다.

+0

@M. 오구 : 답변 주셔서 감사합니다. 7-12 점에 대해 자세히 설명해주십시오. 나는 JSON과 XML을 사용할 것이다. 또한, REST 아키텍처를 사용하는 하나의 메소드를 노출 한 예제 EJB 모듈을 시도했다. Glassfish에 배포되었지만 HTTP를 통해 리소스에 액세스 할 수 없었습니다. – David031

+0

서비스 클라이언트가 다른 Java 응용 프로그램 인 경우 JSON 및 XML에 대해 걱정할 필요가 없습니다. 고객이 다른 어떤 것이라면 서비스를 제공하기 위해 웹 계층이 필요합니다. 서블릿 기반 인프라와 web.xml을 포함하는 웹 계층. –

관련 문제