2010-01-20 3 views
9

사내에서 간헐적으로 연결된 응용 프로그램 (OCA)을 구축 할 예정입니다. 내가 고용 할 어떤 기술을 제안 하시겠습니까?OCA 구축 도구 (간혹 연결 응용 프로그램)

  1. .NET 숍 (3.5sp1) 뒤에 코드에 대한
  2. C 번호 (의 WinForm, WPF를, 실버)
  3. SQL 서버 백엔드 (2005 또는 다음은

    내 매개 변수입니다 가능 2008 승인 대기 중
    )
  4. 솔로 개발자
  5. ,451,515,
  6. 솔로 SQL 관리자
  7. 낮은 기술의 최종 사용자
  8. 낮은 대역폭 5 지사
  9. 이는 LOB 응용 프로그램 아니지만 POS이다.
  10. 사용자의 대다수가 회원의 집에 가져가는 노트북을 가지고 있습니다.
  11. 이 응용 프로그램의 데이터는 하나의 SQL 인스턴스에 있지만 5 개의 개별 데이터베이스에 저장됩니다.

선택할 경로에 대한 구체적인 권장 사항을 찾고 있습니다. 병합 복제 또는 동기화 프레임 워크 데이터베이스 동기화 공급자? 구독자의 SQL Express 또는 SQL CE? DAL에 LINQ to SQL을 사용할 수 있습니까?

실버 라이트 '오프라인/브라우저 외부 앱'Example Here이 가능합니까?

경험이 풍부한 모든 의견을 환영하는 내용이므로이 책은 내 첫 번째 대규모 비즈니스 응용 프로그램입니다.


데이터 형식에 대한 추가 정보가 필요합니다. 내 사용자는 간호사 및 사회 복지사로서 가입자의 집에 가서 "플랜"또는 "건강 평가 검토"를 작성합니다. 이것들은 Medication List 또는 현재의 "Providers"목록과 같은 것들입니다. 회원 목표를 달성하기위한 단계 또는 현재/과거의 진단 목록. 그런 것들.

또한 일반적인 회원 이름, 주소, 전화 번호 등입니다. 주로보고를 용이하게하는 데이터 저장 및 검색 응용 프로그램입니다. 간호사와 사회 복지사는 회원이 할당 된 팀에서 일하므로 거의 대면 또는 잠재적 인 데이터 충돌이 거의 없습니다. 간호사와 SW의도 다른 지역 년대 MCP (회원을 중심으로 계획)


추가 질문에 대한 책임이 있습니다; SQL 2008을 사용할 수 있다면 Sync Framework는 실제로 실행 가능한 옵션입니까? 변경 추적 등으로 인해 그런 식으로 보입니다 .... 생각?

+0

함께 일할 데이터의 종류에 관한 정보를 공유하십시오. 특히, 사용자와 서버 사이의 각 방향에서 예상되는 볼륨 및 챕터의 종류는 무엇입니까? –

+0

opps, 볼륨 부분을 놓쳤습니다. 우리는 300 명의 직원과 5000 명의 회원을 보유하고 있습니다. 그들은 하루에 여러 "계획"을 수행하는 경향이 있습니다. –

+0

@RefractedPaladin 결국이 작업을 수행 했습니까? 나는 비슷한 프로그램을 만들고있다. 어떤 포인터? –

답변

4

변경 감지 및 데이터 이동 문제를 해결하면 다른 모든 작업은 간단합니다. 즉 WPF, Silverlight, Forms 및 WCF와 같은 기술은 주요 문제와 직각을 이루며 선택은 개인의 취향과 경험에 따라 결정되어야합니다. 크래킹의 실제 어려운 단서는 연결이 끊어지고 변경 사항을 동기화하는 것입니다. 즉각적인 프레임 워크 또는 복제 (Synch Framework) 또는 복제 (Replication) 두 가지가 있습니다.

귀하의 시나리오에서 보면 분명히 Synch Framework입니다. 병합 복제는 모든 형태의 복제와 마찬가지로 일시적인 연결 끊김으로 지속적으로 연결된 시스템을 위해 설계되었습니다. 그리고 가장 비판적으로 복제는 정적 이름에만 사용할 수 있습니다. 다양한 핫스팟 및 ISP에서 연결되는 랩톱 컴퓨터는 각 연결마다 FQ 이름을 변경하는 불쾌한 습관을 가지고 있습니다. 복제는 VPN의 정렬이 사용되고 VPN이 대개 주요 지원 문제 인 경우에만이를 극복 할 수 있습니다. 복제는 OCA 시스템의 높은 이동성을 위해 설계되지 않았습니다.

싱크 프레임 워크는 SQL 2008의 유일한 기능인 Change Data Capture 또는 Change Tracking이 필요하기 때문에 SQL 2008 백엔드로 전환 할 것입니다.

당신은 여전히 ​​당신은에서이 물건을 만들 수

+0

