Предложения / Рекомендации для веб-приложения с подпоисками
-
28-09-2019 - |
Вопрос
Я начинаю думать и разрабатывать архитектуру для большого веб-приложения, и я хотел получить предложения и / или рекомендации, на которые используются технологии и / или рамоты.
Приложение станет веб-сайтом на основе внутрисея с использованием аутентификации Windows, работает на IIS и с использованием ASP.NET. Это необходимо будет структурировать в качестве основного веб-приложения с суб-веб-приложениями. По сути, весь объем - это композитное приложение, основанное на браузере, что состоит из дискретных, функционально полных модулей или субэлементов.
Это композитное веб-клиентское приложение будет иметь основной или оболочковый модуль для предоставления общей структуры пользовательского интерфейса. Кроме того, модуль оболочки обеспечит доступ к общим услугам, что все отдельные подпоиплы или модули могут использовать. Затем каждое поднос / модуль будет содержать собственную функциональность и реализацию, но интегрировать с пользовательским интерфейсом оболочки.
Далее, основываясь на пользователе и какое из подположенных приложений доступно, приложение Main или Shell будет динамически создавать вкладки (или кнопки или что-то) в качестве способа доступа к каждому отдельному приложению. И мы будем хранить данные пользователя и приложения в таблице базы данных.
Таким образом, например, у нас будет приложение отчетов, приложение отображения и, вероятно, пару других четких приложений. При запуске приложения Main / Shell после определения того, кто является пользователем, основное приложение будет запрашивать базу данных, чтобы определить, какие подполым пользователь может использовать и построить пользовательский интерфейс. Затем пользователь может перемещаться между доступными подпоисками и выполнять свою работу в каждом.
Я надеюсь, что все это имеет смысл.
В любом случае, мне интересно, что, если таковые имеются, ранее существующие технологии / рамки будут лучше всего работать для архитектуры и развития такой системы.
Будет ли завод программного обеспечения веб-клиента хорошим выбором? Будь хорошим выбором другого решения MVP? Будь хорошим выбором ASP.NET? Что-то другое???? Ничего из них не будет хорошим выбором, и мы должны просто развить все с нуля, используя веб-формы? Любая другая информация, о которой я должен знать?
Спасибо!!!!
Решение
ASP.NET MVC2 также облегчает использование областей. Вот ссылка, которая может быть полезна
http://odetocode.com/blogs/scott/Archive/2009/10/13/asp-net-mvc2-preview-2-areas-and-routes.aspx.
По сути, вы можете использовать области, чтобы вырвать ваши «подпапплики»
Другие советы
Прежде чем обсуждать рамки, некоторые моменты для рассмотрения при построении такой системы (где могут быть подключены подполы):
- Возможные точки интеграции (данные, услуги, деловая логика, интерфейс UI)
- Скрещенные проблемы (система регистрации системы, регистрация аудита, конфигурация, безопасность)
- Кто будет разрабатывать суб-приложения (вы, люди, которые работают в вашем офисе, или кто-либо / большее сообщество)
Я думаю, что прежде чем прыгать и построить рамки (или выбирать существующую), вам нужно вернуть назад и сначала подумать через эти аспекты.
С точки зрения домохозяйств: вы найдете множество рамки, но очень мало предлагают полный ассортимент того, что вы после:
- ASP.NET WebForms в основном является совершенно вакантной посылкой земли - вам придется создавать самые важные вещи или приносить дополнительные рамки (такие как библиотеки MS Enterprise)
- MVC ASP.NET эффективно то же самое, но в другом стиле.
Ни один из них не являются «рамками», но вы можете использовать любой из них, как «платформа» низкоуровневой базы «.
- MS INT Libs отлично подходит для сквозных проблем (например, доступ к данным, регистрации и т. Д.) Но это все.
- Там также есть ассортимент хорошего Рамки инверсии зависимости Но опять же это не полное решение.
Большое дело для контроля зависимостей: убедитесь, что вы издали от аннотации слоя данных (для начала), придерживайтесь принципов вокруг сегрегации интерфейса, повторного использования и так далее.
Один вариант, который вы могли бы рассмотреть (и я выдуваю свою трубку здесь - поэтому я не беспристрастный) - это Framework Application Application Priments Open Source.Морфолиа«Это приняло мне около 5 лет, неполный рабочий день). Даже если вы не используете его, вы можете найти несколько хороших идей или код, которые вы можете «воровать»:
Морфилия:
- Архитектура
- Обзор вариантов интеграции
- Возможности и особенности (обзор)
- Атрибут управляет (Мой ответ на предоставление архитектуры Plug-and-Play)
Это доступно для скачивания в http://morpholia.codeplex.com/