Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Vývoj a nasazování řešení pro SharePoint 2010 Průvodce základními principy, možnostmi a doporučenými postupy 11. 10. 2011, Microsoft Ondřej Tučný, CEO,

Podobné prezentace


Prezentace na téma: "Vývoj a nasazování řešení pro SharePoint 2010 Průvodce základními principy, možnostmi a doporučenými postupy 11. 10. 2011, Microsoft Ondřej Tučný, CEO,"— Transkript prezentace:

1 Vývoj a nasazování řešení pro SharePoint 2010 Průvodce základními principy, možnostmi a doporučenými postupy , Microsoft Ondřej Tučný, CEO, BoldBrick

2 Agenda 1.Vývoj pro SharePoint Sandboxed solutions 3.Infrastruktura: cloud vs. on-premise 4.Nasazení do produkce

3 1. Vývoj pro SharePoint 2010

4 Dostupné nástroje pro vývoj Microsoft SharePoint Designer Visual Studio InfoPath Třetí strany Nintex Workflow Mossquito … Web Přizpůsobení out-of-the-box vlastností Stačí browser Konfigurace Deklarativní vývoj a přizpůsobení Deklarativní nástroje třetích stran Vývoj Vývoj vlastních řešení Znovupoužitelná řešení Visual Studio a další

5 Porovnání standardních nástrojů Deklarativně můžete… Zakládat a editovat stránky Definovat datový model Vytvářet formulářové aplikace Vytvářet komplexní workflow Editovat pokročilé nastavení web partů Vytvářet vlastní XSLT view Vyvíjet můžete… Vlastní business logiku Vlastní sloupce Web party Event handlery Workflow aktivity WCF služby / integraci Timer joby Vlastní SPService

6 Zajímavé novinky v SP2010 Client Object Model ⇒ práce s Object Modelem z JS a Silverlightu XSLT View ⇒ otevírá kreativitu v deklarativnímu vývoji UI Sandboxed solutions ⇒ cesta, jak vyvíjet pro Office365 (a spousta dalšího užitečného pro vývoj: REST, PowerShell, Business Connectivity Services, Managed Metadata, vlastní SPServices, …)

7 XSLT View Příklad: zobrazení kandidáta (1/2) Standardní view se spoustou sloupců může být pěkně nepřehledné… Základní verze této aplikace jako open source na

8 XSLT View Příklad: zobrazení kandidáta (2/2) Základní verze této aplikace jako open source na

9 Client Object Model + XSLT View Příklad: jednoduchý workflow editor (1/2) Podobně nepřehledná situace jako u předchozího příkladu Základní verze této aplikace jako open source na

10 Client Object Model + XSLT View Příklad: jednoduchý workflow editor (2/2) Přesun položek nahoru a dolů Rušení položek Editace položek Skrývání detailů AJAX aktualizace seznamu Základní verze této aplikace jako open source na

11 Best practices pro vývoj  Používejte funkce k tomu, k čemu jsou určeny  Využívejte WSP i pro jednorázová řešení  Už při vývoji myslete na deployment a upgrade  Nemodifikujte systémové soubory  Vhodně omezte kreativitu uživatelů  Na hodně aplikací stačí Blank Template Z reálného světa

12 Best practices pro vývoj  Používejte funkce k tomu, k čemu jsou určeny Vyvarujte se zneužívání funkcí pro jiné než jejich primární účely Může to mít nepředvídané funkční či výkonnostní dopady Příklad:  Managed metadata jsou určena pro ukládání termínů, značek  Nepoužívejte je pro ukládání uživatelských dat 1/5

13 Best practices pro vývoj  GUID = Globally Unique Identifier GUID má být unikátní. Tečka. Používejte „ Guid.NewGuid() “ nebo funkci Visual Studia Vyvarujte se výroby Guidů po „domácku“ např. odvozením z jiného Guidu Vyvarujte se opakovaného použití Guidu!  A to i když vám to SharePoint dovolí 2/5

