• No results found

Autentisering med OAuth 2.0 i SiteVision: Jämförelse mellan Java Portlets och WebApps

N/A
N/A
Protected

Academic year: 2022

Share "Autentisering med OAuth 2.0 i SiteVision: Jämförelse mellan Java Portlets och WebApps"

Copied!
32
0
0

Loading.... (view fulltext now)

Full text

(1)

Självständigt arbete på grundnivå

Independent degree project - first cycle

Datateknik

Computer Engineering

Autentisering med OAuth 2.0 i SiteVision Jämförelse mellan Java Portlets och WebApps Andreas Edin

(2)

MITTUNIVERSITETET

Avdelningen för informationssystem och teknologi (IST) Examinator: Ulf Jennehag, ulf.jennehag@miun.se

Handledare: Magnus Eriksson, magnus.eriksson@miun.se Författare: Andreas Edin, anedi1602@student.miun.se Utbildningsprogram: Datateknik, 180 hp

Kursnamn: Examensarbete, 15 hp Huvudområde: Datateknik Termin, år: VT, 2018

(3)

Sammanfattning

Det o vergripände syftet med dettä projekt här värit ätt bidrä till en effektiviseräd digitälisering och individuälisering. Mä let fo r projektet här värit ätt underso kä älternätivä tekniskä lo sningär fo r ätt go rä egnä tillä gg i CMS:et SiteVision. Tillä gg värs uppgift bestä r i ätt hä mtä dätä frä n ett externt API (Office 365) som krä ver äutentisering med OAuth 2.0. Vidäre här de älternätivä tekniskä lo sningärnä vä rderäts och jä mfo rts. Jä mfo relsen här gjorts utifrä n kriterier som tägits främ genom intervjuer med

utveckläre pä ett IT-konsultboläg. Inom projektet här ett tillä mpät exempel (POC) skäpäts fo r ätt visä exempel pä hur tekniken kän änvä ndäs. I dettä exempel här Jävä Portlets änvä nts fo r ätt implementerä ovänstä ende funktionälitet. A ven WebApps i SiteVision här studeräts dä den tekniken utgo r ett älternätiv till Jävä Portlets. Underso kningen visär ätt det ä r fullt mo jligt ätt skäpä ett eget tillä gg i SiteVision som genomfo r äutentisering med OAuth 2.0 och sedän änvä ndä dennä fo r ätt hä mtä dätä frä n ett externt API. Resultäten frä n jä mfo relsen mellän de tvä olikä teknikernä Jävä

Portlets och WebApps visär ätt det finns fo r- och näckdelär med respektive teknik. Bä dä älternätiven främstä r som jä mstärkä i jä mfo relsen. De

individuellä omstä ndigheternä kring ett främtidä änvä ndände bo r fä llä ävgo rändet fo r vilken teknik som vä ljs.

Nyckelord: SiteVision, Jävä, Jävä Portlet, CMS, Content Mänägement System, OAuth 2.0, WebApps, Cybercom

(4)

Abstract

The äim of this project häs been to explore älternätive technicäl solutions for mäking own extensions in the CMS SiteVision. The purpose of these exten- sions is to retrieve dätä from än externäl API (Office 365) which requires OAuth 2.0 äuthenticätion. Additionäl, the älternätive technicäl solutions häve been eväluäted änd compäred. The compärisons häve been mäde bäsed on criteriä developed through interviews with professionäl IT-consultänts.

The purpose of the project häs been to contribute to more efficient digitizä- tion, integrätion änd individuälizätion of dätäsystems. Within the project, än äpplied exämple (POC) häs been creäted to show exämples of how the tech- nology cän be used. In this exämple, Jävä Portlets häve been used to imple- ment the äbove functionälity. WebApps in SiteVision häve älso been studied since this technology is än älternätive to Jävä Portlets. The survey shows thät it is fully possible to creäte ä sepäräte extension in SiteVision thät performs äuthenticätion with OAuth 2.0 änd then uses it to retrieve dätä from än ex- ternäl API. The results from the compärison between the two different Jävä Portlets änd WebApps technologies show thät there äre pros änd cons of eäch technique. The älternätives studied where compäräble in performänce.

Individuäl circumstänces cän dictäte which älternätive is best.

Keywords: SiteVision, Jävä, Jävä Portlet, CMS, Content Mänägement System, OAuth 2.0, WebApps, Cybercom

(5)

Förord

I fo rstä händ vill jäg täckä Cybercom i Sundsväll fo r ätt jäg fä tt chänsen ätt genomfo rä dettä projekt hos er. Till ätt bo rjä med häde Lärs Oscärsson en viktig roll i ätt jäg blev presenteräd fo r väd sjä lvä projektet skulle innebä rä, men ä ven i ätt jäg blev introduceräd och kä nde mig vä lkommen pä fo retäget.

Jonäs Eriksson och Pätrik Jänsson här verkligen värit till stor hjä lp nä r det gä ller ällt som här med det tekniskä utvecklingsärbetet ätt go rä. I o vrigt här jäg häft fo rmä nen och glä djen ätt trä ffä ett helt gä ng trevligä kollegor, bä de pä kontoret och pä hockeyrinken.

Ytterligäre en person som jäg vill riktä ett stort täck till ä r Mägnus Eriksson, som värit min händledäre pä Mittuniversitetet. Fo rstä kä nslän efter ett mo te med Mägnus ä r oftä: ”Hjä lp, väd mycket jobb jäg fick!” Jobb som, nä r det ä r utfo rt, älltid fo rt projektet vidäre eller gjort räpporten ä nnu bä ttre.

Dessutom här jäg fä tt mycket uppmunträn äv Mägnus vid vä rä mo ten vilket gjort ätt det kä nts lä tt ätt tä sig än jobbet.

(6)
(7)

Terminologi

CMS Content Mänägement System, ett system fo r ätt byggä upp och ädministrerä digitäl informätion, till exempel pä en webbsidä. Exempel pä CMS ä r SiteVision, WordPress, Joomlä och Drupäl.

JSP Jävä Server Päges, en Jävä-teknologi fo r ätt skäpä dynämiskt innehä ll pä websidor.

POC Proof Of Concept, ett konkret exempel som visär hur en metod eller ide kän genomfo räs i präktiken.

IDE

API

Integräted Development Environment, pä svenskä:

utvecklingsmiljo . Ett system/ett progräm som oftäst innehä ller en textredigeräre, en kompilätor och en debugger. Vänligtvis tillkommer ä ven fler funktioner. IDE:n ä r helt enkelt det redskäp som utvecklärän envä nder fo r ätt skäpä sin

progrämkod.

Applicätion Progrämming Interfäce, ett slägs grä nssnitt som specificerär hur ett

äpplikätionsprogräm kän änvä ndä en

progrämvärä. Ett vänligt exempel ä r en webtjä nst som tillhändähä ller dätä viä sitt API.

(8)

Innehåll

Sammanfattning ... iii

Abstract ... iv

Förord. ... v

Terminologi ... vii

1 Inledning ... 4

1.1 Bakgrund och problemmotivering ... 4

1.2 Övergripande syfte ... 5

1.3 Avgränsningar ... 5

1.3.1 SiteVision ... 6

1.3.2 Office 365 ... 6

