Архитектура уровня представления .NET / проект для бизнес-систем - PullRequest
1 голос
/ 22 июля 2010

Мы пересматриваем нашу архитектуру уровня представления в качестве образца для будущих новых и переписанных бизнес-систем (просто уровень представления) с использованием стеков технологий Microsoft.

У нас около 30 систем .NET (2, 3 и 3.5), около 60% из которых основаны на веб-технологиях (CWAB + веб-формы) и 40% интеллектуальных клиентов (с использованием CAB / SCSF, WinForms). Все системы интегрируются в внутренний SOA-стек через ASMX или WCF (т.е.системная архитектура бэкэнда является общей)

Цели:

  • , если это возможно, попытаться сохранить кодовую базу как можно более общей для Web, Windows и Mobile (в настоящее время нет).повторное использование MVP / MVC между Web и WinForms)
  • Все больше и больше потребуется поддержка мобильных устройств
  • Большинство наших систем представляют собой линейку бизнес-систем - функциональность важнее эстетических требований
  • Определенно склонность к переходу на WPF
  • Даже если нет повторного использования уровня представления, для сохранения согласованностиitecture (MVC / MVP / MVVM и т. д.) между клиентами
  • Оставайтесь мейнстримом!

Некоторые мысли колебались между

  • ASP.NET MVC 2 +jQuery и т. д. для веб-сайтов + Prism / WPF для Smart Client против
  • Prism для всех (Smart Client и Silverlight) против
  • веб-частей Sharepoint (архитектура портала) против
  • ВыходWeb / Winforms и ожидание, когда пыль осядет еще немного;)

Как будущий HTML5 повлияет на ваше мышление?

Извиняюсь за такой открытый вопрос, но действительно стоил бысовет и опыт SO сообщества по этому вопросу!

Заранее спасибо!

1 Ответ

1 голос
/ 23 июля 2010

Мы находимся в похожей ситуации и много думали над этим вопросом.Для нас мы исключили Sharepoint Web Parts по нескольким причинам.Это может быть допустимый путь для некоторых, но дорогой.

Мы используем MVC для внешних пользовательских интерфейсов с некоторыми модулями Silverlight для особых нужд, требующих более широкого взаимодействия с пользователем.

Для внутренних внутренних пользователейВ качестве интерфейсов мы используем Silverlight / Prism / MVVM для новых модулей и на данный момент размещаем новые модули Silverlight в существующей системе WinForms Smart Client с помощью элемента управления браузера.Нам удалось создать необходимое взаимодействие между существующим кодом Smart Client и модулями Silverlight с большим количеством проблем.Это хорошо сработало для нашей системы, но ваш пробег может отличаться.Я полагаю, что простоте интеграции помогла наша простая прикладная среда, которую мы использовали вместо более общей, но более сложной среды CAB для Smart Client.

В какой-то момент в будущем, когда мы обновим более старые модули с WinForm доSilverlight, отбросьте их, потому что они больше не нужны, или перепишите их, чтобы они соответствовали значительным изменениям в бизнесе.Затем мы переделаем хост-приложение, полностью охватим среду Silverlight / Prism / MVVM и удалим весь код WinForm.Очевидным преимуществом этого подхода является то, что нам не нужно переделывать весь интерфейс одновременно.

Пока что он работает хорошо для нас.Удачи, какой бы маршрут вы ни выбрали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...