14 Best practices pro vývoj  Už při vývoji myslete na deployment Vhodný návrh architektury řešení, výběr nástrojů a postupů dokáže zásadně usnadnit deployment Bude vaše řešení na serveru zaručeně jediné?  Typicky: Ne, nebude Je vaše řešení v něčem privilegované proti jiným?  Typicky: Ne, není Obvyklé programátorské poučky platí u SharePointu dvojnásob 3/5

15 Best practices pro vývoj  Už při vývoji myslete na upgrade Vhodný návrh architektury řešení, výběr nástrojů a postupů dokáže zásadně usnadnit upgrade Jak se vypořádáte se změnami provedenými uživateli? Jak budete v budoucnu upgradovat data? Kolik let bude řešení asi tak žít? 4/5

16 Best practices pro vývoj  Nemodifikujte systémové soubory Spousta souborů v instalaci SharePointu přímo svádí k modifikaci:  ASPX stránky a ASCX controly  JavaScript  CSS Proč to nedělat:  Přestáváte mít podporu od výrobce  Přestanou (v tichosti) fungovat systémové updaty  Nebudete umět modifikace replikovat jinam  Po čase už nebudete vědět, proč jste to dělali 5/5

17 2. Sandboxed solutions

18 Použití Vlastní rozšíření Office365 webů Bezpečnostně silně omezená řešení v on- premise nasazeních Delegace nasazení na správce site kolekcí Sandboxed řešení mají řadu restrikcí

19 Architektura sandboxed řešení Diagram převzat z Neovlivňuje ostatní procesy Řízení spotřeby systémových zdrojů Provádění pouze na vybraných serverech Nasazování správcem site collection

20 Co v sandboxu nemůžete  Limitovaná oprávnění kódu  Vlastní typy sloupců  Web party (kromě ASP.NET)  Stránky + master page + site template  Limitované používání API  Workflow s kódem  Volání externích web servisů  Práce s file systémem  Vytváření timer jobů

21 Jaké máte naopak možnosti Použití SharePoint Designeru ⇒ leccos dokážete vyřešit deklarativně bez programování Silverlight a využití Client Object Model ⇒ bohaté UI i přes jistá omezení sandboxu Hybridní řešení Azure / Office365 ⇒ SharePoint jako administrační back-end Formulářové aplikace pomocí InfoPath Zejména v kontextu Office365

22 Jak vytvořit web part pro sandbox 1/3

23 Jak vytvořit web part pro sandbox 2/3 Vytváříte standardní ASCX kontrol pomocí ASP.NET značek…

24 Jak vytvořit web part pro sandbox 3/3 …Visual Studio generuje C# kód pro sandbox

25 Co v sandboxu nemůžete  RunWithElevatedPrivileges + „nebezpečná“ práva Nelze elevovat oprávnění na úroveň administrátora Nelze používat reflection Nelze používat Full Trust nastavení assembly Dopady:  Zapomeňte na „triky“ pomocí reflection  Nemůžete si se systémem dělat, co chcete 1/10

26 Co v sandboxu nemůžete  Vlastní typy sloupců Nelze definovat a používat vlastní typy sloupců Nelze vytvářet vlastní editory Dopady:  Jste omezení na out-of-the-box datové typy  Office365: Musíte se spokojit se standardním chováním editorů 2/10

27 Co v sandboxu nemůžete  Web party Nelze definovat a používat vlastní web party WebPart z ASP.NET je povolena Kompozice stránky s vlastními controly probíhá také v sandboxu Dopady:  Sice lze vytvářet UI, ale s omezeními  Vaše web party nejsou ve stránce „first class citizen“  Komunikace s ostatními (out-of-the-box) web party nelze 3/10

28 Co v sandboxu nemůžete  Vlastní stránky + master page + site template Minimální možnosti customizace UI Dopady:  Musíte se spokojit se standardními šablonami webů — To moc nevadí, protože „blank template“ je základ všeho  Vaše web party nejsou ve stránce „first class citizen“  Komunikace s ostatními (out-of-the-box) web party nelze 4/10

