Click here to load reader
Upload
edin-kapic
View
2.062
Download
0
Embed Size (px)
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
– [email protected]– 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