2008 11 Sdn Magazine 99 Nick Boumans

525 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
525
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

2008 11 Sdn Magazine 99 Nick Boumans

  1. 1. SOFTWARE DEVELOPMENT NETWORK MAGAZINE IN DIT NUMMER O.A.: MP3 Tags in Delphi 2009 < Peer to Peer Applicaties met .NET Framework 3.5 < Zeven Windows Communication Foundation Best Practices < Portaltechnologie: SharePoint of DotNetNuke? < The Best of Both Worlds: Modernizing Core Sytems < Nummer 99 November 2008 SDN Magazine verschijnt elk kwartaal en is een uitgave van Software Development Network 99 www.sdn.nl
  2. 2. DOT NET Nick Boumans NUKE Portaltechnologie: SharePoint of DotNetNuke? De keuze voor portaltechnologie is vaak snel Central Admin en Host Account SharePoint gebruikt de Central Administration voor Farm-level gemaakt. De keuze of men gebruik gaat beheertaken. De “Central Admin” is een aparte webapplicatie die apart maken van Microsoft SharePoint of DotNet- te benaderen is. DotnetNuke kent het “Host” -account waarmee extra Nuke (DNN) ligt vaak minder voor de hand. Is privileges worden verkregen na het authenticatieproces. Inloggen kan echter direct op de portal. de keuze eenmaal gemaakt, dan twijfelt men later vaak of wellicht toch het andere product het voordeel van de twijfel had moeten krijgen. Of men kiest deels uit onwetendheid: men kent of SharePoint of DNN. Als SharePoint specia- list heb ik recent kennis gemaakt met de mogelijkheden van DotNetNuke. De kennis die ik hierbij heb opgedaan is voor mij van cruciale waarde om keuzes in de toekomst beter te verantwoorden. In dit artikel zal een aantal overeenkomsten c.q. verschillen van beide producten in kaart worden gebracht. Doel hier- van is het verbreden van uw inzichten in deze producten die u kunnen helpen bij het Fig. 1: SharePoint Central Administration beantwoorden van de veelgestelde vraag: Toevoegen van Custom WebParts en Modules SharePoint of DotNetNuke? SharePoint kent een tool die Stsadm.exe heet. Met deze command- line tool is het o.a. mogelijk om custom WebParts te deployen en Een Portal is een Gateway beschikbaar te maken op een website. Dergelijke deployment gebeurt doorgaans middels een Windows Solution Package (.WSP). Een waarmee leden toegang solution package is een gecomprimeerd bestand met daarin de functionaliteiten. Een of meer XML bestanden beschrijven waar de hebben tot bedrijfsinformatie bestanden uit de .WSP file geplaatst dienen te worden. Het maken en deployen van een solution file vereist redelijke SharePoint kennis. SQL Server Database Deployment is voor veel developers en bedrijven dan ook een bottle- Beide producten maken gebruik van intuïtieve Microsoft technologie en neck. De solution package dient gedeployed te worden naar de beide gebruiken SQL Server als database. DotNetNuke kan overigens webserver(s). Bij gebruik van stsadm.exe kan dit niet gedaan worden ook op een andere database werken, maar alleen SQL Server wordt via de webbrowser. In een organisatie betekent dit vaak het standaard ondersteund. Tevens kunnen zowel SharePoint als DNN inschakelen van een beheerder met voldoende rechten. uitgebreid worden door gebruik te maken van .NET-development. Zowel SharePoint als DotNetNuke gebruiken dus SQL Server voor de Modules voor DotNetNuke kunnen via de webbrowser worden opslag van data. Een belangrijk verschil is echter dat we de Share- toegevoegd. Voor het bouwen hiervan is uiteraard DNN-kennis Point contentdatabase enkel en alleen mogen benaderen via het vereist. Het packagen van een module (.zip-file) vraagt over het SharePoint interface (een site) of via het objectmodel (door te algemeen echter minder expertise dan het maken van een Solution programmeren). DotNetNuke heeft een datamodel dat eventueel direct Package voor SharePoint. benaderbaar is. Zo kan men vrij snel in DotNetNuke direct in de Het nadeel van DotNetNuke ten opzichte van SharePoint op dit vlak database een portal-url aanpassen. In SharePoint is dit “helaas” niet FULL-COLOUR is, dat DNN-modules alleen binnen DNN gebruikt kunnen worden. mogelijk. SharePoint WebParts kunnen gebruik maken van twee base classes: 50 cyaan 50 zwart 100 geel 15 cyaan SOFTWARE DEVELOPMENT NETWORK BEELDMERK Tevens is het met beide producten mogelijk om door middel van maat- SharePoint WebPart of ASP.NET WebPart. WebParts gebaseerd op werk SOFTWARE DEVELOPMENT NETWORK een andere database. Dit hoeft dan ook gebruik te maken van de ASP.NET base class kunnen ook in ASP.NET-sites worden gebruikt. niet per definitie SQL Server te zijn. Deze “extra” database kan echter SharePoint specifieke WebParts kunnen gebruikt worden in systemen niet gebruikt worden als vervanging voor de installatie database! SOFTWARE DEVELOPMENT NETWORK SOFTWARE DEVELOPMENT NETWORK die gebruik maken van Windows SharePoint Services. Hierbij kan men SOFTWARE DEVELOPMENT NETWORK DIVISIES SOFTWARE DEVELOPMENT NETWORK CONFERENCE 42 SOFTWARE DEVELOPMENT NETWORK MAGAZINE EVENTS
  3. 3. DOT NET NUKE bijvoorbeeld denken aan Project Server. manier. Bij SharePoint is dit niet standaard. Het is uiteraard wel Een ASP.NET WebPart is weliswaar niet direct in DotNetNuke te mogelijk om meerdere talen te installeren. gebruiken, het is wel mogelijk een module te maken waarin een WebPart wordt “gehost”. Doorlooptijd en kosten Over het algemeen is de tijdsduur voor het up-and-running krijgen van een out-of-the-box DotNetNuke portal (installatie en configuratie) korter dan die van SharePoint. Dit geldt niet alleen voor interne hosting maar ook voor externe hosting. Wil men bij SharePoint even- eens toegang hebben tot de stsadm.exe tool dan zal men eveneens Fig. 2: DNN - Toevoegen van een module remote desktop toegang moeten hebben tot de webserver. Aangezien DotNetNuke Open Source is, en een zeer liberaal Visibility licentiemodel kent, vallen de kosten van DotNetNuke al snel lager uit. In SharePoint kan men gebruik maken van Audience Targeting en Sharepoint heeft ook de WSS variant die gratis verkrijgbaar is bij Security Features om bepaalde data zichtbaar te maken of juist te Windows 2003, maar deze is enigszins beperkt in functionaliteit ten verbergen. Vaak komt het voor (vooral in WSS) dat de gebruiker meer opzichte van de grote broer MOSS 2007. Het is echter te kort door de te zien krijgt dan hij of zij eigenlijk mag zien. bocht om te stellen dat DotNetNuke altijd goedkoper is. Deze Bij DNN is het mogelijk om instanties van modules (dus een module die afweging kan alleen per situatie apart worden gemaakt. op een pagina is geplaatst) te koppelen aan één of meer rollen. Per rol kan worden aangegeven welke rechten (View, Edit, …) van toepas- Intranet v.s. extranet sing zijn op de betreffende module. Standaard worden de rechten op Met beide pakketten is het mogelijk om zowel een intranet- als een module geërfd van de pagina, zodat gebruikers die de pagina internetportal op te zetten. Men kan hierbij gebruik maken van mogen zien, ook de module mogen zien. Daarnaast kunnen aan ge- verschillende authenticatiemechanismen. Of de oplossing een inter- bruikers individuele rechten worden toegekend. Deze rechten komen net- of intranetapplicatie moet worden kan een belangrijke factor zijn dan wel altijd bovenop de rechten die de gebruiker vanuit de aan hem bij de bepaling van de keuze voor DotNetNuke of SharePoint. toegekende rollen heeft. Praktijk: WebPart development vs. Module development Scalability In de volgende paragrafen zal dieper ingegaan worden op het DNN kan geïnstalleerd worden op één webserver en één SQL Server. development aspect van een WebPart c.q. Module. Hierbij is het Wanneer men DotNetNuke in een webfarm of –garden zouden willen nadrukkelijk niet de bedoeling om een complete tutorial te beschrijven laten draaien, dient men daarvoor een en ander handmatig te voor de development hiervan, maar wil ik alleen enkele verschillen of configureren. Concreet heeft iedere DNN-installatie dus één enkele overeenkomsten schetsen. Tevens dient opgemerkt te worden dat “DNN-database”. Wel is het mogelijk DNN meerdere malen te instal- zowel bij WebPart- als Module development meerdere wegen bestaan leren op een server. Dit in tegenstelling tot SharePoint. SharePoint is die naar Rome leiden. echt een serverproduct waarvan maar één instantie op een server geïnstalleerd kan worden. Het beste kan men SharePoint dan ook zien als een serverproduct en DNN als een ASP.NET applicatie. WebParts en Modules voegen In SharePoint is het mogelijk de scalability te beheren vanuit de functionaliteit toe om te voorzien Central Administration. Het is zelfs mogelijk om bijvoorbeeld per Site Collection een aparte contentdatabase te hebben. Tevens kent in de bedrijfsbehoefte SharePoint Features als Enterprise Search en Single Sign-on. We kunnen zelfs gebruik maken van een aparte Search en Indexing SharePoint: WebPart Development server. Hierbij kan men gebruik maken van uitgebreide indexeeropties. De eenvoudigste manier om een WebPart te ontwikkelen is door DotNetNuke stelt hier tegenover dat veel performance gerelateerde gebruik te maken van “WSS extensions for Visual Studio”. Deze instellingen via het Host-menu kunnen worden geconfigureerd en dat extensies voor Visual Studio zijn zowel voor Visual Studio 2005 als standaard onderdelen zoals de zoek- en indexeermogelijkheden met 2008 beschikbaar als download op de site van Microsoft. maatwerk of software van derden kunnen worden aangepast. Na het installeren van deze extensies hebben we binnen Visual Studio de beschikbaarheid over een aantal extra project templates. Een hier- Office-Integratie en Multi-Language van is het SharePoint WebPart. SharePoint is heel sterk in Office integratie (MOSS 2007: Microsoft Office SharePoint Server 2007). Bij DotNetNuke ontbreekt dit eigenlijk. Zo is het met Infopath Forms Services mogelijk om in een handom- draai een professioneel formulier te maken wat ingevuld kan worden door de gebruiker. De data kan opgeslagen worden in o.a. een SharePoint lijst. Een ander voorbeeld is integratie met Outlook. Bij gebruik maken van een workflow kan een taak gecreëerd worden in een takenlijst. Deze taak kan zichtbaar worden in de Outlook-takenlijkst van de gebruiker. Hier staat tegenover dat Multi-Language standaard is bij DotNetNuke. Dit is al sinds begin 2005 geïmplementeerd op de standaard ASP.NET SharePoint is heel sterk in Office inte- gratie; hier staat tegenover dat Multi- Fig. 3: De beschikbare templates in VS2008 na installatie van WSS Language standaard is bij DotNetNuke Extensions for Visual Studio magazine voor software development 43
  4. 4. DOT NET NUKE Na de keuze voor “WebPart” ziet ons Visual Studio project er als volgt uit: Bij de referenties in het project kan men zien dat een referentie is toege- voegd naar de Microsoft.Share- Point.dll. Dit is slechts een van de vele dll’s die gebruikt kunnen worden voor SharePoint development. Sha- rePoint objecten beginnen met “SP” (SharePoint). Een lijst heet dus binnen SharePoint een SPList, dit in vergelij- king met een generic list. Door de toevoeging van SP voor een object- naam zijn objecten voor .NET deve- lopers eenvoudiger te herkennen. Fig. 5: Bij DotNetNuke worden diverse projecttemplates Door een naamconventiefout zorgen meegeleverd in de starterkit de SPSite- en SPWeb objecten echter vaak voor verwarring: Conclusie • SPSite geeft toegang tot de top-level site (dit is een collection) Aangezien iedere oplossing andere requirements heeft, zal steeds • SPWeb geeft toegang tot de pagina (hier zou men wellicht SPSite overwogen moeten worden voor welk product we kiezen. Veel verwachten) mensen neigen bij bijvoorbeeld een webshop meer naar DotNetNuke, terwijl bij een enterprise intranet, waarbij Office-integratie een grote rol Binnen een webpart kan men op de volgende manier toegang krijgen speelt, SharePoint de voorkeur verdient. tot de pagina (SPWeb): Scalability kan een belangrijk kwaliteitsaspect zijn. Door de huidige situatie te bekijken waar de applicatie aan dient te voldoen en wat de SPSite siteCollection = SPContext.Current.Site; verwachting is over 5 jaar (bijv. omvang gebruikers- en site-toename) SPWeb site = SPContext.Current.Web; kan men een goed beeld krijgen van de vereiste scalability. Hierbij dient men te voorkomen dat de huidige keuze DNN is en over 5 jaar Listing 1: Het benaderen van een webpagina (SPWeb) vanuit een SharePoint (of vice versa). WebPart Een valkuil die men vaak ziet is dat een definitieve keuze gemaakt is voor DotNetNuke of SharePoint binnen een organisatie en dat men Door in de Project Properties de juiste url op te geven bij “Start Brow- met dit product “alle” problemen probeert op te lossen. Heel ser With Url” kan met één druk op F5 gedeployed worden naar een geforceerd tracht men oude applicaties in dit product te verweven. development server. Als het goed is, is het WebPart nu beschikbaar in Uiteraard kan het allemaal wel, maar men moet zich wellicht de vraag de WebPart Gallery en klaar voor gebruik. Het maken van een stellen: “is dit de beste oplossing voor deze situatie?”. uitgebreider Solution Package en deployment binnen bijvoorbeeld een OTAP omgeving vergt uiteraard meer kennis en kunde dan enkel en Links: alleen een druk op F5. Debuggen is mogelijk door de debugger te • Blog Nick Boumans: www.SharePointDevelopment.nl attachen aan het juiste W3WP proces. • WSS Extensions for Visual Studio: www.microsoft.com/ Naast de WSS Extensions gebruiken developers vaak tools van downloads/details.aspx?FamilyID=7bf65b28-06e2-4e87-9bad- CodePlex om WebParts en Windows Solution Files te maken. Veel 086e32185e68&displaylang=en gebruikte tools zijn: STSDEV, WSPBuilder en SharePoint Solution • Microsoft Office SharePoint Server 2007 VHD: http://www. Installer. microsoft.com/downloads/details.aspx?FamilyID=67f93dcb- ada8-4db5-a47b-df17e14b2c74&DisplayLang=en DotNetNuke: Module Development • www.codeplex.com/sharepointinstaller Om een DotNetNuke Module te ontwikkelen kan men als vergelijkbare • www.codeplex.com/wspbuilder stap met de WSS Extensions for Visual Studio gebruik maken van de • www.codeplex.com/stsdev • starterkit van DotNetNuke. Deze bevat eveneens een aantal project templates. Hiermee is een ontwikkelaar snel op het juiste spoor gezet. Aangezien DotNetNuke “gewoon” een ASP.NET applicatie is, kan het Nick Boumans maatwerk worden gedebugged vanuit Visual Studio en zijn er op de ontwikkelmachine geen extra installaties nodig. Met DotNetNuke kan Nick Boumans is MOSS 2007 een ontwikkelaar al aan de slag met louter de (gratis) Express-edition Technology Specialist en Enterprise producten van Microsoft. Application Developer bij Giraffe IT. Een belangrijke keuze bij het maken is of men een module wenst te maken die gecompileerde bestanden bevat of een dynamic module. Bij een dynamic module worden de bronbestanden als het ware gecompileerd op de server: dat laten we dan over aan ASP.NET. In tegenstelling tot een WebPart die meestal als Windows Solution File gedeployed zal worden, is de module file een .zip-bestand. Vanuit onze FULL-COLOUR DNN development omgeving kunnen we deze .zip-file laten genereren 50 cyaan 50 zwart 100 geel 15 cyaan SOFTWARE DEVELOPMENT NETWORK BEELDMERK inclusief een configuratiefile. Hierbij is er de keuze voor het maken van een module met of NETWORK bronbestanden. Het gecrëeerde zip- SOFTWARE DEVELOPMENT zonder bestand kan vervolgens direct toegevoegd worden aan een DotNet- Nuke site. SOFTWARE DEVELOPMENT NETWORK SOFTWARE DEVELOPMENT NETWORK SOFTWARE DEVELOPMENT NETWORK DIVISIES SOFTWARE DEVELOPMENT NETWORK CONFERENCE 44 SOFTWARE DEVELOPMENT NETWORK MAGAZINE EVENTS

×