Предложения / рекомендации для веб-приложения с дополнительными приложениями - PullRequest
0 голосов
/ 18 июня 2010

Я начинаю думать и разрабатывать архитектуру для большого веб-приложения, и я хотел бы получить предложения и / или рекомендации по использованию технологий и / или сред.

Приложение будетвеб-сайт на основе интрасети, использующий проверку подлинности Windows, работающий на IIS и использующий ASP.NET.Он должен быть структурирован как основное веб-приложение с вложенными веб-приложениями.По сути, вся область действия представляет собой составное приложение для интрасети на основе браузера, которое состоит из дискретных, функционально завершенных модулей или вложенных приложений.

Это составное приложение веб-клиента будет иметь основной модуль или модуль оболочки для обеспечения общегоструктура пользовательского интерфейса.Кроме того, модуль оболочки будет предоставлять доступ к общим службам, которые могут использовать все отдельные подпрограммы или модули.В этом случае каждое вспомогательное приложение / модуль будет содержать свою собственную функциональность и реализацию, но интегрироваться с пользовательским интерфейсом оболочки.

Далее, в зависимости от пользователя и того, какие из вспомогательных приложений доступны, основное приложение или приложение оболочки.будет динамически создавать вкладки (или кнопки или что-то), как способ доступа к каждому отдельному приложению.И мы будем хранить данные о пользователях и приложениях в таблице базы данных.

Так, например, у нас будет приложение для отчетов, приложение для отображения и, возможно, пара других приложений.При запуске приложения main / shell, после определения того, кем является пользователь, основное приложение будет запрашивать базу данных, чтобы определить, какие вспомогательные приложения пользователь может использовать, и создать пользовательский интерфейс.Затем пользователь может перемещаться между доступными подпрограммами и выполнять свою работу в каждом из них.

Надеюсь, все это имеет смысл.

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

Будет ли фабрика программного обеспечения веб-клиента хорошим выбором?Будет ли какое-то другое решение MVP хорошим выбором?Будет ли ASP.NET MVC хорошим выбором?Что-то другое????Разве ни один из них не будет хорошим выбором, и мы должны просто разработать все с нуля, используя веб-формы?Любая другая информация, о которой я должен знать?

Спасибо !!!!

Ответы [ 2 ]

0 голосов
/ 19 июня 2010

Прежде чем обсуждать фреймворки, необходимо учесть некоторые моменты при создании такой системы (где могут быть подключены подпрограммы):

  • Возможные точки интеграции (Данные, Сервисы, Бизнес-логика, Пользовательский интерфейс)
  • Межсекторальные проблемы (ведение журнала системы, ведение журнала аудита, настройка, безопасность)
  • Кто будет разрабатывать суб-приложения (вы, люди, которые работают в вашем офисе, или кто-либо / сообщество в целом)

Я думаю, что прежде чем прыгать и строить каркас (или выбирать существующий), вам нужно сделать шаг назад и сначала обдумать эти аспекты.

С точки зрения фармворков: вы найдете много фреймворков, но очень немногие предлагают полный спектр того, что вам нужно:

  • ASP.NET WebForms, по сути, является полностью свободным участком - вам придется создавать большинство вещей самостоятельно или вводить дополнительные фреймворки (такие как библиотеки MS Enterprise)
  • ASP.NET MVC - фактически то же самое, но в другом стиле.

Ни одна из них не является "инфраструктурой", но вы можете использовать любую из них в качестве низкоуровневой базовой "платформы".

  • MS Ent Libs отлично подходит для сквозных задач (таких как доступ к данным, ведение журнала и т. Д.), Но это все.
  • Существует также ряд хороших платформ для инверсии зависимости , но, опять же, это не полное решение.

Главное - контролировать зависимости: убедитесь, что вы абстрагируете слой данных (для начала), придерживайтесь принципов разделения интерфейса, повторного использования и т. Д.

Один из вариантов, который вы могли бы рассмотреть (и я здесь бью свою собственную трубу - так что я не беспристрастен), это созданная мной среда приложения с открытым исходным кодом .net (' Morphfolia ' заняло у меня около 5 лет, по совместительству). Даже если вы не используете его, вы можете найти хорошие идеи или код, который можно «украсть»:

Morphfolia:

Доступно для скачивания на http://morphfolia.codeplex.com/

0 голосов
/ 18 июня 2010

ASP.Net MVC2 также облегчает использование областей. Вот ссылка, которая может быть полезна

http://odetocode.com/Blogs/scott/archive/2009/10/13/asp-net-mvc2-preview-2-areas-and-routes.aspx

в основном вы могли бы использовать области, чтобы разбить ваши "приложения"

...