Преимущества SharePoint 2010 как платформы разработки Для независимых поставщиков программных продуктов и предприятий Дата публикации: июнь 2010 г. Авторы Оуэн Эллан (Owen Allen) — старший менеджер по продуктам для ISV-партнеров SharePoint, корпорация Майкрософт Эрик Боудин (Eric Bowden) — старший консультант, ThreeWill Керк Лимон (Kirk Liemohn) — ведущий специалист по программному обеспечению, ThreeWill Дэнни Райан (Danny Ryan) — администратор, ThreeWill Томми Райан (Tommy Ryan) — администратор, ThreeWill Пит Скелли (Pete Skelly) — ведущий консультант, ThreeWill Соавторы Джефри Эдж (Geoffrey Edge) — старший технический специалист, корпорация Майкрософт Керк Эванс (Kirk Evans) — разработчик и ведущий эксперт по платформе в разделе коммуникаций, корпорация Майкрософт Крис Митчел (Chris Mitchell) — специалист по архитектуре технологий для Microsoft Technology Center, корпорация Майкрософт Редакторы Билл Арконати (Bill Arconati) — менеджер по товарному маркетингу, Atlassian Software Systems Тони Кларк (Tony Clark) — директор, корпоративная архитектура, Cox Enterprises Джефри Эдж (Geoffrey Edge) — старший технический специалист, корпорация Майкрософт Бо Джордж (Bo George) — старший разработчик приложений, Aflac Мюррей Гордон (Murray Gordon) — ведущий эксперт по архитектуре ISV, корпорация Майкрософт Аарон Рафус (Aaron Rafus) — ведущий эксперт по технологии, McKesson Corporation Уильям Роджерс (William Rogers) — главный специалист по архитектуре Workplace, CorasWorks Corporation Брендон Шварц (Brendon Schwartz) — старший инженер по платформе, JackBe Corporation Коул Шифлетт (Cole Shiflett) — специалист по архитектуре решений, Equifax Др. Тодд Стивенс (Dr. Todd Stephens) — старший специалист по технической архитектуре, AT&T Мэтт Волц (Matt Waltz) — технический директор, NextDocs Майкл Уилсон (Michael Wilson) — специалист по решениям (Office и SharePoint), корпорация Майкрософт Краткий обзор В ходе конференции, посвященной SharePoint (2009 г.), Кристиан Финн (Christian Finn), директор подразделения по разработке продуктов SharePoint для корпорации Майкрософт, заявил, что, учитывая существующие тенденции, создание продуктов на платформе SharePoint можно назвать «писком сезона». В подтверждение своих слов он привел динамику развития платформы SharePoint наряду с показательными заявлениями компаний, которые встраивают возможности интеграции с SharePoint в свои продукты и услуги. Настоящий документ предназначен для независимых поставщиков программных продуктов, специалистов по архитектуре программного обеспечения, ИТ-директоров и других руководителей, чья деятельность связана с корпоративными технологиями. Он продолжает эту дискуссию, рассматривая возможные ограничения, которые могут стать причиной того, что организации, занимающиеся разработкой, отказываются от использования SharePoint в качестве платформы разработки при планировании стратегии выбора технологии. Кроме того, он демонстрирует преимущества использования SharePoint в качестве платформы разработки веб-приложений для таких организаций. Оглавление Цели данного документа......................................................... 3 SharePoint. Историческая справка........................................ 4 Аудитория данного документа .............................................. 6 Кажущееся препятствие 3: отсутствие интеграции со внешними или реляционными данными............................................. 21 Обоснование применения SharePoint................................. 7 Кажущееся препятствие 4: изоляция кода и управление жизненным циклом приложения (ALM) ........................ 21 Пригодность SharePoint для определенных целей ...... 7 Справедливы ли эти убеждения?...................................... 22 Аргументы ................................................................................ 8 Неправильное представление о SharePoint как о платформе приложений............................................... 23 Использование платформы............................................. 8 Понимание ценностного предложения....................... 8 Концепции платформы SharePoint....................................... 9 Подключение .......................................................................... 9 Расширение ............................................................................. 11 Базирование ............................................................................ 12 Возможности платформы........................................................ 13 Заблуждение 1: зависимость от SharePoint обуславливает закрытость архитектуры ...................................................... 23 Заблуждение 2: приложения SharePoint слишком рестриктивны ......... 23 Заблуждение 3: SharePoint — это лишь хранилище документов........... 24 Канал обработчиков HTTP ASP.NET .............................. 13 Заблуждение 4: SharePoint не может использоваться для выполнения бизнес-приложений ............................. 25 Безопасность приложений .............................................. 14 Поддержка сообщества и набор средств ...........................26 Приложения-службы......................................................... 14 Сообщество ............................................................................. 26 Создание пакетов и развертывание ............................. 14 Visual Studio ............................................................................. 26 Управление контентом......................................................... 15 Отладка ..................................................................................... 26 Внешние данные ................................................................. 15 SharePoint Designer ............................................................... 27 Бизнес-аналитика ............................................................... 16 Средства сторонних производителей ..............................27 Поиск ...................................................................................... 16 Дальнейшие действия............................................................... 28 Рабочий процесс ................................................................ 17 Сопоставление функций....................................................... 28 Пользовательский интерфейс модели данных .......... 17 Анализ рынка ..........................................................................28 И многое другое ................................................................. 17 Сравнение ................................................................................28 Пользовательский интерфейс ............................................ 18 Пилотный проект ...................................................................28 Сводные сведения о возможностях платформы .......... 19 Консультации ..........................................................................28 Препятствия для внедрения в качестве платформы разработки............................................................ 20 Экосистема ISV-партнеров SharePoint ............................29 Кажущееся препятствие 1: необходимость уникальных навыков для разработчиков ............................................... 20 Ссылки .......................................................................................30 Кажущееся препятствие 2: ограниченный или строгий набор служб платформы 20 Сноски .......................................................................................34 Инфраструктура...................................................................... 13 Основные ресурсы ................................................................30 Глоссарий .................................................................................31 Цели данного документа Как и в случае с любым другим эволюционирующим продуктом, существуют так называемые «ложные пределы», обусловленные опытом работы пользователей с предыдущими версиями. Первоначально целью основных компонентов и возможностей SharePoint являлось обеспечение набора готовых функций, которые упрощали использование и администрирование продукта для сайтов групп и порталов. Продукт с самого начала предусматривал расширение, однако его архитектура не предполагала массовую разработку. Со временем приоритеты изменились. Сейчас можно перечислить крайне веские причины, по которым организациям-разработчикам следует учесть SharePoint в своих стратегиях выбора технологии. Возможность использования богатого набора функций технологий SharePoint — это достаточное основание для рассмотрения SharePoint в качестве платформы веб-разработки. Еще одна немаловажная причина разработки приложений на основе SharePoint (или подразумевающих взаимодействие с этой технологией) — те рыночные возможности, которые открываются благодаря связи с этой популярной платформой (в мире продано более 100 миллионов лицензий на SharePoint). Целью данного документа является рассмотрение кажущихся ограничений, которые обычно заставляют организации, занимающиеся разработкой, исключить SharePoint из планирования стратегии выбора технологии для своих программных продуктов. В данном техническом документе будут подробно рассмотрены некоторые особенности платформы, включая возможность ускоренного создания более эффективных продуктов и преимущества быстрого внедрения и роста заинтересованности покупателей в SharePoint в качестве платформы разработки. Кроме того, в документе описываются так называемые стратегии Подключения, Расширения и Базирования (Connect, Extend и Build On), а также преимущества этих подходов. SharePoint. Историческая справка Недавно была выпущена четвертая версия SharePoint. Со времени выпуска первой версии продукта SharePoint Team Services (STS) и SharePoint Portal Server (SPS) в 2001 году технология прошла большой путь. Крайне любопытно оценить изначальную концепцию SharePoint рабочей группы и то, как они воплотили эту концепцию в жизнь 1. В самом начале своего жизненного цикла технология SharePoint предоставляла собой приложение для реализации порталов и сайтов рабочих групп. Возможности настройки были весьма ограничены. В отличие от последующих версий SharePoint, два набора служб в первой версии продукта, SharePoint Team Services (STS) и SharePoint Portal Server (SPS), даже не имели полностью общей технологической основы. Вторая версия, включавшая службы Windows SharePoint Services (WSS) 2.0 и SPS 2003, дала начало формированию сообщества сторонних разработчиков. Интересы этого сообщества главным образом лежали в сфере устранения разрыва между функциями SharePoint и характерными требованиями к порталам и сайтам групп. Эти продукты, как правило, имели форму компонентов (таких как вебчасти), которые давали конечным пользователям возможность составления упрощенных приложений. Кроме того, началось формирование концепции смешения данных из внутренних и внешних источников SharePoint. Помимо разработки сторонних продуктов, сообщество разработчиков избегало настройки среды SharePoint, так как имевшиеся приемы зачастую были недостаточно эффективны. Например, для настройки фирменного оформления было необходимо вносить изменения в файл ONET.XML; при том, что этот системный файл SharePoint впоследствии мог быть изменен при развертывании обновлений из пакетов обновления, что приводило к перезаписи настроек. Кроме того, набор технологий SharePoint выполнялся параллельно среде выполнения ASP.NET, вместо того чтобы быть основанным на этой технологии: среда SharePoint имела отдельный фильтр ISAPI и не запускалась посредством фильтра ISAPI ASP.NET. Как следствие, SharePoint были недоступны преимущества обширного набора функций, предоставляемых средой ASP.NET История SharePoint Более полное представление об истории продукта можно получить, ознакомившись с публикацией Джеф фа Тепера (Jeff Teper) об истории SharePoint. Джеф ф занимает должность корпоративного вице-президента подразделения SharePoint. В своей статье он описывает факторы, которые обусловили преобладание ранней концепции SharePoint в течение многих лет. Как сообщается в записи блога, с самого начала стратегия подразумевала следующее: • • • • решение с широчайшими возможностями интеграции; готовая рабочая область в веб-среде; великолепная интеграция с пакетом Office; простое и гибкое развертывание. С выпуском служб WSS 3 и Microsoft Office SharePoint Server (MOSS) 2007 началось формирование сообщества внутренних разработчиков и консультантов одновременно с быстрым расширением круга сторонних разработчиков. Возможности по расширению стали богаче, кроме того, стала очевидной и перспективность SharePoint в качестве платформы разработки вебприложений. Набор служб, которые могли служить основанием для разработки в SharePoint, позволил осуществлять сценарии расширенной настройки решений, включая, например, такие сферы, как использование Windows Workflow Foundation, управление веб-контентом (посредством включения продукта Microsoft Content Management Server), многофункциональную модель событий и возможности поиска. SharePoint. Историческая справка С появлением SharePoint 2010 изменились наименования составляющих продуктов. Преемник Windows SharePoint Services 3.0 носит название Microsoft SharePoint Foundation 2010, а следующая версия Microsoft Office SharePoint Server 2007 называется Microsoft SharePoint Server 2010. Термин «SharePoint 2010» часто используется как обобщение для разных служб SharePoint, не относясь конкретно к SharePoint Foundation или SharePoint Server. Кроме того, в SharePoint 2010 большое внимание уделено удобству для разработчиков. Среда включает большой набор средств и компонентов — как для создания комплексных приложений без строчки кода, так и использования среды Visual Studio для разработки пакетированных решений. Помимо прочего, возможности платформы только расширились в выпуске 2010 года, и это направление становится ключевой стратегией в отношении SharePoint. В данном документе будут подробно рассмотрены некоторые основные возможности платформы, а также их роль в стратегии выбора технологии разработки собственных приложений. Команда разработки SharePoint приложила большие усилия в области формирования представления о SharePoint, как о «приложении», не меньшие успехи были достигнуты в области формирования представления о SharePoint как о «платформе». Широкий диапазон средств, начиная с инструментов для разработчиков и решений с открытым исходным кодом и заканчивая APIинтерфейсами разработки, наглядно доказывает, что рабочая группа продукта SharePoint сделала все возможное, чтобы уйти от восприятия SharePoint как «изолированного» приложения. Напротив, продукт SharePoint эволюционировал в платформу разработки веб-приложений и среду интеграции, обеспечивающую разработчикам Майкрософт функции подключения, расширения и базирования. Терминология В данном документе мы будем использовать термины SharePoint 2003, SharePoint 2007 и т. д., для того чтобы различать разные выпуски SharePoint. При необходимости будут использоваться названия лицензий и сокращения (например, WSS v3, MOSS 2007). Аудитория данного документа Данный технический документ предназначен для компаний, занимающихся разработкой программных продуктов, (в документе они будут именоваться независимыми поставщиками программных продуктов, ISV), а также специалистов по архитектуре программного обеспечения, ИТ-директоров и других руководителей, чья деятельность связана с корпоративными технологиями. Сведения в данном документе носят технический характер, поэтому он будет наиболее понятен для лиц, ответственных за принятие технических решений. В отношении SharePoint в корпорации Майкрософт принято разделение независимых поставщиков ПО (примеры см. в разделе «Приложение А. Схема экосистемы ISV-партнеров SharePoint») на следующие категории: • технологические решения — независимые поставщики программных продуктов, расширяющие функции SharePoint; • горизонтальные бизнес-решения — независимые поставщики программных продуктов, создающие решения с широкой сферой применения, которые отвечают потребностям большинства организаций независимо от отрасли; в данном документе они называются поставщиками горизонтальных решений; • вертикальные бизнес-решения — независимые поставщики программных продуктов, разрабатывающие решения для конкретной отрасли; в данном документе они называются поставщиками вертикальных решений. Учтите, что предприятия также используют решения собственных разработчиков, которые аналогичны продуктам, разрабатываемым независимыми поставщиками программных продуктов. Предприятия будут использовать предоставляемые SharePoint возможности подключения, расширения и базирования для создания следующих решений: • • • подключение SharePoint к собственным или устаревшим системам для совместного использования данных системами либо для повышения удобства использования или получения доступа для сотрудников и клиентов; расширение сайтов групп SharePoint, а также шаблонов и возможностей совместной работы с целью включения стандартных функций, характерных для принятой практики конкретной организации; базирование на функциях SharePoint посредством разработки собственных бизнес-приложений, автоматизирующих процессы на основе интеллектуальной собственности и требований бизнеса организации. Принимая во внимание вышесказанное, предприятия также должны учитывать SharePoint в своих стратегиях выбора технологии, а преимущества ознакомления с данным документом для специалистов по архитектуре, ИТ-директоров и других технических руководителей очевидны. Обоснование применения SharePoint Пригодность SharePoint для определенных целей SharePoint может применяться в различных сценариях разработки продуктов. Понимание взаимосвязи характеристик SharePoint с характеристиками собственных продуктов — это ключ к определению пригодности. Разумно будет начать с рассмотрения шести обобщенных возможностей SharePoint 2010, приведенных на схеме ниже (эти описания также содержатся на странице, посвященной возможностям SharePoint 20102 ). Сайты — сайты SharePoint представляют собой единую инфраструктуру, обеспечивающую функции порталов и совместной работы посредством интрасети, экстрасети и сайтов Интернета. Сайты SharePoint служат средой взаимодействия пользователей для обмена информацией, данными и опытом между организациями. Сообщества — сообщества SharePoint позволяют пользователям взаимодействовать наиболее удобным для них способом. Сообщества SharePoint обеспечивают совместную работу в группах, обмен знаниями и идеями, взаимодействие с коллегами, а также удобный поиск сведений и специалистов. Управление контентом — возможности управления контентом SharePoint позволяют всем пользователям принимать участие в жизненном цикле управления контентом, обеспечивающем надлежащее регулирование и соответствие нормативным требованиям. Контент SharePoint позволяет свободно соотносить удобство пользователей с принятыми политиками и процедурами. Поиск — поиск SharePoint обеспечивает функции поиска необходимого контента, информации и людей, сочетая интегрированную, управляемую платформу с наиболее эффективной технологией поиска в корпоративной среде. Аналитика — аналитика SharePoint позволяет получать доступ к сведениям из источников неструктурированных и структурированных данных и взаимодействовать с ними. Анализ SharePoint дает пользователям возможность поиска нужных специалистов и опыта для принятия более эффективных и обоснованных бизнес-решений. Комплексные приложения — компоненты SharePoint позволяют пользователям быстро реагировать на бизнес-потребности путем создания собственных решений, не основанных на программном коде, в среде предприятия или в облаке, посредством богатого набора стандартных блоков, средств и функций самообслуживания. Эти функции характеризуются значительной глубиной. Подробное рассмотрение каждой функции не входит в задачи данного документа, однако здесь приводятся описания, которые будут полезны специалистам, рассматривающим возможность изначального внедрения аналогичных функций в собственные продукты. Для получения дополнительных сведений ознакомьтесь со следующей публикацией в блоге рабочей группы SharePoint3. В ней приведено 40 примеров вложений в шесть функциональных категорий SharePoint 2010, упомянутых выше, наряду с такими областями платформы, как администрирование и разработка. Помимо этих обобщенных областей решения, SharePoint обеспечивает ряд встроенных функций, которые необходимых для многих веб-приложений. Таким образом, внедрив SharePoint, независимый поставщик программных продуктов может использовать готовые функции, вместо того чтобы изобретать их заново. К таким возможностям можно отнести следующие. • Управление списками и библиотеками — возможность хранить информацию в списках (создаваемых пользователями или программным путем), включающих различные встроенные функции, такие как возврат и извлечение, управление версиями, утверждения, иерархии папок, проверка данных, настраиваемые пользователем представления, вычисляемые поля и многое другое. Формы ввода, представления элемента и уровня списка, редактирование на основе сетки, визуализация RSS и прочие функции также встроены во все списки. Библиотеки основаны на списках путем включения двоичных объектов, таких как документы, изображения и мультимедиа. • Подготовка — возможность простого наполнения данными новых сайтов и списков в соответствии с бизнес-потребностями. • Безопасность — комплексная проверка подлинности и настраиваемая система авторизации встроены в SharePoint и регулируют все аспекты среды. • Интерфейс пользователя — «веб-части», редактирование на основе вики-страниц, система меню, основанная на ленте Fluent, оформление диалоговых окон в стиле AJAX и многое другое. Эти функции призваны не только экономить усилия разработчиков, они также обеспечивают высокий уровень согласованности, что повышает эффективность использования и принятия пользователями. • Формы и рабочие процессы — такие средства, как InfoPath и SharePoint Designer позволяют бизнес-аналитикам и опытным пользователям создавать бизнес-приложения, ориентированные на рабочий процесс. Независимые поставщики программных продуктов могут с легкостью дополнять функции, доступные в таких решениях, а также включать встроенные формы и рабочие процессы, ориентированные на конкретные горизонтальные или вертикальные бизнес-сценарии. Повторное использование таких функций позволяет поставщикам сосредоточиться на основных функциях продуктов, вместо того чтобы заново изобретать еще одну систему обеспечения безопасности или пользовательский интерфейс. Эти функции также позволяют бизнес-пользователям сочетать функции SharePoint с возможностями сторонних продуктов для создания решений, которые бы удовлетворяли уникальные потребности их бизнеса. Обоснование применения SharePoint Аргументы Использование всех преимуществ SharePoint в качестве основы предложений независимых поставщиков программных продуктов связано с пониманием принципов работы платформы и рыночной ценности продукта, основанного на технологии SharePoint. Рассмотрим этот аргумент более подробно. Использование платформы Понимание ценностного предложения Чтобы извлечь максимальную пользу из использования SharePoint в качестве платформы, можно начать с рассмотрения встроенных функций продукта и определения возможностей, которые могут быть полезны для вашего решения. Большинство организаций, как правило, одновременно развертывает одну или две основных нагрузки или возможности. Для достижения максимальных показателей рентабельности и совокупной стоимости владения необходимо внедрить как можно больше встроенных функций SharePoint и следовать общим рекомендациям SharePoint. Это позволит сократить время выхода на рынок и создать продукт, основанный на преимуществах новых выпусков SharePoint. При планировании стратегии очень важно понимать сильные и слабые стороны как SharePoint, так и других независимых поставщиков программных продуктов SharePoint. Значительная доля ценности продукта, как правило, определяется разрывом между функциональными возможностями SharePoint и текущими потребностями пользователей и администраторов в среде SharePoint. Один из простых примеров использования платформы SharePoint — системы управления документами. Например, благодаря функциям возврата и извлечения документов можно максимально эффективно использовать встроенные функции управления документами SharePoint, обеспечивающие эту возможность. Использование такого подхода позволит экономить средства, так как не придется разрабатывать эту функцию с нуля. Кроме того, это поможет повысить удобство работы пользователей благодаря наличию согласованного способа выполнения данной задачи. Помимо прочего, будущие обновления функции SharePoint также коснутся и вашего продукта. Так как SharePoint является платформой, основанной на ASP.NET, навыки разработки в этих средах во многом схожи. Знание принципов создания приложений ASP.NET с помощью языков .NET Framework обеспечивает крайне прочную основу для использования SharePoint в качестве платформы разработки. Средства SharePoint в Visual Studio 2010 достаточно совершенны, кроме того, помощь в обучении вашей рабочей группы может оказать сформировавшееся сообщество разработчиков SharePoint. Поставщикам вертикальных решений проще оценить предлагаемые преимущества. Для вертикальных рынков характерно наличие собственной экосистемы продуктов, определяющей модели ценообразования и лицензирования. В ходе определения набора функций, необходимых в вертикальном решении, выполните анализ разрыва существующих функций продуктов вертикального рынка. Основываясь на анализе разрыва, можно определить, как встроенные функции SharePoint могут помочь в проникновении на этот рынок (включая настраиваемые возможности SharePoint). Понимание того, что требуется для подключения, расширения и базирования на SharePoint, поможет определить постепенные инвестиции для преобразования SharePoint в вертикальное решение, соответствующее потребностям рынка. Оцениваете возможность использования SharePoint в качестве платформы разработки веб-приложений? Ознакомьтесь с оставшейся частью документа, чтобы получить дальнейшее представление о ценности платформы. Учтите, что некоторые поставщики горизонтальных решений создают решения, пригодные для вертикальных рынков. Как правило, их нельзя назвать полнофункциональными, однако при условии настройки они могут быть достаточно конкурентоспособными на некоторых вертикальных рынках. Стратегии платформы SharePoint Можно выделить три основные стратегии использования SharePoint в качестве платформы разработки продуктов. Эти стратегии были описаны Оуэном Элланом, старшим менеджером по продуктам для ISV-партнеров SharePoint (корпорация Майкрософт), в ходе конференции SharePoint Conference в октябре 2009 года. Эти стратегии по большей части развиваются именно в таком порядке: от подключения к расширению и базированию; по мере продвижения растет зависимость от SharePoint Foundation либо SharePoint Server. Большинство организаций, занимающихся разработкой, принявших зависимость от SharePoint, будут предоставлять возможность выбора работы продукта на базе SharePoint Foundation или Server, при этом клиенту может иногда предоставляться более комплексный набор функций, при условии, что в среде клиента используется SharePoint Server. Например, в средах многих организаций средних и крупных размеров выполнено развертывание SharePoint Server. Продукт, основанный на такой зависимости, может обеспечивать экономию затрат на разработку благодаря использованию функций SharePoint Server, которые в противном случае потребуется разрабатывать заново (например, InfoPath Form Services или управление веб-контентом). Рассмотрим стратегии подключения, расширения и базирования более подробно. Подключение Существующие продукты можно подключить к SharePoint, предоставив точки интеграции, такие как внедрение контента, поиск в нескольких продуктах и единый вход. Целью является предоставление пользователям беспроблемной рабочей среды и возможности работать с удобным для них продуктом, не тратя время на переключение между несколькими решениями. Такое подключение/интеграция может быть одно- или двунаправленным. Далее приведено более подробное описание некоторых точек интеграции. • Внедрение контента — внедрение контента может подразумевать просмотр или использование контента Стратегии подключения часто применяются, когда продукт SharePoint в другом продукте и наоборот. Такой подход не использует ту же платформу или технологии, что и SharePoint открывает новые способы использования данных продукта. (например, основан на Java, а не на .NET). SharePoint Данные можно, например, просматривать с помощью и подключаемый продукт также могут выполняться на разных настраиваемой веб-части, на них могут ссылаться другие серверах в одной сети или в совершенно разных сетях данные списка SharePoint, они могут быть частью рабочего (например, один из продуктов может размещаться в облаке). процесса SharePoint. Кроме того, это позволяет упростить совместную работу с данными посредством сайта группы SharePoint. Этот тип подключения можно использовать, когда продукт получает данные из SharePoint или передает данные в SharePoint. • Поиск — функция поиска в нескольких продуктах позволяет пользователям работать с тем продуктом, который наиболее полно отвечает поставленной задаче, а также находить нужные данные в подключенном продукте. Этот метод можно интегрировать посредством федеративного поиска запросов или общего индекса поиска на основе общего интерфейса вывода результатов поиска либо API общего запроса поиска. • Единый вход — этот метод гарантирует простой переход пользователей от продукта к SharePoint и обратно без необходимости ввода учетных данных при каждом переключении. Помимо прочего, внедренный контент и результаты поиска должны быть актуальны для текущего пользователя (например, они должны учитывать текущий контекст безопасности). Для этого может потребоваться делегирование (например, Kerberos), наличие настраиваемых служб, обеспечивающих олицетворение, или использование проверки подлинности на основе утверждений. Стратегии платформы SharePoint Продукты можно подключать к SharePoint с помощью имеющихся или специально созданных веб-служб независимо от того, основаны ли они на .NET, Java или другой технологии. Точки интеграции более эффективны в SharePoint 2010 благодаря более широкой инфраструктуре веб-служб (WCF), более богатым функциям интерфейса (AJAX, Silverlight и объектная модель клиента), улуч шенной архитектуре поиска и новой функции проверки подлинности на основе утверждений (включая SAML). Наглядным примером сценария подключения для продуктов независимых поставщиков является SharePoint Connector for Confluence 4. Сведения об используемых технологиях см. в статье «Поиск решения» на веб-сайте блога рабочей группы SharePoint 5. Кроме того, вы можете ознакомиться с конкретным примером внедрения в корпоративной среде, основанном на уникальных требованиях к подключению служб SQL Server Reporting Services (SSRS) и SharePoint, выходящих за рамки базовых функций SharePoint, в статье «Установка подключений к нескольким серверам SSRS с функцией просмотра отчетов и веб-частей обозревателя» 6. Со стратегической точки зрения подключение к SharePoint обеспечивает ряд преиму щест в как независи мо му постав щику программ ных продуктов, так и клиента м. 1. Связывание рабочих групп — что касается программного обеспечения для совместной работы, рабочие группы в организациях, как правило, стремятся выбрать средства, которые точнее соответствуют стилю их работы. Например, отдел маркетинга может использовать SharePoint для совместной работы над документами, тогда как инженеры с той же целью могут использовать вики-страницы. Подключение приложений к SharePoint позволяет пользователям взаимодействовать, выходя за пределы рабочей группы, и обеспечивает достаточную гибкость для выбора наиболее подходящего инструмента. 2. Устранение разрозненности контента — заветная цель системы управления знаниями в любой организации — формирование единого, организованного хранилища знаний, поддерживающего поиск, к которому могут получить доступ все сотрудники. Подключение приложений к SharePoint посредством функций внедрения контента, поиска и единого входа позволяет организации приблизиться к цели формирования «коллективного разума». 3. SharePoint в качестве корпоративного стандарта — для многих крупных организаций SharePoint становится корпоративным ст андартом совместной работы, управления документами и контентом. Независимы м поставщикам программных продуктов, которые стремятся продавать свои решения таким организациям, следует обратиться к стратегии «прекрасно сочетается с SharePoint», которая позволит удовлетворить потребности клиентов. Поставщики, отказывающиеся от этой стратегии, могут лишить себя определенных возможностей продаж, которые бы они могли реализовать. Билл Арконати, менеджер по товарному маркетингу, Atlassian Стратегии платформы SharePoint Расширение Существует много продуктов, расширяющих функции SharePoint. Некоторые из них предоставляют функции, расширяющие текущие возможности SharePoint. Другие включают службы и функции SharePoint способом, который позволяет расширить преимущества продукта. Такая стратегия расширения, как правило, создает зависимость данных продуктов от конкретных функций SharePoint. В некоторых случаях продукт может функционировать и без SharePoint, однако при этом его возможности будут сильно ограничены. В большинстве решений, построенных на стратегии расширения, интерфейс SharePoint не отделяется от пользователя, и основное внимание уделяется тому, чтобы ускорить процесс создания бизнес-решений с дополнительными функциями, основанных на SharePoint. Многие поставщики технологических решений могут служить примером организаций, деятельность которых основывается на стратегии расширения (например, Nintex Workflow и Colligo). Они предлагают для сообщества SharePoint решения, ценность которых дополняет преимущества, характерные Стратегии расширения типичны для продуктов, которые для стандартных функций SharePoint. Например, компания предоставляют интегрированные базовые блоки, используя которые Nintex предлагает редакторы рабочего процесса, другой разработчик может «собрать» окончательное решение работающие в режиме точного отображения в браузере, а Colligo — полнофункциональную среду автономной синхронизации со списками и библиотеками SharePoint. Обратите внимание на то, что предприятия часто используют стратегию расширения при разработке собственных приложений SharePoint. Хорошим примером этой стратегии может служить расширение InfoPath и Forms Services с целью создания предопределенных шаблонов запросов на обслуживание/определений сайтов с настраиваемыми потребляемыми InfoPath веб-службами специально для данного предприятия. Решения такого типа позволяют отдельным подразделениям внедрять настраиваемые сайты запроса обслуживания, не отказываясь от доступа к общим службам предприятия. Примеры такого использования в корпоративной среде см. в следующей статье — «Автоматизация запросов на обслуживание с помощью InfoPath Forms Services» 7. Существует много способов расширения SharePoint, мы можем указать некоторые из них: • настраиваемые веб-части, которые можно использовать для гибридных веб-приложений и составных приложений; • настраиваемые действия рабочего процесса для использования в SharePoint Designer; • настраиваемые готовые рабочие процессы списка или сайта, которые можно использовать в составе комплексного решения; • настраиваемые типы полей для использования в любом списке или библиотеке SharePoint; • настраиваемые обработчики событий для программирования действий при работе с элементами списков; • настраиваемые типы контента для конкретных потребностей; • настраиваемые политики управления информацией для создания настраиваемых политик контента; • настраиваемые этапы конвейера индексирования поиска для использования в FAST Search для SharePoint; • настраиваемые пользовательские функции для использования в службах Excel. Стратегии платформы SharePoint Базирование Для продуктов, проектируемых и разрабатываемых для SharePoint с нуля, можно использовать широкий набор функций этой среды. Готовые функции SharePoint включают подключение для прохождения проверки подлинности, авторизацию, подготовку, просмотр и редактирование данных, рабочие процессы, события, управление версиями, масштабирование на несколько серверов, развертывание, администрирование, аудит, интеграцию с Office и многое другое. Стратегия базирования предусматривает создание зависимостей SharePoint и обязательную установку SharePoint. Благодаря наличию таких зависимостей усилия по разработке продукта можно направить в основном на реализацию бизнес-функций, используя SharePoint для общих служб инфраструктуры. Учтите, что продукты, основанные на стратегии базирования, могут обеспечивать абстрагирование пользователей от интерфейса SharePoint (можно использовать службы SharePoint и создать среду работу пользователей, совершенно отличную от интерфейса SharePoint). Использование стратегии базирования не исключает существование некоторых внешних компонентов: назовем это гибридной стратегией базирования/подключения. Например, внутренний компонент продукта, такой как сервер обработки или база данных, может быть полностью внешним для SharePoint. И наоборот, настраиваемый интерфейс пользователя, такой как приложение WPF ClickOnce, может являться частью решения. Прежде чем принимать решение о работе определенных компонентов полностью в инфраструктуре SharePoint или вне ее, уделите время изучению новой архитектуры служб, значительно улучшенных служб Business Connectivity Services (BCS), новых функций SharePoint Workspace и преимуществ, обеспечиваемых моделью развертывания SharePoint (например, управление изменениями файла web.config для нескольких веб-серверов). В течение последних трех жизненных циклов SharePoint продукты компании CorasWorks переходили из разряда технологических решений в плоскость вертикальных и горизонтальных бизнес-решений. Используя стратегию базирования на SharePoint 2010, CorasWorks и нашим партнерам-издателям приложений удалось сосредоточиться на создании бизнес-решений, а не на расширений технологии. Таким образом, мы смогли преодолеть критическую «последнюю милю» на пути к эффективному развитию бизнеса. Уильям Роджерс, главный специалист по архитектуре Workplace, CorasWorks Стратегии базирования, как правило, используются, когда продукт основывается на той же платформе и технологиях, что и SharePoint. Для продуктов, основанных на технологиях ASP.NET и SQL Server, можно порекомендовать стратегию базирования и использование всех или большинства компонентов инфраструктуры SharePoint (серверы переднего плана, серверы приложений, базы данных контента, веб-сайты IIS, инфраструктура списков, архитектура веб-служб). Приведем пример. Компании CorasWorks и ее партнерам — издателям приложений удалось разработать широкую линейку готовых бизнес-приложений для разных отделов организаций благодаря стратегии базирования на SharePoint. Дополнительные сведения см. в интернет-магазине CorasWorks App Store 8. Возможности платформы SharePoint служит эффективной основой для разработки приложений на всех уровнях процесса разработки программного обеспечения. Возможности платформы распространяются на такие сферы, как поиск, рабочие процессы, масштабируемая и расширяемая архитектура служб и функции администрирования. Основанная на технологиях ASP.NET и Windows Server платформа SharePoint предоставляет разработчикам приложений унаследованные от этих сред компоненты инфраструктуры и точки расширения. Независимые поставщики, принявшие решение об использовании SharePoint в качестве основы для своих продуктов, обнаружат в своем распоряжении богатый набор возможностей платформы, которые позволят им уделять больше времени и внимания разработке уникальных, а не стандартных функций продукта. Приложения, подключаемые к SharePoint, могут представлять свои данные и функции как в интерфейсе SharePoint и Business Connectivity Services (BCS), так и посредством различных вариантов расширения, обеспечиваемых SharePoint. Рассмотрим возможности платформы, ориентируясь на более значимые для разработчиков категории инфраструктуры, управления контентом и пользовательского интерфейса, аналогичные моделям n-уровневой архитектуры. Эти категории берут начало в «колесе SharePoint», приведенном на рисунке выше. «Колесо SharePoint» хорошо иллюстрирует ситуацию с точки зрения конечного пользователя, однако следующая схема более эффективно описывает SharePoint как платформу разработки. Инфраструктура Текущий выпуск SharePoint — это уже четвертая версия продукта: тщательно проверенная и надежная платформа, обеспечивающая безопасность контента и позволяющая независимым поставщикам эффективно продвигаться в сфере расширения преимуществ приложений. Инфраструктура SharePoint основана на технологиях Windows Server и .NET Framework и сильно зависит от IIS, ASP.NET и SQL Server. Стандартные варианты проверки подлинности включают Windows NTLM и Kerberos, в то время как возможности расширения SharePoint и ASP.NET позволяют разработчикам предлагать такие варианты, как настраиваемые формы и единый вход через Интернет. Поддерживается авторизация ресурсов SharePoint на уровне семейства сайтов, сайта, страницы, элемента и настраиваемого действия; разрешения безопасности также можно применять в пользовательском коде. Членство в роли можно определять в индивидуальном порядке либо на основе групп SharePoint или Active Directory. HTTP ASP.NET Pipeline Расширяемость ASP.NET обеспечивает дополнительные возможности, позволяя разработчикам добавлять обработчики HTTP-данных и HTTP-модули для настраиваемой обработки запросов. Разработчики могут использовать эти компоненты для поддержки таких функций, как применение глобальных изменений к интерфейсу SharePoint, настраиваемая обработка типа файла, настраиваемая проверка подлинности и т. д. Например, можно создать обработчик HttpHandler, чтобы предотвратить ошибки межсайтовых скриптов при обработке запросов для типов файлов, хранимых во внешней системе. Обработчик HttpHandler может принимать запрос для настраиваемого типа файла, передавать его внешней системе, а затем возвращать результаты в запрашивающий браузер (примечание: может потребоваться делегирование учетных данных). Это позволит запрашивать файлы, размещенные на внешнем сервере, непосредственно из SharePoint. Программные интерфейсы SharePoint, включая контекст сайта и пользователя, доступны из обработчика. В связи с тем, что SharePoint основан на технологии ASP.NET, разработчики приложений могут использовать как варианты настройки ASP.NET, так и контекст и конфигурацию SharePoint. Возможности платформы Безопасность приложений Другим примером расширяемости, предоставляемойASP.NET, является создание настраиваемых поставщиков членства, обеспечивающих получение учетных данных для входа из пользовательского хранилища. Поставщики членства, предоставляемые SharePoint, позволяют подключаться к хранилищам членства, созданным с помощью SQL, LDAP или Active Directory. Основные поставщики MembershipProvider, такие как многие классы ASP.NET и SharePoint, поддерживают расширение, что позволяет разработчикам создавать настраиваемые реализации. Поставщик членства настраивается в файле web.config сайта, что позволяет, помимо прочего, создавать настраиваемую страницу входа. Проверка подлинности на основе утверждений — это важный компонент инфраструктуры, представленный в SharePoint 2010. С помощью утверждений проверка подлинности пользователей обеспечивается «системой удостоверений», которая может включать в себя поставщики корпоративных учетных данных, такие как Active Directory, LDAP или учетные данные, хранимые в базах данных. Проверка подлинности учетных данных также может предоставляться поставщиками единого входа через Интернет, такими как LiveID и OpenID. Проверка подлинности на основе утверждений упрощает интеграцию дополнительной системы удостоверений с SharePoint, предоставляя таким образом еще одну точку расширения. Приложения-службы Новый компонент SharePoint 2010, архитектура приложенийслужб, обеспечивает еще одну точку расширения и масштабируемость корпоративного уровня. Службы, разработанные на основе новой платформы, поддерживают распространение на один или несколько серверов и могут пересекать границы фермы, обеспечивая обслуживание нескольких установок SharePoint. Службы SharePoint поддерживают дополнительную масштабируемость благодаря наличию «служб в облаке», которые обеспечивают новые способы расширения SharePoint для независимых поставщиков решений. Архитектура служб включает хранилище конфигурации для параметров приложений, общую инфраструктуру подготовки баз данных SQL, поддержку хранения пользовательских данных в базах данных, управляемых SharePoint, расположение для размещения вебслужб среднего уровня, механизм подготовки для веб-служб и инфраструктуру заданий таймера, ориентированную на службы для поддержки запланированных операций. К созданию этой инфраструктуры были приложены, пожалуй, максимальные усилия специалистов Майкрософт, направленные на использование SharePoint 2010 в качестве платформы разработки. Создание пакетов и развертывание Функции развертывания SharePoint также нельзя недооценивать. Настраиваемые функции собраны в файле пакета решения (WSP) и могут включать одну или несколько функций, область действия которых охватывает ферму, вебприложение, семейство сайтов или сайт. SharePoint поддерживает развертывание файлов в глобальный кэш сборок, корзину и виртуальные каталоги в пределах веб-сайта на интерфейсных веб-серверах. Кроме того, он поддерживает развертывание контента в базу данных контента. После развертывания файлов на интерфейсные веб-серверы (WFE) можно добавить дополнительные WFE, и SharePoint выполнит обновление новых веб-серверов, включая обновление файла web.config. SharePoint 2010 включает дополнительные возможности развертывания благодаря поддержке версий и изолированных (sandboxed) решений. Благодаря изолированным решениям WSP-файлы развертываются в базу данных контента, что позволяет повысить управляемость фермы благодаря возможности изолировать среду выполнения компонентов пакета. Это дает администраторам возможность отправлять решения только один раз. Затем выполняется автоматическое развертывание на все интерфейсные вебсерверы, что позволяет повысить прогнозируемость и сократить расходы на обслуживание. Возможности платформы Управление контентом SharePoint 2010 предоставляет большое количество готовых функций, которые призваны решать различные потребности управления корпоративным контентом. Это неоспоримое преимущество для независимых поставщиков ПО. Функции управления контентом, обеспечиваемые SharePoint, включают управление версиями контента, извлечение и возврат, утверждение и ликвидацию контента, маршрутизацию записей и политики управления данными, такие как срок действия контента. Кроме того, существует возможность расширить функции управления контентом SharePoint на всех уровнях. Чтобы описать все функции, потребовалось бы несколько томов, поэтому мы рассмотрим только некоторые из них. С точки зрения предприятия SharePoint также может использова ться в качестве базовой систе мы управления контен то м, которая может обесп ечивать работу других технологий построения порталов. В ком пании McKesson мы на данный момен т используем в качестве портала Vignette, а SharePoint играет роль платфор мы совмес т ной работы. RSS и другие технологии позволили нам получит ь доступ к преиму щес тва м и удобным функци ям систе мы управления контен том SharePoint, при то м что контен т разме щае тся в портале, обслужива ю ще м всю организа ци ю. Наша первоначальная стратегия использован ия систе мы управления конте нто м SharePoint заключалась в использов ании стандар тных функ ций. Теперь, когда пользователи освоились с продуктом и потребност ям и своих отделов и подраз делений, использование SharePoint перешло на новый уровень и включает ин теграци ю данных, творческое измене ние функций и проекты, подразумева ю щие сущес тве нну ю автома ти заци ю процессов. Аарон Рафус, ведущий эксперт по технологии, McKesson Corporation Внешние данные действия, возникающие в записях прокси, такие как применение тегов или извлечение/возврат в записи внешних данных. Разработчики приложений могут использовать в качестве хранилища данных SharePoint или отдельное внешнее хранилище данных, например, обеспечиваемое реляционной базой данных или пользовательским кодом либо извлекаемое веб-службами. Использование хранилища данных SharePoint в виде списков SharePoint обеспечивает полноценное использование возможностей управления контентом SharePoint, включая возможность настраивать и расширять схему. Тем не менее, списки SharePoint не являются полностью реляционными хранилищами данных. Разработчики приложений, которым требуются реляционные или настраиваемые хранилища данных с более широкими возможностями, могут выбрать подключение к внешнему источнику данных, используя типы внешнего контента, предоставляемые службами Business Connectivity Services (BCS). Гибридный подход сочетает подключение данных списка SharePoint к внешним данным с помощью столбцов внешних данных. Столбец внешних данных — это поле в списке SharePoint, которое является полем подстановки для внешнего источника данных. Столбец внешних данных может выбрать одно или несколько полей из внешней записи для включения в элемент списка SharePoint. Другим ключевым преимуществом использования BCS является то, что SharePoint автоматически обеспечивает настраиваемый интерфейс пользователя, поддерживающий операции чтения и записи, а также просмотр, сортировку и фильтрацию. Стандартные формы ASP.NET создаются для внешних данных, подключенных к SharePoint. Используя SharePoint Designer или InfoPath Designer, разработчики могут создавать полнофункциональный интерфейс для работы с внешними данными путем создания форм InfoPath. Формы InfoPath также обеспечивают более удобную среду для пользователей, включая широкий набор правил форм, которые позволяют, помимо прочего, подключаться к внешним источникам данных для заполнения полей, задаваемых пользователем, и выполнения проверки на уровне поля. Службы BCS позволяют внешним данным участвовать в функциях управления контентом SharePoint, таких как поиск в корпоративной среде, доступ к автономным данным и интеграция в клиентские приложения Office, включая Outlook, Word и Access. Внешние данные также могут принимать участие в функциях управления контентом, таких как маркировка, рабочий процесс, извлечение и возврат, управление версиями, политики управления данными и разрешения посредством записей прокси в SharePoint. Столбцы внешних данных в SharePoint позволяют элементам списков SharePoint связываться непосредственно с внешними данными (например, записями прокси). Пользовательский код в рабочих процессах, приемники событий и настраиваемые политики управления правами на доступ к данным могут затем распространять Корпорацией Майкрософт и сообществом независимых поставщиков разработаны другие инновационные методы работы с внешними данными помимо служб BCS. Например, существуют различные продукты независимых поставщиков, предоставляющие внешние данные в среде SharePoint. Набор средств интеграции данных Data Integration Toolset 9 компании CorasWorks и средство MashPoint 10 компании Bamboo, например, обеспечивают подключение к внешним данным с целью удобного подключения данных к наборам веб-частей. Более того, возникают новые стандарты, такие как OData (Open Data Protocol). Аналогично стандарту ODBC корпорации Майкрософт, протокол OData является открытым протоколом для обмена данными между различными потребителями и поставщиками данных. OData основан на веб-стандартах, таких как HTTP и AtomPub (Atom Publishing Protocol), и нотации JSON. Дополнительные сведения об этом новом протоколе обмена данными см. в статье Майка Фласко (Mike Flasko) «Устранение разрозненности данных» — протокол Open Data Protocol «(OData)» 11 в блоге рабочей группы WCF Data Services. Возможности платформы Бизнес-аналитика Поиск Потребность в компоненте анализа данных все чаще выходит на первый план и не ограничивается основными функциями рабочих отчетов. SharePoint 2010 обеспечивает широкий набор предложений, которые разработчики приложений могут использовать для достижения этой цели. Такие функции включают веб-части «Диаграммы» и «Индикатор данных», службы PerformancePoint Services, службы Excel, службы Visio, службы отчетов и т. д. Каждая из функций предназначена для решения уникальных бизнес-потребностей. Например, службы PerformancePoint Services поддерживают специализированные системы показателей, диаграммы и аналитические панели мониторинга. Используя этот компонент SharePoint 2010, независимый поставщик может создать панель мониторинга, основанную на ключевых показателях эффективности (KPI), для предоставления пользователям возможности быстрой проверки работоспособности. Фактическая цель панели мониторинга состоит в том, чтобы направить внимание пользователей на выделенные области. Поиск — это важная функция приложений. Функция поиска в корпоративной среде поддерживает поиск данных, хранимых в списках SharePoint, а также внешних данных. В SharePoint 2010 службы BCS выполняют индексацию внешнего контента и поддерживают решения, не основанные на коде, для простых моделей или пользовательский управляемый код для более сложных сценариев использования (например, для вложенных или иерархических данных). Разработчики могут настроить интерфейс поиска, создав области поиска, сужающие круг доступных для пользователя сфер, например, до записей приложения. Также можно создать набор уточнений, обеспечивающих возможности фильтрации и просмотра результатов поиска с помощью метаданных во время выполнения запроса. Кроме того, интерфейс поиска включает точки расширения, например возможность настройки страницы результатов поиска и расширение стандартных веб-частей поиска. Это очень простой способ вывода данных имеющегося решения в решение поиска SharePoint посредством настройки, а не программирования. Бизнес-аналитика Обратите внимание на высокую эффективность функций бизнесаналитики в SharePoint 2010. Эти функции играют большую роль в представлении внешних данных в среде SharePoint. В связи с высоким спросом на функции бизнес-аналитики для предприятий эту область SharePoint также нельзя игнорировать. Нельзя не обратить внимание на одну из наиболее эф фективных новых функций в службах PerformancePoint Services — визуализацию дерева декомпозиции. Визуализация данных зачастую требует решения многих задач, и каждая стратегия визуализации имеет свои плюсы и минусы. Сетки отображают числа, но не выделяют относительные значения, диаграммы выводят на первый план относительные значения, но не очень эффективно отображают фактические значения, и ни те и не другие не могут обеспечить эф фективную визуализацию иерархических отношений в данных. Дерево декомпозиции выделяет иерархические отношения, отображает необработанные числа и включает графический компонент, который обеспечивает максимальную эффективность отображения всех таких данных. Такой режим визуализации можно выбирать по требованию; он обеспечивает прекрасную альтернативу для пользователей, которым требуется выполнять специальный анализ. Независимые поставщики, которые намереваются включить в свои приложения аналитические функции, могут использовать службы PerformancePoint Services в сценариях подключения и базирования, так как они предоставляют богатый набор средств подключения к базе данных для запроса данных приложений. Кроме того, они могут основываться на текущих вложениях в систему составления отчетов собственной технологии панели мониторинга. Используя этот подход, можно создать панели мониторинга и системы показателей PerformancePoint для получения данных из существующей базы данных приложения и использования имеющихся настраиваемых отчетов. Используя эти функции, пользователи могут выполнять специальный анализ данных приложения и соотносить эти сведения с другими бизнес-данными. Более того, как в любом другом хорошем решении составления отчетов, пользователи ограждаются от изначальной сложности моделей данных исходной системы и языков запросов. Независимые поставщики, избравшие стратегию подключения, могут использовать функцию федерации запросов, чтобы SharePoint и внешнее приложение могли поддерживать собственные индексы поиска. Можно также использовать инфраструктуру компонентов функции поиска в корпоративной среде SharePoint12, чтобы поддерживать единый индекс для всех приложений. В SharePoint 2010 механизм федеративного поиска является основным компонентом API поиска и даже используется веб-частью «Основные результаты поиска». В SharePoint 2010 инфраструктура компонентов больше не требует написания неуправляемых обработчиков протокола для обхода настраиваемого контента. Инфраструктура компонентов и даже функция поиска BCS предоставляют дескрипторы безопасности (списки ACL) во время назначения индексов, если данные доступны. Это позволяет включать в результаты поиска только те элементы, которые доступны пользователю, выполняющему поиск. Инфраструктура компонентов повсеместно используется в среде поиска SharePoint Server 2010, а также в компоненте FAST Search для SharePoint 2010, что позволяет независимым поставщикам, базирующим свои решения на этой инфраструктуре, включать поддержку обоих вариантов поиска в корпоративной среде. С другой стороны, поставщики решений, которым требуются расширенные возможности поиска, могут основать свое решение на технологии FAST, что обеспечит даже большую гибкость благодаря таким функциям этой технологии, как индексация, каналы запросов и извлечение объектов. Функция автоматического создания и категоризации метаданных FAST упрощает для разработчиков задачу создания приложения, управляемого поиском, или обобщения структурированного и (или) неструктурированного контента из обособленных хранилищ, обеспечивая сведение общих полей. Стратегия: подключение или расширение Независимые поставщики, избравшие технологию подключения или расширения SharePoint, могут воспользоваться богатыми возможностями инфраструктуры поиска SharePoint, чтобы снабдить свои решения настраиваемой индексацией или соединителями федеративного поиска для подключения к сторонним источникам данных. Решение даже может включать веб-часть федеративного поиска, обеспечивающую группировку сходных источников данных, таких как каналы новостей, и осмысленную организацию данных. Возможности платформы Рабочий процесс Разработчики также могут использовать функции управления контентом посредством готовых рабочих процессов SharePoint, таких как «утверждение», или создать настраиваемые рабочие процессы SharePoint для управления такими компонентами, как утверждение контента или маршрутизация записей. SharePoint предоставляет среду выполнения рабочих процессов, а Windows Workflow Foundation — соответствующие стандартные блоки. В дополнение к настраиваемым рабочим процессам, независимые поставщики могут предоставить собственные точки расширения, создав действия рабочих процессов, поддерживающие повторное использование, для опытных пользователей (с помощью SharePoint Designer) или для разработчиков (с помощью Visual Studio). В SharePoint 2007 рабочие процессы связаны со списком или библиотекой, а экземпляры рабочих процессов привязаны к элементу списка. SharePoint 2010 также обеспечивает такую связь и, кроме того, предусматривает отмену зависимости рабочих процессов от списков так, чтобы их можно было использовать повторно для различных списков и типов контента. Эта функция раскрывает новые возможности использования рабочих процессов и SharePoint. Пользовательский интерфейс модели данных Использование функций управления контентом SharePoint также обеспечивает функциональный интерфейс для модели данных. По умолчанию SharePoint создает формы CRUD (Create, Read, Update и Delete — создание, чтение, обновление и удаление) для данных приложения. Формы можно заменить и разработать как страницы приложения ASP.NET или, по желанию, как формы InfoPath. Формы InfoPath при этом обеспечивают широкий ряд функций настройки, например конструктор форм, и богатый набор встроенных правил форм. Пользователи могут настраивать отображение данных в SharePoint путем создания настраиваемых представлений. Настраиваемые представления в SharePoint позволяют пользователям задавать конкретные столбцы для просмотра, а также добавлять такие функции, как сортировка, фильтрация, постраничный просмотр, итоги и многое другое. Независимые поставщики могут дополнительно расширить режимы обработки данных в представлениях SharePoint, создав настраиваемые действия, которые могут отображаться в меню «Действия» представления или в раскрывающемся меню элемента списка (например, «Изменить блок управления»). Разработчики также могут расширить набор готовых представлений SharePoint, создав визуализированные столбцы, типы настраиваемых представлений и типы настраиваемых полей. Типы настраиваемых полей обеспечивают настраиваемое хранение и представление типов данных, которые не являются внутренними данными SharePoint. Типы настраиваемых полей также можно использовать для подключения внешних данных к внутренним спискам SharePoint посредством настраиваемых элементов управления для редактирования и визуализации данных. И многое другое... Разработчики приложений также могут «углубиться» в структуру управления данных SharePoint, добавив в решение обработчики событий. Обработчики событий обеспечивают выполнение пользовательского кода при возникновении изменения в семействе сайтов, сайте, компоненте, рабочем процессе, списке или элементе списка. Типичные обрабатываемые события включают добавление, обновление или изменение элемента списка или библиотеки. SharePoint включает стандартные политики управления данными, регулирующие жизненный цикл данных в среде. В качестве примеров можно привести политики истечения срока действия, штрихкода и аудита. Независимые поставщики могут создавать собственные политики управления, которые бы позволили SharePoint осуществлять управление данными их решений на основе конкретных заданных правил. Новейшие социальные функции SharePoint, связанные с управлением контентом, также доступны для приложений, хранящих данные в списках SharePoint или подключающихся к внешним данным с помощью столбцов внешних данных. Пользователи могут пометить данные приложения тегами, используя либо управляемое иерархическое хранилище терминов (таксономия), либо теги, созданные сообществом, (фолксономия). При этом оба типа метаданных должны размещаться в едином расположении с централизованным управлением. Пользователи также могут оценивать «избранные элементы» и оставлять закладки для записей данных, чтобы иметь возможность возвращаться к контенту, который они считают интересным, и обмениваться им. Кроме всего прочего, элементы в библиотеках документов могут отображаться в вебчасти SharePoint «Документы» личного сайта пользователя, выводя список документов, в которые пользователь недавно вносил изменения. Документы также могут отображаться в вебчасти «Подходящие документы», в которой выводятся недавние изменения для текущего пользователя. Компонент SharePoint Workspace, ранее известный как Groove, позволяет пользователям переводить данные приложения в автономный режим. SharePoint Workspace — среда совместной работы для компьютеров Windows, позволяющая пользователям взаимодействовать с контентом и другими участниками группы. Пользователи могут работать с данными приложения автономно, а затем синхронизировать их с сервером SharePoint (когда подключение к нему станет доступным). Автономный режим доступен для приложений, хранящих данные в списках SharePoint, а также для тех решений, которые подключаются к SharePoint посредством служб Business Connectivity Services. Возможности платформы Пользовательский интерфейс Базовая технология ASP.NET также допускает использование точек расширения в пользовательском интерфейсе SharePoint. В интерфейсе используются главные страницы, веб-части, серверные и пользовательские элементы управления, разработанные с помощью ASP.NET. Это означает, что разработчики приложений ASP.NET могут использовать существующие навыки для создания настраиваемых компонентов пользовательского интерфейса, а затем интегрировать эти решения в пользовательский интерфейс SharePoint. Настраиваемые действия предоставляют дополнительные возможности Пользовательские элементы управления для настройки пользовательского интерфейса. Возможны следующие настраиваемые действия: раскрывающиеся списки контента, элементы меню «Действия сайта» и ссылки, размещенные на страницах администрирования. Таким образом упрощается создание настраиваемых административных страниц, а ссылки на эти страницы полностью интегрированы с остальными страницами администрирования SharePoint. Еще одним усовершенствованием в SharePoint 2010 является лента SharePoint. Разработчики SharePoint могут настраивать и расширять новую ленту, добавляя динамическ ие команды меню к стандартным командам. Веб-части являются ключевым компонентом пользовательского интерфейса для независимых поставщиков программных продуктов вне зависимости от используемой стратегии: подключение, расширение или базирование. Веб-части являются компонентом и базовым классом ASP.NET и размещаются в SharePoint. SharePoint также управляет хранением свойств веб-частей, в том числе значений общих свойств и значений свойств для конкретных пользователей. Веб-части предоставляют пользователям возможность оформлять и настраивать страницы сайта. Они могут настроить веб-части для взаимного подключения (например, по схеме «главная страница — подробная страница», master/detail). Стандартные интерфейсы веб-подключения (например, интерфейсы, предоставляемые веб-частями фильтра SharePoint) позволяют стандартным веб-частям подключаться к пользовательским веб-частям. Например, веб-часть фильтра выбора может быть подключена к веб-частям, которые реализуют интерфейс подключения IFilterValues. В SharePoint Server доступно девять веб-частей, которые предоставляют различные возможности подключения к настраиваемой вебчасти, которая реализует IFilterValues. Стратегия: подключение Подключение на уровне пользовательского интерфейса позволяет пользователям просматривать внешние данные и взаимодействовать с ними из SharePoint. При этом данные и код доступа к данным остаются вне SharePoint. Для этого обычно разрабатываются настраиваемые веб-части, использующие пользовательские библиотеки кода для прямого доступа к внешним данным. Разработка настраиваемых компонентов пользовательского интерфейса — это простой способ подключения к SharePoint. Такой подход обеспечивает единый пользовательский интерфейс SharePoint, а также возможность использования в конфигурации SharePoint и сценариях развертывания. Возможности платформы SharePoint 2010 предоставляет широкие возможности настройки пользовательского интерфейса благодаря новой клиентской объектной модели. Эта модель обеспечивает легкий доступ к данным SharePoint из клиентских браузеров с поддержко й JavaScript, с рабочего стола Windows и из приложений Silverlight. Такая точка расширения облегчает разработчикам предоставление расширенных клиентских функций, если использование веб-интерфейса нежелательно. Сводные сведения о возможностях платформы Надежная и расширяемая инфраструктура, возможности управления контентом и пользовательским интерфейсом делают SharePoint оптимальной платформой для разработки приложений. Гибкость SharePoint 2010 позволяет поставщикам программных продуктов расширять возможности платформы. Дополнительные сведения для разработчиков см. в статье «Введение в продукты и технологии SharePoint для профессиональных разработчиков .NET» 13. Препятствия для внедрения в качестве платформы разработки Мы рассмотрели некоторые усовершенствования SharePoint, представленные в последних версиях продукта. Существуют ли препятствия к использованию SharePoint в качестве платформы приложения? Перечислим четыре затруднения, которые часто называют в числе основных: необходимость уникальных навыков для разработчиков, закрытый или ограниченный набор горизонтальных служб, невозможность интеграции с внешними или реляционными источниками данных, а также изоляция ALM и кода. Кажущееся препятствие 1: необходимость уникальных навыков для разработчиков В ранних версиях SharePoint интеграция с независимыми поставщиками программных продуктов и расширение платф ормы осуществлялись медленно из-за недостаточной развитости продукта и сложности интеграции и расширения платформы. Например, отсутствие тесной интеграции со стеком технологий ASP.NET в SharePoint 2003 требовало инвестирования в определенные наборы навыков или принятия рискованных решений по реализации (например, разработчики ASP.NET могли не использовать существующие навыки или внести неподдерживаемые изменения в ONET.XML). Несмотря на то что все необходимые навыки были основаны на .NET, работа программистов по созданию различных функций продукта была достаточно сложной. Это делало необходимым принятие определенных решений в области обучения, приобретения определенных навыков и т. п. Несмотря на то что необходимость в принятии некоторых решений остается, все инвестиции теперь можно распределить по основным технологиям .NET и сократить объем подготовки по конкретным функциям SharePoint (см. технический документ разработчиков Chappell 14, который содержит подробное обсуждение технических аспектов платформы). Несмотря на то что инженеры и разработчики должны понимать API и архитектуру SharePoint, а также иметь опыт работы с ними, все разработчики .NET уже имеют основные навыки работы со службами платформы .NET, что существенно упростит их работу над приложениями SharePoint. SharePoint включает в себя все новые возможности платформы .NET, что расширяет спектр применения решений, а также предоставляет дополнительные навыки. Инвестиции в освоение платформы SharePoint упрощают создание решений, так как это позволяет разработчикам сосредоточиться на решении бизнес-задач и уменьшает количество служб платф ормы, которые приходится создавать с нуля. В больших отделах разработки изучение SharePoint должно быть ориентировано на специалистов по архитектуре и проектированию. Другим разработчикам необязательно тратить время на понимание всего набора функций, так как можно сосредоточиться только на требуемом API SharePoint. Кажущееся препятствие 2: закрытый или ограниченный набор служб платформы Любая платформа (в том числе операционные системы, аппаратные, игровые и другие платформы) имеют встроенные функции и ограничения, основанные на решениях и предположениях, сделанных в ходе разработки. Анализ ценности платформы позволяет понять следующие аспекты: 1. предоставляет ли она расширенные и стандартные функции; 2. допускает ли она расширение и настройку. На ранних этапах развития платформы SharePoint существовали ограничения, связанные с требованиями горизонтальных служб, основным из которых являлась зависимость проверки подлинности от Active Directory. Сейчас платформа SharePoint предоставляет широкий и расширяемый набор основных функций, которые выполняют большинство действий, необходимых для современных бизнес-приложений. Начальный набор служб, предназначенный для малых и средних организаций, был дополнен функциями гибкости и расширяемости. При этом был сохранен стандартизированный подход к крупномасштабным реализациям. В настоящее время в число основных функций входит проверка подлинности, навигация, подготовка и другие функции. Они поддерживают модель поставщика для обеспечения расширяемости или замены основных служб. Использование популярных стандартов (XHTML, WCAG, REST, SOAP, JSON, RSS и XSLT) наряду со стандартными службами платформы ОС (WCF, WF, LINQ и PowerShell) обеспечивает применение проверенных процессов и методов разработки. Первому критерию ценности платформы (наличие расширенных функций) бесспорно соответствует SharePoint 2007, а версия SharePoint 2010 содержит еще больше функций. Доступ к контенту и данным при помощи различных стандартов и каналов обеспечивает наличие инфраструктуры, на основе которой можно разрабатывать необходимые приложения. Новая клиентская объектная модель и поддержка PowerShell являются основными примерами возможностей расширения и настройки, которые соответствуют второму критерию ценности платформы. Клиентская объектная модель предоставляет возможность единообразного использования объектов SharePoint в нескольких технологиях (в том числе .NET, JavaScript и Silverlight) и позволяет создавать приложения нового класса для Интернета, клиентских приложений Office, толстых и тонких клиентов, а также обеспечивает интерактивную и автономную синхронизацию. Интеграция с PowerShell является стандартной функцией SharePoint 2010, что обеспечивает установку, настройку и управление с помощью стандартных командлетов и расширений через настраиваемые скрипты и модули. Также существует возможность создания новых оснасток PowerShell, предоставляющих дополнительные возможности администрирования и обслуживания и позволяющих поставщикам программного обеспечения повышать ценность продукта еще одним способом. Препятствия для внедрения в качестве платформы разработки Кажущееся препятствие 3: отсутствие интеграции с внешними или реляционными данными Другим часто упоминающимся аргументом против использования SharePoint в качестве платформы разработки является невозможность интеграции с внешними источниками данных. Наиболее частым требованием к вертикальным прилож ениям и бизнес-приложениям является возможность интеграции с внешними данными (например, для совмещения данных из одного или нескольких авторитетных источников и последующего заполнения форм, управления заказами и запросами, подготовки служб и других действий). При отсутствии простого способа интеграции с внешними источниками данных вертикальные решения не обеспечивают должной добавочной стоимости и необходимой нормы прибыли поставщикам программных продуктов. В первых версиях SharePoint вертикальные решения требовали чрезмерных усилий по разработке, устранению дублирования данных и обработке, поэтому такие продукты не имели реальной перспективы. Возможности интеграции с внешними данными были существенно улучшены в SharePoint 2007 по сравнению SharePoint 2003 за счет использования SharePoint Designer 2007 и каталога бизнес-данных (BDC). SharePoint Designer легко интегрировался с внешними источниками данных с помощью веб-частей данных, но эта интеграция часто была неполной. Например, был возможен доступ на чтение к данным SQL или веб-служб, но для доступа на запись требовалось приложить определенные усилия. Кроме того, для двусторонней интеграции каталога бизнес-данных требовалось использование MOSS, а также существенные изменения и настройка. Таким образом, извлечение данных было возможно, но разработка и развертывание приложений, интегрирующихся с внешними источниками данных, требовало обширных знаний и больших усилий. Реализация служб Business Connectivity Services (BCS), внешних типов контента и других функций SharePoint 2010 позволяет устранить эти препятствия. Службы BCS являются наиболее важным усовершенствованием в этой области. Службы BCS предоставляют доступ для чтения к внешним данным, а также упрощают получение к ним доступа на запись. Кроме того, существуют возможности клиентской среды для выполнения и синхронизации данных, что позволяет распространять автономные сценарии. Такой подход является частью основных служб платформы Microsoft SharePoint Foundation 2010. Сочетание описанных функций позволяет разрабатывать решения, фасадом которых будут являться знакомые приложения Office, развертывать их с помощью проверенной технологии ClickOnce и предоставлять пользователям возможности доступа, обновления, синхронизации и анализа внешних данных. Помимо служб BCS, существенно улучшающих процесс интеграции с внеш ними данными, новые функции WCF, REST, RSS и JSON также обеспечивают интеграцию с внешними источниками из SharePoint и предоставляют данные из SharePoint в другие приложения. Кажущееся препятствие 4: изоляция кода и управление жизненным циклом приложений (ALM) Пользователи SharePoint ценят эту платформу за простоту и единообразие. SharePoint может быстро интегрироваться в бизнеспроцессы. Часто эта платформа позволяет существенно улучшить совместную работу и повысить производительность организаций уже при использовании стандартных функций. В то же время, как это всегда бывает, у медали есть две стороны. Разработчики и специалисты в области ИТ часто получают задания по управлению и обслуживанию сред, а также по обеспечению качества продукта или доступности и работы сайта. Для этих целей часто используются политики управления жизненным циклом приложений (ALM), которые обеспечивают стабильность важных для бизнеса сайтов SharePoint. Организации, разрабатывающие новые продукты или предоставляющие ИТ-услуги, могут использовать процедуры от простого управления исходным кодом и управления доступом для кода (CAS) в настраиваемых решениях SharePoint до выделенных экземпляров сервера для определенного настраиваемого решения (да, и такое тоже существует!). Первые два подхода оказывают минимальное влияние на затраты и развертывание, а также достаточно легки в реализации. Напротив, выделенные экземпляры (радикальный подход к обеспечению стабильности) увеличивают затраты на разработку, тестирование, оборудование и обслуживание, что может поставить крест на продукте или решении уже на стадии проектирования. Политики управления жизненным циклом приложения включают в себя различные требования к управлению исходным кодом (SCC), версиями, автоматическими сборками, интеграцией, регрессивным тестированием и тестированием пользовательской приемки, политиками развертывания и деблокирования, а также многие другие компоненты. Эти требования позволяют убедиться в том, что предприятие, выбравшее SharePoint в качестве платформы для бизнес-процессов, может и далее рассчитывать на ее бесперебойную работу. Являются ли эти аспекты препятствием к использованию SharePoint в качестве платформы разработки для поставщиков программных продуктов и предприятий? Рассмотрим три требования из числа описанных выше: управление исходным кодом, политики развертывания и время цикла отладки для развертывания. В Интернете доступны информативные ресурсы и блоги по SharePoint ALM, которые содержат инструкции по использованию технология управления исходным кодом в SharePoint. Корпорация Майкрософт предоставляет информацию по групповому развертыванию SharePoint и разработке настраиваемых продуктов и приложений SharePoint, но возможно также использование других продуктов SCC, которые предоставляют все преимущества современных средств по управлению исходным кодом. Таким образом, можно сказать, что это не препятствие: при разработке продуктов или решений для SharePoint следует заранее определить возможные проблемы и начать работать с ними, чтобы обеспечить неоднократные развертывания. Документ «Модели разработки решений и артефактов для продуктов и технологий SharePoint»15 (на английском языке) содержит полное описание процесса определения и анализа различий между разработкой и управлением исходным кодом решений и искусственных артефактов. Препятствия для внедрения в качестве платформы разработки Для обеспечения стабильной работы среды SharePoint используются строгие политики развертывания ИТ-операций. Политики развертывания могут вызывать завершение работы единого поставщика при ошибках развертывания или выполнять оценку показателей качества и различные проверки перед разрешением развертывания. Различные средства (например, SharePoint Designer 2007 и SharePoint Solution Generator 2008 из VSeWSS 1.3) облегчают определение компонентов и функций реш ения, что обеспечивает их повторное и управляемое развертывание в SharePoint 2007. Эти средства справляются с поставленной задачей, но что произойдет, если все процессы соблюдены, а плохо написанное или плохо работающее настраиваемое решение или веб-часть все равно развернуты (помимо прекращения работы SharePoint и проблем для разработчиков)? Получается, что развертывание теперь будет невозможно? Новые функции SharePoint 2010 позволяют профессионалам в сфере ИТ управлять запросами и даже изолировать настраиваемые решения. При этом разработчики могут создавать более дружественные пользователю решения путем отслеживания производительности и устранения неполадок. Регулирование запросов HTTP позволяет специалистам управлять активно используемыми операциями чтения без ограничения критически важных операций обновления. Изолированные решения позволяют разработчикам создавать необходимые решения и развертывать их в более управляемой и изолированной среде, что должно снова подружить технических специалистов и разработчиков. Теперь разработчики смогут отслеживать операции и получать подробные сведения по необходимым областям. В числе прочих усовершенствований развертывания можно упомянуть двустороннюю разработку и развертывание рабочих процессов. Рабочие процессы теперь можно создавать с помощью Visio или экспортировать из SharePoint Designer 2010, а затем изменять с помощью Visual Studio путем расширения и упрощения развертывания в виде компонентов пакетных решений. Продолжительность цикла разработки и отладки решений и продуктов SharePoint ранее была серьезной проблемой. Возможность нажать F5 для отладки в Visual Studio была привычна многим специалистам и, к сожалению, отсутствовала при разработке. Большая продолжительность цикла разработки и отладки SharePoint 2007 была неприятной, но сообщество разработчиков предоставило много инструментов и рекомендаций (в том числе макросы для подключения к процессам IIS) для улучшения процессов сборки и развертывания. Для ускорения работы были разработаны проекты CodePlex (WSP Builder, STSDEV и SharePoint Solution Installer), а также скрипты PowerShell, облегчающие развертывание и отладку. Новые функции SharePoint 2010 заполняют лакуны в процессе проектирования и разработки за счет элементов проекта SharePoint (SPI) в Visual Studio 2010 и более тесной интеграции IDE (SharePoint Explorer, визуальные конструкторы и настраиваемые последовательности развертывания). Изолированные решения позволяют не только устранить ошибки использования F5 при разработке и сократить время отладки без повторного развертывания, но и расширяют стандартные возможности пакета путем создания процесса настройки, выполняемого при развертывании и отладке. Кроме того, если шаблоны SPI по умолчанию не соответствуют требованиям, то можно создать и сделать доступными дополнительные шаблоны через Visual Studio Gallery. Это простой способ распространения решения через обширную сеть разработчиков Visual Studio. Справедливы ли эти убеждения? Использованию ранних версий SharePoint в качестве платформы разработки препятствовали различные факторы, но стандартные службы в сочетании с возможностями вертикальной интеграции SharePoint 2010 теперь устраняют большинство из них. Службы, поддерживающие стандартные требования приложений и обеспечивающие расширение или интеграцию с настраиваемыми службами инфраструктуры, должны дать начало волне создания вертикальных решений, основанных на новых службах платформы. Службы Business Continuity Services (BCS), клиентская объектная модель, рабочие области SharePoint, изолированные решения и приложения-службы являются одними из наиболее вероятных точек роста. Типичные заблуждения о SharePoint как платформе приложений Возможности платформы приложений SharePoint часто трактовались и продолжают трактоваться неверно. Большинство ошибочных представлений вызваны непониманием или недостаточным пониманием масштабируемости, производительности, развертывания, администрирования или стандартных функций платформы. Например, многие клиенты ошибочно полагают, что списки в SharePoint ограничены 2000 элементов, несмотря на то, что этот миф был развенчан не одним блогером. Подробное рассмотрение этого мифа приведено в техническом документе «Работа с большими списками в Office SharePoint 2007» 16. Кроме того, существуют некоторые заблуждения, непосредственно связанные с разработкой бизнес-решений на платформе. Рассмотрим наиболее распространенные из них: 1. Зависимость от SharePoint обуславливает закрытость архитектуры 2. Приложения SharePoint слишком рестриктивны 3. SharePoint — это лишь хранилище документов 4. SharePoint не может использоваться для выполнения бизнес-приложений Заблуждение 1: зависимость от SharePoint обуславливает закрытость архитектуры Некоторые поставщики программных продуктов считают зависимость от служб и возможностей платформы ограничивающим фактором с точки зрения архитектуры. Использование и интеграция со службами платформы SharePoint не подразумевает тесной связи приложения с SharePoint (см. статью «Связность и увязка» 17, содержащую определение и описание этих аспектов). Возможность создавать и расширять свободно связанные решения по принципам сервисноориентированной архитектуры (в первую очередь с помощью веб-служб на основе SOAP и REST) доступна в SharePoint уже сегодня. Ничто не запрещает использование функций ASP.NET (например, HttpHandler и HttpModules или настраиваемых вебслужб на основе REST или SOAP) для приведения приложения SharePoint 2007 в соответствие с принципами сервисноориентированной архитектуры. Единственная особенность заключается в том, что этот подход требует более глубокого знания SharePoint API. Например, интеграция процесса создания веб-служб с поддержкой SharePoint в процесс сборки и пакет развертывания Visual Studio возможна и позволяет отделить бизнес-логику от SharePoint, но при этом позволяет использовать все функции развертывания и доступности SharePoint. Другим примером может служить использование HttpHandler для управления службами AJAX REST, что является стандартным способом использования функций SharePoint в приложении при одновременном предоставлении доступа к общим бизнесданным. Это обеспечивает возможности WCF непосредственно в SharePoint (см. статью «Разработка сервисно-ориентированных приложений AJAX на платформе Microsoft» 18 ). SharePoint 2010 служит очевидным опровержением этого мифа. Возможность предоставления доступа через новый клиентский интерфейс API, встроенные службы REST, стандартные возможности поддержки служб WCF и приложения-службы обеспечивают разработку решений, соответствующих принципам сервисно-ориентированной инфраструктуры, и позволяют создавать воспроизводимые, постоянно доступные и масштабируемые решения для бизнеса. Заблуждение 2: приложения SharePoint слишком ограничены Другим частым заблуждением по запуску необходимых приложений в SharePoint является то, что эта платформа имеет слишком много ограничений для разработки и развертывания. Разработчики часто говорят, что платформа SharePoint слишком рестриктивна, в том время как им нужен полный контроль над средой для создания приложений. С этим можно поспорить: доменные приложения с вертикальными решениями наподобие служб Excel или каталога бизнес-данных имели архитектурные и масштабные ограничения (каждое веб-приложение можно было связать только с одним SSP). В частности, предоставление масштабируемых, централизованных и настраиваемых служб в ферме SharePoint было просто невозможно. Например, попробуйте представить создание службы по обработке обращений за страховыми возмещениями, которая предоставляет услуги по обработке всем веб-приложениям фермы SharePoint с помощью SharePoint 2007. Поставщику программных продуктов в этом случае пришлось бы иметь дело с проблемами развертывания, конфигурации, масштабируемости, базы данных и прочими вопросами пользовательских реализаций. Модель приложений-служб теперь входит в Microsoft SharePoint Foundation 2010 и является новым поколением служб размещения. Ограничение по количеству поставщиков общих служб, с которыми может быть связано веб-приложение, теперь устранено. Приложения-службы могут использоваться несколькими веб-приложениями индивидуально и в различных фермах, а также могут развертываться в нескольких (именованных) экземплярах для определенных целей. Новая архитектура обеспечивает использование выделенных баз данных служб, развертывание через PowerShell, настройку и изоляцию процессов, обработку высоких нагрузок и масштабируемость, а также предоставление служб в многопользовательской и облачной среде. Модель приложений-служб позволяет поставщикам программных продуктов создавать вертикальные службы обработки, доступные всему предприятию или даже в размещенной многопользовательской или облачной среде в качестве дополнительной услуги. Все это предоставляет огромные возможности по созданию целевых решений в будущем. Типичные заблуждения о SharePoint как платформе приложений Некоторые поставщики программных продуктов и предприятия указывают на то, что процессы развертывания, управления и обновления приложений на базе SharePoint 2007 несовершенны. В частности, невозможность управления версиями компонентов или пакетов решений и обновления пакета часто становится проблемой при необходимости развертывания в среде разработки, тестирования и производства. Обновления SharePoint 2010 обеспечивают более плавный переход при обновлении элементов и сборок, входящих в настраиваемые приложения. Решения фермы с полным доверием обеспечивают возможность стандартного развертывания веб-интерфейсам, которые предоставляют схожие возможности SharePoint 2007 с некоторыми обновлениями. Улучшенная поддержка идентификаторов, обязательных перенаправлений и событие FeatureUpgrading предоставляют поставщикам программных продуктов более функциональный и надежный способ развертывания при обновлении компонентов. Эти изменения покрывают практически все стандартные сценарии развертывания в нестрогой среде. В ограниченных или блокированных средах изолированные решения предоставляют широкий набор функций по развертыванию, управлению обслуживанию. Разработчики могут создавать приложения специально для ограниченных сред и разрабатывать необходимые решения, по умолчанию соответствующие правилам, а также вызывать прокси с полным доверием, если определенные доверенные операции известны и одобрены заранее. Если изолированные решения соответствуют наиболее строгим сценариям, то они могут развертываться в семейство сайтов даже для пользователей с полномочиями «Полный доступ». Администраторы могут управлять изолированными решениями даже с пользовательской проверкой, которая предоставляет подробные сведения об ошибках проверки решения. Кроме того, администраторы семейств сайтов могут активировать и устанавливать решения в безопасной и отслеживаемой среде, а администраторы фермы могут применить разнообразные ограничения к исполнению изолированных решений или даже заблокировать их полностью для обеспечения стабильности среды. Все эти функции были разработаны для поддержки экосистемы поставщиков программных продуктов. Заблуждение 3: SharePoint — это лишь хранилище документов Одной из наиболее сложных задач любого обучающего мероприятия по SharePoint является убеждение аудитории в том, что SharePoint — это значительно больше, чем простой портал и хранилище документов. Люди быстро понимают значение списков и библиотек документов, но только продвинутые пользователи сразу видят преимущества использования вебчастей, рабочих процессов и других функций. SharePoint имеет множество применений. Мы уже назвали восемь категорий и 40 функций, но что эти категории и функции значат для потенциальных разработчиков приложений? Это, пожалуй, наиболее популярное заблуждение, способ опровержения которого зависит от аудитории. Давайте вначале зададим себе следующий вопрос. Какие возможности операционная система предоставляет поставщику программных продуктов, который создает обычное приложение? Не торопитесь с ответом, а запишите свои идеи. Вот определение с сайта Dictionary.com: «совокупность программного обеспечения, которое определяет действия компьютера, управляет и планирует выполнение других программ, а также управляет средствами хранения, вводавывода и коммуникации». Еще раз прочтите это определение и свои ответы. Это именно то, что вам предоставляет SharePoint, не так ли? Не является ли SharePoint совокупностью служб, функций и операций, которые обеспечивают создание и выполнение других приложений, а также управление ресурсами хранения, вводавывода и коммуникации (см. также статью «Является ли SharePoint операционной системой для бизнеса?» 19)? Традиционные приложения требуют от операционной системы предоставления служб для взаимодействия с пользовательским интерфейсом, средствами хранения и другими уровнями или системами, чтобы быстро внедрять инновации. Эта роль в точности соответствует тем возможностям, которые SharePoint предоставляет разработчикам приложений, потратившим некоторое время на изучение предоставляемых SharePoint служб (эти службы выполняют широкий спектр задач). Разработка приложений сегодня требует разумного баланса между инновациями и поставленными целями. Точно так же, как и современные операционные системы и языки 3GL стремятся устранить необходимость взаимодействия с системами управления памятью, планированием и низкоуровневым доступом к оборудованию, SharePoint предоставляет возможность быстро создавать дополнительные решения путем подключения к стандартной инфраструктуре SharePoint (вебчастям, определениям сайтов, настраиваемым спискам), создавать новые компоненты на основе инфраструктуры SharePoint (развертывание, подготовка, планирование, взаимодействие, пользовательский интерфейс и т. п.) или создавать инновационные решения путем расширения возможностей SharePoint различными способами. Описанные стратегии (подключение, расширение или базирование) используют службы и возможности расширения SharePoint различными способами. Примером может служить узел сторонних веб-частей, которые предоставляют различные возможности по визуализации данных, настраиваемые определения сайтов, которые предоставляют решения со стандартными списками, а также настраиваемые виды и отчеты, которые используют возможности конфигурации, развертывания и масштабируемости SharePoint. Корпорация Майкрософт представила способ реализации стратегии расширения, в том числе с помощью обновленных служб Excel, служб BCS и служб поиска. Разве все эти компоненты не основаны на службах, компонентах, операциях, ресурсах хранения, ввода-вывода и коммуникации, предоставляемых SharePoint? Конечно. Более того, они работают только за счет служб и возможностей Microsoft SharePoint Foundation 2010. Кроме того, корпорация Майкрософт создала новые приложения, которые стимулируют дополнительные инновации. Служба управляемых метаданных20, службы Access 21, служба Secure Store 22 и служба Web Analytics являются отличным примером совмещения всех стратегий (подключение, расширение и базирование) для предоставления необходимых приложений на основе «операционной системы» и служб SharePoint. Типичные заблуждения о SharePoint как платформе приложений Заблуждение 4: SharePoint не может использоваться для выполнения бизнес-приложений Многие годы платформа SharePoint считалась оптимальным средством для совместной работы, но неподходящим средством для поддержки бизнес-приложений. Это совсем не так в случае с Microsoft Office SharePoint Server 2007 и в особенности для SharePoint Server 2010. Теперь наша платформа обладает производительностью и масштабируемостью с точки зрения инфраструктуры, а функциональность SharePoint идеально подходит для создания критически важных бизнес-приложений. В этом документе мы убедились в том, что SharePoint обладает надежной базовой архитектурой и различными функциями (стандартными и доступными через поставщиков программного обеспечения — разработчиков технологических решений, путем проектирования или силами сообщества), которые позволяют приобретать или создавать надежные бизнес-приложения SharePoint. Примеры бизнес-приложений SharePoint Некоторые поставщики программных продуктов уже разрабатывают бизнес-приложения в SharePoint. Например, поставщики вертикальных программных продуктов NextDocs Corporation и TranSenda создают приложения для применения в естественных науках. Примером поставщиков технологических программных продуктов является компания KnowledgeLake, которая использует свой опыт в управлении транзакционным контентом при создании бизнес-приложений, требующих обработки изображений. Поддержка сообщества и инструменты SharePoint обладает большим сообществом разработчиков, которое постоянно расширяется. Оно поддерживается корпорацией Майкрософт и сторонними компаниями. Средства для разработки (например, Visual Studio 2010) позволяют добиться тесной интеграции с SharePoint, а пользовательские средства SharePoint Designer (а также веб-части и компоненты сторонних производителей) позволяют создавать дополнительные функции с меньшими усилиями. Корпорация Майкрософт предоставляет подробные сведения для разработчиков в центре разработчиков SharePoint23. Этот сайт содержит инструкции и видеоролики, документацию по пакету SDK, загружаемые материалы, обучающие ресурсы и ссылки на сайты сообщества. Сообщество Более 180 MVP (Most Valuable Professionals) партнеров корпорации Майкрософт по всему миру оказывают поддержку по службам SharePoint и SharePoint Server. Партнеры MV P активно участвуют в жизни сообщества SharePoint и вносят существенный вклад в его работу, публикуя свой контент и инструменты, отвечая на вопросы на онлайн-форумах, выступая на важных конференциях корпорации Майкрософт, а также принимая участие в работе пользовательских групп или совместных мероприятий SharePoint. Центр разработчика SharePoint позволяет отслеживать все новости сообщества. Существует множество форумов, на которых обсуждаются различные аспекты работы в SharePoint, в том числе общие вопросы или конкретные области (например, рабочие процессы или службы Excel). Многие поставщики программных продуктов также имеют свои форумы. Ниже представлены некоторые популярные форумы сообщества: • MSDN — Форумы по продуктам и технологиям Microsoft SharePoint24 • TechNet — Форумы по SharePoint 2010 25 • Stack Overflow — SharePoint26 • Server Fault — SharePoint 27 Сайт для размещения проектов с открытым исходным кодом Microsoft CodePlex 28 де-факто стал основным источником для проектов, поддерживаемых сообществом SharePoint. Проекты SharePoint поддерживают деятельность разработчиков и позволяют добавлять или настраивать функции и интерфейс SharePoint. Сейчас на сайте CodePlex существует более 1000 проектов, которые содержат ключевое слово SharePoint! Visual Studio Visual Studio — это ведущая среда для разработки от корпорации Майкрософт. Она поддерживает разработку приложений и компонентов с использование широкого спектра технологий Майкрософт. Эта среда поддерживает полную настройку базовой инфраструктуры ASP.NET (например, HttpHandler, HttpModule или поставщики членства) для настраиваемой проверки подлинности, а также для разработки приложений SharePoint. Интерфейс мастера позволяет разработчикам создавать вебчасти, определения и экземпляры списков, типы контента, рабочие процессы, приемники событий, страницы приложений и модели подключения к бизнес-данным. Кроме того, дополнительные ресурсы (например, JavaScript или образы решений, которые развертываются в файловую систему) также можно легко добавить в Visual Studio. Visual Studio также поддерживает создание изолированных решений SharePoint, которые представляют собой проекты, использующие ограниченный набор SharePoint API для развертывания в средах с низким уровнем доверия. Это решение можно собрать с помощью Visual Studio и создать пакет решений SharePoint (WSP), который затем развертывается в отдельном экземпляре SharePoint. Отладка Для отладки решений SharePoint доступно несколько решений. На нижнем уровне приложения на основе серверных ОС Microsoft и ASP.NET позволяют использовать журналы системы для записи ошибок, предупреждений и информационных сообщений. На следующем уровне журналы единой службы ведения журналов (ULS) включают в себя сведения об ошибках и предупреждениях SharePoint. Детализированность информации (например, предупреждений и информационных сообщений), включенных в журналы ULS, определяется параметрами в центре администрирования SharePoint. Трассировка ASP.NET может записываться в окно вывода Visual Studio или просматриваться с помощью приложения DebugView. На более высоком уровне находится панель разработчика SharePoint, которая содержит время выполнения по загрузке страниц и запросам в базу данных. Ошибочные запросы затем можно просмотреть более подробно, щелкнув ссылку запроса и просмотрев стек вызовов, который являлся причиной запроса. Разработчики также могут добавлять возможности мониторинга для настраиваемого кода путем его помещения в раздел SPMonitoredScope. Visual Studio обладает расширенными функциями отладки. Visual Studio позволяет подключаться к рабочим процессам SharePoint и пошагово выполнять серверный код (например, веб-страницы, веб-части и пользовательские элементы управления). Подключение к процессу служб SharePoint Timer позволяет отлаживать настраиваемые задания таймера или возобновленные рабочие процессы. Кроме того, Visual Studio — это прекрасная среда для отладки скриптов, которая позволяет подключаться к Internet Explorer для пошагового выполнения клиентского кода. Поддержка сообщества и инструменты SharePoint Designer SharePoint Designer — это универсальное средство, которое используется как разработчиками, так и продвинутыми пользователями. SharePoint Designer в том числе поддерживает настройку и проектирование веб-страниц и главных страниц, создание и проектирование рабочих процессов, подключение служб Business Connectivity Services к внешним данным, а также настройку форм ввода элементов для списков SharePoint. SharePoint Designer также может использоваться для создания типов контента, списков и столбцов сайтов. SharePoint Designer позволяет импортировать рабочие процессы, созданные с помощью Microsoft Visio для реализации в SharePoint. Задачи по администрированию (например, применение разрешений или параметров сайта) также могут выполняться с помощью SharePoint Designer. Несмотря на то что SharePoint Designer чаще используется продвинутыми пользователями, этот пакет также позволяет экспортировать компоненты (например, повторно используемые рабочие процессы, списки и сайты) в пакеты решений SharePoint (WSP). Пакеты WSP — это единицы развертывания для компонентов SharePoint. После экспорта можно открыть пакет WSP и продолжить его настройку в Visual Studio 2010. SharePoint Designer способен напрямую подключаться к рабочему сайту SharePoint. Эта возможность может испугать администраторов SharePoint, но SharePoint предоставляет им возможность указать разрешения SharePoint Designer для веб-приложения с помощью следующих параметров: • разрешить использование SharePoint Designer в этом вебприложении; • разрешить администраторам семейства сайтов настраивать страницы сайта; • разрешение администраторам семейств веб-сайтов настраивать главные страницы и страницы макета; • разрешить администраторам семейств сайтов просмотр структуры URL-адресов своих веб-сайтов. При изменении веб-страницы SharePoint Designer по умолчанию ограничивает пользователей возможностью редактирования веб-частей на странице. Эта функция предотвращает отделение страницы от определения сайта, что может увеличить затраты на обслуживание. Для полного редактирования страницы используется режим расширенного редактирования. Пользователи часто создают решения, которые на определенном этапе развития требуют участия профессионального разработчика. Решения можно экспортировать из SharePoint Designer 2010 и импортировать в Visual Studio 2010, что позволяет разработчику расширять пользовательское решение без необходимости его создания с нуля. Средства сторонних производителей Сторонние средства позволили создать множество компонентов, доступных для применения разработчиками и продвинутыми пользователями при расширении SharePoint. Поставщики технологических решений (например, CorasWorks, Bamboo Solutions, Nintex и Quest) расширяют возможности SharePoint для продвинутых пользователей, разработчиков и администраторов. Предложения этих компаний включают в себя функции совмещения и представления данных, сводные веб-части и даже средства по подключению к внешним данным. Эти средства обычно поддерживаются производителями и сообществом пользователей, а также доступны для загрузки в качестве пробных версий. Дальнейшие действия Решение об использовании SharePoint в качестве платформы для разработки веб-приложений может быть принято разными способами. Ниже представлены некоторые возможные стратегии. Сопоставление возможностей Сопоставьте план выпуска и обновления продукта с функциями SharePoint. После этого определите возможности SharePoint, которые способны ускорить разработку продукта. Это простой подход для определения преимуществ использования платформы SharePoint. Для этого может потребоваться консультация специалиста, разбирающегося в функциях SharePoint. Я надеюсь, что этот документ позволил вам понять основные возможности и преимущества SharePoint и решить, существуют ли потенциальные области пересечения функций SharePoint и требуемых функций продукта. Кроме того, в ходе анализа важно определить, какие компоненты предоставляются в составе различных номеров SKU SharePoint. Анализ рынка Получите представление об использовании SharePoint текущими и потенциальными клиентами. Это позволит принять осознанное решение о потенциальных преимуществах создания продукта на основе SharePoint или в подключении к этой платформе. Для поставщиков горизонтальных решений невозможность подключения продукта к SharePoint может послужить непреодолимым препятствием или вызвать задержку цикла продаж. Для поставщиков вертикальных решений создание приложений на базе SharePoint может принести положительные результаты, если специалисты ИТ-отдела клиента знакомы с SharePoint. Продукт на базе SharePoint (знакомой и часто используемой платформы) будет рассматриваться как более простое и управляемое решение. Например, большинство разработчиков, использующих средства корпорации Майкрософт, умеют работать со средствами безопасности SharePoint, поэтому они легко смогут использовать существующий механизм проверки подлинности и авторизации, встроенный в SharePoint. Сравнение Создание одного продукта на основе SharePoint и одного продукта с нуля также может оказаться наглядным. Это нечастый прием, но он может привести к неожиданным результатам. Разработка в SharePoint позволяет сфокусироваться на бизнес-задачах и уделять меньше внимания платформе. При этом все задачи можно решить с меньшим количеством настраиваемого кода и за меньшее время. Пилотный проект При оценке нового технического плана многие компании проводят разработку продукта поэтапно, начиная с бетаверсии продукта. Бета-версия продукта на базе SharePoint разрабатывается за 1–3 месяца. Возможность быстрой разработки продукта является залогом понимания ценности стратегии подключения, расширения или базирования. Некоторые функции можно создать за 1–2 недели, что кажется невероятным. За 3–6 итераций можно создать продукт с достаточным количеством функций и передать его сообществу бета-тестеров. Через 1–3 месяца появляется понимание новых циклов разработки, а организация сокращает ожидаемое время до выпуска версии продукта 1.0. Консультации Обсуждайте свои вопросы с другими поставщиками программных продуктов, представителями предприятий и (или) консалтинговых компаний, которые уже имели опыт работы с SharePoint. Нет ничего ценнее отзывов людей, которые уже выполняли этот процесс раньше. Существует множество поставщиков горизонтальных и вертикальных решений, использующих стратегии подключения, расширения или базирования на платформе SharePoint. Попробуйте найти компанию, создающую схожие продукты, и спросите ее представителей об их опыте. Конечно, конкуренты могут избегать обсуждения этого вопроса, но можно найти других поставщиков, создающих программные продукты такой же сложности с аналогичными функциями. Поверьте, многие компании захотят поделиться своим опытом. Дальнейшие действия Экосистема ISV-партнеров SharePoint Дальнейшие действия Основные ресурсы Ссылки Корпорация Майкрософт — SharePoint 2010 (на английском языке): http://sharepoint2010.microsoft.com/Pages/ default.aspx Корпорация Майкрософт — Возможности SharePoint 2010 (на английском языке): http://sharepoint2010.microsoft.com/product/capabilities/ Pages/default.aspx Корпорация Майкрософт — Office SharePoint Server 2007 (на английском языке): http://sharepoint.microsoft.com/Pages/Default.aspx Блог команды разработчиков Microsoft SharePoint — история SharePoint (на английском языке): http://blogs.msdn.com/sharepoint/archive/2009/10/05/ sharepoint-history.aspx Блог команды разработчиков Microsoft SharePoint (на английском языке): http://blogs.msdn.com/sharepoint Введение в разработку Microsoft SharePoint для разработчиков .NET (на английском языке): http://www.microsoft.com/click/sharepointdeveloper/ html/Default.html MSDN — Новые возможности SharePoint Server 2010: http://msdn.microsoft.com/ru-ru/library/ ee557323(office.14).aspx MSDN — Новые возможности SharePoint Foundation 2010: http://msdn.microsoft.com/ru-ru/library/ ee539826(office.14).aspx MSDN — Введение в продукты и технологии SharePoint для профессионального разработчика .NET: http://msdn.microsoft.com/ru-ru/library/cc537498.aspx MSDN — Продукты и технологи Microsoft SharePoint : http://msdn.microsoft.com/ru-ru/library/bb931739.aspx Блог команды разработчиков Microsoft SharePoint — SharePoint 2010 (на английском языке): http://blogs.msdn.com/sharepoint/archive/2009/10/19/ sharepoint-2010.aspx TechNet — Форум SharePoint 2010 (на английском языке): http://social.technet.microsoft.com/Forums/en-US/ category/sharepoint2010 TechNet — Сведения о приложении службы метаданных (SharePoint Server 2010): http://technet.microsoft.com/ru-ru/library/ ee424403(office.14).aspx TechNet — Введение в службы Access (SharePoint Server 2010): http://technet.microsoft.com/ru-ru/library/ ee748634(office.14).aspx TechNet — Настройка службы безопасного хранения (SharePoint Server 2010): http://technet.microsoft.com/ru-ru/library/ee806866.aspx Microsoft Learning — Разработка сервисноориентированных приложений AJAX на платформе корпорации Майкрософт (на английском языке): http://www.microsoft.com/learning/en/us/book. aspx?ID=12793 MSDN — Центр разработчиков SharePoint: http://msdn.microsoft.com/ru-ru/sharepoint/default.aspx MSDN — Форумы по продуктам и технологиям Microsoft SharePoint (на английском языке): http://social.msdn.microsoft.com/forums/en-US/ category/sharepoint MSDN — Центр ресурсов по управлению жизненным циклом приложений (на английском языке): http://msdn.microsoft.com/en-us/office/cc990283.aspx MSDN — Групповая разработка в Microsoft Office SharePoint Server 2007 (на английском языке): http://msdn.microsoft.com/en-us/library/bb428899.aspx MSDN — Использование Team Foundation Server для разработки настраиваемых приложений продуктов и технологий SharePoint (на английском языке): http://msdn.microsoft.com/en-us/library/cc948982.aspx MSDN — Модели разработки решений и артефактов для продуктов и технологий SharePoint (на английском языке): http://msdn.microsoft.com/en-us/library/dd179854.aspx Дальнейшие действия Ссылки (продолжение) Глоссарий MSDN — Пошаговое руководство. Создание простой веб-части SharePoint (на английском языке): http://msdn.microsoft.com/en-us/library/ms452873.aspx Если вы не знакомы с понятиями ASP.NET или SharePoint, воспользуйтесь следующим глоссарием терминов. Список контроля доступа (ACL) — набор разрешений, привязанных к объекту. Для индексации поиска список контроля доступа сохраняется вместе с индексируемым элементом, что позволяет определить, имеет ли текущий пользователь доступ на чтение результатов поиска. См. также статью http://en.wikipedia.org/wiki/Access_control_list (на английском языке). AJAX — асинхронный JavaScript и XML — веб-запросы из клиентских браузеров (JavaScript), которые возвращают XML с сервера без обновления всей страницы. См. также статью http://en.wikipedia.org/wiki/Ajax_(program ming) (на английском языке). Управление жизненным циклом приложения (ALM) — управление всем жизненным циклом приложения с помощью специальных средств. См. также статью http://en.wikipedia.org/wiki/Application_lifecycle_management (на английском языке). ASP.NET — Active Server Pages .NET — платформа вебприложений корпорации Майкрософт на основе платформы .NET. См. также статью http://en.wikipedia.org/wiki/Asp.net (на английском языке). Службы BCS — новые службы SharePoint 2010 для подключения SharePoint к бизнес-данным, находящимся вне SharePoint и доступным через протоколы баз данных, через веб-службы или настраиваемый код .NET. Данные предоставляются из SharePoint в качестве внешнего типа контента. Каталог бизнес-данных (BDC) — исходное название BCS в SharePoint 2007. В SharePoint 2010 каталог называется службой BCS. Управление доступом для кода (CAS) — позволяет указанному коду запрашивать определенные права безопасности во время выполнения. См. также статью http://en.wikipedia.org/wiki/Code_ access_security (на английском языке). Проверка подлинности на основе утверждений — технология управления удостоверениями, при которой для создания утверждения об удостоверении используется служба маркеров безопасности (STS). Служба STS может использоваться в неоднородной среде, которая позволяет различным системам доверять этому удостоверению, пока они пользуются одной и той же службой STS. ClickOnce — технология корпорации Майкрософт для развертывания клиентских приложений через Интернет. См. также статью http://en.wikipedia.org/wiki/ClickOnce (на английском языке). Клиентская объектная модель — новая объектная модель, доступная в браузерах с поддержкой JavaScript или Silverlight, а также в приложениях Windows. Она облегчает взаимодействие с SharePoint через клиентский интерфейс API. Типы контента — определяют схему и поведение контента определенного типа. В SharePoint существуют поля контента (список/столбцы библиотеки), которые позволяют указать параметры рабочих процессов и параметры политики управления данными. См. также http://msdn.microsoft.com/ruru/library/ms472236.aspx. Изменение блока элементов управления — раскрывающееся меню, связанное с элементом в списке или библиотеке SharePoint. Службы Excel — обеспечивают совместный доступ к контенту Excel через пользовательский веб-интерфейс SharePoint. См. также http://office.microsoft.com/ruru/sharepointserver/HA101054761033.aspx. Блог разработчиков Microsoft SharePoint — Масштабирование для больших списков и производительных методов доступа (на английском языке): http://blogs.msdn.com/sharepoint/archive/2007/07/25/ scaling-large-lists.aspx MSDN — Связность и увязка: http://msdn.microsoft.com/ru-ru/magazine/cc947917.aspx CodePlex: http://www.codeplex.com CodePlex — WSPBuilder: http://www.codeplex.com/wspbuilder CodePlex — STSDEV: http://www.codeplex.com/stsdev CodePlex — SharePoint Solution Installer: http://www.codeplex.com/sharepointinstaller StackOverflow — SharePoint: http://stackoverflow.com/questions/tagged/sharepoint ServerFault — SharePoint: http://serverfault.com/questions/tagged/sharepoint SharePoint Reviews — Обзоры сторонних продуктов SharePoint (на английском языке): http://www.sharepointreviews.com/ David Chappell — Платформа разработки SharePoint 2010 (на английском языке): http://www.davidchappell.com/blog/2009/10/sharepoint2010-developer-platform.html Kollabria — Является ли SharePoint операционной системой для бизнеса? (на английском языке): http://www.kollabria.com/pages/Is-SharePoint-a-BusinessOperating-System%3F.html Дальнейшие действия Внешние типы контента — типы контента, которые являются внешними по отношению к SharePoint и доступны через службы BCS. Федеративный поиск / федерация запросов — процесс делегирования запроса в другую службу (например, владельцу контента). Другая служба также будет ответственной за индексирование контента. См. также статью http://en.wikipedia.org/wiki/Federated_search (на английском языке). Фолксоно мия — пользовательские пометки или классификация контента, отличная от предварительно определенной структурной таксономии. Фолксономии представляют собой обратный подход «снизу вверх» к маркировке контента. Таксономии обычно считаются подходом «сверху вниз». См. также статью http://en.wikipedia.org/wiki/Folksonomy (на английском языке). Обработчик HTTP — код ASP.NET, который можно настроить для обработки определенного типа запросов (например, запросов GET для URL-адресов). См. также http://msdn.microsoft.com/ru-ru/library/bb398986.aspx Модуль HTTP — код в ASP.NET, который можно настроить как часть канала для всех запросов определенного сайта или дочернего сайта. См. также http://msdn.microsoft.com/ruru/library/bb398986.aspx Политики управления информацией — набор правил, которые применяются к контенту SharePoint. См. также http://msdn.microsoft.com/ru-ru/library/ms499244.aspx. InfoPath Forms — средство проектирования форм, используемое для сбора данных электронных форм. SharePoint имеет серверную функцию для InfoPath Forms, которая позволяет просматривать формы InfoPath в браузере на сайте SharePoint. См. также http://office.microsoft.com/ruru/sharepointserver/HA101672841033.aspx ISAPI — интерфейс API, используемый для создания инфраструктуры ASP.NET. См. также статью http://en.wikipedia.org/wiki/Internet_Server_Application_Program m ing_Interface (на английском языке). Главные страницы — эта функция ASP.NET используется для стандартизации и обеспечения единообразия разметки и веб-страниц на сайтах SharePoint. См. также http://msdn.microsoft.com/ru-ru/library/wtxbf3hh.aspx Отслеживаемая область — технология, позволяющая отображать код на панели разработчика SharePoint. См. также http://www.wictorwilen.se/Post/Improve-your-SharePoint- 2010applications-with-monitoring-using-SPMonitoredScope.aspx и http://blogs.technet. com/speschka/archive/2009/10/28/usingthe-developer-dashboard- in-sharepoint-2010.aspx (на английском языке) MOSS — Microsoft Office SharePoint Server — название лицензируемой версии SharePoint 2007. MSF — Microsoft SharePoint Foundation — новое название основы/базы SharePoint 2010. MSS — Microsoft SharePoint Server — новое название лицензируемой версии SharePoint в 2010. Протокол открытых данных OData — веб-протокол для запроса и обновления данных, который позволяет выполнять разблокировку данных и уйти от существующей концепции разобщенных данных. См. также http://www.odata.org Язык SAML — стандарт на основе XML для обмена данными проверки подлинности и авторизации между доменами безопасности. См. также статью http://en.wikipedia.org/wiki/Security_Assertion_Markup_Language (на английском языке). Лента SharePoint — SharePoint 2010 имеет интерфейс ленты, схожий с интерфейсом большинства продуктов Office 2007. Эта лента в зависимости от контекста предоставляет доступ к наиболее частым действиям через значок в верхней части страницы. См. также статью http://en.wikipedia.org/wiki/Ribbon_(computing) (на английском языке). Silverlight — платформа веб-приложений для расширенного пользовательского интерфейса, которая может использоваться в различных браузерах и операционных системах. См. также статью http://en.wikipedia.org/wiki/Microsoft_Silverlight (на английском языке). Меню «Действия сайта» — компонент пользовательского интерфейса для страниц SharePoint, который позволяет пользователям с соответствующими разрешениями выполнять необходимые действия сайта (например, создание нового списка). См. также http://msdn.microsoft.com/enus/library/bb418728.aspx (на английском языке). Рабочая область SharePoint — компонент Groove Office 2007, который является автономным клиентом SharePoint 2010. Эта безопасная и многофункциональная среда совместной работы также позволяет выполнять синхронизацию данных между пользователями в рабочей области без подключения к SharePoint. См. также http://technet.microsoft.com/ruru/library/ee649102%28office.14%29.aspx Элемент проекта SharePoint — шаблоны элементов проекта SharePoint используются в Visual Studio 2010 для добавления элементов к существующему проекту SharePoint (например, приемника событий к проекту определения списка). См. также http://msdn.microsoft.com/ru-ru/library/ee231554(VS.100).aspx Службы SharePoint Portal Services (SPS) — название, используемое для серверного продукта первого и второго поколения SharePoint. Единый вход (SSO) — используется в неоднородных системах и позволяет пользователю один раз пройти проверку подлинности и получить доступ к нескольким системам без необходимости повторного входа. SharePoint Team Services (STS) — название, используемое для бесплатной надстройки Windows Server первого поколения SharePoint. Расширения Visual Studio для служб Windows SharePoint (VSeWSS) — набор расширений Visual Studio для разработки приложений на основе SharePoint 2007. Windows Communication Foundation (WCF) — эта часть платформы .NET предоставляет единую модель для создания сервисноориентированных приложений. См. также http://msdn.microsoft.com/ru-ru/netframework/aa663324.aspx Веб-часть — модульные компоненты пользовательского интерфейса, вложенные в страницы веб-частей. Веб-части в SharePoint могут настраиваться пользователем, который в том числе определяет зону для размещения веб-частей. Это основная составляющая часть элементов упаковки решения SharePoint. См. также http://msdn.microsoft.com/enus/library/dd583154 (office.11).aspx (на английском языке). Страницы веб-частей — основной контейнер для пользовательского интерфейса SharePoint. Страницы вебчастей содержат зоны, которые могут содержать любое количество веб-частей. См. также http://msdn.microsoft.com/enus/library/dd583147(office.11).aspx (на английском языке). Дальнейшие действия Глоссарий (продолжение) Зоны веб-частей — позволяют пользователям или разработчикам размещать веб-части относительно страницы. Например, можно создать верхнюю, левую и правую зону веб-частей, чтобы упорядочить отображение веб-частей на странице. Windows Workflow Foundation (WF) — инфраструктура рабочих процессов корпорации Майкрософт, которая может размещаться в SharePoint для поддержки рабочих процессов. Эта программа применяется для настраиваемых рабочих процессов и используется большинством продуктов, которые предоставляют рабочие процессы в SharePoint. См. также http://msdn.microsoft.com/ru-ru/netframework/aa663328.aspx Пакет решения WSP — CAB-файл с расширением WSP, который используется для развертывания кода в SharePoint Server. См. также http://msdn.microsoft.com/enus/library/bb466225.aspx (на английском языке). Службы Windows SharePoint Services (WSS) — название ядра SharePoint с версии 1 до 3. В версии 2010 это название изменено на Microsoft SharePoint Foundation (MSF). Приложение Сноски 1 Запись блога об истории SharePoint (на английском языке) — http://blogs.msdn.com/sharepoint/archive/2009/10/05/ sharepoint-history.aspx 14 Блог Дэвида Чэппела (David Chappell) — Платформа разработки SharePoint 2010 (на английском языке) — http://www.davidchappell.com/blog/2009/10/sharepoint-2010developer-platform.html 2 Возможности SharePoint (на английском языке) — http://sharepoint2010.microsoft.com/product/capabilities/ Pages/default.aspx 15 3 Блог разработчиков Microsoft SharePoint (SharePoint 2010) (на английском языке) — http://blogs.msdn.com/sharepoint/archive/2009/10/19/ sharepoint-2010.aspx Модели разработки решений и артефактов для продуктов и технологий SharePoint (на английском языке) — http://msdn.microsoft.com/en-us/library/dd179854(office.12). aspx 16 Работа с большими списками в Office SharePoint 2007 (на английском языке) — http://blogs.msdn.com/sharepoint/archive/2007/07/25/ scaling-large-lists.aspx 17 MSDN — Схемы на практике (Связность и увязка) — http://msdn.microsoft.com/ru-ru/magazine/cc947917.aspx 18 Разработка сервисноориентированных приложений AJAX на платформе корпорации Майкрософт (на английском языке) — http://www.microsoft.com/learning/en/us/book.aspx?ID=12793 19 Статья «Является ли SharePoint операционной системой для бизнеса?» (на английском языке) — http://www.kollabria.com/pages/Is-SharePoint-a-BusinessOperating-System%3F.html 20 Обзор приложения-службы управляемых метаданных — http://technet.microsoft.com/ru-ru/library/ ee424403(office.14).aspx 21 Введение в службы Access — http://technet.microsoft.com/ru-ru/library/ ee748634(office.14).aspx 22 Настройка службы безопасного хранения (SharePoint Server 2010) — http://technet.microsoft.com/ru-ru/library/ee806866.aspx 23 Центр разработчиков SharePoint — http://msdn.microsoft.com/ru-ru/sharepoint/default.aspx 24 MSDN — Форумы по продуктам и технологиям SharePoint (на английском языке) — http://social.msdn.microsoft.com/forums/en-US/category/ sharepoint 25 TechNet — Форумы SharePoint 2010 (на английском языке) — http://social.technet.microsoft.com/Forums/en-US/category/ sharepoint2010 26 Stack Overflow — SharePoint (на английском языке) — http://stackoverflow.com/questions/tagged/sharepoint 27 Server Fault — SharePoint (на английском языке) — http://serverfault.com/questions/tagged/sharepoint 28 CodePlex (сообщество проектов с открытым исходным кодом) (на английском языке) — http://www.codeplex.com/ 4 5 6 7 8 SharePoint Connector для объединения (страница продукта Atlassian) (на английском языке) — http://www.atlassian.com/sharepoint/ SharePoint Connector для объединения (статья о проделанной работе в блоге разработчиков SharePoint) (на английском языке) — http://blogs.msdn.com/sharepoint/archive/2008/01/10/ sharepoint-connector-for-confluence-how-we-did-it.aspx Разрешение подключений к нескольким серверам SSRS с помощью веб-частей Report Viewer и Explorer (статья о проделанной работе в блоге разработчиков SharePoint) (на английском языке) — http://blogs.msdn.com/sharepoint/archive/2008/11/03/howwe-did-it-allowing-connections-to-m ultiple-ssrs-servers-withreport-viewer-and-explorer-web-parts.aspx Автоматизация запросов служб с помощью службы InfoPath Forms (статья о проделанной работе в блоге разработчиков SharePoint) (на английском языке) — http://blogs.msdn.com/sharepoint/archive/2008/11/14/howwe-did-it-automating-service-requests-using-infopath-formsservices.aspx Магазин CorasWorks App Store (на английском языке) — http://www.cwappstore.com/ 9 Набор средств интеграции данных из CorasWorks (на английском языке) — http://www.corasworks.net/dataintegrationtoolset/ 10 MashPoint от компании Bamboo Solutions (на английском языке) — http://store.bamboosolutions.com/ps-118-5-mashpoint.aspx 11 Майк Фласко (Mike Flasko): повышение связности данных — протокол открытых данных (OData) (на английском языке) — http://blogs.msdn.com/astoriateam/archive/2009/11/17/ breaking-down-data-silos-the-open-data-protocol-odata.aspx 12 13 Обзор инфраструктуры компонентов SharePoint Search — http://msdn.microsoft.com/ruru/library/ee556429(office.14).aspx Введение в продукты и технологии SharePoint для профессионального разработчика .NET — the Professional .NET Developer — http://msdn.microsoft.com/ru-ru/library/cc537498.aspx