.net 不同系统的企业集成

.net 不同系统的企业集成,.net,enterprise,.net,Enterprise,我们即将开始一项相当大的集成工作,以消除一堆Access和Sql Server数据库,并将所有内容整合到一个连贯的企业系统中。还有许多其他系统(会计、CRM、工资单、MS Exchange)保存我们需要集成的关键数据(用于其他系统中的数据验证)、报告和以其他方式公开。这些系统中的一些可能会在未来几年内发生变化,因此我们需要隔离我们的系统,为变化做好准备 理想情况下,我们能够在尽可能多的系统中以一致的方式公开表单,而不必为每个系统重新开发表单。我们目前的目标是SharePoint(2007年和即将

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

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

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

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

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


我非常渴望从任何有技巧的人那里得到关于如何成功的建议。我们是否应该将企业库视为一个开始或推出我们自己的库的地方?对于这样的系统,REST和ASP.NETMVC2是比Web服务更好的解决方案吗?WPF会提供重复使用的表单还是有更好的方式

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

微软的模式和实践小组提供了一些框架,用于开发单个可扩展、可插拔、模块化的应用程序,这些应用程序可以通过单个部署机制进行部署。如果您可以完全控制最终用户(Windows)的平台,我建议使用WPF,如果您没有,我建议使用Prism的Silverlight。若您还并没有使用WPF/Silverlight技术,那个么可以使用Prism或更适合WinForms的Unity组件开发一个好的Windows窗体复合应用程序。(注意:WPF可以承载WinForms控件,WinForms可以承载WPF控件,因此,当您迈向一个完整且内聚的企业系统时,您可以使用现有组件创建一个混合解决方案。)请注意,SCSF/CAB和Prism都利用了一些众所周知的设计模式,因此,您必须让您的团队熟悉OO和设计模式的基本原理

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

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

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

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

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