2009-11-17 4 views
3

나는 많은 정보가 있다고 생각했지만 실제로는 내 질문에 답을 찾지 못했습니다.웹 서비스가 아닌 EJB를 만드는 이유는 무엇입니까?

웹 서비스가 아닌 EJB를 만드는 이점은 무엇입니까? 내가 얻을 수있는 유일한 확실한 이점은 성능입니다. 그렇더라도, 나는 더 효율적인 EJB가 얼마나 많은지에 대한 정확한 데이터를 찾을 수 없다.

웹 서비스를 사용하면 java/.net 간의 상호 운용성과 방화벽/프록시를 통한 네트워킹이 http를 사용하기 때문에 더 많은 이점을 생각할 수 있습니다. WS-ReliableMessaging, WS-AtomicTransactions, MTOM 등과 같은 최신 표준 (Sun & MS 간의 상호 운용성을 완전히 테스트한다고 가정)을 사용하면 EJB가 제공하지 않는 웹 서비스는 무엇입니까?

기본 웹 서비스 이외의 다른 서비스에 익숙한 적이 없으므로 고급 웹 서비스 표준에 대한 경험이있는 사람이라면 공급 업체가 주장한대로 작동하지 않을 수도 있습니다.

답변

2

첫째, EJB와 웹 서비스는 배타적 인 대안이 아니며 EJB를 만들고 IIOP와 웹 서비스 인터페이스를 모두 공개 할 수 있습니다.

그래서 여기에 두 가지 질문이 있습니다 :

비즈니스 로직의 재사용 가능한 부분에 대한 좋은 implmentation 기술을 무엇
  1. .
  2. 비즈니스 로직에 사용할 호출 유형은 무엇입니까? RMI/IIOP가 좋은 선택 일 때와 같은 고려 사항은 무엇입니까? SOAP/HTTP는 언제입니까? SOAP/JMS 등 ...

EJB3 EJB를 작성하는 것은 매우 간단하며 트랜잭션 성, 보안, 인스턴스 풀링 및 관리 가능한 확장 가능한 인프라와 같은 이점을 제공합니다. 이는 심각한 엔터프라이즈 논리에 대한 성과를 거두는 경향이 있습니다. (스프링과 같은 다른 프레임 워크를 대안으로 볼 수도 있습니다.)

이제는 호출 스타일에 대해 설명합니다. 분명히, .NET과의 상호 운영이 필요할 때 웹 서비스가 유용합니다. 그러나 순수한 Java 환경에서 특히 Logic과 "클라이언트"를 같은 JVM에 배치 할 수있는 경우 로컬 EJB 인터페이스를 사용하는 것이 웹 서비스보다 훨씬 더 효과적입니다. 원격으로 호출 할 때 RMI/IIOP와 웹 서비스 간의 성능 비교가 명확하지는 않지만 일부 경우 웹 서비스는 실제로 상당히 잘 수행됩니다. 저에게 웹 서비스를 사용하는 것에 대한 논쟁은 역사적으로 많은 상호 운용성 문제가 있었기 때문에 다른 공급 업체 간의 표준 버전 차이가 문제였습니다. 상호 운용성을 수행한다면 항상 그런 종류의 문제가 발생할 것입니다.

+0

로컬 ejb 인터페이스에 대해 생각 나게 해주셔서 감사합니다. – jthg

-2

나는 냉소적이되고 싶지 않지만, EJB 3 이전에 본 대부분의 EJB 구현은 직업 보안을 유지하도록 설계된 것처럼 보였다. 그건 내 일화, 그것이 가치있는 일입니다.

+0

질문에 대한 답변이 없습니다. –

0

서비스 액세스 자바 서비스가 아닌 자바 소비자를 지원하려면 웹 서비스를 사용하십시오. Java 소비자의 경우 IIOP가 선택 될 수 있습니다.

서비스 구현 트랜잭션 관리와 같은 컨테이너 제공 기능을 원하면 EJB를 사용하여 서비스를 구현하십시오.

관련 문제