【问题标题】:Enterprise integration of disparate systems不同系统的企业集成
【发布时间】:2011-02-13 06:31:47
【问题描述】:

我们即将着手进行一项相当大的集成工作,以消除一堆 Access 和 Sql Server 数据库,并将所有内容整合到一个连贯的企业系统中。还有许多其他系统(会计、CRM、工资单、MS Exchange)保存我们需要集成(用于其他系统中的数据验证)、报告和以其他方式公开的关键数据。其中一些系统很可能会在未来几年内发生变化,因此我们需要隔离我们的系统以便为变化做好准备。

理想情况下,我们能够在尽可能多的系统中以一致的方式公开我们的表单,而无需为每个系统重新开发它们。我们目前的目标是 SharePoint(2007 和即将发布的 2010)、Office(2007 和即将发布的 2010 - Word、Excel、PowerPoint 和 Outlook)、Reporting Services、.Net 控制台应用程序、.Net Windows 应用程序、shell 扩展,并且有可能暴露移动设备上的一些功能(目前是黑莓,以后可能是 iPhone)和我们的网站。

在迁移到 SharePoint 2010 和 Office 2010 之前,我们正在将开发迁移到 Visual Studio 2010(从 2005 年开始)。鉴于我们目前的大部分开发都针对 .Net 框架(主要是 C#),因此坚持下去似乎是合乎逻辑的除非有一些令人信服的理由为某些方面切换框架/平台。

我们正在考虑您的标准数据库->数据集成层->业务对象层->Web 服务(或 REST)层->客户端应用程序以及使用 WPF(或其他东西?)表单做我们自己的客户端应用程序也可以在 MS 系统(SharePoint、Office、Windows)中公开。

所以,我们不需要太多,只需要一切 :) 基本上,我们需要将自己与数据库和系统更改隔离开来,创建一个可在整个系统中使用的 API,然后在我们的客户端应用程序中提供此功能。

我非常渴望从任何有关于如何实现这一点的提示的人那里获得指点。我们应该将企业库视为一个开始或推出我们自己的地方吗?对于这样的系统,带有 ASP.Net MVC2 的 REST 是比 Web 服务更好的解决方案吗? WPF 会提供表单重用还是有更好的方法?

【问题讨论】:

    标签: .net enterprise


    【解决方案1】:

    我建议为您的业务线应用程序使用单个复合应用程序。那么就不需要“表单重用”,视图都在那里并集成在一起。您的所有数据访问都可以通过一个可重用的层,并且所有 3rd 方应用程序都通过 SOA 技术与您的系统进行通信。

    Microsoft 的模式和实践小组提供了一些框架,用于开发可通过单一部署机制部署的单一可扩展、可插入、模块化应用程序。如果您可以完全控制最终用户的平台 (Windows),我推荐 WPF 使用Prism,如果您没有,我推荐 Silverlight 使用 Prism。如果您还没有转向 WPF/Silverlight 技术,您可以使用来自 Prism 或 SCSF 的 Unity 组件开发一个优秀的 Windows Forms 复合应用程序,后者是为 WinForms 开发的。 (注意:WPF 可以托管 WinForms 控件,而 WinForms 可以托管 WPF 控件,因此您可以使用现有组件创建一个混合解决方案,以实现一个完整且有凝聚力的企业系统。)请注意,SCSF/CAB 和 Prism 都利用了一些众所周知的设计模式,因此您必须让您的团队熟悉 OO 和设计模式的基础知识。

    至于移动解决方案,我认为您可以为 Windows Mobile 开发 WPF 视图,从而允许您在移动设备上以不同的视图重用该应用程序。

    WCF 是在 .NET 中进行应用程序间通信的最佳 SOA 框架。

    如果您有工作流、审批链或文档路由需求,请使用WF。您甚至可以将工作流编辑器集成到复合应用程序中,这样最终用户就可以根据业务需求的变化修改和更新工作流——所有这些都无需致电您。

    如果您还没有使用 ORM,那么我建议您使用 nHibernate。不要开发自己的数据访问层来与 RDBMS 集成,这是愚蠢的;见here

    考虑使用ClickOnce 部署此应用程序;它内置支持让您的应用检测和自动安装更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多