1.3.3 OAuth 2.0 ... 6

1.3.4 Java Portlets och SiteVision WebApps ... 6

1.4 Konkreta och verifierbara mål ... 7

1.5 Översikt ... 7

1.6 Författarens bidrag ... 7

2 Teori ... 8

2.1 SiteVision ... 8

2.2 OAuth 2.0 ... 8

2.3 Java Portlets ... 12

2.4 WebApps i SiteVision ... 14

3 Metod ... 15

3.1 Intervjuer ... 15

3.2 Inledande delresultat ... 16

3.2.1 Dokumentation ... 16

3.2.2 Debugging ... 16

3.2.3 Distribuering (Deploying) ... 17

3.2.4 Ekonomi ... 17

3.2.5 Säkerhet ... 17

4 Konstruktion ... 19

5 Resultat ... 20

6 Diskussion ... 22

6.1 Uppfyllelse av mål ... 22

6.2 Framtida utveckling ... 22

6.3 Etiska aspekter ... 23

6.4 Övrigt ... 23

(9)

Källförteckning ... 24 Bilaga A: Kodstrukturer för moduler i SiteVision Webapps...25

(10)
(11)

1 Inledning

Dettä exämensärbete utfo rs inom rämen fo r ett utvecklingsprojekt hos fo retäget Cybercom. Utvecklingsprojektets syfte ä r ätt utvecklä ett nytt intränä t ä t Luleä kommun. Intränä tet skäpäs i ett system som heter SiteVison, vilket beskrivs nä rmäre i käpitel 2.1. Syftet med exämensärbetet ä r ätt utvä rderä och jä mfo rä olikä tekniker fo r ätt go rä ett tillä gg till intränä tet, ett tillä gg som änvä nder sig äv äutentisering med OAuth 2.0, se käpitel 2.2. Autentiseringen skä sedän i sin tur änvä ndäs fo r ätt kommä ä t dätä pä en extern server. Ett konkret exempel (POC) kommer ätt skäpäs i syfte ätt visä hur en teknisk lo sning som kombinerär SiteVision med äutentisering genom OAuth 2.0 kän se ut, sämt hur män kän utnyttjä de mo jligheter och de fo rdelär en sä dän teknisk lo sning medfo r. Generellt sett, det vill sä gä ätt hä mtä extern dätä som änvä nds äv ett CMS, finns det mä ngä exempel pä tillä mpningär. Men nä r det gä ller kombinätionen äv OAuth 2.0 och SiteVision finns det ont om exempel, om ens nä grä älls.

1.1 Bakgrund och problemmotivering

Det individuellä välet som ger individen en skrä ddärsydd lo sning eller individuell änpässning ä r ett viktigt och vänligt fo rekommände insläg i vä rt sämhä lle idäg. Vi vä ljer skolä ä t vä rä bärn. Resän bokär du sjä lv pä nä tet, du vä ljer flyg, hotell och älternätiv fo r mät, ällt utifrä n dinä egnä o nskemä l. Pä gymmet vä ljer du dinä egnä trä ningspäss eller bokär rent äv en tid med en personlig trä näre. Mobiltelefonen ges en personlig prä gel med ett

(fo rhoppningsvis) unikt skäl, bäkgrundsbild och äppär vä ljs efter eget tycke och smäk. Oävsett om du bestä ller en bil eller en skjortä levereräs en

skrä ddärsydd produkt. A ven nä r det gä ller webbsidor vi surfär in pä , sker idäg en individuell änpässning. Tvä olikä änvä ndäre presenteräs älltsä fo r delvis olikä innehä ll om de, vid exäkt sämmä tillfä lle, skulle surfä in pä en webbpläts. Digitäliseringen äv vä rt sämhä lle ger de tekniskä

fo rutsä ttningär som mo jliggo r en o nskäd individuälisering. Men känske ä r det ä ven sä ätt digitäliseringen driver individuäliseringen främä t.

Digitälisering konträ individuälisering, väd ä r ho nän och väd ä r ä gget?

SiteVision [1] änvä nds idäg äv nä stän hä lften (46%) äv Sveriges kommuner dessutom finns mä ngä storä fo retäg, myndigheter etc. bländ kundernä. Ett IT-konsultboläg som här kompetens koppläd till SiteVision och dessutom kän änvä ndä systemet pä ett innovätivt och kreätivt sä tt här älltsä storä äffä rsmä ssigä mo jligheter.

Nä r män skäpär en webbsidä, ä t till exempel en kommun, ä r det ibländ o nskvä rt ätt skrä ddärsy innehä llet pä webbsidän utifrä n den enskildä kommunmedärbetären (änvä ndären). Ibländ fo rso ker män efterliknä sociälä mediä och de flo den som fo rekommer dä r. Tänken ä r ätt

änvä ndären sjä lv kän vä ljä vilket typ äv innehä ll som skä visäs, istä llet fo r ätt innehä llet styrs äv nä gon slägs redäkto r. Fo r ätt go rä dennä individuellä änpässning äv innehä llet pä webbsidän hä mtäs delär äv innehä llet frä n

(12)

externä kä llor, sä källäde webbtjä nster. Olikä webbtjä nster skyddär sin dätä pä olikä sä tt. Viss dätä krä ver ingen äutentisering älls, dettä kän till

exempel gä llä fo r en webbtjä nst som tillhändähä ller vä derdätä. Nä r det dä remot gä ller informätion som ä r koppläd till en enskild änvä ndäre sä ä r näturligtvis sä kerhetskräven ho gre. Dä mä ste nä gon form äv äutentisering ske fo r ätt kommä ä t dätä frä n webbtjä nsten. Ett sä dänt exempel skulle kunnä värä Fäcebooks webbtjä nst fo r ätt hä mtä en enskild änvä ndäres kontäkter eller ätt lä sä ut kälenderdätä frä n en enskild änvä ndäres konto hos Google eller Microsoft. I de tvä senäre exemplen krä vs en teknisk lo sning som främfo rällt tillhändähä ller en tillfredsstä llände sä kerhet, men ä ven ä r fo rhä lländevis enkel ätt änvä ndä. Oftä utnyttjäs en sä

källäd ”betrodd tredje pärt”. I dettä projekt änvä nds ständärden OAuth 2.0.

Nä r män bygger intränä t ä r det dessutom vänligt ätt män änvä nder sä källäd Single Sign On (SSO). Anvä ndären loggär dä in en gä ng pä intränä tet och ges i och med dettä direkt äccess till de äpplikätioner som änvä ndären beho ver, utän ätt senäre beho vä loggä in i respektive äpplikätion.

SiteVision här ingä inbyggdä verktyg fo r ätt go rä en äutentisering med till exempel OAuth 2.0. Dä remot erbjuder SiteVision olikä mo jligheter ätt skäpä egnä tillä gg till de webbsidor som skäpäs i systemet. Dettä projekt underso ker mo jligä lo sningär fo r ätt skäpä egnä tillä gg till SiteVision dä r män hä mtär dätä som krä ver en äutentisering med OAuth 2.0. Inom rämen fo r projektet kommer ett sä källät ”Proof Of Concept” (POC) ätt utfo räs eftersom det ä r ett lä mpligt sä tt ätt visä hur det skulle kunnä värä mo jligt ätt utnyttjä mo jligheternä med OAuth 2.0 i SiteVision. Olikä mo jligä tekniker fo r ätt skäpä sämmä funktionälitet kommer ätt jä mfo räs utifrä n specificeräde kriterier.

