Применение SharePoint на рынке российской веб-разработки

ECM/СЭД
Сегодня я хочу написать про Microsoft SharePoint с точки зрения человека, который с нуля организовывает новую производственную линию на этом фреймворке. Все-таки, SharePoint – это довольно новая технология на веб-рынке России, и про нее мало кто знает – чем больше информации – тем лучше.



Мы в ADV со второй половины 2010 года начали делать проекты на SharePoint и столкнулись как с положительными сторонами (сильная поддержка ребят из Microsoft), так и с отрицательными (довольно новая для российского рынка технология). Но, в любом случае, приятно и интересно ощущать себя первопроходцем по внедрению новой технологии.

Для чего можно применить SharePoint?


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

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

Насколько это сложно?


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

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

SharePoint 2010 1С: Битрикс
Наиболее востребованные сервисы
Задачи + +
Бизнес-процессы + +
Документооборот + +
Карточки сотрудников, оргструктура + +
Календари + +
Потоки новостей + +
Интеграция с Active Directory, Outlook + +
Визуальный редактор контента + +
Инлайн-редактирование прямо в странице + +
Конструктор форм + +
Excel Services +
Защита от атак + +
Система сбора статистики + +
Поиск с морфологией и тегами + +
Онлайн-чат (в том числе видео) + +
Редактируемые витрины (аля iGoogle) + +
Многосайтовость + +
Организационно-технические параметры
Кластеризация + +
Наличие хостинг-провайдеров + +
Библиотека модулей от сторонних разработчиков + +


Необычной и одновременно полезной фичей SharePoint оказался Excel Services – сервис, который позволяет использовать таблицу Excel как хранилище данных и формул расчета для онлайн-калькуляторов. В остальном обе системы похожи по функциональности.

SharePoint для публичных сайтов – плюсы и минусы


Если вы хотите использовать SharePoint для создания публичных сайтов, то с технологической стороны потребуется некоторая сноровка.

Например, для «натягивания» чистой кроссбраузерной верстки с современными спецэффектами, которая так важна в публичных сайтах, лучше изучить книгу Professional SharePoint 2010 Branding and User Interface Design. На русский она пока не переведена, но в интернете есть заметка, которая поможет начать разбираться.

Кроме того, по возможности, лучше использовать WebControls вместо WebParts – функционал похож, зато возможности кастомизации у WebControls намного шире. Есть также альтернативы, например, использование шаблона Model View Presenter, но это уже тема для отдельной статьи.

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

При этом есть и плюсы:
  • Большая библиотека готовых модулей, в том числе, от сторонних разработчиков;
  • Всегда можно сделать свой модуль «с нуля» на ASP.NET;
  • Хороший инлайн-визивиг с интерфейсом «а-ля MS Office», который будет привычен всем, кто работал с офисными приложениями Microsoft;
  • Встроенная и довольно простая в использовании система документооборота при публикации контента;
  • Легко создать несколько сайтов на базе одного веб-сервера: мобильную версию, языковые версии, промо-сайты;
  • В принципе удобно использовать SharePoint как ECM
  • Широкие возможности настройки кэширования
  • ASP.NET – это не PHP, скомпилированное приложение работает быстрее интерпретируемого скрипта
  • SharePoint легко кластеризуется и масштабируется. В сочетании с виртуализацией масштабирование приложений становится совсем простой процедурой.


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

Хочу отметить, что у Microsoft сильно развита система поддержки своих партнеров. Начиная от программы BizSpark, которая позволяет получить большой пакет бесплатного ПО, до выделения архитекторов SharePoint в помощь на конкретные проекты.

Интранеты


Примеры интранетов я по понятным причинам показать не могу, поэтому расскажу о возможностях SharePoint для построения интранетов, которые мы используем в своей работе:
  • Легкость интеграции интранета и публичного сайта. Например, заявки, отправленные через публичный сайт, попадают в интранет на страницы ответственных людей. Кроме того, как я уже упоминал выше, можно использовать SharePoint как ECM и публиковать информацию из интранета в публичный портал.
  • Множество готовых модулей: документооборот, календари, интеграция с Outlook, поиск по страницам и содержимому документов, организационная структура, интеграция с Active Directory итд итп до бесконечности.


Когда оправдано применение SharePoint


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

Кроме того, для не сильно нагруженных решений есть экономичные предложения: MS SQL Express и Microsoft SharePoint Foundation – с помощью этих вещей можно построить веб-приложение бесплатно.

Практика создания производственной линии



После того, как мы решили делать проекты на SharePoint, перед нами встало несколько задач:
  • Поиск SharePoint-разработчиков
  • Поиск Windows-администратора
  • Организация тестовой зоны и среды разработки

Рассмотрим каждую из них более детально.

Поиск SharePoint-разработчика – дело довольно хитрое. Технология для России пока экзотическая, SharePoint 2010 не знает практически никто, поэтому у нас получилась смешанная команда. В основном она состоит из опытных .NET-разработчиков, которых мы активно прокачиваем на курсах по проектированию и разработке приложений SharePoint 2010. Также есть люди, которые уже имеют опыт работы с SharePoint 2007, им было легче втянуться в работу с «десяткой».

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

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

На организацию тестовой среды и разработки под SharePoint закупили оборудование: разработчикам компьютеры с 16Gb оперативной памяти и 1Tb жестким диском. Такие мощности понадобились для поднятия на локальном хосте виртуальной машины, подобной серверу по объему поставленного ПО, что показалось более приемлемым вариантом в плане стоимости и производительности, чем создавать виртуальные машины на сервере.

Отдельный сервер понадобился для организации процесса разработки:
image

На сервере развернуто несколько виртуальных машин, для организации процесса: Сервер с SharePoint для демонстрации функционала, сервер непрерывной интеграции (о нем далее), отдельно Sql Server, а также Team Foundation Server (TFS). Отдельно хочу сказать про TFS – это довольно удобная штука, которая объединяет в себе контроль версий, багтрекер, таймтрекер и сервер сборок. Причем, в трекере есть пресеты для Agile-подхода: разбиение проекта на итерации и user stories, простановка оценки задача в баллах.

При желании можно добавить ко всему этому бесплатный TeamCity и получить True Aglie процесс который включает в себя и сервер непрерывной интеграции. Видеокаст как подружить это все с SharePoint есть на сайте 21 apps.

Перспективы развития


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

Сама по себе технология SharePoint современная и развитая – веб-приложения можно делать быстро и сами приложения тоже работают быстро. Кроме того, во многих крупных организациях России уже развернуто много серверных решений от Microsoft, поэтому SharePoint обещает быть востребованным.

Надеюсь, что со временем в русском интернете будет появляться все больше практических материалов, которые сделают SharePoint максимально доступным для начинающих разработчиков.
Теги:sharepointпубличные сайтыmicrosoftadv
Хабы: ECM/СЭД
+20
8,4k 37
Комментарии 66

Похожие публикации

Оператор технической поддержки
от 25 000 ₽АвтотрейдИркутск
Старший инженер по внедрению ECM-решений
от 120 000 до 220 000 ₽АйДжиЭсМосква
Аналитик/контент менеджер (Crytpo, Fintech)
от 90 000 до 150 000 ₽CryptoRankМожно удаленно
Интеграционный аналитик
от 160 000 ₽СберЛогистикаМосква

Лучшие публикации за сутки