클라이언트를위한 클라이언트/서버 응용 프로그램의 새 버전을 개발하고 있습니다. 현재 솔루션은 asp.net mvc에있는 웹 사이트입니다.내 클라이언트에서 내 데이터베이스에 연결하기위한 최상의 전략
응용 프로그램의 목적은 디지털 사이 니지 솔루션을 구축하는 것입니다. 즉, 클라이언트에서 사용자가 viedos 및 이미지에서 재생 목록을 만들고이를 화면에 표시되도록 예약하는 것을 의미합니다. 표시 할 항목은 WPF 사용자 컨트롤입니다. 하나는 이미지 용 논리이고 다른 하나는 비디오에 대한 논리입니다.
현재 응용 프로그램은 웹 기반이며 중앙 데이터베이스에 직접 액세스합니다. 모든 클라이언트 (정보를 제공하는 클라이언트)가 데이터를 요청할 때 웹 서비스를 통해 수행됩니다. 고객은 웹 기반 클라이언트를 사용하는 것이 매우 행복하지만 더 많은 "풍부한"행위를 요청합니다. 여기에는 하나의 "슬라이드"와 슬라이드 모음의 미리보기가있는 기본 요구 사항이 포함됩니다.
저는 이것을 WPF 응용 프로그램 (wpf 사용자 정의 컨트롤의 미리보기 때문에 실버 라이트 제외)로 개발하기 시작했습니다. 이제는 데이터베이스에 액세스하는 방법을 정의하는 문제/문제에 직면했습니다. 고객은 아마도 랩톱으로 이동하여 데이터베이스와 항상 동일한 네트워크에 있지 않은 것과 같은 현재 사용 패턴을 원할 것입니다.
내 질문은 : 데이터베이스 연결 계층을 어떻게 설계해야합니까? 모든 사람들이 항상 이것을 사용하도록 순수 웹 서비스를 기반으로해야합니까? 아니면 가정에서 일할 수있는 연결이 끊긴 모드를 만들어야합니까? 데이터를 연결하고 동기화 할 수 있습니까? 내가 databse와 동일한 네트워크에 있어야한다고 요구해야합니까? 그래서 데이터베이스 레이어와 connectionstring을 사용하여 직접 연결할 수 있습니까?
웹 서비스를 기반으로 한 접근 방식은 이미지, 비디오 작업에 충분히 빠르지 만 (이들의 축소판 그림로드 만 고려하면 다른 데이터는 성능을 ~ 몇 기가 바이트 데이터로 감소시킵니다). 클라이언트에서 미리보기 이미지를 사용하고 홈 네트워크에 연결하면 큰 동영상과 이미지를 모두 얻을 수 있습니다.
감사합니다. 데이터베이스에서 클라이언트의 연결을 끊습니다. 예 KISS와 YAGNI는 결코 잊혀져서는 안됩니다. 나는 때때로 이것에 빠져서 너무 멀리 생각하고 있습니다. –