1.2 Övergripande syfte

Ett lyckät projekt skulle pä lä ngre sikt kunnä ledä till ätt män fä r en effektiviseräd digitälisering äv Sveriges kommuner sämt ä ven äv ändrä orgänisätioner. Projektets o vergripände syfte ä r ätt ge o käd kunskäp om hur män i SiteVision kän integrerä innehä ll frä n kä llor som krä ver

äutentisering med OAuth 2.0. Dennä kunskäp kän fo rhoppningsvis bidrä till väl äv strätegier och utformändet äv nyä, ä nnu ej pro väde, tekniskä

lo sningär.

1.3 Avgränsningar

Underso kningen ä r ävgrä nsäd till ett specifikt CMS (SiteVision), ett

specifikt rämverk fo r äutentisering (OAuth 2.0) sämt en specifik webbtjä nst (Outlooks API fo r Office 365). Utifrä n dessä givnä fo rutsä ttningär kommer tvä olikä mo jligä tekniker ätt underso käs i syfte ätt skäpä ett fungerände exempel (POC) enligt väd som beskrivits tidigäre i käpitel 1. I fo rstä händ kommer en lo sning med Jävä Portlets ätt fo rso kä skäpäs och i ändrä händ

(13)

en lo sning som änvä nder sig äv SiteVision WebApps. Nedän fo ljer en kort motivering till gjordä ävgrä nsningär.

1.3.1 SiteVision

Att just CMS:et SiteVison skäll änvä ndäs i konstruktionsdelen i dettä projekt bestä ms äv Cybercom. Pä fo retäget finns ett o nskemä l om ätt fä o käd kompetens pä SiteVision eftersom män sämärbetär med mä ngä kunder som änvä nder SiteVision. Hä r finns älltsä en främtidä äffä rspotentiäl, bländ ännät genom ätt nä o käd effektivisering äv digitälisering, änser män.

1.3.2 Office 365

Flerä äv Cybercoms kunder änvä nder idäg Office 365:s tjä nster fo r mäil, kälender etc. Dä rfo r utgo r API:et en intressänt tillä mpning fo r projektet.

1.3.3 OAuth 2.0

De tre frä mstä skä len till ätt vä ljä OAuth 2.0 ä r:

1. Office 365 krä ver äutentisering med just OAuth 2.0.

2. Det ä r vä l kä nd och bepro väd teknik som änses sä ker och fo rhä lländevis lä tt ätt änvä ndä.

3. Skälbärhet, mä ngä ändrä API:er krä ver äutentisering med OAuth 2.0.

Alltsä kän män tä nkä sig främtidä tillä mpningär dä r män änvä nder ändrä webbtjä nster1 ä n Office 365 men i o vrigt gä r tillvä gä pä ett i stort sett likädänt sä tt som i dettä projekt.

1.3.4 Java Portlets och SiteVision WebApps

SiteVision erbjuder ett äntäl olikä mo jligheter ätt go rä egnä tillä gg [2][3].

Nä grä äv dem beskrivs i käpitel 2.1. Utifrä n de givnä fo rutsä ttningärnä, ätt hä mtä dätä frä n ett externt API som krä ver äutentisering med OAuth 2.0, ä r det bärä Jävä Portlets och WebApps som ä r intressäntä. I synnerhet om män tär hä nsyn till främtidä skälbärhet äv projektet.

1 Exempel på organisationer som tillhandahåller webtjänster som använder OAuth 2.0: Google, LinkedIn, Facebook och Amazon.com

(14)

1.4 Konkreta och verifierbara mål

1. Presenterä älternätivä tekniskä lo sningär pä den uppgift det innebä r ätt genomfo rä en äutentisering med OAuth 2.0, vilken i sin tur änvä nds fo r ätt hä mtä kälenderdätä frä n Office 365:s API till SiteVision.

2. Identifierä kriterier fo r ätt mä tä kvälite n pä de älternätivä tekniskä lo sningärnä som beskrivs i punk1.

3. Utvä rderä och jä mfo rä de olikä tekniskä lo sningärnä i punkt 1 med hjä lp äv kriteriernä i punkt 2. Presenterä ett resultät som kän liggä till grund fo r ett fortsätt utvecklingsärbete.

1.5 Översikt

Käpitel 2 beskriver viktigä delär äv dettä projekt främfo rällt nä r det gä ller utfo rändet äv det konkretä exemplet, POC:et. SiteVision, OAuth 2.0 och Jävä Portlets fo rkläräs nä rmär hä r. Den metod som legät till grund fo r dettä projekt presenteräs i käpitel 3. Hä r presenteräs ä ven ett inledände delresultät kopplät till punkt 2 i käpitel 1.4, eftersom det ligger till grund fo r den o vrigä metoden. I käpitel 4 presenteräs konstruktionen äv POC:et.

Resultäten ä terges i käpitel 5 och i käpitel 6 fo rs en slutlig diskussion om resultäten och genomfo rändet äv projektet.

1.6 Författarens bidrag

Fo rfättären stä r sjä lv fo r ällt ärbete inom rämen fo r projektet. Nä r det gä ller den tekniskä lo sningen, älltsä skäpändet äv progrämkod, här oftä ärbetet tägit sin utgä ngspunkt i nä got befintligt exempel. Hur män go r en äutentisering med OAuth och sedän änvä nder den fo r ätt hä mtä dätä frä n Office 365:s API finns beskrivet äv Microsoft med en räd exempel i olikä progrämmeringssprä k[4]. Dock krä vs en djupäre fo rstä else äv dessä exempel sä ätt män kän go rä en änpässning äv dem. Till exempel här änpässningär gjorts frä n exemplets Jävä Servlets till projektets Jävä Portlets, dessutom med den Portlet server som SiteVision tillhändähä ller.

Näturligtvis här personäl pä Cybercom värit behjä lpligä med sin kompetens inom Jäväprogrämmering, Jävä Portlets och SiteVision, fo r ätt nä mnä nä grä exempel. Främfo rällt här de kunnät svärä pä mä ngä äv de frä gor som dykt upp. Dessutom här fo rfättären fä tt en del sto d i vilkä olikä

utvecklingsverktyg som bo r änvä ndäs sämt en mässä präktiskä tips pä hur män änvä nder dessä utvecklingsverktyg.

(15)

2 Teori

Kä rnän i dettä projekt utgo rs äv en äpplikätion som visär exempel pä änvä ndändet äv OAuth 2.0 fo r ätt hä mtä extern dätä till SiteVision. Dä rfo r innehä ller dettä käpitel fo rkläringär pä de olikä system, rämverk, tekniker etc. som utnyttjäs fo r ätt fä äpplikätionen ätt fungerä.

2.1 SiteVision

SiteVision ä r ett Content Mänägement System (CMS) som änvä nds fo r ätt skäpä webplätser och sociälä intränä t. Män kän sä gä ätt SiteVision utgo r ett slägs publiceringsverktyg, helt enkelt. SiteVision änvä nds äv ett äntäl kommuner, myndigheter och fo retäg, frä mst i Sverige.

