Vývoj a nasazování řešení pro SharePoint 2010

Slides:



Advertisements
Podobné prezentace
Martin Pavlis Microsoft MVP.
Advertisements

Stránka 1, © Vema, a. s.. Stránka 2, © Vema, a. s. Podnikové aplikace  Integrovaný podnikový systém (Integrated Business System):  komplex aplikací.
ARBES FEIS [BI] ARBES Technologies, s.r.o.
1 Nový projekt Přechod na nové řešení O čem bude třeba rozhodnout.
Základy databázových systémů
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Microsoft Office Access
| Copyright© 2010 Microsoft Corporation Markéta Douděrová Microsoft PŘEDSTAVENÍ:
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
Workflow Foundation Základy a architektura
Modelování procesů pomocí workflow
Přínosy virtualizace a privátního cloudu
Tvorba webů pomocí Web CMS Michal Neuwirth Product Manager Kentico Software s.r.o. Ondřej Výšek Samostatný konzultant Optimalizovane-it.
Tvorba webových aplikací
Zpracování dokumentových agend a procesů s využitím posledních generací technologií Ing. Petr Koutenský.
Petr Šetka, MVP Exchange, MCSE:Messaging, MCT Windows Small Business Server 2003 R2.
1 Rešení Cisco a Linksys – segment SMB. 2 Linksys/Cisco Domácíuživatelé Střední a velké korporace Domácí a malé kanceláře, střední firmy Středně velké.
1 | Kaspersky Endpoint Security Přehled. 2 | Kaspersky Endpoint Security Kaspersky Endpoint Security for Windows Kaspersky Endpoint Security for Mac Kaspersky.
Vývoj aplikací pro SharePoint
Michael Juřek Software Architect Microsoft s.r.o.
8. dubna 2013ISSS - Portál interních identit, Z. Motl1 Portál interních identit jako nadstavba identity managementu Mgr. Boleslav Bobčík, T-Systems Czech.
Tomáš Urych, ESO9 Intranet a.s.
Databázové systémy. Práce s daty Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace.
Serverové systémy Windows
Podpora a rozvoj komunikační infrastruktury ISVS Ing. Lubomír Moravčík
Reporting Ing. Jan Přichystal, Ph.D.. Úvod Uživatelé obvykle přistupují k DW pomocí BI aplikace Většina využívá předdefinované reporty Poskytují standardizovaný.
LiveContent Univerzální Formulářové Řešení Michal Petrtýl, Marek Beneš.
Transparentní modelování a provádění procesů Michael Juřek Software Architect Microsoft s.r.o.
Jan Bartoš MPC,MCTS. OFFICE 365 ÚVOD Microsoft Office 365 Správa a automatizace prostředí Office 365 pomocí Windows PowerShell Základní přehled a vlastnosti.
Číslo šablony: III/2 VY_32_INOVACE_P4_3.6 Tematická oblast: Aplikační software pro práci s informacemi II. Databáze - formulář Typ: DUM - kombinovaný Předmět:
Microsoft Office InfoPath 2003 Tomáš Kutěj Account Technology Specialist
Dokumentace informačního systému
Letsim 1 letecký simulátor Prezentace projektu - 36SI.
Copyright (C) 1999 VEMA počítače a projektování, spol. s r.o.
Copyright (C) 2000 Vema, a. s.1 V3 klient Michal Máčel Provozní integrace G2, HR/Win a internetu.
Novinky pro webovou platformu Jiří Burian, Tomáš Kutěj,
Realizační tým ICZ duben 2005
Databázové modelování
2 Fučíková Sylvie HR/Win – moderní technologie pro osvědčené aplikace.
SharePoint – platforma Demo – SPD, InfoPath, BDC, připojení na webovou službu Shrnutí Případová studie, prezentace řešení partnera – Lundegaard SPS 2010.
Česko a Slovensko, výhledy do budoucnosti Michal Tomek – InterSystems BV.
Příležitost pro partnery s Windows 7 Lukáš Křovák Produktový manažer divize Windows
SERVICESSERVER CLIENT Operating System Relational Database Application ServicesSystems Management Developer Tools Programming Model Applications.
Vývoj helpdesků od roku 2000Již třetí verze „nativního“ helpdeskuPrvní verze HD pro MOSS v roce 2007Druhá verze HD pro MOSS v roce 2009.
SOA = Architektura orientovaná na služby
Petr Šetka solutions architect Mainstream Technologies, s.r.o.
Prof. Molnár1 Podnikové informační systémy Outsourcing IS/IT a ASP Prof. Ing. Zdeněk Molnár, CSc Ústav řízení a ekonomiky podniku
Miroslav Skokan IT Security Consultant
Microsoft SQL server Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Nokia Czech Republic, s.r.o. Igor Šmerda, program manager.
1 E - S V Ě T S E T O Č Í S T Á L E R Y C H L E J I. S T A Č Í T E M U ? Fenix II –IS na platformě.NET Michal Varga.
Protálová řešení Příklady reálných nasazení Tomáš Kutěj System Engineer Microsoft.
Klient pro správu databází MySQL 1 Klient pro správu databází MySQL Zbyněk Munzar České vysoké učení technické v Praze Fakulta elektrotechnická.
Ing. Jan Vaněk .NET 3.5 a ASP.NET  Windows Workflow Foundation 3.5  JavaScript  CSS – pěkně použité styly  Silverlight.
Nástroje self service Business Intelligence Jiří Neoral
1 MOBILNÍ ZAŘÍZENÍ V PODNIKOVÝCH SÍTÍCH Petr Janda, ICZ a. s
Struktura a Koncept portálu ČVUT, © 2013 IBA CZ, s. r. o. Agenda Teoretický průřez strukturou a konceptem Liferay portálu Company Sites Pages (stránky)
Miroslav Hübner listopad 2014 Jak sehnat peníze na IT ANEB zamyšlení jak si koupit, co potřebuji.
BEZPEČNOSTNÍ TECHNOLOGIE I Operační program Vzdělávání pro konkurenceschopnost Projekt: Vzdělávání pro bezpečnostní systém státu (reg. č.: CZ.1.01/2.2.00/ )
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Bezpečnostní technologie I
Team Foundation Server 2015
Office 365 a SharePoint Online na Filozofické fakultě UK
Zvýšení kapacity, dostupnosti a efektivnosti systému SIS II spolufinancovaný z Ročního programu 2013 Fond pro vnější hranice (FVH)
Budování Integrovaného informačního systému Národního památkového ústavu Petr Volfík, NPÚ ÚP
Redakční systém s integrací webových služeb
Název školy: Střední odborná škola stavební Karlovy Vary
WORDPRESS AFFILIATE DATA V XML.
Azure DevOps Terraform QA FTW
Desktopové aplikace na .NET Core
Transkript prezentace:

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

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