29 Co v sandboxu nemůžete  Používání API Lze používat jen část všech assembly SP a.NETu:  Musí být dostupné v GAC nebo v sandboxed solution  Musí dovolovat partially-trusted volající Povoleno: 12 DLL, například:  Microsoft.SharePoint.dll + řada omezení  Microsoft.Office.Server.dll Zakázáno: 16 DLL  Microsoft.SharePoint.Taxonomy.dll Dopady:  Může se snadno stát, že skončíte u konstatování „Nelze“  Věnujte v MSDN pozornost větě „Available in Sandboxed Solutions“ u jednotlivých tříd a metod 5/10

30 Co v sandboxu nemůžete  Workflow s kódem Jsou zakázána workflow s vlastním kódem Nelze vytvářet vlastní plnohodnotné workflow aktivity Dopady:  Nelze plnohodnotně vyvíjet workflow ve VS  Jste omezení na deklarativní workflow (ať už pomocí SPD nebo VS)  Vlastní workflow akce jsou sice možné, ale dost omezeně  Office365: Nepoužívat jako workflow systém 6/10

31 Co v sandboxu nemůžete  Volání externích web servisů Nelze provádět jakoukoliv síťovou komunikaci Dopady:  Nelze integrovat SharePoint s externími službami  Nelze ani využívat Business Connectivity Services  Office365: řešení jsou prakticky izolovaná od zbytku cloud světa 7/10

32 Co v sandboxu nemůžete  Práce s file systémem Nelze modifikovat web.config Nelze pracovat se soubory na disku, ani temporary Dopady:  Nijak zásadní: správná SharePoint aplikace nepoužívá file systém  V podstatě je to podpora dobrých praktik 8/10

33 Co v sandboxu nemůžete  Používání timer jobů SPJobDefinition nelze používat Dopady:  Nemůžete realizovat scénáře s dávkovým zpracováním dat  Office365: nelze plánovaně provádět asynchronní úlohy 9/10

34 Co v sandboxu nemůžete  Klíčové slovo „ static “ Nelze definovat statické („globální“) proměnné (fieldy) Dopady:  Nijak zásadní: správně objektově navržená aplikace má pouze velmi málo potřeb používat statické proměnné  V některých případech to může být nepříjemný zádrhel 10/10

35 Infrastruktura: cloud vs. on-premise

36 Tři modely infrastruktury pro SharePoint On- Premise Private Cloud Office365

37 Cloud od Microsoftu: Office365 Výhody Žádné starosti s infrastrukturou Jednoduchá administrace a integrace s firemním AD Spolehlivá infrastruktura garantovaná Microsoftem Pay-as-you-go  Včetně licencí MS Office Přirozený mobilní přístup Nevýhody Omezené možnosti customizace a vývoje Žádné možnosti zásahů do infrastruktury Omezení vyplývající z rychlosti připojení Omezené integrace

38 Private Cloud řešení Výhody Smluvní SLA Smluvní garance správy Řešení na míru Pay-as-you-go  SPLA licencování Přirozený mobilní přístup Vývoj na míru Nevýhody Infrastruktura není pod přímou kontrolou Omezení vyplývající z rychlosti připojení Složitější integrace Pronájem HW a licencí je dlouhodobě dražší

39 On-premise infrastruktura Výhody Infrastruktura pod přímou kontrolou Software pod přímou kontrolou Bezproblémové integrace Využití všech možností a variant nasazení Vývoj na míru Nevýhody Zodpovědnost za správu Počáteční investice  Nákup hardware  Nákup licencí  Může být zásadní položka Složitější mobilní přístup

40 Kdy se hodí který model? Office365Private CloudOn-Premise Správa Nechcete se starat o IT Nepotřebujete sofistikované centrální řízení Nechcete se starat o IT Nechcete se starat o SharePoint Máte vlastní správu IT Potřebujete centrální správu Náklady Minimalizujete náklady na IT Využijete licencování Office pay-as-you-go Upřednostňujete rozložení nákladů v čase Stačí vám Foundation Investujete do velkých projektů Funkce Potřebujete jednoduše řešit extranety Stačí vám out-of-the- box funkce Potřebujete jednoduchý mobilní přístup Potřebujete konkrétní custom řešení Potřebujete specifické integrované řešení Potřebujete komplexní řešení pro mnoho různých využití Máte hodně specifických požadavků