Nä r män utvecklär nyä webbplätser och intränä t go rs en del äv ärbetet i SiteVisions sä källäde redigeringslä ge. Uto ver dettä änvä nds ä ven ändrä utvecklärverktyg fo r till exempel kodning och versionshäntering.

Redigeringslä get erbjuder ett stort äntäl mo jligheter och verktyg fo r ätt skäpä en webbpläts eller ett intränä t. Fo rutom dessä inbyggdä verktyg kän SiteVision utvidgäs pä ett äntäl olikä sä tt genom ätt män som utveckläre go r egnä tillä gg [2][3]. Nä grä exempel pä tillä gg:

• HTML: det gä r ätt, pä olikä sä tt, lä ggä till egen HTML-kod och pä sä sä tt skäpä skrä ddärsytt innehä ll pä webbplätsen.

• Script portlet: en mo jlighet ätt lä ggä till egnä script i scriptsprä ken JäväScript eller Velocity fo r ätt uppnä o nskäd, skrä ddärsydd,

funktionälitet.

• Java portlet: enligt SiteVision det mest flexiblä sä ttet ätt skäpä eget innehä ll och egen funktionälitet i CMS:et. Portlets kodäs i Jävä och kän dä rmed utnyttjä Jävä Enterprise Editions helä klässbibliotek sämt i o vrigt ällä mo jligheter som Jävä Enterprise Edition medfo r.

• WebApps: En helt ny teknik fo r ätt byggä ut SiteVision, med stärkä influenser äv Express.JS. Tekniken bygger pä HTML, CSS och

JäväScript. JäväScript exekveräs isomorft, det vill sä gä bä de pä server- och klientsidän.

2.2 OAuth 2.0

OAuth 2.0 ä r en o ppen ständärd, i präktiken ett slägs rämverk, fo r ätt ge tredjepärtsäpplikätioner tillgä ng till resurser som tillho r en änvä ndäre pä en extern server. Rämverket beskrivs i detälj äv IETF:s2 RFC6749[5] . OAuth

2 Internet Engineering Task Force

(16)

2.0 änvä nds idäg äv ett äntäl storä fo retäg, till exempel Google, Microsoft, Amäzon, Fäcebook och Twitter. Det ä r älltsä mo jligt ätt fo r vem som helst skäpä en äpplikätion som pä ett sä kert sä tt hä mtär dätä frä n ett enskilt änvä ndärkonto hos till exempel Fäcebook eller Microsofts Office 365. En sä ker äccess till den enskilde änvä ndärens dätä sker dä med hjä lp äv OAuth 2.0. Utän OAuth 2.0 skulle den externä servern krä vä ätt änvä ndärnämn och lo senord fo r den enskilde änvä ndären änges värje gä ng

tredjepärtsäpplikätionen go r en http-fo rfrä gän. Dettä skulle innebä rä ätt den enskilde änvä ndären mä ste lä mnä ut sinä äutentiseringsuppgifter till tredjepärtsäpplikätionen. I sä fäll fä r vi älltsä en häntering äv

äutentiseringsuppgifter som innebä r en sä kerhetsrisk, milt uttryckt.

Män skulle kunnä sä gä ätt OAuth 2.0 skäpär en speciell sorts nyckel, ett sä källät äccess token, som en enskild änvä ndäre kän änfo rtro ä t en

tredjepärtsäpplikätion. Nyckeln lä ter tredjepärtsäpplikätionen kommä ä t den enskilde änvä ndärens dätä pä en server. Vilken dätä som blir

tillgä nglig, hur lä nge nyckeln ä r giltig m.m. ä r pärämeträr som finns inbyggdä i nyckeln.

Autentiseringsfo rfärändet kän se lite olikä ut beroende pä i vilket sämmänhäng OAuth 2.0 änvä nds. Oävsett sämmänhäng sä ä r principen densämmä. Nedän fo ljer en beskrivning äv hur äutentiseringsfo rfärändet gä r till i dettä projekt. Figur 3 visär ä ven sämmä säk. Till ätt bo rjä med finns det nä grä centrälä begrepp som bo r fo rkläräs:

Resursägare (Användare): Vänligtvis änvä ndären äv

tredjepärtsäpplikätionen. I projektets POC utgo rs resursä gären äv en enskild person som här ett konto hos Microsofts Office 365.

Resursserver: Den server som tredjepärtsäpplikätionen vill hä mtä dätä (resurser) ifrä n. I projektets POC motsväräs dennä äv Office 365:s server som innehä ller till exempel kälenderuppgifter fo r resursä gären.

Klient: Tredjepärtsäpplikätionen som här fo r ävsikt ätt kommä ä t resurser pä resursservern. I Projektets POC utgo rs klienten äv den äpplikätion som skäpäts.

Auktoriseringsserver: Server som änsvärär fo r äutentiseringen äv

klienten. I POC:et ä r dettä Microsofts äutentiseringsserver, eftersom det ä r deräs resursserver som skäll änvä ndäs.

Auktoriseringsförfrågan: Nä r klienten äutentiserär sig hos

äuktoriseringsservern. Vi lyckäd fo rfrä gän genereräs ett sä källät Gränt Token som returneräs till klienten.

Grant Token (ID Token): ett lo senord som klienten erhä ller frä n äuktoriseringsservern. Klienten byter sedän dettä Gränt Token mot ett Access Token. Män kän sä gä ätt Gränt Token fungerär som ett slägs ID fo r klienten hos äuktoriseringsservern.

(17)

Klient-ID och Klientlösenord: Utvecklären äv tredjepärtsäpplikätionen här i fo rvä g registrerät sin äpplikätion hos äuktoriseringsservern och dä erhä llit ett klient-ID tillsämmäns med ett klientlo senord. Dettä ä r

informätion som deläs endäst äv klient och äuktoriseringsserver. Hur registreringen äv tredjepärsäpplikätionen ser ut visäs nedän i figur 1.

Dessutom här äpplikätionsutvecklären vid registreringen ängett en omdirigerings URL3 (redirect URL)

Access Token: Den slutgiltigä ”nyckeln” som änvä nds äv klienten fo r ätt hä mtä resurser frä n resursservern, viä dess API.

Figur 1: Registrering av tredjepartsapplikation hos Microsofts Auktoriseringsserver.

Det fo rstä som sker ä r ätt änvä ndären änger en webbädress (URL3) i sin webblä säre. Webblä sären o ppnär URL:en och dirigeräs till klienten (tredjepärtsäpplikätionen) som pä bo rjär processen med OAuth 2.0.

Klienten dirigerär änvä ndärens webblä säre till äuktoriseringsservern tillsämmäns med fo ljände pärämeträr: klient-ID, klientlo senord (se ovän), scope, stäte och nonce. Pärämetern scope tälär om vilkä resurser klienten ävser ätt änvä ndä hos resursservern. Till exempel ätt klienten vill fä lä srä ttigheter till dinä mäil. Stäte och nonce ä r tvä sä källäde UUID4. En UUID ä r ett 128 bitärs slumptäl som i präktiken kän änses helt unikt.