1. Vývoj pro SharePoint 2010

Dostupné nástroje pro vývoj Microsoft Třetí strany SharePoint Designer Visual Studio InfoPath 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ší

Porovnání standardních nástrojů Deklarativně můžete… Vyvíjet 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 Vlastní business logiku Vlastní sloupce Web party Event handlery Workflow aktivity WCF služby / integraci Timer joby Vlastní SPService

Client Object Model XSLT View Sandboxed solutions 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, …)

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/

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 http://sp2010recruitment.codeplex.com/

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 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čí Blank Template

Best practices pro vývoj 1/5  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

Best practices pro vývoj 2/5  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í

Best practices pro vývoj 3/5  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

Best practices pro vývoj 4/5  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?

Best practices pro vývoj 5/5  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

2. Sandboxed solutions

Vlastní rozšíření Office365 webů 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 site collection Diagram převzat z http://blogs.msdn.com/b/sharepointpictures/

 Limitovaná oprávnění kódu  Vlastní typy sloupců 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ů

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í 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

Jak vytvořit web part pro sandbox 1/3

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

 RunWithElevatedPrivileges + „nebezpečná“ práva Co v sandboxu nemůžete 1/10  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

Nelze definovat a používat vlastní typy sloupců Co v sandboxu nemůžete 2/10  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ů

Nelze definovat a používat vlastní web party Co v sandboxu nemůžete 3/10  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

 Vlastní stránky + master page + site template Co v sandboxu nemůžete 4/10  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

Co v sandboxu nemůžete  Používání API 5/10  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

Jsou zakázána workflow s vlastním kódem Co v sandboxu nemůžete 6/10  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

 Volání externích web servisů Co v sandboxu nemůžete 7/10  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

Nelze modifikovat web.config Co v sandboxu nemůžete 8/10  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 

SPJobDefinition nelze používat Dopady: Co v sandboxu nemůžete 9/10  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

 Klíčové slovo „static“ Co v sandboxu nemůžete 10/10  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

Infrastruktura: cloud vs. on-premise

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

Cloud od Microsoftu: Office365 Výhody Nevý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 Omezené možnosti customizace a vývoje Žádné možnosti zásahů do infrastruktury Omezení vyplývající z rychlosti připojení Omezené integrace

Smluvní garance správy Řešení na míru Pay-as-you-go Private Cloud řešení Výhody Nevý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 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žší

On-premise infrastruktura Výhody Nevý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 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

Kdy se hodí který model? Office365 Private Cloud On-Premise Správa Nechcete se starat o IT Nepotřebujete sofistikované centrální řízení 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ů

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

Nasazení do produkce

Podpora nasazování na úrovni infrastruktury Jednoduchý model Složitější model Vývojové prostředí (DEV) Testovací prostředí (TEST) Produkční prostředí (PROD) 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

Ú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

Ú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 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í

Best practices pro nasazování 1/4  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í

Best practices pro nasazování 2/4  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

Best practices pro nasazování 3/4  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

Best practices pro nasazování 4/4  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í

Rád zodpovím Vaše další otázky tucny@boldbrick.com Děkuji za pozornost Rád zodpovím Vaše další otázky tucny@boldbrick.com