이질적 인 .NET WPF & J2EE 3 계층 건축에 대한 모범 사례
-
14-09-2020 - |
문제
나는 대부분 ASP.NET 개발자이기 때문에 나는 J2EE 또는 WFP 모범 사례, 패턴 등에서도 매우 익숙하지 않지만, 내가 참여하는 프로젝트가 더 잘 수행 될 수 있었지만 나는 손가락을 아키텍처에 틀린 것에 정확하게 넣을 수는 없습니다.
이종성 분산 3 계층 애플리케이션을위한 최선의 (*) 아키텍처, 특히 내가 이루어진 시스템을 구현하고자하는 경우 :
- Java EE 5 JBoss 응용 프로그램 서버의 백 엔드 - EJB 서비스를 제공합니다. 비누, 휴식 또는 JMS 콩
- SQL Server 또는 Oracle 데이터베이스 에 최대 절전 모드
- .NET 4.0 WPF 데스크탑 클라이언트
- .NET 4.0 Silverlight 웹 클라이언트
- JSP / PURE-HTML 웹 클라이언트
- 위에서 언급 한 구성 요소를 언급 한 기술을 어떤 기술을 처리하는 것이 좋습니다. 어떤 유형의 서비스 (비누, 휴식, 메시징?)
- .NET 클라이언트와 Java 백엔드 간의 통신 대기 시간을 줄이는 방법은 무엇입니까?
- 어떤 패턴 /도 (예 :)를 볼 수 있습니다. WPF 클라이언트 코드 (MVVM 패턴?)의 관점에서 Java 백엔드 (WCF?) 와의 통신
- WCF 클라이언트를 사용할 때 J2EE 서비스를 어떻게 보안 (인증, 권한 부여)을 보호합니까?
- 아키텍처 문제를 찾아야 할 건축 문제와 해당 방법을 처리하는 방법은 무엇입니까? 보안, 확장 성, 성능 등의 관점에서?
*
"최고의 아키텍처"를 정의하는 것이 불가능하지만 아마도 아마도 아키텍처 접근법, 모범 사례, 패턴 등에 대한 의견에 대해 궁금합니다.
우리의 설계 / 아키텍처에서 볼 수있는 분명한 문제 중 하나는 .NET 클라이언트와 Java 백엔 사이의 SOAP 웹 서비스 통신이 대기 시간 문제로 인해 매우 느립니다. 전체 UI 경험은 매우 부진합니다. 그리고 그것은 단일 사용자와 함께 있습니다. 생산에서 우리는 +/- 100 개의 동시 사용자를 기대합니다.
의견 / 의견을 알아 보겠습니다.
몇 가지 질문 :
(이 질문 이이 사이트에서 부적절한 경우 사과드립니다. "주관적인 것으로 묻는 질문을 묻는 것"이라는 경고를 본다. 그러나 내가 찾는 것은 주관적인 의견이며 나는 혼합 .NET / Java 환경에서 일하는 다른 사람들이 관심이있을 것입니다.)
감사합니다!
해결책
이 프로젝트의 아키텍처는 너무 복잡했습니다.
다음을 변경했습니다.
- 백엔드에서 .NET을 사용하여 기술 수를 줄입니다
- WPF 클라이언트를 삭제하고 Windows 클라이언트로서의 브라우저에서 Silverlight를 사용하십시오.
- UI 응답 성 를 유지하기 위해 백엔드에 대한 비동기 호출만을 사용하십시오.
- WCF 웹 소켓을 사용하여 백엔드
- HTML5를 웹 UI로 사용합니다. 이는 웹 소켓을 지원하므로 백엔드 에 대해 단 한 가지 방법이 있습니다.
웹 소켓 : http://tomasz.janczuk.org/
제휴하지 않습니다 StackOverflow