1

我目前正在为一家公司开发 ERP 解决方案。要求如下:

  1. 他们需要一个基于 winforms 的应用程序来处理 HR、BSC、Inventory 等模块。

  2. 一个基于网络的解决方案,需要所有员工访问他们的个人数据、申请休假等。这需要一个基于互联网的解决方案,可以从任何地方访问。

  3. 将来,他们还想要一个基于 Web 的文档管理系统。

现在我们已经完成了winforms应用程序中的一些模块,因为这是迫切的需求。对于winforms,我们采用了分层架构的水平方法。即每个模块都是一个项目,在项目中有自己的数据层和业务层。现在我需要开始研究网络解决方案。我只是想知道哪种方法是在 winforms 应用程序和 Web 应用程序之间共享数据层和模型层的最佳方法。此外,Web 应用程序需要具备适当的安全性,因为它将是敏感数据。我考虑过 2 种可能无法涵盖所有​​可用可能性的方法。

我能想到的方法如下:

一个。创建一个 Web 服务来处理数据层和模型。将其托管在服务器上并通过 winforms 应用程序和 Web 应用程序访问它。为此,我需要更改我已经完成的编码。但这是可以接受的,因为它作为一个层架构需要最少的努力。这里我唯一的疑问是,对于 winforms 应用程序,它会不必要地通过 Web 服务层并使其变慢。

湾。将数据层和模型转换为 dll。在 winforms 和 web 应用程序中访问这些 dll。

另外关于网络应用程序,这将是更好的方法:

一个。我应该选择基于 MVC3 的网络应用程序吗?

湾。还是 asp.net 和 WCF?

情况是我和一位同事一起做这个项目,我们只有 2 人的团队。所以我们是对所有事情做出决定的人。

我在 winforms 方面有相当好的经验,但在基于 Web 的技术方面的经验相对较少。我将非常感谢您对此的意见。

4

1 回答 1

0

如果您希望您的模型类型与您的数据库架构密切对应,您可以使用实体框架设计器和自我跟踪实体模板来创建它们。这将允许它们通过 WCF 轻松地通过更改进行序列化,并在数据库中持久化。然后,您可以选择创建自定义 WCF 服务来处理实体,也可以使用 WCF 数据服务 (OData) 将实体框架上下文直接公开为服务。

就表示层而言,您列出的两个选项并不相互排斥。您可以使用带 WCF 的 MVC、不带 WCF 的 MVC、带 WCF 的 WebForms、不带 WCF 的 WebForms……因为无论如何您都需要创建服务,而 MVC 似乎是这些天要走的路,我可能会推荐一个 MVC使用 WCF 服务访问数据的应用程序。

于 2012-08-29T03:28:51.763 回答