엔터프라이즈 Java EE 애플리케이션을 생성 할 때 메시징 (MDB)과 같은 비즈니스 로직의 일부를 EJB 모듈에 넣어야합니다. 그러나 EJB 모듈 또는 웹 모듈 내부에 배치 할 수있는 일부 EJB가 있습니다. 모듈 분리는 웹 계층과 비즈니스 계층을 다른 시스템에 배포 할 수 있음을 알고 있습니다. 따라서 웹 모듈에 @Stateful
장바구니 EJB를 배치 할 것입니다. 그러나 비즈니스 로직의 모든 부분에 적용 할 수있는 표준 기준을 생각해 볼 수는 없으며 EJB를 묶을 위치를 결정할 수 있습니다. 이에 대한 가이드 라인, 표준 또는 권장 관행이 있습니까?Java EE 엔터프라이즈 애플리케이션에 비즈니스 로직을 배치 할 위치
답변
이것은 내가 지금까지 알아 낸 것입니다.
EJB 모듈은 대기업 응용 프로그램을위한 비즈니스 로직의 핵심을 묶어야합니다. 반면 웹 모듈은 EJB 모듈이 제공하는 비즈니스 엔진을 활용할 본격적인 웹 응용 프로그램을 포함합니다. 일반적으로 이러한 모듈은 대규모 응용 프로그램의 경우 다른 서버에 배포되며 EJB 모듈에있는 핵심 비즈니스 논리에서 제공하는 서비스를 사용해야하는 웹 응용 프로그램 이외의 클라이언트 응용 프로그램 (예 : Swing/JFX 데스크톱 응용 프로그램)이 있습니다.
- 여러 웹이나 데스크톱 응용 프로그램에서 사용하기위한 것입니다, 또는
- 스케일링 고려 사항은 코어를 강제 할 수있다 : 즉
, 경우 하나는 별도의 EJB 모듈에서 비즈니스 로직을 둘 것 별도의 서버에서 처리 할 비즈니스 로직
다른 경우에는 EJB를 웹 모듈에 넣고 전체를 WAR 파일로 패키징 할 수 있습니다.
사실, EJB 빈을 웹 모듈의 패키지에서 자신의 EJB 모듈로 옮기는 것이 쉽다는 것을 알고 있습니다. 따라서 간단한 패키지로 시작한 다음 앱이 충분히 크거나 비즈니스 레이어를 별도로 배포해야하는 경우 모듈로 이동할 수 있습니다. –
결과의 마지막 부분 인 EJB는 WAR 안에 넣을 수 있습니다. EJB 모듈이 있으면 EAR 권한을 사용하여 배포됩니까? EAR에 WAR 및 EJB가 있습니까? 감사합니다 – user75ponic
예. EAR (엔터프라이즈 응용 프로그램)은 여러 WAR (웹 모듈) 및 여러 JAR (ejb 모듈)로 구성됩니다.이는 엔터프라이즈 응용 프로그램이 여러 서버 (여러 모듈)에 분산되도록 설계되었지만 모든 경우에 단일 모듈에 모든 모듈을 배포하려는 경우에 적합합니다. 그러나 모듈을 다른 서버에 배포하려는 경우가 거의 없으면 모든 EJB를 WAR 파일에 넣기 만하면됩니다. –
마지막 문장에서 언급했듯이 그것은 내가 제안한 것입니다. 대부분의 경우 EAR이 필요하지 않으므로 JEE6 응용 프로그램에 WAR 패키지를 사용하십시오.
여러 응용 프로그램간에 비즈니스 논리를 공유해야하는 경우이를 별도의 모듈로 배포 할 수 있습니다. 그러나 일반적으로 WAR을 실행하는 응용 프로그램 서버의 크기를 적절하게 조정할 수 있으므로 조정 작업에는 이러한 일이 필요하지 않습니다.
- 1. 비즈니스 로직을 Java Bean에 배치 하시겠습니까?
- 2. 리소스 특정 로직을 배치 할 위치
- 3. Java EE : Bean을 사용하여 비즈니스 로직에서 프리젠 테이션 로직을 분리
- 4. 풍부한 도메인 모델에 로직을 배치 할 위치
- 5. Java EE 애플리케이션에 grails 통합
- 6. 비즈니스 로직 클래스를 배치 할 위치
- 7. 엔터프라이즈 Python을위한 비즈니스 사례
- 8. symfony2의 모든 페이지에 공통 비즈니스 로직을 배치 할 곳
- 9. 도메인 기반 아키텍처에 비즈니스 로직을 포함 할 위치
- 10. Java EE 엔터프라이즈 응용 프로그램 자동 업그레이드
- 11. 비즈니스 로직을 모델과 분리해야합니까?
- 12. 레일스 컨트롤러에서 비즈니스 로직을 방지하는 방법
- 13. 복잡한 비즈니스 로직을 어떻게 구현해야합니까?
- 14. UI와 비즈니스 로직을 연결하는 방법
- 15. 비즈니스 로직을 노출시키지 않는 API
- 16. 비즈니스 로직을 DDD에 두는 곳
- 17. 시뮬레이션 시나리오에서 비즈니스 로직을 어디에 두어야합니까?
- 18. iPad는 엔터프라이즈 애플리케이션에 얼마나 실용적입니까?
- 19. Symfony 2 뷰 로직을 배치 할 곳
- 20. Backbone.js 어디에서 로직을 배치 할 것인가?
- 21. Laravel에 메뉴 로직을 배치 할 위치는 어디입니까?
- 22. 재사용 Java 비즈니스 로직
- 23. Java Swing GUI 로직과 비즈니스 로직을 분리하는 도구/소프트웨어가 있습니까?
- 24. Java EE 애플리케이션에서 GPS 위치 찾기
- 25. Java EE 개발 환경?
- 26. Java EE 서버의 스프링 애플리케이션에 대한 올바른 프로파일 링 방법
- 27. Java EE 애플리케이션에 적합한 2 단계 캐시는 무엇입니까?
- 28. Apache Camel을 Java EE 6 애플리케이션에 통합하는 모범 사례
- 29. Java 클래스에 배치 작업의 비즈니스 로직이 포함되어 있습니다.
- 30. Java EE 시작
'비즈니스 로직의 일부'에 이름을 붙이시겠습니까? –
- 메시징을 통해받은 외부 응용 프로그램의 보고서를 처리하고 동시에 웹 인터페이스 (웹 인터페이스를 통한 실시간 모니터링 용)로 푸시하고 결과를 데이터베이스에 저장합니다. - 질문에서 언급 한 장바구니 예제와 웹 기반 인터페이스에서 세부 정보가 수집 된 고객 주문 처리. - 사용자 콘텐츠를 기반으로 그래픽 및 이미지 생성. - 사용자 제공 매개 변수를 기반으로 일부 NoSQL 데이터 소스에서 쿼리를 생성하고, 쿼리를 실행하고 결과를 의미있는 방식으로 처리합니다. 이것은 단지 샘플입니다. –