代码之家  ›  专栏  ›  技术社区  ›  Chris Latta

不同系统的企业集成

  •  3
  • Chris Latta  · 技术社区  · 15 年前

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

    理想情况下,我们能够在尽可能多的系统中以一致的方式公开我们的表单,而不必为每个系统重新开发它们。我们目前的目标是SharePoint(2007年和2010年即将推出)、Office(2007年和2010年即将推出)-Word、Excel、PowerPoint和Outlook、Reporting Services、.NET控制台应用程序、.NET Windows应用程序、外壳扩展,以及在移动设备上公开某些功能的可能性(黑色目前浆果,可能是iPhone),通过我们的网站。

    在迁移到SharePoint2010和Office2010之前,我们将开发转移到Visual Studio 2010(从2005年开始)。鉴于我们的大部分开发目前都是针对.NET框架(主要是C)的,因此,除非有令人信服的理由在某些方面转换框架/平台,否则坚持这一点似乎是合乎逻辑的。

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

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

    我很想从任何一个知道如何实现这一目标的人那里得到指导。我们应该把企业图书馆看作一个开始或开始我们自己工作的地方吗?对于类似这样的系统,REST和ASP.NET MVC2是不是比Web服务更好的解决方案?WPF是否会重复使用表格或有更好的东西?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Community CDub    8 年前

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

    微软的模式和实践小组为开发一个可扩展的、可插拔的、模块化的应用程序提供了几个框架,这些应用程序可以通过一个部署机制进行部署。如果您完全控制了最终用户(Windows)的平台,我建议使用WPF Prism 如果不这样做,我建议使用Prism的Silverlight。如果您还没有使用WPF/Silverlight技术,您可以使用Prism或 SCSF 更适合WinForms。(注意:wpf可以承载winforms控件,winforms可以承载wpf控件,因此当您朝着一个完整且内聚的企业系统前进时,可以用现有组件创建一个混合解决方案。)请注意,scsf/cab和prism都利用了一些著名的设计模式,因此您必须我们的团队熟悉OO和设计模式的基本原理。

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

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

    如果您有工作流、审批链或文档传送需求,请使用 WF . 您甚至可以将工作流编辑器集成到复合应用程序中,这样最终用户就可以在业务需求发生变化时修改和更新工作流,而无需呼叫您。

    如果你还没有使用ORM,我建议你 nHibernate . 不要为与RDBMS集成开发自己的数据访问层,这很愚蠢;请参见 here .

    研究使用 ClickOnce 用于部署此应用程序;它有内置支持,允许您的应用程序检测和自动安装更新。