2009-07-05 5 views
0

현재 Java EE, EJB3 및 Java에 대한 정보를 얻고 있습니다. 지금까지 저는 JBoss 응용 프로그램 서버와 Oracle 데이터베이스를 실행하고 있습니다. JPA 엔티티를 통해 데이터베이스에서 데이터를 검색하는 상태 저장빈을 작성했습니다.Java EE 예제 프로젝트

저의 목표는 stateful 빈에서 메소드를 호출하여 간단한 클라이언트가 서버에 말하도록하는 것입니다. 하지만이 콩이 얼마나 세분화되어야하는지, 내 엔티티 bean과 상호 작용하는 방법 등을 알기에는 너무 적은 경험이 있습니다.

저는 완벽하지는 않지만 책과 간단한 튜토리얼은 더 이상 도움이되지 않습니다. 필자는 실제로 이러한 종류의 기술을 사용하는 오픈 소스 프로젝트를 찾아서 내 응용 프로그램을 디자인하는 방법에 대한 아이디어를 얻었습니다. Websearch는 2006 년 PetStore 예제를 제외하고는별로 도움이되지 않았습니다. 아무도 유용한 리소스가 아니라 실제 프로젝트가 아니라 좀 더 고급 예제를 가르쳐 주시면 기쁠 것입니다.

답변

3

당신이 "배울 찾고있는 것처럼 소리 나는 코드에 어떤 논리의 종류 "EJB 계층을 코딩하는 방법"대신 "EJB 계층"을 사용합니다.

교과서 답은 "대부분의 비즈니스 로직을 EJB 계층에서 구현해야합니다"라고 말합니다.

실질적으로 말해서, 나는이 워크 플로에 따라 뭔가 내 의사 결정을 기반으로합니다 :

  1. 는 은행 계좌 귀하의 서비스를 구현 내 비즈니스 사례가 에 가정하자. 그래서, 나는 대략 AccountInquiryService가 필요하다는 것을 알고 있습니다.
  2. 일반적으로 이 서비스가 호출 될 주요 채널은 웹 계층에서 , 사용자가 자신의 계정에 대한 문의를 수행 할 수있는, 즉 웹 응용 프로그램입니다.
  3. 그러나, 코드 재사용의 이익, 나는 또한 계정 조회를 수행하는 자바 데스크톱 클라이언트를 코딩 할 수있는 사용하는 경우가있을 수 있음을 그림.
  4. 따라서 AccountInquiryService를 구성하여 동일한 방법을 웹 및 데스크톱 클라이언트 티어에서 모두 적용 할 수 있습니다. 나는 다른 방법을 추가 할 필요가 없습니다. 두 채널을 모두 사용할 수 있습니다.

죄송합니다. 질문의 요지가 잘못되었습니다. 희망이 도움이됩니다.

+0

당신 말이 맞습니다. 아마도 제 질문은 오해의 소지가 있습니다.나는 교과서 답을 읽고 당신의 예가 그 자리에 올랐지 만,이 질문을 게시하기 전에 내가 해결 한 질문에 답합니다. 내 문제는 구현 수준에 조금 더 있습니다. Session Beans에서 JPA Entities를 사용하는 방법에 대해 자세히 설명합니다. 얼마나 많은 세션 빈 (Session Beans)이 필요합니까? – sebastiangeiger

+0

귀하의 질문은 여전히 ​​모호하지만, 최선을 다할 것입니다. JPA 엔티티는 DB에 매핑 된 비즈니스 개체의 반영 일뿐입니다. 엄밀히 말하자면 "EJB bean"조차도 아닙니다. EntityManager는 필요한 모든 데이터를 가져 와서 JPA 빈에 매핑하여 POJO처럼 사용할 수 있습니다. 따라서 실제로 사용할 수있는 엔티티 수에 대한 실질적인 제한은 없습니다. DB 디자인에 따라 다릅니다. SessionBeans는 일반적으로 비슷한 기능 세트를 하나의 그룹으로 묶습니다. 따라서 설계는 전적으로 귀하에게 달려 있습니다. 예 : AccountInquiryService 및 FundTransferService. – feicipet

1

"EJB 3 In Action"서적은 빈을 개발하는 방법을 이해하는 데 매우 유용합니다.

+0

감사합니다. 월요일에 확인하겠습니다. – sebastiangeiger