• No results found

Installationsproblem

In document Kontaktsynkronisering i Exchange (Page 34-42)

Windowstj¨ansten jag utvecklade klagade fortfarande p˚a att den inte hittade ˚atkomstfilen p˚a servern. Vid lite n¨armare eftertanke kom jag p˚a att servern hade en mapp “wwwroot” p˚a h˚arddisk C. Jag provade att placera filen i “server 2\C:\inetpub\wwwroot\” ist¨allet och d˚a kunde Windowstj¨ansten anropa webbtj¨ansten utan problem.

6.2

Installationsproblem

Utvecklingen av Windowstj¨ansten var enkel och gick snabbt men att instal- lera var ganska problematiskt. Jag hittade flera olika guider f¨or att installera en Windowstj¨anst p˚a en server, en gick ut p˚a att skapa ett installationspro- jekt som utf¨orde installationen och en annan gick ut p˚a att Windowstj¨ansten installerade sig sj¨alv vid f¨orsta exekveringen. Jag provade flera varianter men jag lyckades inte med n˚agot till att b¨orja med.

Till slut uppt¨ackte jag att Windowstj¨ansten hade installerats med in- stallationsprojektvarianten men den hade standardnamnet, service1, ist¨allet f¨or det namn jag trodde att jag specificerade. Dock fungerade det inte att starta den och det enda meddelandet jag fick var att det tog f¨or l˚ang tid att starta den s˚a att servern slutade f¨ors¨oka. Jag hade ingen aning om vad som var fel och efter en del fels¨okning gav jag upp f¨or tillf¨allet och b¨orjade ist¨allet med att utveckla gr¨anssnittet f¨or synkroniseringsval.

N¨ar jag k¨ande mig f¨ardig med gr¨anssnittet f¨ors¨okte jag ordna till Win- dowstj¨ansten. Denna g˚ang b¨orjade jag om fr˚an b¨orjan och jag f¨oljde en guide skriven av Mahmoud Nasr [7]. Det var den f¨orsta guiden jag testa- de tidigare och det var den som inneh¨oll ett installationsprojekt som in- stallationsmetod. N¨ar jag f¨oljde guiden denna g˚ang gick jag igenom allting l˚angsamt och jag m¨arkte snabbt att jag hade missat n˚agra steg vid ska- pandet av Windowstj¨ansten tidigare. Ett av misstagen var att konfigurera Windowstj¨ansten att exekvera som local service ist¨allet f¨or local system. Antagligen hade detta orsakat att installationen inte kunde genomf¨oras p˚a grund av bristande r¨attigheter.

Installationen och startandet av Windowstj¨ansten gick felfritt denna g˚ang och det utf¨orde sin uppgift med specificerat tidsintervall. Jag anv¨ande mig inte av n˚agra specifika testfall f¨or att testa Windowstj¨ansten, jag f¨ors¨akrade mig bara om att den lyckades kalla p˚a webbtj¨ansten.

Kapitel 7

Gr¨anssnitt

Gr¨anssnittet till webbtj¨ansten skulle vara enkelt och det skulle exekvera p˚a en webbsida i SharePoint, Sekondens intran¨at. Jag ville att gr¨anssnittet skulle likna det Sekondens anv¨andare var vana vid i Outlook, d¨ar de hade alla sina kontakter. I Outlook fanns det flera olika vyer f¨or att visa kontak- terna, men efter fr˚agor till Sekondens anst¨allda fann jag att en tr¨advy var den popul¨araste med alla kontakter grupperade efter f¨oretag, se figur 7.1. F¨oretagen var sorterade i alfabetisk ordning och det gick att expandera/kol- lapsa f¨oretaget f¨or att visa underliggande kontakter eller inte.

