Что делать, если вы немножко SharePoint, и как с этим жить?


    Так сложилось, что моя работа последние 6 лет связана с Microsoft SharePoint Server. В этой статье я не хочу выяснять хорошо это или нет, но я бы хотел помочь тем, кто уже выбрал этот путь или только присматривается к нему. Учитывая, что SharePoint почти не преподают в вузах, самостоятельно начать работать с данной технологией довольно трудно. Чаще картина следующая: компания берёт программиста .Net и начинает его прокачивать.

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



    Как расти?


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

    Для старта хорошо подойдёт набор видео на сайтах TechDays и Channel9. Отличные видеокурсы есть на сайте Pluralsight, они платные, но стоят того — очень подробные и пригодятся на любом этапе (кстати, есть курсы не только по SharePoint, например, есть совсем зубодробительный курс по .Net, где даже разбираются отличия в оптимизации свободной памяти в .Net 2.0 и .Net 4.5). А вот Critical Path Training частенько проводит бесплатные вебинары или выкладывает записи. Для справки, Critical Path Training – это, пожалуй, крупнейшее скопление MVP по SharePoint.

    Для решения проблем заходите на форумы, их, правда, совсем мало: GotDotNet, форум MSDN, StackExchange.

    По текущей версии SharePoint 2013 пока вышло мало книг, а вот по старым версиям книг гораздо больше, причём как чисто программисткой направленности, так и более высокого архитектурного уровня. У Антона Вишнякова есть хорошая подборка книг по всем версиям SharePoint.

    Чтобы быть в курсе всех новинок, полезно посещать конференции Microsoft, например TechEd, Платформа и другие. Необязательно присутствовать, можно смотреть веб-трансляцию. Список всех предстоящих конференций, а также записи прошедших вы можете посмотреть на сайте Microsoft в разделе Events.

    Не стоит забывать и о разделе про SharePoint на MSDN, где перечислены все мануалы по разворачиванию и настройке системы. Обратите внимание на раздел “Technical diagrams”, там много информации по построению решений на SharePoint, но есть и минусы у данного раздела — информации очень много, иногда можно даже не найти то, что нужно.

    Проблема качества является главной в этом направлении, тут, как и в любом деле, главное не останавливаться в развитии. Знать нужно несколько версий SharePoint, а не только последнюю, потому что всегда возникает много задач интеграции и миграции. Новые версии SharePoint выходят где-то раз в 3 года различия в версиях довольно существенные, часто меняется архитектура или подход к разработке, то есть на обучение сразу надо закладывать много времени. Забросите на полгода или год и сильно отстанете.

    Опыт можно получить, только реально поработав в проекте. Самый простой способ — найти компанию, которая готова взять Junior разработчика на вырост. Таких компаний много, потому что специалистов на рынке мало. Ещё один вариант получить опыт – начать создавать отдельные компоненты, решения. Например, можно присоединиться к проекту или создать что-то своё на CodePlex, там самая большая сосредоточенность проектов SharePoint.

    Какие тут пути развития?


    Итак, вы программист .Net, а значит, вы можете выучить MVC, пару CMS и зарабатывать деньги на создании публичных сайтов. Минусом данного пути будет то, что все заказы будут мелкими, ну средними, но не более.

    Другой путь – это то, что называется Enterprise. Тут SharePoint, CRM, Navision, Axapta, Project Server, BizTalk и прочее. Тут большая зарплата. Тут очень сложно, но безумно интересно. Оказавшись на стыке технологий будет лавинообразно расти опыт, тут хочешь не хочешь, будешь разбираться в нескольких смежных отраслях, научишься взаимодействовать с другими огромными и неповоротливыми системами, когда нельзя подойти и попросить переписать под себя метод веб-сервиса.

    Если вас интересует линейка продуктов Microsoft, то SharePoint — самый лучший тренажер для изучения всех продуктов:

    • корпоративный портал, который работает с веб-сервером IIS, использует базу данных на SQL Server, интегрируется с Active Directory и требует определенной культуры его ведения. Хаос и беспорядок обнаруживается сразу, приходится приучать себя к правильной инфраструктуре;
    • интеграция с Exchange, Lync, Office;
    • тонкости настройки прокси, масштабирования, построения логической архитектуры.

    Все это достаточно быстро научит вас особенностям enterprise-разработки.



    Вы умеете создавать веб-часть в ASP.Net? Значит, вы уже можете начать разрабатывать под SharePoint. Да, сначала будет хромать качество, но вы уже решаете бизнес-задачи.

    Куда расти?


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



    Особо хочу обратить внимание на вопрос коммуникаций Team Lead и Архитектора. Это важный навык, наравне со знанием платформы. Если вы не научитесь общаться с пользователями, заказчиками, менеджерами, то результат будет плачевный.

    Другие роли в проекте (аналитики, администраторы, внедренцы…) представлены на карте по адресу http://www.mindmeister.com/326099311/sharepoint.

    Если вы знаете ещё какие-то полезные ресурсы по изучению SharePoint, то выкладывайте в комментариях, я уверен, эта информация всем пригодится.

    Полезные ссылки


    Видеокурсы:
    TechDays
    Channel 9
    Pluralsight
    Critical Path Training

    Форумы:
    GotDotNet
    форум MSDN
    StackExchange

    Подборка книг по всем версиям SharePoint Антона Вишнякова

    Список конференций:
    Microsoft раздел Events

    Разделы на MSDN:
    SharePoint на MSDN
    Technical diagrams

    Ресурс с исходниками кода CodePlex.

    Роман Поляков, ведущий разработчик SharePoint ADV/web-engineering

    ADV/web-engineering co.

    46,00

    Компания

    Поделиться публикацией

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

    Комментарии 30
      0
      SharePoint замечательный продукт, но не могу отметить следующие:
      Высокие требования к производительности(необходимо много оперативной памяти, мощного процессора)
      Очень высокая сложность разработки. Порой казалось бы элементарные вещи, решаются только после прочтения тонн руководства.
      По предыдущим версиям, ужасное форматирование страничек. Полное отсутствие возможности сделать резиновый интерфейс.
      Только к SharePoint 2013, додумались сделать магазин приложений.
      Высокоинтегрирумая связка: Exchange, Lync, Office — очень, очень, дорогая.
      В России редко где используется. А значит сложно найти специалиста. Если сотрудник уйдет из компании,
      то у руководства будет большая проблема найти достойную замену. С точки зрения руководителя
      наличие уникальных систем, является проблемой.

      И в заключение, ни разу не видел ни одного сайта, который бы использовал функциональность на полную катушку.
      Во всех случаях можно было воспользоваться более простыми и менее дорогими CMS. Например:Dotnetnuke community edition.
        +1
        SharePoint — не CMS. Это платформа для интеграции всех служб предприятия, отсюда тонны мануалов, кстати. Да, сервера требуют много ресурсов, и отнюдь не 8 гб, а 8-16 на фронтэнд (их несколько), 16-24 на SQL…
        //Полное отсутствие возможности сделать резиновый интерфейс.
        Что? Наоборот, он всегда резиновый, но иногда особо умные хотят фиксед, и тут лезет конечно куча проблем.
        Да, софт и лицензии дорогие, но по меркам предприятий не такие уж и большие деньги. Хотя есть Office 365 с лицензией 4 бакса в месяц за юзера, но он пока в стадии «попытка залатать все дыры» и пользоваться невозможно. Вы забываете, что покупая всю эту связку вы получаете гораздо большую производительность работы, за счёт их тесной интеграции.

        //В России редко где используется.
        Откуда такие познания? И что же используется? гуглопочта с календариком и дропбокс? А зачем? не смешите =))
        Или SAP/Oracle? Вы уровень зарплат специалистов SAP знаете? Любой SharePoint спец тут слюнями подавится. По стоимости и скорости прокачки людей SharePoint самая выгодная корпоративная платформа. Да, там нечисто с лицензированием, потому как без поллитра в схемах лицензирования микрософта разобраться сложно, но стоимость TCO (владения) довольно низкая, как и риски. А специалистов гораздо больше, чем по любой другой платформе.
          0
          Интереснее сравнить с Lotus, как у него с требованиями, специалистами и TCO?
            0
            Согласен, но знаний совсем нет. Знаю что Java программисты получают больше .Net чаще всего.
        0
        10 ошибок в настройке Microsoft SharePoint 2010
        SharePoint 2010 должен иметь 8 Гбайт оператив­ной памяти, а диск С должен быть объемом как минимум 80 Гбайт.

        Сколько реально стоит SharePoint
        если вы потратите 50`000$ на лицензии Sharepoint от Microsoft – то готовьтесь выложить еще 400`000$ для его успешного внедрения.

        Hardware and software requirements for SharePoint 2013
        Single server with a built-in database or single server that uses SQL Server
        Development or evaluation installation of SharePoint Server 2013 or SharePoint Foundation 2013 with the minimum recommended services for development environments.
        RAM 8 GB 64-bit, 4 cores 80 GB for system drive
          +1
          Какие-то слишком завышенные оценки стоимости. Может быть за границей это более реально (з/п больше, проекты дороже), но у нас столько не тратят)
          А вот 8Gb RAM действительно минимум — хватит только на Foundation + SQL Express. У меня на девелоперском компе (SP Server + SP Search + MSSQL Server + VS + браузеры) 16Гб не хватает, надо минимум 24…
          +2
          Сделать свою карьеру зависимой от одного вендора, который сейчас переживает не лучшие времена, подписаться на многолетнее ковыряние в шарепойнте?
          Нет, спасибо ;D
            0
            А по-моему, Microsoft на взлёте. Все последние инициативы весьма в кассу…
            +1
            Эххххх где эти з\п…

              0
              Там же, где и вакансии — только в Москве…
                0
                В регионах тоже внедряют Sharepoint. Где работаю даже Nintex Workflow купили. НО моя з\п кратно ниже минимума (согласно схеме) для программиста
                  0
                  Поправлю mindmap — укажу, что это Маааасква =)
              0
              Мне теоретически нравится SharePoint тем, что он хорошо интегрируется в майкрософтовскую архитектуру. C помощью Powershell управлять можно, опять же.

              Но вот выглядят сайты на нём, мягко говоря, дубово. Где-то была подборка лучших сайтов — даже и там всё однотипно-квадратно-гнездовое на вид. Понятно, что продукт заточен под внутренний корпоративный портал и невзыскательных, с точки зрения дизайна, пользователей, но всё-таки…
                0
                Это дубово?
                Вот наши работы:
                www.vtb24.ru/
                www.youtube.com/watch?v=yaYS1p9BifM
                www.adv.ru/portfolio/vtbcapital/
                  0
                  www.vtb24.ru. Ваш коллега оставил?
                  www.vtb24.ru Комментарий
                    0
                    vtb24.ru выбивается из общего ряда, да, вам всё-таки удалось Шарепойнт допилить до визуально ненапрягающего состояния. Вы круты, поздравляю.

                    Леруамерленоский интранет-портал, извините, не так легко воспринимается, перегружен элементами как-то. Но это личная вкусовщина, и думаю, что многим нравится, включая руководство заказчика, что самое главное :-)
                      0
                      От SharePoint в ВТБ24 остались лишь знаменитые калькуляторы. Без шарика сайт бы сделался быстрее (и дешевле).
                      Просто надо понимать, для чего шарик нужно использовать, а для чего — нет. Для публичных сайтов шарик не очень подходит. Если очень хочется сделать сайт с интеграцией с шариком, то можно попробовать использовать шарик как поставщик данных (ходить за данными в веб-сервисы шарика), но придётся заморочиться с S2S-авторизацией. В этом случае получаем возможности шарика с его списками, типами содержимого и всем остальным, а другой стороны — сайт на ASP.NET MVC (или на чём хочется), при разработке которого не требуется бороться с шарепоинтом (как это всегда происходит при разработке на шарике решений, выходящих за стандартные случаи)
                        0
                        дада, заодно можно заново изобрести библиотеки, версионирование, систему прав, публикацию, ролевой доступ, масштабируемость, производительность… =)
                          0
                          Вы, наверное, меня неправильно поняли.

                          Библиотеки, версионирование, систему прав, ролевой доступ, масштабируемость, производительность изобретать не надо. Делаем отдельное ASP.NET MVC приложение, в котором авторизуется пользователь. Шарепоинт доверяет этому приложению и тоже пускает авторизованного пользователя к себе. В результате у нас есть шарепоинт, в котором есть библиотеки, разграничение прав и версионирование. Так как ASP.NET MVC приложение ходит в шарепоинт через веб-сервис, то на авторизованного пользователя накладываются все ограничения прав, которые вы настроите в шарике. В результате мы можем делать сайт любой сложности, и нам не надо будет преодолевать сложности, которые возникают при разработке для шарика.
                            0
                            эээээээээээээээээээээээ, даже не как сказать… Ну это немного архитектурно глупо)
                            «не надо будет преодолевать сложности» — это вообще о чём? человек не умеет программировать на шарепоинте? ну тогда да, учиться или искать работу. Никаких сложностей я не вижу, вы либо умеете разрабатывать сайты и делаете это нормально, либо изобретаете какой-то ужас, в виде MVC и шарепоинта в видже бэкэнда.
                            Это как камаз на прицепе жигулей возить, аргументируя что в камазе 17 скоростей КПП не удобная.
                              0
                              Вы видите хоть один SharePoint-контрол на сайте ВТБ24? Их нет. Вы же сами говорите, что SharePoint — это не CMS. Зачем использовать платформу для задач, для которых она не предназначена?
                              Оцените, если можете, трудозатраты на создание шаблона publishing-страницы из готовой вёрстки (например, главная страница ВТБ24) и свертесь, пожалуйста, с опытом ваших коллег из проекта ВТБ24. А потом посчитайте количество таких шаблонов для сайта ВТБ24. Мне кажется, что трудозатраты получатся намного выше, чем в случае разработки на ASP.NET MVC.
                                0
                                //Вы видите хоть один SharePoint-контрол на сайте ВТБ24? Их нет.
                                А что такое Sharepoint-контрол, просветите? Наоборот, на сайте используется очень много решений именно от SharePoint, те же списки. Вы думаете так легко на MVC сделать список с операциями CRUD?

                                // Вы же сами говорите, что SharePoint — это не CMS. Зачем использовать платформу для задач, для которых она не предназначена?
                                //Мне кажется, что трудозатраты получатся намного выше, чем в случае разработки на ASP.NET MVC.
                                Повторюсь:
                                дада, заодно можно заново изобрести библиотеки, версионирование, систему прав, публикацию, ролевой доступ, масштабируемость, производительность… =)

                                Имхо разработка на ASP.Net MVC оправдана только для мелких сайтов. Для крупных без использования более высокоуровневых систем очень сложно. Согалсен, сайт можно было делать на любой CMS, но в данном случае SharePoint был выбран именно из-за своих сервисов и возможностей, не в последнюю очередь калькуляторы на екселе. Сложность разработки тут можно не рассматривать, так как прокаченный чел на SharePoint сделает всё гораздо лучше чем такой же на MVC, всё же уровни разные.
                                  0
                                  Мне кажется, что вы видите во мне противника SharePoint для всех сценариев использования («шарепоинт не нужен», «шарепоинт кушает много памяти», прочее). Нет, я разработчик SharePoint. Но я за использование там, где это оправдано. Для внешних сайтов — не оправдано.

                                  Вы так и не поняли основную мысль. Основная мысль состоит в том, что переделывать дизайн для шарепоинта — это очень трудоёмкая задача. В любом случае. Даже при наличии pulishing. В результате возникает ситуация, когда вёрстка у верстальщиков готова, но из-за того, что эту вёрстку требуется натянуть на шарепоинт, начинаются проблемы. Например, риббон пропадает. Или появляется, но кнопки в нём disabled.

                                  Проблемы бывают и в бек-энде, но они решаемы. Но зачем, осознавая, что проблемы будут, специально идти проблемным путём, я не понимаю.

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

                                  ЗЫ
                                  Вы идёте на SharePoint User Group завтра, 17 числа?
                                    0
                                    // Основная мысль состоит в том, что переделывать дизайн для шарепоинта — это очень трудоёмкая задача.
                                    Опять же, трудоёмкая — если нет скиллов. Тут надо просто трезво оценивать — потянет верстак или нет. У нас тянет.

                                    //Например, риббон пропадает. Или появляется, но кнопки в нём disabled.
                                    ну да, это уже опыт, нужно знать платформу, опять же зависит от скиллов, кто-то возьмёт и выпилит риббон, а потом будет думать почему отвалились оповещения.

                                    Насчёт шарика для публичных сайтов я в целом согласен, что подходит с натяжкой, но пара вкусный сервисов не позволяют юзать другие системы. Тот же эксель. Как ещё можно сделать онлайн калькулятор рассчитывающий в реальном времени какой-нить кредит? Тут главная трабла в админке, в втб это был ексель — очень дешёво, не нужно обучение, не нужен парсер формул — юзер открывает файл на портале и привычно вводит формулы расчёта. Как по другому сделать? Писать монструозную админку и затьк акой-нить питоон для формул? Это неоправданно дорого и не универсально.
                                    Или поиск, ну где ещё есть такой крутой поиск? Нигде)
                                    Или теже личные сайты, где ещё из коробки доступно такое, как в шарике?
                                    Сервисы шарика рулят, хотя да, цена может быть большой, тут нужен опыт для принятия решений. В большинстве публичных сайтов шарепоинт не нужен, но бывают исключения.

                                    //Но зачем, осознавая, что проблемы будут, специально идти проблемным путём, я не понимаю.
                                    Потому чтоПотому что ни один менеджер никогда не захочет вмазаться по разработке. Если есть готовое решение, нужно юзать, изобретать своё — дикие риски по срокам и бюджету. Программисты всегда хотят сделать своё, так как это круто кастомизировано будет и всё такое, но на деле это баги баги баги. =)

                                    На РусУГ я пойду скорей всего, ещё Никита будет ;)
                                      0
                                      Калькуляторы можно сделать по той архитектуре, которую вы признали глупой. В этом случае все преимущества настраиваемости сохраняются. Таким же способом можно настроить и поиск, ведь весь контент всё равно расположен в шарике. Не надо ничего переписывать, надо использовать существующее с умом.
                                        0
                                        Только надо создавать и поддерживать два портала, не понятно зачем тока. Проблемы с вёрсткой или кодингом под шарик — надуманны, если человек разбирается, он сделает как надо.
                                          0
                                          Никто же не говорит, что человек не сделает, вопрос в сроках :-) Ведь
                                          В бизнесе ценятся не знания, а способность ставить и добиваться результата, приносить прибыль, повышать эффективность

                                          Я говорю, что для ASP.NET MVC сделать проще и поэтому найти человека, который сделает, тоже проще. Поэтому этот человек ещё и стоить будет дешевле. И за промежуток времени сделает больше, чем человек, который делает на шарике. Профит!
                                            0
                                            //ASP.NET MVC сделать проще
                                            эээ, нет, на MVC всё будет дольше, это же даже не платформа, это тупо фреймворк, на нём нет ничего, ни поиска, не библиотек, ни версионирования… (опять =) ). Всё это придётся делать, это сделают 100% через жопу и криво. Потом всё это надо поддерживать ещё. С шариком выйходит, что нам уже дают мегафункциональную системы, нужно только посексуальнее сделать.

                                            если рассматривать вариант с шарик+MVC, то ещё хуже, тут уже интеграция, это сложнее, и опять же нужен чел на шарик и на MVC.
                    0
                    Пишите в ПМ, будет вам заказ не хуже ВТБшного ;)
                      0
                      Последние пару сталкиваюсь с Sharepoint не как разработчик, а как, скорее, администратор и внедренец небольших решений.
                      Да, требования у платформы неслабые и доработка дизайна — всегда трудоемкая задача.
                      Но всё, что есть «из коробки» — работает замечательно.

                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                      Самое читаемое