2012-09-07 4 views
0

전 웹 사이트와 웹 기반 응용 프로그램을 전용 웹 서버에서 실행하고 있습니다. 같은 상자가 현재 데이터베이스를 실행하고 있습니다. (변경 될 것 같지 않습니다.)다양한 웹 사이트/Appilcations - 아키텍처 변경

서로 다른 프로젝트에서 사용하고있는 요구 사항이 서로 복제되는 경우가 종종 있습니다. 그래서, 내가 조용한 동안 나는 다양한 사이트의 아키텍처를 재구성하려고 노력하고있다.

필자는 중복 기능 (로그인, 일부 사용자 보고서, 오류보고 등)을 핵심 라이브러리에 추출하는 것이 이상적입니다.

핵심 어셈블리를 만들면 각 웹 사이트의 저장소에 추가하면 응용 프로그램 구성 파일에있는 데이터베이스와 통신합니다. 그러나 그것은 상황이 바뀌면 버전 관리/유지 보수에 골머리를 낳습니다.

이 코어 라이브러리를 GAC에 넣을 수 있습니다. 즉, 등록/등록을 취소해야하지만, 모든 앱은 필요한 경우이를 적용하여 사용할 수 있습니다.

또는이 작업을 수행하는 3 가지 방법은 WCF 웹 서비스를 사용하고 다른 내부 계층을 내 AP에 추가하여 핵심 작업을 별도의 웹 서비스 집합으로 넘기는 것입니다. 이것의 이점은 우리가 확장 할 때 모든 인터페이스가 웹 서비스 집합으로 유지 될 수 있기 때문에 내 응용 프로그램이 bin 파일이나 gac'ed 어셈블리를 이동하는 것에 대해 걱정할 필요없이 http 또는 tcp 호출을 수행하는 것입니다.

근본적으로 저는 어느 길의 아래쪽으로 내려가는 것을 싫어하기 때문에 어느 쪽의 접근법에 대해서도 생각/비평/비판을 가지고있는 사람이 있는지 알고 싶습니다. 머피 법칙처럼 다른 방식으로 진행해야합니다. 중요한 일이 생길 때와 마찬가지로 잘못 될 것입니다.

답변

0

라이브러리를 참조로 사용하면 좋습니다 (응용 프로그램의 저장소에 있으므로).

보고서 중 일부를 약간 변경해야하는 경우 어떻게해야합니까? 변경 한 후에는 기존 앱 모두에 대해 회귀 테스트를 수행 할 계획입니까?
dll의 다른 복사본을 유지하면 필요할 때 업그레이드 할 수 있습니다.
어떤 앱이 어떤 dll 버전을 실행하고 있는지 확인할 수 있는지 확인하십시오.

유지 관리 관점에서 볼 때, 항상 작동하는 것을 변경하고 싶지는 않습니다.
"무엇이 잘못 될 수 있으며, 잘못 될 수 있습니다"따라서 잘못 될 수있는 영역을 제한하십시오.

+0

고마워요.하지만 자주 묻는 질문을 읽어 보시기 바랍니다. – Matt