우리 회사는 일부 기능이 중복되는 여러 웹 응용 프로그램을 만듭니다. 나는 공통 기능을 별도의 프로젝트로 개발하고 싶다. 웹 페이지와 관리 빈으로 구성 될 것이기 때문에 프로젝트가 자체 .war 파일에 있어야한다고 가정한다. 그런 다음 아마 .ear 파일 내부에 두 개 이상의 웹 응용 프로그램을 배포 할 것입니다. 온라인 예비 연구를 통해 웹 애플리케이션이 얼마나 잘 작동하는지 확신 할 수 없었습니다. 관리 빈들간에 데이터를 공유하고 한 웹 애플리케이션 내부 페이지를 다른 곳으로 안내 할 수 있습니까? 내 애플리케이션을 유지 보수 할 수있는 적절한 접근 방식인가, 아니면 프로젝트를 해체 할 수있는 더 좋은 방법이 있습니까?하나의 웹 응용 프로그램에서 여러 .war 사용
답변
과용이지만,
은 앱의 기능을 DB, 비즈니스 로직 및 프리젠 테이션/웹/티어로 나눌 수 있습니다. "중첩"기능은 비즈니스 및 DB 계층으로 이동할 수 있습니다.
웹 앞면은 corba, REST/LESS, 비누 또는 대안을 통해 비즈니스 계층과 이야기해야합니다. 계층 2/비즈니스 /에 어떤 커넥터가 있는지에 따라 다릅니다.
는 this diagram
를 참조하거나 추가 정보를 원하시면 3 계층 아키텍처를 구글
우리 회사, 그들은 여러 응용 프로그램을 배포 결국 몇 년 전에 같은 문제를 겪고/일부 비즈니스 로직을 복제했다 피할 수/
이제 우리는 웹 서비스를 통해 호출 할 수 있고 부서 내의 다른 응용 프로그램/스크립트에 액세스 할 수있는 공통의 개방형 비즈니스 계층 서비스 계층을 만들어서 다시 만들어 냈습니다.
이러한 접근 방식과 관련된 유일한 문제는 응용 프로그램간에 재사용하려는 웹 계층 코드가 있다는 것입니다. 일반적인 ManagedBeans와 EJB가있는 일반적인 데이터 입력/프리젠 테이션 화면이 있습니다. – SomeFatMan
Vaadin을 사용하여 일반적인 '웹 계층'코드를 구현할 수 있습니다. 이렇게하면 서버/비즈니스 계층에서 렌더링되고 클라이언트로 다시 전송됩니다. 또는 공통 기능을 새 webapp로 옮기십시오. 나중에 필요할 경우 webservices 등을 통해 노출 할 수 있습니다. –
모든 WAR 파일을 EAR 파일로 감싸십시오. EAR에 라이브러리 파일을 넣어 모든 WAR 파일을 공유 할 수 있습니다.
- 1. 하나의 응용 프로그램에서 여러 데이터베이스 사용
- 2. 하나의 안드로이드 응용 프로그램에서 여러 테이블 사용
- 3. 하나의 웹 응용 프로그램에서 여러 Tapestry 모듈
- 4. 하나의 웹 응용 프로그램에서 여러 Silverlight 프로젝트
- 5. 하나의 프로그램에서 여러 웹 브라우저
- 6. WAR 응용 프로그램에서 이미지 표시
- 7. 웹 응용 프로그램에서 JavaHelp 사용
- 8. 웹 응용 프로그램에서 jmx 사용
- 9. 웹 응용 프로그램에서 Boo 사용
- 10. Maven2 웹 응용 프로그램에서 JSBuilder2.jar 사용
- 11. 여러 프로그램에서 하나의 버텍스/프래그먼트 셰이더 사용
- 12. 웹 응용 프로그램에서 여러 .NET 언어 관리
- 13. ASP.NET 웹 응용 프로그램에서 웹 서비스 사용
- 14. 여러 응용 프로그램에서 하나의 작업을 재사용합니다.
- 15. 하나의 응용 프로그램에서 여러 탭 활동
- 16. 두 개의 응용 프로그램에서 하나의 xcdatamodelId 사용
- 17. jython WSGI 웹 응용 프로그램에서 war 파일을 만드는 방법
- 18. C# 웹 응용 프로그램에서 WebSocket 사용?
- 19. WAS 6.1 - 하나의 EAR에 여러 WAR 배포
- 20. iPhone 응용 프로그램에서 PHP 웹 서비스 사용
- 21. 하나의 SSL 응용 프로그램이있는 여러 웹 사이트
- 22. 다른 웹 응용 프로그램에서 하나의 웹 응용 프로그램 컨텍스트에 액세스하는 방법 컨텍스트
- 23. 웹 응용 프로그램에서 Ghostscript 사용 (PDF 썸네일)
- 24. war 파일에 log4j.properties 추가 (Solr 응용 프로그램에서)
- 25. 여러 MVC 응용 프로그램에서 MVC 영역을 다시 사용 하시겠습니까?
- 26. 하나의 응용 프로그램에서 다중 점수
- 27. 여러 웹 응용 프로그램에서 로깅 연습
- 28. 웹 응용 프로그램에서 여러 언어 지원 추가
- 29. 웹 응용 프로그램에서 amazon gpu 클러스터 사용
- 30. 안드로이드 응용 프로그램에서 아마존 웹 서비스를 사용
나는 모든 프리젠 테이션이 단일 전쟁에서 발생하기를 원하지만 프레임을 사용하여 주 전쟁 파일에서 다른 전쟁의 컨텐츠를 렌더링 할 수 있다고 생각합니다. 트릭은 지속 가능한 비즈니스 객체를 사용하여 일종의 서비스 버스를 통해 두 애플리케이션간에 데이터를 전달하는 것입니다. –
일반적인 기능 웹을 향하고 있습니까? 아니면 jar로 개발하여 종속성으로 사용할 수 있습니까? 그런 다음 서로 다른 웹 응용 프로그램간에 공유됩니다. – aglassman
@aglassman 공통된 기능으로는 웹 페이싱, 응용 프로그램에서 사용자 데이터 캡처 및 표시가 있습니다. 애플리케이션 전용 컨텐츠 내부에 공통 컨텐츠를 포함시키기 위해 템플릿으로 만드는 facelets을 사용할 것이라고 생각했습니다. – SomeFatMan