Sännolikheten ätt tvä olikä UUID:er skä värä identiskä ä r mätemätisk sett sä nä rä noll ätt män i präktiken rä knär med ätt den ä r noll. (Sännolikheten ä r cirkä 3·10-39.) Auktoriseringsservern frä gär nu änvä ndären om klienten (tredjepärtsäpplikätionen) tillä ts fä tillgä ng till de resurser som finns specificeräde i pärämetern scope. Ett exempel pä dettä visäs i figur 2.

3 Uniform Resource Locator

4 Universally Unique Identifier

Redirect URL

(18)

Figur 2: Exempel på förfrågan från auktoriseringsserver till användare.

Under fo rutsä ttning äv äutentiseringen hos äuktoriseringsservern lyckäs sä skickäs resultätet tillbäks till klienten enligt den omdirigerins-URL som sedän tidigäre finns ängiven hos äuktoriseringsservern. De viktigäste pärämeträrnä som returneräs ä r ett Gränt Token som visär ätt klienten ä r äutentiseräd sämt stäte. Det jä mfo rdä stäte jä mfo rs hos klienten med det sedän tidigäre skickäde, de bä dä skäll värä identiskä. Det klienten nu go r ä r ätt skickä en fo rfrä gän till äuktoriteringsservern fo r ätt erhä llä ett Access Token. Dennä fo rfrä gän mä ste innehä llä Gränt Token sämt nonce (plus vissä ändrä pärämeträr). Om fo rfrä gän godkä nns returneräs ett Access Token. Slutligen änvä nder klienten dettä Access Token till ätt hä mtä resurser hos resursservern.

An application would like to connect to your account.

The app CalendarReader by A Edin asks for permission to access the following from Your Office 365 account:

Calendar-Read.

Accept Deny

(19)

Figur 3: Autentiseringsförarande med OAuth 2.0

2.3 Java Portlets

Nä got fo renklät skulle män kunnä sä gä ätt portlets ä r en teknik fo r ätt skäpä innehä ll pä websidor. Värje portlet ä r en äpplikätion som genererär en del äv innehä llet pä en webbsidä. En fo rdel som oftä främhä lls ä r ätt dennä teknik go r det lä tt ätt skäpä skrä ddärsytt innehä ll pä en

webbsidä.[6] Figur 4 visär ett exempel pä hur män kän tä nkä sig en

webbsidä som ä r uppbyggd med tre olikä portlets; vä der, bo rs och kälender.

(20)

Figur 4: Webbsida med portlets (exempel)

Sidän som portlet:en ä r en del äv källäs portälsidä (eng: portäl päge).

Portälsidän skäpäs äv en portlet server och distribueräs till klienten. Nedän fo ljer en beskrivning äv de centrälä delärnä i portlettekniken. Figur 5 visär en motsvärände gräfisk beskrivning.

En portlet kän sä gäs värä en fristä ende äpplikätion som genererär en del äv innehä llet pä en portletsidä, ett sä källät frägment. Frägmentet som genereräs ä r vänligtvis i HTML, XHTML eller nä got ännät mä rksprä k. En portlet kän inte genererä en komplett webbsidä till skillnäd frä n till exempel Jävä Servlets eller Jävä Server Päges (JSP). De senäre tvä ä r nä rliggände tekniker som oftä jä mfo rs med portlets. Hur portlets integreräs till en komplett webbsidä beskrivs lä ngre ned. Eftersom en portlet fungerär som en fristä ende äpplikätion kän den hä mtä dätä frä n externä resurser som till exempel webbtjä nster eller dätäbäser. Den kän ä ven kommunicerä med ändrä portlets i sämmä portletcontäiner.[6][7]

En Jävä portlet mä ste implementerä Jävä-grä nssnittet Portlet, äntingen direkt eller genom ätt ä rvä en kläss som implementerär grä nssnittet.

Grä nssnittet beskriver fyrä metoder:

1. init (PortletConfig config), dennä metod änropäs äv portletcontäinern fo r ätt tälä om fo r en portlet ätt den skä äktiveräs.

2. processAction (ActionRequest request, ActionResponse response), metoden tär emot en fo rfrä gän (eng: request) frä n portletkontäinern och processär sedän dennä.

3. render (RenderRequest request, RenderResponse response), dennä metod änropäs äv portletcontäinern fo r ätt portleten skäll genererä sin respons.

4. destroy (), änvä nds nä r portletcontäinern skäll inäktiverä en portlet.

Portletcontäinern änsvärär fo r en portlets livcykel. Det betyder ätt den bestä mmer vilken äv ovänstä ende metoder som änropäs vid ett visst tillfä lle.

(21)

Potrtälserverns roll ä r ätt tä emot de frägment som portlets:en i portletcontäinern genererät och sämmänfogä dem till en portälsidä.

SiteVision här en inbyggd funktion fo r ätt fungerä som portälserver.[8]

Figur 5: Infrastruktur för portlets

2.4 WebApps i SiteVision

WebApps ä r en ny teknik i SiteVison som endäst länseräts i en betäversion i slutet äv 2017. Med hjä lp äv WebApps kän män integrerä funktionälitet som män utvecklär sjä lv. WebApps bygger pä HTML, CSS och JäväScript och här storä likheter med rämverket ExpressJS. JäväScript kän i dettä sämmänhäng exekveräs isomorft, älltsä bä de pä server- och klientsidän.

(22)

3 Metod

Fo r ätt uppfyllä mä len som beskrivs i käpitel 1.4 mä ste dessä brytäs ner i mindre delär. Nä r det gä ller det fo rstä mä let, som ro r POC:et, mä ste fo ljände punkter genomfo räs:

1:1 Skäpä ett fungerände exempel i Jävä som genomfo r en äutentisering med hjä lp äv OAuth 2.0 hos Office 365:s API.

1:2 Skäpä ett fungerände exempel i Jävä som änvä nder äutentiseringen i punkt 1 och med hjä lp äv den hä mtär kälenderdätä frä n Office 365:s API.

1:3 Skäpä ett fungerände exempel enligt punkt 1 som änvä nder Jävä Portlets.

1:4 Skäpä ett fungerände exempel enligt punkt 2 som änvä nder Jävä Portlets.

1:5 Skäpä ett fungerände exempel som utfo r bä de 3 och 4 och dessutom distribueräs (”deployäs”) pä SiteVisions server.

1:6 Utfo rä punkt 1-5 men med hjä lp äv WebApps istä llet fo r Jävä Portlets.

De tvä olikä teknikernä, Jävä Portlets sämt WebApps, kommer ätt jä mfo räs.

Fo r ätt ringä in vilkä kriterier som ä r viktigä i en sä dän jä mfo relse kommer fo rst en intervju med utveckläre frä n Cybercom ätt genomfo räs. Dä rfo r kommer fo ljände punkter koppläde till punkt 2 och 3 i käpitel 1.4 ätt genomfo räs:

2:1 Intervjuä utveckläre pä Cybercom i syfte ätt ätt identifierä vilkä kriterier som ä r releväntä ätt studerä vid en jä mfo relse äv de tvä teknikernä Jävä Portlets respektive WebApps.

3:1 Utifrä n de främtägnä kriteriernä i punkt 2:1 ovän jä mfo rä de tvä teknikernä Jävä Portlets respektive WebApps.

3.1 Intervjuer

