Я буду создавать внутреннее, Иногда связанное приложение (OCA). Какие технологии были бы Вы предлагать, чтобы я использовал.
Вот мои параметры:
Я ищу определенные рекомендации на который путь выбрать. Поставщики синхронизации базы данных Replication или Sync Framework слияния? SQL Express или SQL CE в Подписчике? Я могу использовать LINQ для SQL для DAL?
Является Silverlight 'Офлайновым/Из Приложением браузера' Пример Здесь, выполнимый?
Это - мое первое приложение Крупного бизнеса, таким образом, любые опытные комментарии приветствуются.
Согласно просьбе вот некоторая дополнительная информация о типе Данных. Мои пользователи являются Медсестрами и Социальными работниками, которые переходят к домам участника и создают "Планы" или "медицинские Обзоры Оценки" для них. Это вещи как Список Лечения или Список там текущих "Поставщиков". Шаги для достижения целей участников или списка там текущего/прошлого Диагноза. Подобные вещи.
Также типичное членское Имя, Адрес, Номер телефона, и т.д. Главным образом это - приложение Хранения данных и Извлечения, которое упрощает создание отчетов. Очень мало "обработки" происходит и работа Медсестер и Социальных работников в командах, которые являются присвоенными участниками, таким образом, у меня обычно есть очень мало перекрестных или потенциальных конфликтов данных. Медсестры и SW также ответственны за другую область MCP (участник План В центре)
Дополнительный вопрос; Действительно ли синхронизирующая Платформа является действительно только жизнеспособным вариантом, если я могу использовать SQL 2008? Кажется что путь из-за Отслеживания изменений и т.д..... мысли?
Как только вы решаете проблему обнаружения изменений и движения данных, все остальное тривиально. Другими словами, технологии, такие как WPF, Silverlight, формы и даже WCF, являются ортогональными к вашей главной проблеме, и ваш выбор должен основываться на ваших личных предпочтениях и опыте. Настоящая твердая гайка для трещины работает отключена и синхронизация изменений. Которые оставляют два переуровня: синхронизацию или репликация.
Я бы сказал, что для вашего сценария определенно синхронизм . Слияние репликации, как и все формы репликации, предназначена для систем, которые непрерывно связаны с прерывистыми отключениями. И наиболее критически репликация может работать только над статическими именами. Ноутбуки, соединяющиеся от различных горячих мест и интернет-провайдеров имеют неприятную привычку изменять имена fq с каждым соединением. Репликация может преодолеть это только в том случае, если используется VPN соревнования, и VPN обычно является основной проблемой поддержки. Репликация просто не предназначена для высокой мобильности OCA Systems.
Синхронизация в значительной степени заставляет вас к концу SQL 2008, из-за необходимости изменить захват данных или отслеживание изменений , оба существа SQL 2008 только.
У вас все еще будет много сложных проблем, чтобы решить впереди (аутентификация, версию и обновление, политики разрешения конфликта данных, обеспечение данных на клиенте для случайных потери средств массовой информации и т. Д.)
Лично я бы сказал:
Работавшись над изредным подключенным приложением, я рекомендую вам посмотреть на SQL Server CE для клиентских машин, с помощью служб синхронизации для обработки соединений. Вот хороший учебник.
Я написал программу принятия заказа для продаж для продажи вина. Вот видео. Клиентское программное обеспечение установлено с помощью кликов-один раз. Это также устанавливает SQL Server Express и загружает базу данных. Я использовал Microsoft Sync Framework для синхронизации локальной базы данных с одним на сервере (см. Последний раздел видео.)
с мощными клиентами сейчас я не вижу причины не использовать SQL Server Express, это бесплатно с пределом 4 ГБ.
SQL CE имел слишком много ограничений - никакие хранимые процессы не являются крупными.
Вам нужно будет использовать GUID везде, как основной ключ - см. Новый NewsexentiD ().
Я люблю клик-один раз, это большая экономия времени.
Я с нетерпением жду Silverlight, но просто не было времени, чтобы посмотреть в него. Не уверен, что бы я сделал это с Silverlight, если это делать сейчас или нет.
Сказав все это, это не проект для всех неопытных. Поэтому я также получил бы очень опытную помощь.
Использование Уникальный идентификатор для ключа Если вы создаете вещи во время вне форума и не подключены и при подключении, обновление базы данных.
Это будет легче, чем использование клавиши автоматического приращения
Как насчет макро-трюки?
Испытали код ниже
@interface MyClass : NSObject {
#ifdef MYCLASS_CONTENT
MYCLASS_CONTENT // Nothing revealed here
#endif
}
@property (nonatomic, retain) NSString *name;
@property (nonatomic, assign) int extra;
- (id)initWithString:(NSString*)str;
@end
// Define the required Class content here before the #import "MyClass.h"
#define MYCLASS_CONTENT \
NSString *_name; \
int _extra; \
int _hiddenThing;
#import "MyClass.h"
@implementation MyClass
@synthesize name=_name;
@synthesize extra=_extra;
- (id)initWithString:(NSString*)str
{
self = [super init];
if (self) {
self.name = str;
self.extra = 17;
_hiddenThing = 19;
}
return self;
}
- (void)dealloc
{
[_name release];
[super dealloc];
}
@end
-121--4538104- Вы можете создать эти вещи с нуля, похоже.
Однако это кажется очень похожим на приложение CRM, и это не удивит меня, если бы вы могли найти программный пакет предприятия, чтобы сделать это, не начнете с нуля и вместо этого модифицируйте одну из конфигураций для удовлетворения ваших бизнес-правил.
В предыдущей жизни я был разработчиком конфигурации для этой вещи под названием Siebel , которые могут быть рядом с тем, что вы ищете. У них даже есть встроенный инструмент синхронизации под названием Siebel Remote.
Это может быть более дешевый путь, чем идти, чем катиться с нуля.