320 likes | 472 Views
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, BoldBrick. Agenda. Vývoj pro SharePoint 2010 Sandboxed solutions Infrastruktura: cloud vs. on-premise Nasazení do produkce.
E N D
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, BoldBrick
Agenda Vývoj pro SharePoint 2010 Sandboxedsolutions Infrastruktura: cloud vs. on-premise Nasazení do produkce
Dostupné nástroje pro vývoj Microsoft Třetí strany Nintex Workflow Mossquito … • SharePoint Designer • Visual Studio • InfoPath
Porovnání standardních nástrojů Deklarativně můžete… Vyvíjet můžete… Vlastní business logiku Vlastní sloupce Web party Eventhandlery Workflow aktivity WCF služby / integraci Timerjoby Vlastní SPService • 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
Zajímavé novinky v SP2010 • ClientObject Model ⇒ práce s Object Modelem z JS a Silverlightu • XSLT View ⇒ otevírá kreativitu v deklarativnímu vývoji UI • Sandboxedsolutions ⇒ cesta, jak vyvíjet pro Office365 (a spousta dalšího užitečného pro vývoj: REST, PowerShell, Business ConnectivityServices, ManagedMetadata, vlastní SPServices, …)
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 http://sp2010recruitment.codeplex.com/
XSLT View Příklad: zobrazení kandidáta (2/2) Základní verze této aplikace jako open source na http://sp2010recruitment.codeplex.com/
ClientObject 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 http://sp2010recruitment.codeplex.com/
ClientObject 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 http://sp2010recruitment.codeplex.com/
Best practices pro vývoj Z reálného světa 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čí BlankTemplate
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í
Architektura sandboxed řešení • Neovlivňuje ostatní procesy • Řízení spotřeby systémových zdrojů • Provádění pouze na vybraných serverech • Nasazování správcem sitecollection Diagram převzat z http://blogs.msdn.com/b/sharepointpictures/
Co v sandboxu nemůžete Limitovaná oprávnění kódu Vlastní typy sloupců Web party (kromě ASP.NET) Stránky + master page + sitetemplate Limitované používání API Workflows kódem Volání externích web servisů Práce s filesystémem Vytváření timerjobů
Jaké máte naopak možnosti Zejména v kontextu Office365 • Použití SharePoint Designeru ⇒ leccos dokážete vyřešit deklarativně bez programování • Silverlight a využití ClientObject 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
Jak vytvořit web part pro sandbox 2/3 Vytváříte standardní ASCX kontrol pomocí ASP.NET značek…
Jak vytvořit web part pro sandbox 3/3 …Visual Studio generuje C# kód pro sandbox
Cloud od Microsoftu: Office365 Výhody 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 • Žá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
Private Cloud řešení Výhody 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žší • 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
On-premise infrastruktura Výhody 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 • 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
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-tenantmodel Private Cloud ≠ hosting za 1000 Kč / měsíc
Podpora nasazování na úrovni infrastruktury Jednoduchý model Složitější model all-in-one / standalone zjednodušené 1:1 k produkčnímu
Úskalí deploymentu: opakovatelnost • Vývoj • Test • Produkce • 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
Ú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ů
Best practices pro nasazení Z reálného světa Dobrý deployment začíná u vývoje Mějte připraven rollbackplá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í
Děkuji za pozornost Rád zodpovím Vaše další otázky tucny@boldbrick.com