2012-07-29 2 views
0

나는 수십 개의 워크 스테이션을 동시에 재고 관리하고 결과를 중앙 데이터베이스에 쓸 인벤토리 응용 프로그램 (C# .net 4.0)을 연구 중이다. 나에게 DAL을 쓰지 않아도되기 위해서 나는 전에 사용 해보지 않은 Fluent NHibernate를 사용할 생각이다.단일 공유 데이터베이스, 유창 NHibernate, 많은 클라이언트

독립 실행 형 응용 프로그램으로 실행되는 인벤토리 응용 프로그램이 Nhibernate를 사용하여 데이터베이스와 직접 대화 할 수 있도록 허용하는 것이 안전하고 좋은 습관입니까? 아니면 데이터베이스에 대한 모든 액세스가 데이터베이스를 읽고 쓰는 서버를 통해 이루어지는 클라이언트 서버 모델을 사용해야합니까? 즉, 현재 50 개의 워크 스테이션이 인벤토리 된 경우 50 개의 활성 DB 세션이 있습니다. 나는 GUID-Comb을 PK ID로 사용하려고 생각하고있다.

답변

0

응용 프로그램을 배포 할 환경에 따라 보안상의 이유로 중앙 서버에 대한 직접 데이터베이스 연결이 항상 허용되지 않을 수도 있습니다.

WCF (WebServiceHost 사용)를 사용하여 간단한 REST 서비스를 만들고 인벤토리 데이터를 POST'ing 또는 PUTing (HttpClient 사용)하면 좋은 대안이 될 수 있습니다.

결과적으로 클라이언트는 매우 간단 해져 다른 시스템 (linux? android?)에 쉽게 기록 할 수 있으며 서버는 데이터가 저장되는 방법과 위치에 대한 모든 권한을 갖습니다.

0

가 달려있다)

NHibernate에 많은 상황에 대해 충분 낙관적 동시성 제어 OOTB 있습니다. 따라서 50 개의 다른 스테이션에 데이터를 작성하면 문제가 없습니다. 하나의 스테이션에서 데이터를 생성하는 것이 모든 스테이션의 데이터에 의존하는 경우 까다로워지며 중앙 서버가 도움이됩니다.

관련 문제