2010-06-18 9 views
0

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

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

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

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

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

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

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

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

Спасибо !!!!

+0

Возможный дубликат [Рекомендации по архитектуре/рекомендации для веб-приложения с суб-приложениями] (http: // stackoverflow.com/questions/4719196/architecture-ideas-рекомендации-для-веб-приложения-с-приложениями) –

+0

Пожалуйста, прекратите публиковать повторяющиеся вопросы. –

+0

У меня возникла проблема с открытыми идентификаторами, поэтому я подумал, что мне нужно было повторно отправить его (и при этом я попытался очистить и прояснить исходный пост - так что технически они немного отличаются). Если бы я мог удалить исходный пост, я бы это сделал. Но я не могу, или, по крайней мере, совсем не ясно, как это сделать. – lmttag

ответ

0

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

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

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

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

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

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

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

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

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

Morphfolia:

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