F¨or att g¨ora synkroniseringsval med gr¨anssnittet t¨ankte jag presentera kontakterna i en tr¨advy med alla kontakter sorterade efter f¨oretag. Alla kon- takter fr˚an den gemensamma kontaktmappen planerade jag att h¨amta fr˚an webbtj¨ansten, som jag utvecklat tidigare, genom att placera en ny metod p˚a webbtj¨ansten med uppgiften att h¨amta alla gemensamma kontakter och returnera endast de intressanta v¨ardena fr˚an kontakterna(namn, f¨oretag och id). P˚a varje nod, b˚ade f¨oretagsnod och kontaktnod, skulle jag placera en kryssruta(eng. checkbox) framf¨or namnet som anv¨andare kunde kryssa i f¨or att v¨alja en kontakt, eller alla kontakter i ett f¨oretag, f¨or synkronisering. N¨ar anv¨andarna utf¨ort sina val skulle de kunna klicka p˚a en knapp f¨or att utf¨ora valen och p˚ab¨orja en synkronisering. Valen skulle ske genom att pla- cera en tupel f¨or varje val i tabellen MarkedContacts, med anv¨andarnamnet och id till den valda kontakten. Sedan skulle webbtj¨anstens synkroniserings- metod anropas f¨or att kopiera ¨over kontakter markerade i MarkedContacts till anv¨andarnas privata kontaktmapp.

7.1

Utveckling

Gr¨anssnittet utvecklade jag med verktyget Silverlight 4.0, det ¨ar Microsofts senaste webbutvecklingsverktyg och det ¨ar ett verktyg jag varit intresse- rad av en l¨angre tid. En Silverlightapplikation exekverar i vanliga fall i en webbl¨asare vilket underl¨attade under utvecklingen av den d˚a jag kunde tes-

7.2. SHAREPOINT KAPITEL 7. GR ¨ANSSNITT

Figur 7.1: Tr¨advy i Outlook

ta den snabbt efter ¨andringar. Innan jag valde att anv¨anda Silverlight un- ders¨okte jag snabbt huruvida det var m¨ojligt att exekvera en Silverlightap- plikation i SharePointmilj¨o och jag hittade flera resurser med instruktioner f¨or att f˚a ig˚ang en Silverlightapplikation i SharePoint.

Jag st¨otte inte p˚a n˚agra problem under utvecklingen av gr¨anssnittet och utvecklingen gick fort. Jag hade efter tv˚a dagar en Silverlightapplikation med ¨onskat gr¨anssnitt och funktionalitet. N˚agra ordentliga testfall anv¨ande jag mig inte av utan jag testade i webbl¨asaren endast f¨or att bekr¨afta att den fungerade.

7.2

SharePoint

F¨or att f¨orst˚a hur jag skulle exekvera Silverlightapplikationen i SharePoint ¨

ar det bra med en kort beskrivning av SharePoint. SharePoint ¨ar utvecklat av Microsoft och ¨ar en webbplatform med flera syften f¨or sm˚a till stora or- ganisationer. Det associeras ofta med inneh˚allshanterande(eng. content ma- nagement) och dokumenthanterande(eng. document management) system. SharePoint kan inneh˚alla intran¨at, dokument, filer, samarbetsplatser, verk- tyg f¨or sociala n¨atverk och mer [8]. Anv¨andare i SharePoint, med tillr¨ackliga r¨attigheter, kan ¨andra p˚a det mesta genom att omstrukturera, ta bort, l¨agga till och s˚a vidare.

Gr¨anssnittet var t¨ankt att placeras p˚a en egen hemsida i intran¨atet med Silverlightapplikationen infogad som en “Silverlight Web Part”. N¨ar man v¨aljer att inkludera en “Silverlight Web Part” i SharePoint m˚aste adressen till Silverlightapplikationens exekveringsfil(.xap) anges. Denna adressen skall vara till en applikation i SharePoint. F¨or att f˚a in Silverlightapplikationen i SharePoint hittade jag instruktioner [12] d¨ar man omgav Silverlightapplika- tionens projekt med ett “SharePoint Module’-projekt. Denna modul kunde

7.2. SHAREPOINT KAPITEL 7. GR ¨ANSSNITT

jag inkludera Silverlightapplikationen i och placera modulen i SharePoint. N¨ar jag skulle skapa projektet f¨or “SharePoint Module” st¨otte jag p˚a ett stort problem. F¨or att skapa ett projektet beh¨ovdes SharePoint Server 2010 och Sekonden hade 2007. Jag hittade instruktioner f¨or att f˚a in Silverligh- tapplikationen i SharePoint Server 2007 ocks˚a men om jag utvecklade f¨or 2007 skulle det inte fungera f¨or 2010. Sekondens systemadministrat¨or ha- de planerat att uppgradera SharePoint Server 2007 till 2010 inom en snar framtid s˚a det k¨andes naturligast att utveckla gr¨anssnittet f¨or SharePoint Server 2010.

