sharepoint kao razvojna platforma za asp.net developere
TRANSCRIPT
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