Что такое разработка Sharepoint с точки зрения разработчиков?

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

Может ли кто-нибудь дать хорошее описание разработчику-разработчику того, что такое Sharepoint? Мне особенно хотелось бы знать, что делают разработчики Sharepoint.

Ответ 1

== Редактировать 2017 ==

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

== Оригинальное сообщение ==

SharePoint - очень сложная система управления контентом (CMS) с множеством отличных функций BSS (Business support system). Есть так много преимуществ, что трудно ограничиться тем, что нужно упомянуть. Однако некоторые из очевидных вещей состоят в том, что вы можете смешивать так много "сред" на одном сервере, эти среды разделяются как сайты.

Что я имею в виду под средой?

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

  • Внешняя веб-страница, размещенная либо SharePoint, либо интегрированная веб-страница.
  • Управление заказами
  • Поддержка и продажа билетов
  • Обработка грузов фрахтом
  • Интранет-сайты с управлением документами

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

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

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

Наиболее распространенным назначением в моем мире будет интеграция SharePoint с внешней CMS, например EPIServer или Joomla, для настройки интеграции, когда посетители смогут отправлять сообщения из Интернета непосредственно в SharePoint. Эти назначения затем направляются на создание рабочего процесса, что будет происходить с этим сообщением, когда оно будет получено службой поддержки клиентов/отделом продаж и т.д. До тех пор, пока поручение не будет закрыто. Когда это будет сделано, я смогу построить некоторые графики в пользовательской веб-части, используя mschart, отображающую некоторые данные о продажах или статистические данные о поручениях поддержки. В настоящее время я планирую структуру данных с помощью SharePoint в качестве интернет-магазина. И вот вы снова, универсальность!

В SharePoint есть очень мощный API, если вы интегрированы. Я сам участвую в создании ADO.NET Connector for SharePoint, который превращает SharePoint в SQL-сервер, что позволяет разработчикам пропустить с помощью CAML. И там есть много других интересных инструментов.

Не забывайте второе самое большое преимущество использования SharePoint. Вы можете сосредоточиться на продвижении вперед, бэкэнд уже существует.

Ответ 2

Здесь короткое видео, описывающее SharePoint с точки зрения конечного пользователя/бизнеса http://www.youtube.com/watch?v=s12Jb5Z2xaE

С точки зрения разработчика SharePoint - это платформа, которая находится поверх ASP.NET, которая предоставляет услуги, описанные в видео (и многое другое). Задача разработчика заключается в том, чтобы расширить платформу, когда только готовые функции не могут решить бизнес-проблему.

Хотя SharePoint находится поверх ASP.NET, разработка для SharePoint отличается от разработки ASP.NET разными способами. SharePoint использует списки в качестве основного механизма хранения, имеет свою собственную компонентную модель (функции), имеет собственную модель упаковки и развертывания (решения) и т.д. Потребуется некоторое время, чтобы стать опытным разработчиком SharePoint, даже для тех, кто имеет опыт разработки ASP.NET.

Ответ 3

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

Это позволяет быстро создавать решения высокого уровня.

На самом деле первым вопросом, который вы должны задать разработчику, является проблема, если проблема может быть решена без кодирования. Бизнес-пользователи и администраторы могут составлять решения в браузере или с помощью SharePoint Designer. Разработчик должен стараться очень хорошо ознакомиться с работой этих ролей и инструментами, которые они используют. Часто вы будете администратором своего собственного сервера разработки, который предоставит вам AD, PowerShell и задачи установки и настройки.

Если требуется Visual Studio, разрабатываемый код должен соответствовать структурам SharePoint и использовать в дополнение к html, JavaScript и С# объекты, такие как объектная модель сервера или клиентской стороны, различные схемы Xml и т.д. Например, вместо создания простой страницы (как и ASP.NET-разработчик) решение SharePoint может потребовать, чтобы вы обернули html/js в WebPart, который может быть повторно использован и настроен на разных страницах бизнес-пользователями.

Хостинговые версии SharePoint (esp. 2013) добавляют еще одно измерение для разработки SharePoint: кроме html/js вы можете использовать Azure.