I starten av examensarbetet hade min handledare sagt att jag kunde hj¨alpa Sekonden med att uppgradera SharePoint Server 2007 till 2010 om det skulle underl¨atta f¨or mig. Med det i ˚atanke unders¨okte jag vad som beh¨ovde utf¨oras f¨or en uppgradering. Efter en genoml¨asning av Microsofts officiella uppgraderingsguider [13] ans˚ag jag att det skulle underl¨atta f¨or mig att uppgradera Sekondens SharePoint Server och den applikation jag utvecklade skulle ha en l¨angre livstid vilket ocks˚a var viktigt.

7.2.1

Tidsbrist

Sekondens SharePoint Server befann sig p˚a en Windows Server 2003 och allt inneh˚all i SharePoint l˚ag p˚a en SQL Server 2005. Vid uppgradering till Sha- rePoint Server 2010 kr¨avdes Windows Server 2008 och SQL Server 2008. F¨or att jag skulle kunna uppgradera SharePoint Server kr¨avdes allts˚a r¨attigheter till att uppgradera Windows Server, SQL Server och SharePoint Server. Jag skulle f˚a dessa r¨attigheter och hela tiden underr¨atta systemadministrat¨oren vad jag t¨ankte genomf¨ora och vad jag genomf¨ort.

Microsoft hade publicerat en uppgraderingsguide f¨or SharePoint Server och i den f¨oreslog de att en virtuell testmilj¨o skulle s¨attas upp som liknade den milj¨o man t¨ankt uppgradera s˚a mycket som m¨ojligt. Sedan skulle man genomf¨ora en fullskalig uppgradering p˚a testmilj¨on och behandla m¨ojliga fel f¨or att f˚a en uppfattning om vad som kan beh¨ova g¨oras vid den riktiga uppgraderingen. Systemadminstrat¨oren tyckte att det var en bra id´e att s¨atta upp en s˚adan testmilj¨o och han skulle s¨atta upp den tillsammans med mig d˚a han vet hur deras nuvarande system ser ut.

Tyv¨arr hade systemadministrat¨oren v¨aldigt mycket att g¨ora s˚a han blev tvungen att skjuta upp uppgraderingen till lite senare. F¨or examensarbe- tets skull betydde detta att jag inte kunde f¨ardigst¨alla gr¨anssnittet f¨or anv¨andning innan examensarbetet var ¨over. Men jag har utvecklat s˚a l˚angt jag kunnat och har f¨orberett mig ordentligt f¨or att utf¨ora en uppgradering och f¨ardigst¨alla gr¨anssnittet. Jag har f¨orberett mig genom att uppgradera SharePoint Server 2007 i min virtuella testmilj¨o, exekverat en Silverlightap- plikation i SharePoint och anropat webbtj¨ansten jag utvecklat fr˚an Silver- lightapplikationen.

Kapitel 8

Resultat

Den slutliga implementationen innefattar:

Webbtj¨anst Placerad p˚a server 2, se figur 8.1, och tillg¨anglig genom en hemsida p˚a servern. Webbtj¨ansten tillhandah˚aller tv˚a viktiga metoder. Den ena metoden anropas f¨or att starta en synkronisering vilket in- neb¨ar att webbtj¨ansten kopierar kontakter, fr˚an en gemensam kontakt- mapp, till en anv¨andares personliga kontaktmapp i Exchange, utifr˚an de synkroniseringsval en anv¨andare utf¨ort. Webbtj¨ansten uppdaterar ¨

aven de kontakter den har kopierat till den personliga kontaktmap- pen om informationen p˚a tillh¨orande gemensam kontakt ¨andras eller tas bort. Den andra metoden anropas av gr¨anssnittet f¨or att h¨amta information om kontakter i den gemensamma kontaktmappen, denna information presenteras i gr¨anssnittet.

Windowstj¨anst Placerad p˚a server 2. Denna Windowstj¨anst exekverar all- tid och startas automatiskt vid omstart av servern. Windowstj¨ansten anropar webbtj¨anstens synkroniseringsmetod med ett specificerat tidsin- tervall. Det ¨ar tack vare Windowstj¨ansten all synkroniserad kontak- tinformation h˚aller sig uppdaterad.

