Програмата за Сряда беше пълна с неща, които ме интересуват поради задачите които поемам на работа. Въпреки пийването предишната вечер бях много ентусиазиран по първата тема – Client Object Model – тъй като в Абилитикс разработваме наш продукт с thick client. SP2010 предлага 3 нови библиотеки за комуникиране от външен процес/програма:
· Microsoft.SharePoint.Client.dll – обекти за работа от custom проложение, което достъпва данни в SharePoint
· Microsoft.SharePoint.Client.Silverlight.dll – обектен модел за работа със Silverlight
· SP.js – JavaScript интерфейси
До колкото запомних, всички новости по-горе комуникират с Client.svc (WCF Service), който директно работи с обектите в Microsoft.SharePoint.dll. Този слой от клиентски обекти би улеснил работата на всеки разработчик и се надявам да поработя с някой от новите неща в най-скоро време.
Майкрософт е направила така, че имената на обектите, както и тяхните методи да са едни и същи във всички библиотеки. “SP” представката, обаче, е махната… Web вместо SPWeb, List вместо SPList…
От девелопмент гледна точка, за да се работи с модела се започва с ClientContext обект. Той се грижи за изпращането на XML заявки към Client.svc, който връща отговори в оптимизирани JSON.
В лабораторното упражнение разгледахме как да пишем код, така че заявките да са по-малки, по-малко на брой и изцяло клиентското ни приложение да е по-ефективно. Пример на това е възможността да повикаме резултати само с полетата, които са ни нужни. Скоро ще напиша и блог с по-дълбоки подробности относно клиентския модел.
Като партньор на Nintex, втората тема също ми беше много интересна – Workflows в SP2010. Вече се поддържат и workflows на ниво Сайт, а не само на List Item като в 2007. Може би най-впечатлителната нова функция е визуализирането на процеса в Microsoft Visio 2010, след което готовият резултат може да се препрати към SharePoint Designer. Оттам може директно да се модифицира и публикува в SharePoint. От SharePoint Designer може и да се export към Visual Studio 2010 за работа от програмисти и разрешаване на по- сложни изисквания. Според мен ефекта е наистина значителен и работата с workflows ще се улесни – в момента това е на сложно ниво. Сега може да създаваме прототип на процеса в Visio 2010, да го прехвърлим в SPD за реализиране и деплоймент към SharePoint. Друго интересно нещо е преносими workflows – в 2007 се създаваха SPD workflows за специфичен лист – сега може да се създават “Reusable workflows”, надявам се това да няма скрити недостатъци. Интересувам се, и от възможността да прехвърлим workflow от 2007 в 2010. Дали има възможност да се запази текущата инвестиция?
Вече смятам, че решения със SharePoint Designer ще са реални – самите workflows са преносими. Това дава възможност за включването на разработката на workflows в цялостен development lifecycle, което до сега не беше възможно за workflows в SPD. Експорт към Visual Studio 2010 съвсем показва, че Майкрософт ни чува като мрънкаме – аз лично съм много доволен. Инвестицията в SPD 2010 изглежда голяма, има ribbon interface, workflow дезайнера е съвсем нов, възможностите са много повече.
Последната тема за деня също беше супер – новият Services модел в SP2010. Целият application/services layer на SP2007 е с нова архитектура. В SP2007 SSP-то беше супер, но имаше някой недостатъци относно гъвкавост и скалируемост. SSP в 2007 трябва да предлага всички услуги (search, BDC, users, Excel) и специфичните web applications бяха обвързани към специфично посочени SSP’s. Отделно, SSP’s не бяха лесно разшираеми с разработване.
В SP2010 всеки service е отделен компонент, и може услугите да се конфигурират на отделни application сървери. Това ще даде възможност на сценарии, които имат нужда от load balancing за специфичен service. Примерно, може да се създаде услуга, която да работи на независим сървер дедикиран за тази услуга – workflow engine, external data service, analytics, data synchronization, etc. Услугите могат и да се споделят между отделни ферми, може да създадете ферма изцяло за хостване на услуги – нещо, което би било ценно на enterprise ниво.
Новото нещо, което за малко да ме свали от стола, е че Services модела е вече част от WSS, или т.н. SharePoint Foundation 2010. Това е невероятно за България, защото WSS решенията са много на брой, и проникваемостта на SharePoint в нашия пазар ще е засилен. Отделно – BCS (BDC) на WSS ниво – power!
Комуникациите стават чрез WCF интерфейси, но самият Service не е чисто WCF Service.Това, което ние разработчиците създаваме, е самият Service Application, който се инсталира и пуска на всеки сървер по избор. На всеки service трябва да се създаде и интерфейс за администриране – пускане, конфигуриране на акаунти, информация за custom database, ако има такива – това ознава, че ние разработчиците трябва да владеем и административния API. До колкото разбрах, задължително е и разработването на методи за provisioning и чрез PowerShell, което вкарва и PowerShell в картинката. Ако не сте на „ти“ с WCF, време е да прелистите книгата на Juval Lowy (нали няма нужда да посочвам коя е?).
Линкове към останалите дни:
SharePoint 2010 Ignite Training – Понеделник
SharePoint 2010 Ignite Training – Вторник
SharePoint 2010 Ignite Training – Сряда
SharePoint 2010 Ignite Training – Четвъртък
SharePoint 2010 Ignite Training – Петък