SharePoint kao razvojna platforma za ASP.NET developere

Preview:

Citation preview

SharePoint kao razvojna platforma za ASP.NET

developereEdin Kapić, pasiona consulting

Agenda• Uvod• SharePoint ispod haube• Primjeri• Početničke greške

Edin KapićKey Consultant, pasiona consulting (Barcelona)

• „SharePointer“ od 2005.• Suosnivač katalonske SharePoint User grupe

SUG.CAT• Predavanja

– EuropeanSP 2011, CEUS, SharePoint Saturday• Kontakt

– ekapic@pasiona.com– http://www.edinkapic.com (engleski)– http://spblogedin.blogspot.com (španski)– @ekapic

Za šta nam služi SharePoint?

• Saradnja i raspodjela informacija

• Intranet• Web stranice timova i odjela• Tražilica• Extranet• Javno dostupne stranice• Platforma za web solucije

Verzije• Na „zemlji“

– Besplatno

– Licencirano• Standard• Enterprise

• U „oblacima“– Office 365

A ispod haube?• To je ASP.NET 3.5 Web Forms

aplikacija sa još nekoliko dodataka:– Jezgra COM+– SQL Server: baza podataka i stored proc.– Windows servisi– ASMX i WCF servisi– JavaScript– .NET model objekata

DEMO

SharePoint kockice

HTTP zahtjev

Framework ASP.NETSharePoint “Virtual Provider”

HTTP zahtjev (2)

Parser ASPX stranica• SharePoint dopunjuje parser ASP.NET

stranica i “virtualizuje” pristupni put (path)

SharePoint jezik za putnike• Farma• Web aplikacija• Site collection / Kolekcija lokacija• Site / Lokacija• Lista / Spisak• Biblioteka• Web part / Web segment

HijerarhijaIIS nivo

SQL Server nivo

SharePoint nivo

Separacija

SP model objekataSPSite

SPWeb

SPList

SPListItem

SPField

Razvojni alati• Visual Studio 2010

– .NET kôd

• SharePoint Designer 2010– “Code-less”

Hello World u SharePointu static void Main(string[] args) { using (SPSite siteCollection = new SPSite("http://localhost")) { SPWebCollection sites = siteCollection.AllWebs; foreach (SPWeb web in sites) { try { SPListCollection lists = web.Lists; Console.WriteLine("Site: {0} Lists: {1}", web.Name, lists.Count.ToString());

foreach (SPList list in lists) { Console.WriteLine("List: {0} {1}", list.Title, list.ID.ToString()); } } finally { web.Dispose(); } } } }

DEMO

SharePoint kao platforma

– Korisnički interfejs (UI)• Web parts• Navigacija• Master Pages• Client OM (Silverlight, JavaScript)

– Poslovna logika• Workflow• Web servisi• Event receiver• Timer job• Aplikacione stranice

– Pristup podacima• Liste i biblioteke• Vanjske liste (Business Connectivity

Services)• Direkto putem .NET-a

Početničke greške• Razmišljati kao ASP.NET developer

– SharePoint ima svoja pravila• AnyCPU !!! • Zaboraviti na Dispose()• Permisije

– Svi nisu administratori• Skalabilnost i performanse

– Prevelik broj rezultata

Liste != SQL table• Nema foreign key relacija (osim ID)• Liste nisu beskonačne• Ograničeni JOIN između lista• Liste se nalaze u kontekstu

SharePoint site-a

Biblioteke != Windows folderi• Ne nalaze se na disku nego u SQL

Server bazi podataka• Veličina je ograničena

– 50 MB po defaultu• Glavna razlika: Metapodaci

– Možemo pridružiti informacije o kontekstu

– Intuitivna pretraga i filtriranje

Rekapitulacija• SharePoint je ASP.NET platforma

– Sve vaše prethodno znanje je korisno– Iskoristite postojeći kôd

• SharePoint nije ASP.NET– Pazite na početničke greške– Specifični detalji i ograničenja kojih nema u

ASP.NET-u

SharePoint.Welcome(developers);

Za više informacija...• SharePoint 2010 Developer Platform

– http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=7563

• SharePoint 2010 Walkthrough Guide– http://www.microsoft.com/download/en/details.aspx?id=13773

• SharePoint 2010 Architecture Overview

– http://msdn.microsoft.com/en-us/library/gg552610.aspx

• Developer Resource Center– http://msdn.microsoft.com/en-us/sharepoint/bb964529.aspx

Recommended