2017-03-22 4 views
-1

이있는 우리는 다음과 같은 순서우리는 다층 구조의 중간층 내가 프로젝트를하고 있어요

웹 계층 (ASP.NET MVC)의 계층 구조를 가지고/바이 패스를 건너 뛸 수 있습니다 웹 계층은 하나의 웹 응용 프로그램 (웹 계층)에서 호스팅되고 다른 계층 (WCF, 비즈니스 계층 및 데이터 계층)에서는 호스팅되는 웹 응용 프로그램 (예 : 계층 구조)에서 호스팅됩니다. 다른 웹 애플리케이션 (앱 티어로 호출)

모든 웹 요청은 위의 순서로 이동합니다.

이제는 Windows 서비스 내부에서 호스팅되는 구성 요소가있어서 데이터베이스와 통신해야하므로 더 나은 방법은 서비스 및 데이터 계층을 건너 뛰거나 건너 뛸 때 직접 Windows 서비스에서 데이터베이스를 호출해야합니다. > WCF 서비스 - -> 비즈니스 레이어 - 아래는

Windows 서비스 흐름> 데이터 층 (엔티티 프레임 워크) -> 데이터베이스 어느 쪽이 더 나은 아키텍처

.

답변

1

Windows 서비스가 데이터 계층과 통신하는 데 필요한 광범위한 프로비저닝이 없다면 왜 그렇지 않은지 알 수 없습니다. 또한 아키텍처가 일관성있게 유지됩니다 (코드 예외로 인해 유지 관리가 어려워 질 수 있음).

그러나 Windows 서비스와 데이터 계층을 인터페이스 할 때 상당한 양의 오버 헤드 및/또는 리팩토링이 필요하면 응답은 Windows 서비스 통신이 데이터 계층과 얼마나 광범위한 지 (몇 개의 호출 만 필요합니다. 앞으로 얼마나 많은 전화가 더 많이 포함될 가능성이 있는지). 예외적 인, 일회성 및/또는 단순한 경우를 위해 일관성을 위해 기존 코드를 리팩토링하는 데 수 시간 또는 며칠을 소비하지 않을 것입니다. (모든 코드 변경은 테스트해야 함을 기억하십시오.)

지금 얻을 수있는 것의 차이와 나중에 발생할 수있는 것의 차이를 비교하는 것이 중요합니다.

+0

안녕하세요 Samus, Windows 서비스는 일부 푸시 메커니즘을 기반으로 작동합니다. 즉, 트리거가 생성되면 Windows 서비스에서 일부 비즈니스 작업을 수행해야합니다. 다른 점은이 Windows 서비스가 데이터베이스와 자주 통신 할 필요가 없다는 것입니다. –