简体   繁体   English

.NET表示层体系结构/业务线系统蓝图

[英].NET Presentation Tier Architecture / Blueprint for Line of Business Systems

We are revisiting our presentation tier architecture as a blueprint for future new, and re-written business systems (Just the presentation tier), using Microsoft technology stacks. 我们正在重新使用表示层体系结构,作为使用Microsoft技术堆栈的未来新的和重写的业务系统(只是表示层)的蓝图。

We have around 30 .NET systems (2, 3 and 3.5), about 60% of which are web based (CWAB + Web Forms) and 40% Smart Client (using CAB / SCSF, WinForms) All systems integrate into a back end SOA stack via ASMX or WCF (ie the 'back end' systems architecture is common) 我们大约有30个.NET系统(2、3和3.5),其中大约60%是基于Web的(CWAB + Web窗体)和40%的Smart Client(使用CAB / SCSF,WinForms)所有系统都集成到后端SOA中通过ASMX或WCF进行堆栈(即“后端”系统架构很常见)

The objectives are 目标是

  • if possible, to try to keep the codebase as 'common' as possible between Web, Windows and Mobile (currently no reuse of MVP / MVC between Web and WinForms) 如果可能的话,尝试使代码库在Web,Windows和Mobile之间保持尽可能的“通用”(当前在Web和WinForms之间不重用MVP / MVC)
  • Will increasingly need to support Mobile devices 将越来越需要支持移动设备
  • Most of our systems are grunt line of business systems - functionality is more important than aesthetic requirements 我们的大多数系统都是业务系统的笨拙产品-功能比美学要求更重要
  • Definitely a lean toward moving across to WPF 绝对倾向于过渡到WPF
  • Even if there is no presentation tier reuse, to keep a consistent architecture (MVC / MVP / MVVM etc) between the clients 即使没有表示层重用,也要在客户端之间保持一致的架构(MVC / MVP / MVVM等)
  • Stay mainstream! 保持主流!

Some thoughts have swung between 一些想法之间摇摆不定

  • ASP.NET MVC 2 + jQuery etc for web + ?Prism / WPF for Smart Client vs Web的ASP.NET MVC 2 + jQuery等+ Smart Client的Prism / WPF与
  • Prism for all (Smart Client and Silverlight) vs 所有人的棱镜(智能客户端和Silverlight)与
  • Sharepoint Web Parts (Portal Architecture) vs Sharepoint Web部件(门户架构)与
  • Leaving Web / Winforms and waiting for the dust to settle some more ;) 离开网络/ Winforms,等待尘埃落定;)

How does the future HTML5 effect your thinking? 未来的HTML5将如何影响您的思维?

Apologies for such an open ended question, but would really value the SO community's advice and experience on this! 对于这个开放式问题,我们深表歉意,但确实会珍惜SO社区在此方面的建议和经验!

Thanks in advance! 提前致谢!

We are in a similar situation and have given this subject considerable thought. 我们处于类似的情况,并且已经对该主题进行了深思熟虑。 For us we ruled out Sharepoint Web Parts for several reasons. 对于我们来说,出于某些原因,我们排除了Sharepoint Web部件。 That could be a valid path for some, but expensive. 对于某些人来说,这可能是一条有效的途径,但代价昂贵。

We are using MVC for externally facing user interfaces with some Silverlight modules for specific needs that require richer user interaction. 我们将MVC用于带有某些Silverlight模块的外部用户界面,以满足需要更丰富的用户交互的特定需求。

For internally facing user interfaces we are using Silverlight/Prism/MVVM for new modules and, for now, hosting the new Silverlight modules in the existing WinForms Smart Client system using a browser control. 对于面向内部的用户界面,我们将Silverlight / Prism / MVVM用于新模块,并且现在,使用浏览器控件将新Silverlight模块托管在现有WinForms Smart Client系统中。 We have been able to create the needed interaction between the existing Smart Client code and the Silverlight modules with much trouble. 麻烦的是,我们已经能够在现有的Smart Client代码和Silverlight模块之间创建所需的交互。 This has worked well for our system, but your mileage may vary. 这对于我们的系统来说效果很好,但是您的行程可能会有所不同。 I beleive the ease of integration was helped by our simple application framework that we used instead of the more general but more complicated CAB framework for Smart Client. 我相信,我们使用的简单应用程序框架代替了用于Smart Client的更通用但更复杂的CAB框架,简化了集成。

At some point in the future as we upgrade older modules from WinForm to Silverlight, drop them becasue they are no longer needed, or rewrite them to accomodate significant business changes. 在将来的某个时候,当我们将较旧的模块从WinForm升级到Silverlight时,由于不再需要它们而将其删除,或者重写它们以适应重大的业务变化。 We will then redo the host application, completely embrace the Silverlight/Prism/MVVM environment and drop all of the WinForm code. 然后,我们将重做主机应用程序,完全包含Silverlight / Prism / MVVM环境,并删除所有WinForm代码。 The obvious advantage of this approach being that we do not have to redo all of the UI at once. 这种方法的明显优势在于,我们不必一次重做所有UI。

So far, it is working well for us. 到目前为止,它对我们来说运作良好。 Good luck whatever route you choose. 无论您选择哪种方式,祝您好运。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM