Разработка сайта за 3 млн. Грн. пользователи: SharePoint или чистый ASP.NET? - PullRequest
6 голосов
/ 04 декабря 2009

Нам нужно разработать довольно мощное веб-приложение для инвестиционного банка. ИТ-отдел банка хотел бы, чтобы мы построили его на платформе SharePoint , но мы бы предпочли заниматься программированием на чистом ASP.NET .

Веб-приложение должно иметь следующие характеристики.

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

2) Веб-приложение также позволит клиентам отправлять в банк распоряжения на покупку акций и выполнение других финансовых операций.

3) Количество пользователей будет приблизительно 3 000 000 (всего) и 20 000 одновременно.

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

Однако ИТ-отдел банка сказал нам, что в SharePoint на самом деле есть множество других функций, которые помогут нам сделать проект более эффективным - например, кажется, что в SharePoint есть некоторые встроенные масштабируемость и технологии высокой доступности.

Я слышал, что разработка SharePoint очень утомительна, что платформу нельзя очень легко настроить и т. Д.

Вопрос : лучше ли создавать наше веб-приложение на чистом ASP.NET и самостоятельно решать проблемы масштабируемости и другие проблемы или основывать его на SharePoint - принимая во внимание, что веб-приложение что нам нужно создать нестандартно и сложно?

Спасибо, Михаил.

UPDATE

В ответах кто-то предложил использовать ASP.NET MVC. Мой другой вопрос: должны ли мы использовать «классический» ASP.NET или ASP.NET MVC для такого проекта (если мы опускаем опцию SharePoint)?

Ответы [ 12 ]

16 голосов
/ 04 декабря 2009

Вам нужен документооборот? Вам нужно управление версиями? Вам нужно создавать "сайты"? Вам нужна фильтрация аудитории? Вам нужен ECM (модное слово для CMS), вам нужны вещи для совместной работы на вашем сайте? Если ваш ответ отрицательный, то SharePoint не для вас.

Вы сказали: «Мы никогда не создавали никаких программ для SharePoint», и по одной этой причине я думаю, что вы не должны использовать SharePoint. Вы также говорите, что ваше приложение будет «нестандартным» и сложным, еще одна причина не использовать SharePoint.

Похоже, вы знаете ASP.NET, поэтому я бы посоветовал придерживаться ASP.NET или ASP.NET MVC.

Надеюсь, это поможет

13 голосов
/ 04 декабря 2009

Ответ прост, вы должны идти с тем, что вы знаете. Если вы предпочитаете делать это в ASP.NET, то это то, что вам нужно. Попытка освоить новую технологию в таком размере проекта почти наверняка вызовет у вас серьезные проблемы при разработке. Вероятно, вы можете поделиться шкалой с таким количеством пользователей, но вы не знаете, как это сделать. Это настоящий ключ.

Они верны. SharePoint обладает множеством функциональных возможностей, но это не значит, что это сделает вас более эффективным, потому что вы не знаете всех API и т. Д. Для доступа.

На самом деле, если вы хотите знать, как обмануть. Если они заставляют вас использовать его, вы можете запускать приложения ASP.NET под SharePoint (ну вроде). Вы можете сказать SharePoint, чтобы он по существу игнорировал путь на сайте и использовал обычный ASP.NET как веб-приложение, как любой другой сайт. На самом деле, это не использует SharePoint, но он может вывести вас из-под контроля в «Необходимости использовать SharePoint, чтобы сделать их счастливыми».

Майо предложил связаться с MS. У меня такое чувство, что у них уже есть отношения с банком, и они дали некоторое представление о проекте. Я хотел бы связаться с: http://www.mindsharp.com/ и посмотреть, могут ли они вам помочь. Это учебная компания, но я держу пари, что владельцы охотно помогут вам проконсультироваться, и я не нашел никого, кто бы знал больше о SharePoint, чем Тодд Бликер.

8 голосов
/ 07 декабря 2009

Я не буду вдаваться в достоинства sharepoint, но достаточно сказать, что я занимаюсь разработкой в ​​sharepoint, так как она была известна как «цифровая панель инструментов» - это была просто инкрустированная javascript сегодняшняя страница для перспективы. Что касается его воплощений .NET, мне потребовалось около 3 лет, чтобы стать тем, кого некоторые могут назвать «экспертом» по SharePoint 2007 / MOSS.

Прежде всего, позвольте мне дать вам несколько предупреждений относительно политики такого рода работ. Как подрядчик, ВСЕ мои работы за последние 6 лет - охватывающие shaerpoint 2003 и 2007 гг. - БЕЗ провала, связывались со мной на сайте с клиентом, который требовал sharepoint, и с магазином разработки с приличными разработчиками ASP.NET, которые имеют безнадежно потерялись и, более чем вероятно, взорвали 95% бюджета на последние 5% проекта, потому что они начали писать пользовательские расширения для платформы без полного понимания продукта.

Если клиенты и обслуживающие их магазины тратят больше времени на понимание продукта и изучают его, чтобы увидеть, как они могут немного изменить / оптимизировать свои бизнес-процессы и требования в соответствии с sharepoint вместо того, чтобы быть жесткими в их спецификации (которые ВСЕГДА были написаны с практически нулевым опытом работы с платформой) и решили сделать индивидуальную разработку, тогда больше проектов sharepoint будет реализовано вовремя и в рамках бюджета. К сожалению, это не так.

Итак, номер один: SharePoint 2007 - отличный продукт, но, пожалуйста, ради любви к jeebus, найдите себе лучших разработчиков, которые действительно разбираются в продукте, прежде чем отправиться в это путешествие. Если вы этого не сделаете, вы все загорелись.

-Oisin

6 голосов
/ 06 декабря 2009

Какая нагрузка на CRAP, которую не разделяет sharepoint, из-за того, для чего операционная система хочет ее использовать. Особенно комментарий «Не зацикливайтесь на SharePoint» от ChaosPandion. Может быть, он подумал, что это трудно и сдался ...

Конечно, разработка SharePoint требует некоторого привыкания, но она способна к тому, что требуется оператору наиболее определенно. SharePoint построен с использованием ASP.NET, поэтому все, что вы делаете в ASP.NET, можно использовать / перенести на SharePoint. Это не отдельный продукт, а ПЛАТФОРМА РАЗВИТИЯ . Он будет масштабироваться для обслуживания такого количества пользователей, используя несколько WFE (веб-интерфейсов) и SQL-кластер в качестве бэкэнда.

Вопрос здесь: является ли sharepoint наиболее подходящей платформой для создания этого сайта? Тогда я должен был бы ответить, вероятно, нет, видя, что требуемая функциональность - это почти все пользовательские разработки. Если вы планируете также управлять веб-контентом, то да, SharePoint определенно стоит изучить. Кроме того, SharePoint устраняет все (или, по крайней мере, большинство :-D) авторизации и хитрости аутентификации. Это Министерство обороны сертифицировано . А если предлагаемой встроенной безопасности недостаточно, просто напишите поставщика проверки подлинности (поскольку SharePoint использует модель поставщика ASP.NET ).

Чтобы ответить на ваши вопросы:

ИТ-специалисты банка сообщили нам, что SharePoint на самом деле имеет множество других функций, которые помогут нам сделать проект более эффективным - например, кажется, что в SharePoint есть некоторые встроенные технологии масштабируемости и высокой доступности.

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

Я слышал, что разработка SharePoint очень утомительна, что платформу нельзя очень легко настроить и т. Д.

Как я уже сказал, SharePoint основан на ASP.NET, поэтому его можно настраивать так же, как и ASP.NET. Вы даже можете создать веб-сайт ASP.NET, поместить весь пользовательский интерфейс в элементы управления, а затем использовать их в SharePoint, возможно, даже элементы управления используют свою собственную базу данных. Что касается того, чтобы быть утомительным, не действительно. Это просто РАЗНОЕ и развертывание / тестирование не похоже на обычное развертывание / тестирование. SharePoint использует так называемые файлы решений (файлы .wsp), чтобы упаковать функциональность и развернуть ее на сервере. Это IMHO делает возможным развертывание функциональности очень модульным способом. Кроме того, существует множество отличных проектов с открытым исходным кодом, которые значительно упрощают разработку на sharepoint, а также предоставляют отличные расширения для «раскрутки» вашего сайта и делают его более интересным и простым в использовании для конечных пользователей.

Нуфф сказал ....

3 голосов
/ 07 декабря 2009

ОБНОВЛЕНИЕ: После просмотра этого я бы добавил, что я не верю, что SharePoint для вас. Как я упоминаю ниже, SharePoint предназначен для совместной работы. Если пользователям, которые приходят на сайт, требуется изолированное взаимодействие, SharePoint требует больше затрат, чем вам нужно.

SharePoint построен поверх ASP.NET, поэтому у вас есть все, что вы хотите сделать с ASP.NET в дополнение к тому, что предоставляет SharePoint. Любой, кто говорит, что это трудно, пытается сделать это таким образом. Вы можете развернуть отдельные пользовательские страницы со 100% своего собственного кода, и он будет работать под sharepoint, или вы можете создавать новые страницы приложения, которые также содержат любой код, который вы хотите написать, или вы можете просто добавить свои собственные веб-части, которые можно добавить на любую выбранную вами страницу со 100% собственного кода.

Вот только один пример.

Создание страницы приложения в Windows SharePoint Services 3.0

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

Как говорится, не входите в это легко. В случае неправильного развертывания или с неполным пониманием того, где SharePoint превосходит, а где нет, это приведет к появлению диастера. Если у вас нет времени, чтобы понять основные концепции SharePoint, я бы предостерег от этого, но ваш клиент прав. Если вы создадите его в SharePoint, вы получите гораздо больше гибкости. Одним из преимуществ является возможность смешивать режимы аутентификации. Я разработал решение, которое смешало аутентификацию пользовательских форм с бэкэндом LDAP и аутентификацией Windows. Любой может посетить одни и те же страницы, но ваша аутентифицированная учетная запись может прийти из двух разных мест

3 голосов
/ 04 декабря 2009

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

Я понимаю, что 2007 год значительно улучшился по сравнению с 2003 годом, поэтому, возможно, ваша информация устарела. Я слышал, что 2010 год снова станет значительным улучшением.

Ваша работа заключается в предоставлении функциональности, которую желает клиент. Если им нужно решение SharePoint, если только нет какой-то конкретной причины, по которой SharePoint на самом деле является более слабой моделью, это то, что вы должны быть в состоянии предоставить. В случае, если SharePoint не подходит, вы должны быть в состоянии объяснить, почему к удовлетворению банка. Я не уверен, что «мы не знаем SharePoint» является приемлемым ответом в этой ситуации: на этом этапе банк должен искать кого-то, кто достаточно хорошо знает обе технологии для предоставления продукта в SharePoint, или лучше объяснить, почему SharePoint на самом деле не то, что они хотят.

2 голосов
/ 04 декабря 2009

Это вопрос о том, какие проблемы вы хотите иметь в приложении:

  • Создавая его так, чтобы он выглядел и функционировал по-своему, используйте sharepoint.
  • Создание инфраструктуры для аутентификации, разрешений, http / веб-безопасности, масштабируемости, резервного копирования, обслуживания баз данных. ПЛЮС, чтобы он выглядел и функционировал по-своему (но теперь стал гораздо под вашим контролем), используйте более чистый .NET подход.

Я бы выбрал ту, в которой я лучше, как сказал Кевин выше.

Редактировать
Подробнее о публикации в Kevins: вы также можете иметь свое приложение под sharepoint, но с полным доступом к API, в моих проектах мы делаем это как обычное приложение ASP.NET, с собственными мастер-страницами и всем остальным, но мы по-прежнему используем аутентификацию, списки и библиотеки документов для загрузки, назначения ролей для разрешений и т. д. Это очень жизнеспособный гибрид.

1 голос
/ 06 декабря 2009

Добро пожаловать в темную страну политики.

Стоит убедиться, что ваша команда правильно оценивает и понимает любые компромиссы, которые SharePoint заставит вас сделать. Запрашиваемая здесь - хорошее начало. Вещи, на которые я смотрю, включают:

  • Что будет включать в себя целое решение ? Зачастую администрирование сайта может включать в себя столько же или больше работы по разработке, как и внешний интерфейс. Хотя пользовательский интерфейс 3M + является очаровательной частью, он не может быть основной частью работы.

  • Существуют ли справочные сайты для сайтов SharePoint с одновременным доступом более 20K? Честно? Какое оборудование требовалось? Это доступно?

  • Привлеките небольшую группу опытных подрядчиков на несколько недель для правильной оценки работы как на ASP.NET MVC, так и на SharePoint. Убедитесь, что они работают на больших сайтах. (В данный момент много подрядчиков!)

Кроме того, предвидеть сбой. Есть запасной вариант:

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

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

Я был в похожей ситуации, когда выяснилось, что на очень высоком уровне было сильное влияние поставщиков. Старшая команда приобрела SharePoint и потребовала его использования для всех внутренних систем; OCTO (Офис главного технолога) ввел технологии с открытым исходным кодом. Было забавно наблюдать, как меха летит посередине.

(В итоге наш вариант заключался в использовании сервис-ориентированной архитектуры на основе REST, которая фактически полностью выгрузила текущую версию SharePoint из системы.)

1 голос
/ 06 декабря 2009

Проблема с вопросом, проста ли настройка Sharepoint, заключается в том, что существует широкий диапазон уровней настройки, с которыми сталкиваются люди. И по какой-то причине большинство людей также считают, что любой уровень, на который они настраивали Sharepoint, - это степень, в которой кто-то еще будет пытаться настроить Sharepoint.

Трудно говорить о степенях настройки в конкретных терминах. Для меня «настройка» - это борьба с основным DAL, борьба с ошибками в оптимизаторах запросов CAML to SQL, переопределение конвейера гидратации SPListItem и т. Д. Для других «настройка» может означать создание некоторых виджетов веб-частей и их развертывание в WSP. Если вы обнаружите некоторое несоответствие импеданса между вашей логической моделью и рабочей моделью Sharepoint, вам будет очень трудно согласовать их.

1 голос
/ 04 декабря 2009

SharePoint - это большая работа, и с таким количеством пользователей я лично (и будучи разработчиком SharePoint) не буду беспокоиться.

Я бы честно пошел по пути ASP.MVC, а не потому, что это новая и новейшая технология Buzz. Я бы использовал его, потому что он работает быстрее. Этот сайт, например, написан на ASP.NET MVC и обрабатывает все эти запросы в день на 3 сервера. 2 интерфейса и 1 база данных. Поправьте мой, если я ошибаюсь.

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