41 Na co si dát pozor u Private Cloud řešení Bezpečnost Zálohování dat Budoucí rozšiřitelnost Propojení infrastruktur SLA na řešení jako celek Dopady změn na licencování Self-service funkce pro uživatele Multi-tenant vs. Single-tenant model Private Cloud ≠ hosting za 1000 Kč / měsíc

42 Nasazení do produkce

43 Podpora nasazování na úrovni infrastruktury Jednoduchý model Vývojové prostředí (DEV) Testovací prostředí (TEST) Produkční prostředí (PROD) Složitější model Vývojové prostředí (DEV) Integrační prostředí (INT) Akceptační prostředí (ACC) Produkční prostředí (PROD) all-in-one / standalone zjednodušené 1:1 k produkčnímu

44 Úskalí deploymentu: opakovatelnost Jak zajistit přenos mezi prostředími?  Instalační postup + konfigurační tabulka prostředí Jak zajistit aktualizace datového modelu?  Mossquito nabízí režim vývoj → porovnání → nasazení změn Vývoj Test Produkce

45 Úskalí deploymentu: bezpečnost Vývoj typicky probíhá s admin právy Testování už ale musí používat produkční nastavení práv SharePoint nabízí značně škálovatelný bezpečnostní model Neprovozujte produkční farmu jen s jedním účtem Zvlášť:  Účet pro přístup do SQL  Hlavní účet farmy  Účty aplikačních poolů jednotlivých web aplikací  Účty systémových servisů  Účty vlastních servisů Vaše aplikace běží v kontextu různých účtů

46 Best practices pro nasazení  Dobrý deployment začíná u vývoje  Mějte připraven rollback plán  Dokumentujte si celý proces  Neinstalujte hotfixy a service packy naslepo  Jednorázový proces… s dlouhodobými dopady  Archivujte zdrojové kódy nasazeného řešení Z reálného světa

47 Best practices pro nasazování  Mějte připraven rollback plán Jak nasazení ovlivní funkce?  Jak vrátíme předchozí stav funkcí? Jak nasazení ovlivní data?  Jak vrátíme předchozí stav dat? Důsledně zálohujte před nasazením čehokoliv nového Akceptační prostředí 1:1 vůči produkčnímu ušetří hodně starostí 1/4

48 Best practices pro nasazování  Neinstalujte hotfixy a service packy naslepo Pokud používáte hodně custom řešení, testujte kompatibilitu s novými updaty (zejména service packy) Service Packy obsahují i tzv. „breaking changes”  ⇒ custom řešení může přestat fungovat Service Packy mohou mít dopady na okolní infrastrukturu 2/4

49 Best practices pro nasazování  Jednorázový proces… s dlouhodobými dopady Špatně připravený deployment může mít nepříjemné důsledky v budoucnosti Na deployment a zejména pozdější změny se musí myslet už při vývoji 3/4

50 Best practices pro nasazování  Archivujte zdrojové kódy nasazeného řešení Může se stát, že budete potřebovat v budoucnu řešení instalovat do jiného prostředí vyžadující úpravy Může se stát, že budete řešení migrovat Co potřebujete archivovat:  Zdrojové kódy nasazeného řešení — skutečně použitou verzi  Dokumentaci pro buildování a instalaci řešení  Informace o potřebných nástrojích a vývojovém prostředí 4/4

51 Děkuji za pozornost Rád zodpovím Vaše další otázky


Stáhnout ppt "Vývoj a nasazování řešení pro SharePoint 2010 Průvodce základními principy, možnostmi a doporučenými postupy 11. 10. 2011, Microsoft Ondřej Tučný, CEO,"

Podobné prezentace


Reklamy Google