Intervjuernä genomfo rdes enskilt med en utveckläre ä t gä ngen. Under intervjutillfä llet fo rdes en o ppen diskussion kring frä gestä llningär som intervjuären (räpportens fo rfättäre) fo rberett. Anteckningär fo rdes äv intervjuären under intervjuernä. Resultätet frä n intervjuernä finns sämmänstä llt i käpitel 3.2. Frä gestä llningärnä som lä g till grund fo r intervjuernä vär fo ljände:

1. Nä r män jobbär som utveckläre, vilkä fäktorer koppläde till utvecklingsmiljo , progrämmeringssprä k och liknände ä r viktigä fo r

(23)

ätt underlä ttä ditt utvecklingsärbete och fo r ätt ä städkommä ett brä resultät?

2. Beskriv hur du änvä nder debugging i ditt utvecklingsärbete och pä vilket sä tt debugging hjä lper dig.

3. Beskriv hur du änvä nder dig ävdokumentätion äv olikä släg i ditt utvecklingsärbete och pä vilket sä tt dokumentätionen hjä lper dig.

4. Vilkä fo r- respektive näckdelär kän du se med WebApps i SiteVision?

5. Vilkä fo r- respektive näckdelär kän du se med JäväPortlets i SiteVision?

3.2 Inledande delresultat

Eftersom kriteriernä beskrivnä i punkt 2:1 ovän i käpitel 3 ligger till grund fo r metoden, i synnerhet punkt 3:1 sä presenteräs resultäten frä n de gjordä intervjuernä i punkt 2:1 redän hä r.

Vid intervjuernä med utveckläre pä Cybercom främkom det fem huvudomrä den som utgo r kriterier fo r jä mfo relsen mellän Jävä Portlets och WebApps. Kriteriernä finns beskrivnä nedän i punkternä 3.2.1-3.2.5.

3.2.1 Dokumentation

Som utveckläre kän män fä stort sto d äv officiell dokumentätion frä n den som tillhändähä ller ett progrämmeringssprä k, ett rämverk eller ett utvecklingsverktyg. Ett brä exempel pä dettä ä r fo retäget Oräcles dokumentätion kring progrämmeringssprä ket Jävä. [9] A ven icke officiellä kä llor kän värä till stor hjä lp. Det finns mä ngä diskussionsforum pä internet, dä r vänligt fo rekommände problem inom progrämmering diskuteräs. Det känske mest omtäläde ä r Stäckoverflow[10]. A ven om Stäckoverflow ä r ett diskussionsforum dä r i princip vem som helst kän go rä ett inlä gg sä utgo r det en tillfo rlitlig kä llä fo r en utveckläre. Eftersom inlä gg helä tiden diskuteräs äv mä ngä, oftä kunnigä personer, sä fo rmedläs en nyänseräd bild.

Dessutom skulle ett undermä ligt eller helt feläktigt lo sningsfo rsläg sännolikt fä mycket kritik. I slutä ndän kän män ju älltid testä ett lo sningsfo rsläg och dä rigenom go rä sin egen bedo mning äv det. Avslutningsvis finns det ett stort äntäl webbplätser som visär och fo rklärär progrämmering utifrä n exempel.

Hä r kän män nä mnä w3schools [11] som ä r ett kä nt exempel.

3.2.2 Debugging

Vid utveckling äv nä got sto rre projekt blir det oftä svä rt ätt hä llä redä pä väd som sker i vilken del äv koden. Sä rskilt svä rt blir det nä r nä got blir fel och

(24)

det inte fungerär som ävsett. Fo r ätt letä redä pä feläktigheter i progrämmeringskoden ä r ett brä debuggingverktyg till stor hjä lp, fo r ätt inte sä gä helt ävgo rände. Ett vänligt sä tt ätt jobbä pä ä r ätt män sä tter sä källäde breäkpoints. Nä r progrämkoden exekveräs go rs ett stopp dä män nä r en breäkpoint. Med debuggingverktyget kän män dä se olikä väriäblers vä rden fo r tillfä llet och utifrä n dettä drä slutsätser om väd som sker. Säknär män tillgä ng till ett debuggingverktyg kän män ibländ fä viss hjä lp pä ännät sä tt.

Det gä r till exempel ätt loggä olikä väriäblers vä rden i webblä särens konsol älternätivt i en loggfil, eller helt enkelt skrivä progrämkod som visär olikä väriäblers vä rden. Dock ä r de tvä senäre betydligt krä ngligäre.

3.2.3 Distribuering (Deploying)

Innän den skrivnä progrämkoden ä r en ko rbär fungerände (webb)äpplikätion mä ste den distribueräs (eng: deploy) pä en (webb)server. Applikätionen bestä r oftä äv mä ngä olikä filer som kän innehä llä värieräd typ äv progrämkod (till exempel html, JäväScript och CSS).

Dessä filer här olikä beroenden och relätioner till värändrä, nä got som mä ste beskriväs fo r servern. En del äv progrämkoden krä ver kompilering innän den kän distribueräs till servern. Allt dettä krä ver vänligtvis ätt män som utveckläre änger ett äntäl pärämeträr fo r distribueringen till servern. Ibländ krä ver distribueringen ett stort äntäl mänuellä ä tgä rder frä n utvecklären.

O nskvä rt ä r ätt distribueringen kän ske sä smidigt som mo jligt, känske endäst genom ett musklick. Helt optimält ä r ätt genomsläget äv ny progrämkod endäst krä ver en uppdätering äv webblä sären. En smidig distribuering ä r viktigt eftersom minstä ä ndring i progrämkoden krä ver en ny distribuering till servern innän män ser vilken effekt ä ndringen fä r. Under ett utvecklingsärbete sker det kontinuerligt fo rä ndringär äv progrämkoden.

Fo rutom ätt det upplevs som frustrerände med en lä ngsäm distribueringsprocess som krä ver mä ngä mänuellä ä tgä rder sä o kär ju risken ätt det sker nä got misstäg i dennä process.

3.2.4 Ekonomi

I vissä fäll kän det värä fo renät med en kostnäd nä r män go r egnä tillä gg till SiteVision. Jävä Portlets mä ste testäs och godkä nnäs äv SiteVision innän de fä r ko räs i produktion (skärpt lä ge), ett ärbete som SiteVision näturligtvis debiterär fo r. Dettä gä ller endäst om webbplätsen dä r portleten ingä r ligger pä en server som tillhändähä lls äv SiteVision.

3.2.5 Säkerhet

Det finns ä ven en viss sä kerhetsäspekt koppläd till distribueringen. Det kän ibländ krä väs ätt den som skä distribuerä ny kod till servern mä ste fä direkt tillgä ng till filer och filkätäloger pä servern. Det betyder ätt i vä rstä fäll kän

(25)

älltsä nä gon obeho rig fä tillgä ng till produktionsmiljo n och stä llä till skädä, ävsiktligt eller oävsiktligt.

(26)

4 Konstruktion

Arbetsflo det fo r POC:et med jävä portlets beskrivs nedän i figur 6. Figuren visär flo det pä ett relätivt fo renklät sä tt. Till exempel presenteräs

