2013-01-29 2 views
0

하나의 웹 서버에 설치된 기존 3 계층 응용 프로그램 (DAL-BL-UI)이 있습니다. 웹 서버는 Framework 4 ADO.NET을 사용하여 데이터베이스 서버 (MSSQL)와 직접 통신합니다. 데이터베이스 서버에 직접 통신하지 않도록 기존 애플리케이션을 변경하는 가장 빠른 방법은 무엇입니까? 최소한의 코드 변경으로 웹 서버와 데이터베이스 서버 사이에 "중간 서버"를 추가하고 싶습니다.기존 3 단 DAL-BL-UI 응용 프로그램을 사용하고 DAL을 다른 서버에 분리하는 방법은 무엇입니까?

아이디어가 있으십니까?

+0

인가 - 당신이 원하는 리팩토링 정도에 따라? –

+0

내 응용 프로그램이 일종의 "가상 서비스"(예 : 이전 서비스)와 통신하여 연결 문자열을 변경할 수 있기를 바랍니다. 그런 종류의 해결책을 알고 있습니까? – Omtechguy

답변

0

ADO.NET은 연결 문자열을 사용하여 데이터 소스에 연결합니다. 기본 연결 문자열은 Web.config에 정의되어 있습니다. DAL은 이것을 사용하여 데이터베이스에 연결합니다. ADN.net이 연결하는 서버는 방화벽 등에서 올바른 포트가 열리는 한 아무 데나있을 수 있습니다.

dal이 별도의 어셈블리에 있으면 DAL.BLL을 참조하는 간단한 DAL 웹 응용 프로그램을 작성할 수 있습니다 필요한 메소드와 객체를 웹 서비스로 노출합니다. RESTful 접근 방식, SOAP, WCF, 간단한 ASHX를 사용하십시오. 그런 다음 원래 응용 프로그램에서 ADO.NET 대신 DAL을 개발하면 웹 서비스가 사용됩니다. BL 또는 UI 코드를 변경하지 않고 새 DAL을 제자리에서 전환 할 수 있도록 DAL 인터페이스를 동일하게 유지하십시오.

WCF DataServices에 당신의 대답이 될 수 - 당신은 자신의 별도의 어셈블리로 DAL을 배치 할 수 http://msdn.microsoft.com/en-us/data/bb931106

+0

그러나 어떻게 웹 ASP.NET 응용 프로그램에서 DAL을 호출 할 수 있습니까? 현재 내 응용 프로그램에 대한 참조로 정의 된 내 DAL.DLL. 나는 보안상의 이유로 달걀이 다른 선봉에 있기를 원한다. – Omtechguy

+0

그에 따라 답변을 업데이트했습니다. –