Gr¨anssnitt Ett webbgr¨anssnitt, utvecklat med Silverlight, t¨ankt att pub- liceras i Sekondens intran¨at(SharePoint) men p˚a grund av tidsbrist ej tillg¨angligt i intran¨atet ¨annu, se underrubrik 7.2.1 f¨or en n¨armare f¨orklaring. Detta gr¨anssnitt presenterar de gemensamma kontakter som finns i den publika kontaktmappen och ger anv¨andare m¨ojligheten att markera/avmarkera kontakter f¨or synkronisering till anv¨andarens privata kontaktmappen.

8.1

Till mobiltelefonen

F¨or denna beskrivning antar jag att gr¨anssnittet ¨ar publicerat i Sekondens intran¨at. Om Sekondens anst¨allda vill g¨ora en gemensam kontakt tillg¨anglig

8.1. TILL MOBILTELEFONEN KAPITEL 8. RESULTAT

Figur 8.1: Slutlig l¨osning

i deras mobiltelefon, kan de g˚a in p˚a Sekondens intran¨at och g˚a till hemsi- dan f¨or kontaktsynkronisering. P˚a hemsidan f¨or kontaktsynkronisering kan de markera de gemensamma kontakter de vill ska synkroniseras mot deras personliga kontaktmapp i Exchange och klicka p˚a en knapp f¨or att starta synkroniseringen. Efter synkroniseringen finns markerade gemensamma kon- takter i anv¨andarens privata kontaktmapp och f¨or att g¨ora dessa tillg¨angliga i mobiltelefonen beh¨over anv¨andaren synkronisera sin privata kontaktmapp i Exchange med kontaktboken i mobiltelefonen, detta g¨ors med den standar- diserade metod som mobiltelefontillverkaren tillhandah˚aller, vilket skiljer sig fr˚an mobiltelefon till mobiltelefon.

Den l¨osning jag utvecklat tillhandah˚aller ett smidigt s¨att att f¨ora ¨over gemensamma kontakter till en privat kontaktmapp i Exchange och med l¨osningen uppdateras de ¨overf¨orda kontakterna vid ¨andringar i den gemen- samma kontaktmappen. D¨armed elimineras behovet att manuellt kopiera kontakter mellan tv˚a kontaktmappar i Exchange och Sekondens anst¨allda beh¨over inte t¨anka p˚a att uppdatera kontaktinformationen de har i mobil- telefonen.

Kapitel 9

Diskussion

9.1

osningen

F¨or att l¨osa Sekondens problem med kontaktsynkronisering har jag utveck- lat en webbtj¨anst, en Windowstj¨anst och ett gr¨anssnitt i SharePoint. Webb- tj¨ansten utf¨or synkroniseringen, Windowstj¨ansten anropar webbtj¨ansten med ett specificerat tidsintervall och gr¨anssnittet i SharePoint anv¨ands f¨or att utf¨ora synkroniseringsval. Under denna rubrik diskuterar jag vilka f¨ordelar och nackdelar det finns med den l¨osning jag utvecklat.

9.1.1

Webbtj¨ansten

Webbtj¨ansten hade en uppenbar f¨ordel vid utveckling. Den var enkel att ¨

andra och att testa d˚a endast n˚agra f˚a filer beh¨ovdes bytas, fr˚an gamla till nya och sedan kunde den testas i en webbl¨asare. Enkelheten att utf¨ora ¨

andringar och att testa den bidrog till en snabbare utveckling. Jag kunde enkelt prova sm˚a ¨andringar och jag beh¨ovde inte avinstallera och installera inf¨or varje ny version vilket hade varit tidskr¨avande i j¨amf¨orelse med att endast byta ut n˚agra filer.

