提前为文字墙道歉!
设想:
我们正在研究为需要支持“独立”模型(在台式机上运行的前端 + 后端)以及本地服务器模式(安装在本地服务器上的后端)的 LOB 应用程序选择什么技术通过互联网作为软件即服务(安装在托管服务器上的后端)。
我们希望最大限度地减少开发工作,这就是我们选择 Silverlight 前端的原因。我们打算为所有 3 个模型重用相同的代码库。
LOB 应用程序需要大量的数据输入,并且会在后端进行一些数学运算。我们会有大量的意见。我们将拥有一个包含 80 多个表的数据库。我们目前拥有自己的 DAL,使我们能够将 MSSQL、MySQL 和 Oracle 用作 DBMS。
当前的愿景是使用 Agile TDD Silverlight 4.0 MVVM 应用程序作为带有 Caliburn 框架的 C# 前端。并将 WCF(RIA?)服务作为后端(非 Silverlight,纯 .NET 4.0)。这很适合不同的模型,因为这只是后端安装位置的问题。对于 SAAS 模型,我们在 Internet 上有一个服务器可以驻留后端。
问题:
这听起来是否可行,还是认为我们可以为不同的模型拥有相同的代码库?
关于后端,我们正在研究 WCF RIA 服务,但希望有“消息安全”,这在 WCF 的 Silverlight 实现中似乎是不可能的。WCF RIA 是一个有效的选择吗?还是以任何方式就安全性而言,普通的 WCF “更好”?
关于我们需要支持的不同 DBMS。这对 WCF RIA 服务可行吗?还是我们最好创建自己的 BLL/DAL 并通过普通的 WCF 公开它?
有没有人有使用不使用内联 SQL 只使用存储过程的多个 DBMS 设置的经验?原始应用程序大量使用内联 SQL,但我们想知道仅使用不同 DBMS 中的存储过程,该应用程序的可维护性如何。
最后一个问题,关于 MVVM 和安全性,出于安全/代码保护的原因,我们希望在后端“隐藏”尽可能多的逻辑。对此做什么是合乎逻辑的?我们需要做 TDD,所以我们需要能够模拟模型,这意味着它需要在前端可用。但是我们需要将所有逻辑都放在后端。我们是否应该在前端使用“包装器”来“链接”后端的“真实模型”?一种与后端模型一对一匹配的虚拟模型。或者有没有“更好”的方法来做到这一点?
提前感谢您在这些主题中为我们提供的任何帮助!
休伦。