äutentiseringsfo rfärändet med OAuth 2.0 mer detäljerät i käpitel 2.2 och Principen fo r Jävä Portlets beskrivs i käpitel 2.3. Figur 6 innehä ller filnämn med suffixet .vm, till exempel index.vm. Vm stä r fo r Velocity-mäll. Det ä r en slägs mäll som kän innehä llä HTML-kod. Jäväkoden i en portlet kän

ädresserä innehä ll till mällen. Vebservern i SiteVision kän lä sä in Velocity- mällen och presenterä innehä llet fo r webblä sären.

Figur 6: Arbetsflödet i poc:et som använder Java Portlets

(27)

5 Resultat

Utgä ende frä n de kriterier som presenteräs i käpitel 3.2.1-3.2.5 här en jä mfo relse gjorts mellän de tvä olikä teknikernä som änvä nds fo r ätt go rä egnä tillä gg i SiteVision. Resultätet äv jä mfo relsen presenteräs nedän i täbell 7. Värje fo rdel poä ngsä tts med ett plustecken (+) och värje näckdel med ett minustecken (-). I täbellens nederstä räd visäs summornä.

Java Portlets WebApps

Dokumentation

Fördelar: Jävä Portlets finns vä l beskrivet i Oräcles[9] officiellä dokumentätion. (+) Uto ver dettä finns det en mä ngd

diskussionsforum ätt tä del äv eftersom

tekniken ä r vä l bepro väd. (+)

SiteVision här en egen beskrivning äv sitt publikä API[12], helt i stil med Oräcles dokumentätion. (+)

Fördelar: Eftersom WebApps pä minner stärkt om Express.js finns mycket

dokumentätion ätt hä mtä frä n det omrä det.

(+)

Nackdelar: Hur Jävä Portlets fungerär specifikt i SiteVision finns det fä exempel pä eller nä grä

diskussionsforum som ä r till brä hjä lp. (-)

Nackdelar: Express.JS och WebApps i

SiteVision skiljer sig ä t en del värfo r

dokumentätionen om Express.JS ej blir direkt tillä mpbär. Det blir som ätt ”o versä ttä mellän Dänskä och Svenskä”. (-)

Debugging

Fördelar: Fungerär fullt ut, helt jä mfo rbärt med hur det funkär med Jävä i o vrigt. (+)

Fördelar: -

Nackdelar: - Nackdelar: Begrä nsäde mo jligheter. Jä mfo r med debugging inom

JäväScript. (-) Distribuering Fördelar: Enkelt,

krä ver dock ätt män Fördelar: Enkelt, krä ver inmätning äv en

(28)

här koll pä vissä pärämeträr. Sko ts viä ett script. (+)

räd i kommändotolken dä refter ä r det bärä ätt uppdäterä webblä sären fo r ätt se resultätet.

Import till SiteVision fo rstä gä ngen sker viä ett webbgrä nssnitt. (+) Nackdelar: - Nackdelar: -

Ekonomi

Fördelar: - Fördelar: Kostär inget.

(+) Nackdelar: SiteVision

debiterär fo r

obligätorisk testning om distribueringen sker till en server som sko ts äv SiteVision. (-)

Nackdelar: -

Säkerhet

Fördelar: - Fördelar: Distribueräs med hjä lp äv

webbgrä nssnitt i

SiteVision. Dettä go r ätt det ej krä vs nä gon äccess till filer och mäppär i

produktionsmiljo n. (+) Felkontroller ko rs vid exekvering äv

JäväScript. (+) Nackdelar: Eftersom

distribueringen krä ver direkt tillgä ng till filer och kätäloger pä SiteVisions Tomcät- server finns en risk fo r obeho rig äccess till dessä. (-)

Nackdelar: -

Summa

fördelar/nackdelar 5+/3- 5+/2-

Tabell 7: Resultat av jämförelse mellan Java Portlets och WebApps.

(29)

6 Diskussion

6.1 Uppfyllelse av mål

De mä l som beskrivs i käpitel 1.4 kän änses uppfylldä. Fo rvisso här bärä ett POC skäpäts (Jävä Portlets), men trots dettä här ä ndä de tvä älternätivä teknikernä Jävä Portlets och WebApps studeräts i en sä dän utsträ ckning ätt de kunnät presenteräs i enlighet med punkt 1. Dessutom här intervjuer, utvä rdering och jä mfo relse genomfo rts och presenteräts enligt väd som beskrivs i punkt 2 och 3. Resultätet äv jä mfo relsen visär ett jä mnt resultät dä r de tvä älternätivä teknikernä främstä r som likä stärkä.

Rekommendätionen ä r ätt den som ävser ätt änvä ndä dennä teknik bo r sä ttä sig in i fo r- och näckdelär med respektive älternätiv och go rä sitt väl utifrä n tilltä nkt änvä ndningsomrä de.

6.2 Framtida utveckling

Fo rhoppningsvis sker en utveckling äv den teknik som studeräts i dettä projekt. Cybercom här i projektets slutskede uttryckts ätt en

vidäreutveckling äv projektets POC skulle kunnä värä fullt mo jlig. Om män skälär upp POC:et sä finns mo jlighet ätt utnyttjä fler delär äv Office 365:s API[13]. API:et ger mo jlighet ätt hänterä mäil, kontäkter, kälendrär, filer, foton etc. Hä r finns sännolikt främtidä mo jligheter till effektiviseräd digitälisering och individuälisering.

Det häde värit o nskvä rt ätt konstruerä ett fungerände exempel med WebApps. Arbetet med dettä här dock pä bo rjäts. De sto rstä svä righeternä verkär liggä i ätt änpässä befintlig kod i Node.js till SiteVisions speciellä miljo . I Node.js änvä nds oftä redän befintligä bibliotek med progrämkod, som män fo rst läddär ned och sedän importerär till sitt projekt. (med kommändot require() ). Fo r ätt kunnä importerä sä källäde moduler till en WebApp i SiteVision mä ste modulen hä en ännän struktur jä mfo rt med den struktur som vänligtvis änvä nds i Node.js. Dettä beskrivs med ett exempel i bilägä A.

Avsäknäden äv tidigäre gjordä exempel och utfo rlig dokumentätion nä r det gä ller WebApps i SiteVision, ä r vä ldigt pä täglig. Dettä beror pä ätt SiteVision länseräde WebApps i december 2017, dä i betäversion. Utvecklingen och änvä ndändet äv dennä teknik befinner sig älltsä i ett stärtskede. Av sämmä änledning erbjuder SiteVision begrä nsäd support pä WebApps. En bä ttre dokumentätion och bä ttre mo jlighet till support häde sä kerligen underlä ttät delär äv utvecklingsärbetet i projektet.

Innän projektets stärt vär tänken ätt WebApps skulle utgo rä fo rstähändsälternätivet fo r POC:et. Eftersom SiteVision länseräde WebApps fo rst i december 2017 fick projektet till en bo rjän tä en ännän riktning ä n väd som vär tä nkt. Dä rmed väldes Jävä Portlets som älternätiv fo r POC:et.

Projektet visär trots ällt ätt tekniken med WebApps ä r sä päss intressänt ätt män bo r ärbetä vidäre med den och tä främ ett fungerände POC.

(30)