어쩌면 어리석은 질문 일지 모르지만'Sync Framework'에서는 여전히 DAL로 'Linq To Sql'을 사용할 수 있습니까? –

+0

일반적인 Sync Framework 클라이언트는 SQL Server CE이고 LINQ2SQL은 '실제'SQL Server (예 : * not * CE) 전용입니다. linq 대신 EF를 사용할 수 있습니다. 클라이언트에 SQL Express를 배포하도록 선택할 수도 있습니다. 그러면 SQL에 대한 Synch Framework * 및 * linq에서 모두 작동합니다. 당신의 신발에서는 linq 2 Entity Framework와 SQL Server CE를 클라이언트에서 선택할 것입니다. 물론, 나는 당신의 모든 요구 사항을 알지 못합니다. –

+0

나는 익스프레스 대 CE의 여분 '팽창'에 대해 특히 무게가 나가면 Linq가 EF 파트에 신경 쓰지 않는다. 다른 점; 사무실에있을 때 연결 만하면됩니다. 현장에는 없습니다. 이미 중앙에서 각 지점에 VPN이 이미 있습니다. 기본적으로 데이터를 멤버에게 가져옵니다. 변경 사항을 적용한 다음 사무실로 돌아올 때 다시 동기화하십시오. 변경 사항이 변경 되나요? –

2

개인적으로, 나는 말할 것입니다 :

  • .NET 3.5
  • WCF 데이터 서비스 (당신이 사용할 수있는 중)
  • SQL 서버 2K5/2K8 (클라이언트 응용 프로그램 및 데이터 간의 통신을위한)
  • 실버 w
  • VistaDB (브라우저 기능의 출력/데이터를 저장 로컬 서버에 밀어 수있을 때까지 클라이언트)
+0

OCA 클라이언트 - 서버 상호 작용으로 VistaDB 대신 SyncFramework가있는 SQL Micro Edition을 권장합니다. – abatishchev

+0

@abatishchev 'Micro Edition'은 Compact Edition과 동일합니까? –

+0

@ 성난 성기사 : 예, 미안 해요, 가을. 사실은 CE, 아니 내 – abatishchev

1

사용 오프라인이 아닌 연결하면서 물건을 만들고 연결할 않는 경우, 데이터베이스를 업데이트하는 경우 키 고유 식별자합니다.

, 내가가 동기화 서비스와 클라이언트 컴퓨터에 대한 SQL 서버 CE에보고를 보시기 바랍니다

+0

응. 그것은 제가 이미 다루었지만 중요한 모임입니다. –

1

가 간헐적으로 연결되는 응용 프로그램에 일하면서 키 자동 증가를 사용하여보다 훨씬 쉽게 될 것입니다 연결을 처리하십시오. Here is a good tutorial.

1

(우발적 인 미디어 손실 등 등의 클라이언트에서 데이터를 보호, 데이터 충돌 해결 정책을 인증, 버전 및 업그레이드)에 앞서 해결하기 어려운 문제를 많이해야합니다 위로 지상, 그것은 보인다.

그러나 이것은 CRM 애플리케이션과 매우 흡사합니다. 처음부터 시작하지 않고 엔터프라이즈 소프트웨어 패키지를 찾아 대신 비즈니스 룰을 충족하는 구성 중 하나를 수정하면 놀라지 않을 것입니다. .

전 생애에, 나는 당신이 찾고있는 것에 근접 할 수도있는 Siebel이라고하는이 구성 개발자였습니다. Siebel Remote라는 내장 된 동기화 도구도 있습니다.

처음부터 자신을 굴리는 것보다 더 싼 경로 일 수 있습니다.

1

와인 판매 담당자를위한 주문 프로그램을 작성했습니다. Here is the video. 클라이언트 소프트웨어는 클릭 한번으로 설치됩니다. 또한 SQL Server Express를 설치하고 데이터베이스를로드합니다. Microsoft Sync Framework를 사용하여 로컬 데이터베이스를 서버의 동기화 데이터베이스와 동기화했습니다 (비디오의 마지막 섹션 참조).)

  • 이제 강력한 클라이언트를 사용하여 SQL Server Express를 사용하지 않아도되는 이유가 4GB로 제한됩니다.

  • SQL CE에는 제한이 너무 많았습니다. 저장된 프로시 저는 큰 것이 아니 었습니다.

  • GUID를 모든 곳에서 기본 키로 사용해야합니다. 새 NewSequentialID()를 참조하십시오.

  • 클릭 한번하면 나는 큰 시간을 절약 할 수 있습니다.

나는 Silverlight를 기대하지만, 조사 할 시간이별로 없다. Silverlight를 지금 사용하고 있다면 Silverlight로 그 작업을 수행했는지 확신 할 수 없습니다.

이 모든 것을 말하면서, 이것은 경험이없는 사람을위한 프로젝트가 아닙니다. 그래서 나는 또한 매우 경험 많은 도움을 얻을 것입니다.

관련 문제