Мне предстоит принять решение об архитектуре веб-приложения, над которой я буду работать.Мы небольшая команда, и на самом деле я буду работать над ней в одиночку (все работают над чем-то другим).
Это приложение будет состоять из предварительной сборки библиотеки ExtJS и будет использоватьмодель «загрузить страницу, построить графический интерфейс и никогда не обновлять».
На веб-«рабочем столе» будет много окон данных, представлений карты (с использованием openlayers + GeoExt) и других вещей.
Графический интерфейс должен быть гибкими разрешить каждому пользователю изменять (и сохранять) макет в соответствии со своими потребностями.
Должна быть возможность разделить приложение на модули / части / ..., а затем позволить пользователям в определенных группах использовать толькоконкретные модули.Другими словами, каждая группа пользователей может иметь различные графические интерфейсы, доступные на веб-сайте «рабочий стол».
Вопросы:
Прежде всего, хорош ли этот подход?
Будет много вызовов AJAX от клиентов, возможно, это может быть проблемой.
Как справиться со сложностью кода на стороне клиента?
Пока у меня естьрешил использовать функцию dojo.require / dojo.provide и разделить код на стороне клиента на модули (для производства они будут собраны с использованием системы сборки dojo). Я думаю о том, чтобы использовать вид контейнера IoC на стороне клиента, но не уверен, какой именноеще нет.
Вполне вероятно, что я напишу один для себя, это не должно быть сложно на динамическом языке, таком как JavaScript.
Как обрабатывать вызовы AJAX на сервере?
Должен ли я использовать WCF на стороне сервера?Или просто обычный обработчик ashx?
Как справиться со сложностью кода на стороне сервера?
Я хочу использовать Spring.NET.Возможно, этот подход может помочь с проблемой модульности.
Доступ к данным - здесь я почти уверен, что использовать: для классов DAL я буду использовать nHibernate.Затем я сочиняю их с помощью бизнес-классов с использованием Spring.NET.
Буду очень признателен за некоторые советы о том, в каком направлении идти.
Я знаю о многих технологиях, но у меня естьЯ использовал только небольшую часть этого.
У меня нет времени, чтобы изучить все из них и быть в порядке с решением.