Ytterligäre ett omrä de som kän värä intressänt fo r vidäre studier ä r ändrä webbtjä nster som ocksä krä ver äutentisering med OAuth 2.0. Vilkä fo rä ndringär skulle det krä väs fo r ätt hä mtä dätä frä n nä got äv Googles API:er, till exempel?

6.3 Etiska aspekter

Det finns ett integritetsperspektiv som bo r täs i beäktände. Autentiseringen med OAuth 2.0 här fo rdelen ätt tredjepärtsäpplikätionen (POC:et i dettä projekt) inte fä r tillgä ng till resursä gärens (änvä ndärens)

äutentiseringsuppgifter, till exempel änvä ndärnämn och lo senord hos office 365. Sä lä ngt ä r det inget bekymmer med integriteten gentemot

änvä ndären. Nä stä steg ä r ätt tredjepärtsäpplikätionen änvä nder den gjordä äutentiseringen till ätt hä mtä dätä frä n Office 365:s API. Dettä ä r nä got som änvä ndären gett sitt medgivände till. Fortfärände inget bekymmer med änvä ndärens integritet älltsä . Frä gän ä r väd som sedän sker med hä mtäde dätä. Hur hänteräs dätä? Hä r här definitivt utvecklären äv tredjepärtsäpplikätionen ett änsvär fo r ätt dätä hänteräs pä ett sä kert sä tt med bibehä llen integritet fo r änvä ndären. Ett mäil eller en

kälenderuppgift hä mtäd frä n Office 365 innehä ller informätion som inte pä nä got sä tt fä r änvä ndäs i ett sämmänhäng dä r den enskilde änvä ndärens integritet ä ventyräs. Vidäre mä ste män frä gä sig om nä gon dätä kommer ätt lägräs, i en dätäbäs till exempel? Sker dettä i sä fäll enligt GDPR5?

Sä kerhets- och integritetsäspekternä ä r inget specifikt fo r dettä projekt.

Som utveckläre ä r det älltid viktigt ätt värä medveten om hur dätä hänteräs äv den teknik män ärbetär med. Feläktig häntering äv dätä kän i vä rstä fäll bli mycket kostsämt fo r ett fo retäg.

6.4 Övrigt

Den äkädemiskä kvälite n pä projektet häde sännolikt tjä nät pä ätt jä mfo relsen mellän Jävä Portlets och WebApps ä ven grundät sig pä nä gon form äv litterätur- eller teoristudie. Det här värit svä rt, fo r ätt inte sä gä omo jligt, ätt hittä litterätur som behändlär det smälä och specifikä kontext SiteVision medfo r. Dessutom här ändrä delär äv projektet krä vt mycket ärbete. Dä rmed finns det änledning ätt sä ttä frä getecken kring huruvidä en sä dän litteräturstudie värit mo jlig utifrä n den begrä nsäde tiden fo r projektet. Litteräturstudien häde ä tminstone krä vt en omprioritering äv projektets olikä delär.

(31)

Källförteckning

[1] SiteVision referenser,

https://www.sitevision.se/referenser/referenser.html, hä mtäd 2019-01-17.

[2] How to extend SiteVision, https://help.sitevision.se/SiteVi- sion_4_0/808.html, hä mtäd 2018-02-06

[3] SiteVision ”WebApps”,

https://help.sitevision.se/SiteVision_4_0/12706161.html, hä mtäd 2018-02-06

[4] Overview of using the Outlook REST APIs, https://docs.mi-

crosoft.com/en-us/outlook/rest/get-stärted, hä mtäd 2018-02-06.

[5] The OAuth 2.0 Authorizätion Främework,

https://tools.ietf.org/html/rfc6749, hä mtäd 2018-01-07 [6] A. Särin, Portlets In Action. Männing Publicätions Co., 2010

[7] Oräcle, “Underständing the Jävä Portlet Specificätion 2.0 (JSR 286):

Pärt 1, Overview änd Coordinätion Between Portlets”,

http://www.oräcle.com/technetwork/jävä/jsr286-141866.html, hä mtäd 2018-02-08

[8] Jävä Community Process, “JSR-000286 Portlet Specificätion 2.0”, http://downloäd.oräcle.com/otndocs/jcp/portlet-2.0-fr-oth-JSpec/, hä mtäd 2018-02-08

[9] Oräcle Help Center, “Jävä Documentätion”,

https://docs.oräcle.com/en/jävä/, hä mtäd 2018-02-24

[10] Stäckoverflow, https://stäckoverflow.com/, hä mtäd 2018-02-24 [11] W3schools ”the world’s lärgest web developer site”,

https://www.w3schools.com/, hä mtäd 2018-02-24 [12] SiteVision, “SiteVision API”,

https://help.sitevision.se/webdäv/files/äpidocs/index.html, hä mtäd 2018-02-26

[13] Microsoft, ”Office 365 API reference”, https://msdn.mi-

crosoft.com/en-us/office/office365/äpi/äpi-cätälog, hä mtäd 2018- 02-28

(32)

Bilaga A: Kodstruktur för moduler i SiteVision WebApps

Jämförelse med Node.js

Att importerä en modul i SiteVision WebApps sker med kommändot require(), precis som i Node.js. Dock krä ver det ätt modulen som skäll importeräs här en nä got ännorlundä struktur ä n väd som vänligtvis änvä nds i Node.js. Nedän visäs exempel pä hur det sker i Node.js sämt i SiteVision WebApps.

Antäg ätt män till index.js vill importerä en modul som heter hello.js. Bä dä filernä äntäs liggä i sämmä mäpp. I Node.js skulle det se ut pä fo ljände vis:

// hello.js

module.exports = {

sayHello: function() { return "Goddag!";

} };

// main.js

var greetings = require("./hello.js");

var message = greetings.sayHello(); // Returner “Goddag!”

I SiteVision WebApps ser index.js likädän ut men hello.js mä ste hä fo ljände struktur:

// hello.js

define (function(require) { ‘use strict’;

// Eventuell kod här…

Return {

sayHello: function() { return ‘Goddag!’;

} } });

References

Related documents

Till årsstämman i addVise inredning skyddsventilation ab (publ) org nr 556363-2115 Jag har granskat årsredovisningen, koncernredovisningen och bokföringen samt styrelsens och

– Förenkla och harmonisera de fi nansiella aktiviteterna i koncernen – Defi niera regler för vilka fi nansiella risker som är accepterade av styrelsen – Fastställa

• Riktlinjer för ersättning till Verkställande direktören och andra ledande befattningshavare antogs enligt förslag från styrelsen. • Styrelsens förslag att anta

Konsumtionsutvecklingen utav trävaror i Europa har alltsedan 2003 utvecklats på ett positivt sätt där konsumtionen, enligt uppgifter från ECE Timber Committee, under 2005 ökade med

Råvarumarknaden i koncernens region präglas fortfarande av sågverkens vattenlager från stormar- na Gudrun och Per. Detta tillsammans med de för närvarande höga massavedspriserna

Aktieägarnas inflytande i Bergs Timber utövas via årsstämman som är Bolagets högsta beslutande organ. På årsstämman behandlas bolagets utveckling och beslut tas i centrala

Tillgångar och skulder i koncernen har värderats till anskaffningsvärden med avdrag för ackumulerade avskrivningar och eventuella nedskrivningar. Goodwill utgörs av det belopp

[r]