I underrubrik 5.2.4 f¨orklarade jag hur jag anv¨ande mig av en metod f¨or att m¨arka upp alla gemensamma kontakter med ett egendefinierat attribut innan n˚agon synkronisering p˚ab¨orjades. Denna metod anropas vid varje exe- kvering, vilket inte ¨ar optimalt. Enda g˚angen denna metod verkligen beh¨over exekveras ¨ar efter skapande av gemensamma kontakter, d˚a beh¨over de ny- skapade kontakterna m¨arkas upp med mitt egendefinierade attribut f¨or att webbtj¨ansten senare ska kunna, korrekt, synkronisera kontakterna. Till en b¨orjan var uppm¨arkningsmetoden tids¨odande f¨or att den itererade ¨over alla gemensamma kontakter och skapade det egendefinierade attributet p˚a de kontakter som inte hade attributet. D˚a Sekonden hade m˚anga gemensamma kontakter tog hela itereringsprocessen l˚ang tid. Dock lyckades jag minska ex- ekveringstiden f¨or uppm¨arkningsmetoden drastiskt genom att endast iterera

9.1. L ¨OSNINGEN KAPITEL 9. DISKUSSION

¨

over de gemensamma kontakter som ej hade det egendefinierade attributet satt fr˚an b¨orjan. Exekveringstiden hade g˚att fr˚an cirka 30 sekunder till 1-2 sekunder och jag ans˚ag d˚a att det inte fanns en stark anledning till att inte utf¨ora uppm¨arkningen vid varje synkronisering.

9.1.2

Windowstj¨ansten

Vad Windowstj¨ansten utf¨orde ¨ar inte mycket att diskutera, den anropade endast webbtj¨ansten och det beh¨ovdes f¨or att synkronisering skulle kunna ske. D¨aremot kan valet att utveckla det simpla programmet som en Win- dowstj¨anst diskuteras.

En m¨ojlig nackdel med att utveckla programmet som en Windowstj¨anst ¨

ar att installationen av en Windowstj¨anst ¨ar lite kr˚angligare ¨an en vanlig applikation men detta program beh¨ovdes inte ¨andras ofta f¨or att installa- tionsprocessen skulle vara en viktig faktor vid val av programtyp.

F¨ordelarna ¨ar att Windowstj¨anster kan starta sig sj¨alva vid omstart av datorn, en Windowstj¨anst ¨ar designad f¨or att exekvera v¨aldigt l¨ange, opera- tivsystemet tillhandah˚aller ett program f¨or att h˚alla koll p˚a Windowstj¨anster och l¨asa tillh¨orande loggar samt ¨ar det enkelt att utf¨ora loggutskrifter fr˚an programmet. Windowstj¨anster ¨ar helt enkelt skapade f¨or att utf¨ora arbets- uppgifter i bakgrunden vilket var precis vad jag letade efter n¨ar jag skulle utveckla programmet.

9.1.3

Gr¨anssnittet i SharePoint

Gr¨anssnittet utvecklade jag som en Silverlightapplikation, det valet var fr¨amst f¨or att jag varit intresserad av att testa Silverlight och detta examensarbe- te var en utm¨arkt chans att utveckla med Silverlight. N¨ar jag unders¨okte huruvida det gick att exekvera en Silverlightapplikation i SharePoint fann jag dock att en Silverlightapplikation var ett bra val f¨or att utveckla till Sha- rePoint, jag fann att mycket av SharePoint var utvecklat med Silverlight. Denna information hittade jag p˚a Micrsofts MSDN Library [11].

Gr¨anssnittet var mycket enkelt, endast en tr¨advy med f¨oretag, kon- taktnamn och kryssrutor samt en knapp f¨or att utf¨ora synkroniseringsval. Tr¨advyn skulle kunna inneh˚alla mer information om kontakterna, t.ex. te- lefonnummer, emailadress, titel etc. etc., men jag anser att endast namn r¨acker f¨or den enkla uppgiften att utf¨ora synkroniseringsval. Sekondens an- st¨allda anv¨ander Outlook dagligen och det ¨ar i Outlook de gemensamma kontakterna hittas. F¨or att se mer information om kontakterna, ¨an namn och f¨oretag, ¨ar Outlook att f¨oredra ¨over ett synkroniseringsgr¨anssnitt.

En s¨okfunktion till gr¨anssnittet skulle komma till anv¨andning f¨or att lite snabbare hitta en specifik kontakt, men jag och min handledare ans˚ag att det inte var n¨odv¨andigt att implementera d˚a alla kontakter ¨ar alfabetiskt sorterade efter f¨oretag och nya synkroniseringsval kommer antagligen inte utf¨oras ofta.

In document Kontaktsynkronisering i Exchange (Page 34-42)

Related documents