• No results found

Hur datakommunikationssäkerheten påverkas vid införandet av en meddelandeförmedlare

N/A
N/A
Protected

Academic year: 2022

Share "Hur datakommunikationssäkerheten påverkas vid införandet av en meddelandeförmedlare"

Copied!
89
0
0

Loading.... (view fulltext now)

Full text

(1)

2008:21

C / D - U P P S A T S

Hur datakommunikationssäkerheten påverkas vid införandet av

en meddelandeförmedlare

Erik Gaupp Jan Jonsson

Luleå tekniska universitet C/D-uppsats

Data- och systemvetenskap

Institutionen för Industriell ekonomi och samhällsvetenskap Avdelningen för Systemvetenskap

(2)

Förord

Denna C/D uppsats omfattar 30 högskolepoäng och ingår i en filosofie magisterexamen inom ämnet data- och systemvetenskap. Ämnet data- och systemvetenskap tillhör avdelningen systemvetenskap som är en del av institutionen för industriell ekonomi och samhällsvetenskap vid Luleå Tekniska Universitet.

Vi vill tacka alla som hjälpt till under arbetets gång.

Ett stort tack till alla respondenter för att de har ställt upp på intervjuer. Tack vare er har uppsatsen varit möjlig att genomföra. Ett särskilt tack till vår handledare Sören Samuelsson, och Lennart Ross. Hjärtligt tack till Ingela Johansson för att med stort engagemang och glädje koordinerat vår utbildning.

Luleå, juni 2008 Erik Gaupp Jan Jonsson

(3)

Sammanfattning

IT-system i de flesta organisationer består ofta av en stor mängd olika applikationer som är utvecklade under åren med varierad teknik på olika plattformar. Applikationerna kommunicerar med varandra över ett datanätverk, med den information och teknik som passade för ändamålet då de utvecklades.

Med allt snabbare förändringstakt ökar behovet av applikationsintegration. För att hantera komplexiteten används i allt större omfattning någon form av Message Oriented Middleware (MOM) – som bas för kommunikation mellan applikationer.

Då applikationer ansluts genom ett centralt MOM-system möjliggörs kommunikation som baseras på en-till-många, vilket skapar förutsättningar för en specifik variant som kallas för publish/subscribe. Med denna kommunikation kan ett meddelande nå flera mottagare, samtidigt som mottagarna är frikopplade från informationslämnarna. Vad händer med datakommunikationssäkerheten om en publish/subscribe kommunikation används istället för den vanliga punkt-till-punkt kommunikationen?

Vi har i denna uppsats fokuserat på skillnaden i datakommunikationssäkerhet mellan punkt-till-punkt och publish/subscribe. Vi har studerat befintlig teori och byggt en teoretisk bild som prövas mot en fallstudie med personliga intervjuer.

Studien visar att en av de största skillnaderna är införandet av en logisk central punkt, och att förtroende och ansvar för denna punkt krävs. En central punkt innebär en rad möjligheter i form av ökad kontroll, införande av standarder, bättre policystyrning, osv. Vi finner att införandet av publish/subscribe inte tillför några negativa skillnader i säkerhet som inte går att hantera, samt att fördelarna överväger.

(4)

Abstract

Today most organizations have a large number of IT-systems and applications developed over the years, using different techniques on different platforms. The applications communicate via the network with the information and technology that suits the purpose at that time. Organizations continuously seek for more efficiency and the need for integration rises, and so do the complexity. In order to deal with the complexity some form of Message Oriented Middleware (MOM) is often introduced as a base for communication between applications.

Applications connected through a central MOM-system enables a communication model based on one-to-many, creating the conditions for a specific variant known as publish/subscribe. Using publish/subscribe messages from one publisher can reach many subscribers. Based on this the publisher is not aware of the

subscribers, thus information providers can be decoupled from the information consumers. What occur with the data communication security if publish/subscribe is used instead of the more common point-to-point model?

In this thesis we focus at differences in data communication security between point-to-point and publish/subscribe. Using existing theories we create a theoretical picture. This picture is tested using an empirical study based on interviews.

The result shows that one of the major differences is the introduction of a new central service and the need of trust for this central service. A central service will create a number of new possibilities; such as control, introducing standards, policies etc. Introducing publish/subscribe will not cause any negative security aspects that can’t be handled, and the benefits outweigh.

(5)

Innehållsförteckning

1. Inledning ...1

1.1 Bakgrund...1

1.2 PTMP med meddelandeförmedlare ...3

1.3 Problemdiskussion ...5

1.4 Forskningsfråga och syfte ...6

1.5 Avgränsning...7

1.6 Terminologi ...8

2. Metod ...9

2.1 Överblick ...9

2.2 Bakgrund för forskningsansats ...9

2.3 Design av metod ...11

2.3.1 Indelning i steg...11

2.3.2 Koppling mellan teori och empiri ...12

2.4 Litteratursökning (steg 1)...13

2.5 Teoretisk bild (steg 2) ...14

2.6 Datainsamling (steg 3) ...14

2.6.1 Urval ...14

2.6.2 Underlag för intervju ...15

2.6.3 Sammanställning...15

2.7 Dataanalys (steg 4)...15

2.8 Validitet och reliabilitet ...16

3. Teori...17

3.1 Integration av distribuerade applikationer ...17

3.1.1 Kommunikation mellan applikationer ...17

3.1.2 Kommunikationsalternativ...17

3.1.3 RPC - Remote Procedure Call ...18

3.1.4 ORB - Object Request Broker ...18

3.1.5 Synkron och asynkron kommunikation ...18

3.1.6 Meddelandesystem - MOM ...19

3.1.7 Meddelandebuss...20

3.2 PTP och PTMP ...21

3.2.1 PTP kommunikation ...21

3.2.2 Publish/Subscribe - PTMP...21

3.3 Informationssäkerhet ...22

3.3.1 CIA begreppet i informationssäkerhet ...22

3.3.2 Policy ...22

3.3.3 Driftsäkerhet ...23

3.4 Datakommunikationssäkerhet...25

3.4.1 Hotbilder ...25

3.4.2 Skyddsåtgärder...26

3.4.3 Kryptering ...29

3.5 Förtroende ...37

3.5.1 Trusted computer system ...37

3.5.2 Trusted computer base ...37

3.5.3 Web of trust och Circles of trust ...37

3.6 Standarder ...38

3.7 Katalogtjänst ...38

3.8 Service Level Agreement - SLA...38

4. Teoretisk bild ...39

4.1 MF som central punkt ...39

(6)

4.2 Tillägg - säkerhet på meddelandenivå, publika nycklar ...42

4.3 Tillägg - säkerhet på meddelandenivå, symmetriska nycklar...43

5. Empiri ...44

5.1 Företag och respondenter...44

5.1.1 Företag A ...44

5.1.2 Företag B...44

5.1.3 Företag C...45

5.1.4 Företag D ...45

5.1.5 Företag E...46

5.1.6 Företag F ...46

5.2 Sammanställning av empiri ...47

6. Analys ...48

6.1 Sammanfattning ...52

7. Slutsatser...53

8. Diskussion...54

8.1 Metoddiskussion ...57

9. Förslag på vidare studier...58

Källförteckning ...59

Bilagor ...62

Bilaga A - Empiri...62

Bilaga B - Intervjufrågor...78

(7)

Figurförteckning

Figur 1 Punkt-till-punkt applikationskommunikation ...2

Figur 2 Punkt-till-multipunkt applikationskommunikation ...2

Figur 3 Exempel på publish/subscribe asynkron kommunikation...3

Figur 4 Publish/Subscribe liknas med broadcast, exempelvis TV...4

Figur 5 Koppling mellan teori och empiri ...12

Figur 6 Applikationer kopplade till en meddelandebuss via adapter...20

Figur 7 Policy-driven process (Panko, 2004:s37)...23

Figur 8 Rollbaserad säkerhet (Krause, 2007:s113)...28

Figur 9 Hemlig skrift (Denning, 1983:s1) ...29

Figur 10 Kryptering med hjälp av symmetrisk nyckel ...30

Figur 11 Kryptering med hjälp av publik nyckel...30

Figur 12 Utbyte av symmetriska nycklar med hjälp av publik nyckelkryptering .31 Figur 13 Ett meddelande signerat med en digital signatur ...32

Figur 14 MF bildar en central punkt ...39

Figur 15 Kryptering med avseende på flera mottagare...42

Figur 16 Nyckelkatalog utanför MF ...43

Figur 17 Exempel på viktat CIA för olika organisationer (Respondent C1) ...71

Tabellförteckning

Tabell 1 Utmärkande för kvalitativ/kvantitativ forskning (Merriam, 2006:s32)...10

Tabell 2 Att väga kostnader mot varandra (Panko, 2004:s36) ...23

Tabell 3 Olika fält i ett digitalt certifikat (Panko, 2004) ...33

Tabell 4 Summering av teori kring säker datakommunikation...35

Tabell 5 Intervjusvar område: 100, Central punkt ...62

Tabell 6 Intervjusvar område: 101, Autentisering och sekretess...64

Tabell 7 Intervjusvar område: 102, Central accesskontroll ...65

Tabell 8 Intervjusvar område: 103, Förtroende - ansvar ...67

Tabell 9 Intervjusvar område: 104, Spårbarhet ...69

Tabell 10 Intervjusvar område: 106, Hotbild...70

Tabell 11 Intervjusvar område: 107, Rollbaserad säkerhet ...72

Tabell 12 Intervjusvar område: 109, Policy...73

Tabell 13 Intervjusvar område: 200, Standard...74

Tabell 14 Intervjusvar område: 202, Komplexitet...75

Tabell 15 Intervjusvar område: 203, Applikationsintegrering...76

Tabell 16 Intervjusvar område: 204, Driftsäkerhet...77

(8)

1. Inledning

I detta avsnitt beskrivs bakgrunden och sammanhanget till det problemområde vi har identifierat. Forskningsfrågan med syfte samt uppsatsens avgränsning beskrivs också. Då uppsatsen är koncentrerad kring informationssäkerhet vid olika principer för datakommunikation i företagsnätverk, så ger vi inledningsvis vår syn på de begrepp som används.

1.1 Bakgrund

IT-system utvecklas ständigt och blir allt mer komplexa samtidigt som den tekniska grund som systemen utvecklas på ändras kontinuerligt med nya generationer av plattformar med ofta helt nya tekniker för datakommunikation.

Många informationssystem kommunicerar nuförtiden inte direkt med en användare utan är en del av verksamheten genom att erbjuda tjänster till andra system. Samtidigt ökar datamängden som flödar mellan systemen då gemensamt data ska göras tillgängligt inom organisationens olika system.

I denna värld där IT-system är något centralt hos många företag behöver data distribueras effektivt mellan ett ökande antal olika system. Integrationen mellan systemen går mot en lösare koppling och en tjänsteorienterad arkitektur (Krafzig, 2005).

Applikationer som kommunicerar med varandra över ett nätverk kommunicerar vanligen på en form av punkt-till-punk förbindelse, som innebär att det upprättas direkta en-till-en förbindelser mellan applikationer. Vi ser att denna princip ligger normalt till grund för kommunikation i en distribuerad miljö. Som kontrast till punkt-till-punkt datakommunikation finns meddelandesystem som baseras på en publish/subscribe princip med en-till-många förbindelse. En applikation kan då, ovetande om antalet mottagare, distribuera ett meddelande till flera mottagande applikationer.

Eugster (2003) beskriver det unika med publish/subscribe principen med att data kan distribueras ut till en stor mängd mottagare, samtidigt som informations- lämnare inte behöver ha vetskap om alla mottagare vilket medför en lösare koppling mellan olika informationssystem.

Detta finner vi intressant då vi ser en potential i användning av publish/subscribe kommunikation, som lämpar sig för trenden att bygga system med lösare kopplingar och större flexibilitet. Samtidigt ställer vi oss frågan hur informations- säkerheten kan påverkas i en publish/subscribe miljö. Informationssäkerhet är ett stort område med många aspekter, där datakommunikation är en del.

Informationssäkerhet inom området datakommunikation fokuserar traditionellt på hur informationsutbytet mellan datorsystem ska skyddas från bl.a. obehörig åtkomst eller manipulation.

(9)

Figur 1 Punkt-till-punkt applikationskommunikation

Figuren visar applikationer kopplade enligt punkt-till-punkt principen. Varje applikation som kommunicerar med en annan applikation gör det över en unik direkt förbindelse. Antalet kopplingar växer snabbt för varje ny applikation eller system som läggs till. Hohpe (2004) med flera ser detta som en integrationsspagetti som kan bli svår att underhålla.

Figur 2 Punkt-till-multipunkt applikationskommunikation

I denna figur är applikationerna kopplade via en central meddelandeförmedlare (MF). Varje applikation får då endast en koppling mot alla de övriga applikationerna. Fler applikationer kan läggas till utan att de befintliga behöver lägga till fler kopplingar. En punkt-till-multipunkt kommunikation baserar sig på meddelanden och ligger även till grund för publish/subscribe förfarande.

Vår benämning av punkt-till-punkt blir härefter PTP, medan gruppen av punkt- till-multipunkt kommunikation via en meddelandeförmedlare benämns PTMP.

Vi upplever att PTP kommunikation är den vanligaste och mest vedertagna formen av förbindelse mellan olika applikationer. Samtidigt så ser vi att även inom informationssäkerhet är frågeställningen mest koncentrerad kring PTP principen.

"Publish/subscribe is emerging as a very flexible communication paradigm that is applicable to environments demanding scalable and evolvable architectures. Although considered for workflow, electronic commerce, mobile systems, and others, security issues have long been neglected in publish/subscribe systems" (Fiege, 2004:s1).

Denna, som vi upplever det, begränsade syn på säkerhetsaspekter kring överlämning av ansvar till en MF ser vi som ett intressant område att studera

(10)

närmare, speciellt med tanke på den potential en PTMP kommunikation kan ha vid en lösare applikationsintegrering.

Den omgivning i vilken PTMP används ser vi som främst inom större organisationer, vilka naturligt ofta har en stor mängd applikationer utvecklade över lång tid på olika plattformar. I stora organisationer blir det normalt även större fokus på säkerhetsfrågor, med många användare och information som kan spridas inom organisationens olika delar. Med PTMP kommunikation avser vi i denna uppsats datakommunikation mellan applikationer, alltså inte användare eller andra system bakom applikationerna. Då PTMP baseras på att sändande applikationer trycker ut meddelanden till intresserade mottagande applikationer passar detta koncept inte för alla tillämpningar. PTMP finner kanske störst användning i organisationer med händelsestyrda strömmande meddelandeflöden, med ofta stora mängder meddelanden per tidsenhet.

1.2 PTMP med meddelandeförmedlare

I detta avsnitt ger vi vår syn på vad som avses med en PTMP via en meddelandeförmedlare (MF). I den PTMP vi avser går meddelanden via en MF, men förbindelserna mellan applikationer och MF består av vanliga PTP kopplingar. Dessa PTP kopplingar mot MF är duplexförbindelser (kommunikationen går åt båda håll) med samma typ av protokoll, konfirmeringar, o.s.v. som normalt används vid PTP kommunikation. Det är alltså inte frågan om broadcast med osäker leverans. Det är en logisk PTMP med överlämning av ansvar till MF för meddelandeförmedling (message broker), även om alla förbindelser är PTP.

Figur 3 Exempel på publish/subscribe asynkron kommunikation

Figuren visar konceptet med publish/subscribe. I detta exempel publicerar applikation F meddelande av typen 1 och applikation C publicerar meddelanden av både typ 1 och 2. Applikationerna B och D prenumererar på alla meddelande av typ 1, applikation A av typ 2 och applikation E prenumererar på både typ 1 och 2. Observera att publicerare även kan agera prenumeranter och vice versa.

Därigenom kan förbindelserna vara duplex (på meddelandenivå och protokollnivå). Om applikation C i exemplet ovan sänder iväg ett meddelande av

(11)

typ 2 kommer MF att dirigera detta till applikationerna A och E. Det är endast MF som vet vilka som prenumererar eller publicerar och på vad.

Som jämförelse kan datapaket på nätverksnivå skickas fysisk en-till-många utan någon MF. Datapaketen kan skickas som broadcast mot alla anslutna i nätverket.

Här ligger ansvaret hos mottagarna som får filtrera fram de paket de är intresserade av. Det finns ingen överlämning av ansvar till en förmedlare i mitten.

Detta skiljer sig alltså från den PTMP princip som vi avser.

Vid beskrivning av principen med publish/subscribe kan en jämförelse göras med prenumerationer på dagstidningar. Själva tidningarna är budskapet, meddelanden, som skall förmedlas till en eller flera mottagare. En person på en viss adress prenumererar på Dagens Nyheter, grannen på Göteborgs Posten, och några prenumererar på både tidningarna. Tidningsbudet, som motsvarar MF funktionen, åker omkring i området med en lista över vilka prenumeranter som skall ha vilka tidningar, och lägger rätt tidning i rätt brevlåda.

Principen med publish/subscribe kan även jämföras med tv-sändningar som baseras på broadcast. När det gäller säkerhet kan en jämförelse göras med dekoder för tv-kanaler på mottagarsidan.

TV tower

Television

Video Publisher

Television

Subscriber

Encoder

Decoder

?

Figur 4 Publish/Subscribe liknas med broadcast, exempelvis TV

Figuren visar ett exempel på publish/subscribe principen vid tv-sändningar. En publicerare skickar ett meddelade ut via TV-masten. I detta exempel är det en nyhetsuppläsare i en tv-sändning. Nyhetsuppläsaren har ingen vetskap över hur många som har sin TV på och tittar. Kanske är det 1 miljon, kanske är det ingen alls. Detta illustrerar den lösa koppling som är typisk för publish/subscribe system. För att endast personer som betalar skall kunna se sändningen så kodas sändningen i en encoder, genom t.ex. kryptering via en nyckel. Varje mottagare måste sen använda en dekoder och nyckeln för att dekryptera sändningen.

Nyckeln måste distribueras till alla betalande kunder och kan exempelvis bestå av ett kort som används i dekoderns kortläsare.

(12)

1.3 Problemdiskussion

Distribuerade applikationer i företag och organisationer kommunicerar med varandra via en mängd olika tekniker över datanätverk. Hohpe (2003) beskriver hur komplexiteten ökar då företag ofta har en stor mängd applikationer som utvecklas oberoende av varandra över en längre tid på olika plattformar och med olika programmeringsspråk och kommunikationstekniker. Det vanliga förfarandet är olika PTP kopplingar mellan applikationer. En lösning för att minska beroenden mellan applikationer beskrivs av Krafzig (2007) som en tjänsteorienterad arkitektur, SOA. Denna arkitektur använder sig i grunden av någon form av kommunikationsinfrastruktur - en så kallad middleware. Hohpe (2003) anser att en meddelandeorienterad middleware (MOM) har stora fördelar i den standardisering av datakommunikation mellan applikationer som kan uppnås.

En variant av datakommunikation i MOM kategorin som har en stor frikoppling mellan sändare och mottagare av meddelanden är PTMP.

Denna kategori av PTMP meddelandebaserad asynkron publish/subscribe distribution kan användas för datakommunikation mellan applikationer. PTMP kommunikation är en effektiv teknik då större datamängder distribueras asynkront till ett varierande antal applikationer. Den stödjer en händelsestyrd distribution med en lös koppling mellan informationslämnare och flertalet klienter som prenumererar på en viss information. Microsoft (2008a) beskriver kortfattat fördelarna med konceptet meddelandebuss, som kan liknas vid PTMP.

"When you use a message bus, an application that sends a message no longer has individual connections to all the applications that must receive the message. Instead, the application merely passes the message to the message bus, and the message bus transports the message to all the other applications that are listening for bus messages through a shared

infrastructure. Likewise, an application that receives a message no longer obtains it directly from the sender. Instead, it takes the message from the message bus." (Microsoft, 2008a).

Enligt vår åsikt skiljer sig en PTMP kommunikation konceptuellt från en PTP kommunikation. Tekniskt går datakommunikationen fortfarande över en koppling mellan system, men logiskt är det inte två system som kommunicerar direkt med varandra utan via en MF. Datasäkerhetstänkandet i en PTMP miljö behöver även innefatta överlämning av ansvar till en MF. När MF har tagit emot ett meddelande så tar den över ansvaret för förmedling. Därefter är det MF:s ansvar att dirigera och se till att rätt mottagare (en eller många) får informationen.

"Säkerhetsfrågor representerar ett betydande problem i publish/subscribe system, som för tillfället endast är marginellt upptagna av både forskning och industri. Förutom det uppenbara problemet att endast bevilja tillgång till ett system åt godkända användare, så finns det en viktig aspekt som rör hur förtroende kan upprätthållas mellan publicerare och prenumeranter" (översättning, Corsaro, 2003:s7).

Vi ser det som att användning av PTMP datakommunikation med överlämning av ansvar kan ställa nya krav i en organisation angående hantering av informationssäkerhet.

Vi tror att i och med att SOA och löst kopplade system växer i användning så kommer förståelsen för PTMP datakommunikation öka, och därav även användningen. Då det eventuellt finns skillnader i datakommunikationssäkerhet hos en PTMP datakommunikation via en MF jämfört med PTP kommunikation, så anser vi att det är viktigt att utvärdera och ta hänsyn till dessa skillnader, för att

(13)

När datakommunikation betraktas ur ett säkerhetsperspektiv ligger fokus ofta på fallet då två system kommunicerar med varandra; PTP kommunikation då system- A kommunicerar med system-B. Denna syn täcker frågor som rör identiteten på avsändare och mottagare. Är de vem de utger sig för att vara? Är det rätt mottagare? Kan någon annan läsa kommunikationen? Kan någon annan påverka kommunikationen? Det finns många fler aspekter men de är normalt koncentrerade till när två system kommunicerar i form av en PTP förbindelse.

Krause (2007) beskriver flertalet säkerhetslösningar för en end-to-end förbindelse på olika nivåer, som t.ex. transportlager i nätverksprotokoll, meddelande- orienterade säkerhetsprotokoll, SSL client/server, IPsec, osv. Vi upplever inte att dessa säkerhetslösningar från en högre nivå beskriver situationen som uppstår vid PTMP.

En PTMP kommunikation grundar sig på en isolation mellan sändare och mottagare i form av en MF. Ställer detta andra krav på hur informationssäkerhet ska hanteras? Trots begreppet PTMP så implementeras en MF ofta i form av en egen server. Är detta en säkerhetsrisk eller en fördel? På ett högre plan kan policy och hantering av information i en organisation behöva ses över vid användning av PTMP kommunikation.

1.4 Forskningsfråga och syfte

Som vi ser det är säkerhet vid datakommunikation till stor del fokuserad kring någon form av riktad PTP eller en-till-en kommunikation, oavsett vilken teknik som används. Om en PTMP infrastruktur baserad på en-till-många introduceras, så införs en konceptuell skillnad då kommunikationen inte är riktad mot en viss mottagare, utan går via en MF. Det uppstår en överlämning av ansvar till en central MF, vilket kan påverka säkerhetsarkitekturen, policy och riktlinjer för informationssäkerhet i ett företag.

Utifrån detta formuleras vår forskningsfråga enligt följande:

Vilka eventuella skillnader i datakommunikationssäkerhet kan uppstå när en organisation går från PTP till PTMP datakommunikation via en

meddelandeförmedlare?

Syftet med uppsatsen är att visa på eventuella skillnader i datakommunikations- säkerhet vid övergång från PTP till PTMP datakommunikation. Att visa hur de eventuella skillnader i säkerhet som uppstår kan hanteras.

(14)

1.5 Avgränsning

Informationssäkerhet i företag är ett stort område med en bredd som omfattar tekniska aspekter såväl som organisation, ledning, personal, byggnader och utrustning, för att nämna några. Då denna uppsats studerar skillnader i säkerhet av dataförbindelse av typen PTP jämfört med PTMP, så avgränsas säkerhetsfrågor till datakommunikationssäkerhet. Den behandlar inte informationssäkerhet i företag ur ett generellt perspektiv.

Applikationsintegrering är brett område som omfattar olika aspekter då applikationer integreras, där kommunikation är en del. Uppsatsen studerar förbindelser mellan applikationer. I uppsatsen avses applikationskommunikation då applikationsintegrering diskuteras.

Den PTMP som avses i denna uppsats är lokaliserad inom en organisation. Det sker därmed ingen överlämning av ansvar mellan flera MF lokaliserade i olika organisationer.

Uppsatsen är inte en guide i hur en PTMP kommunikation kan införas eller vilka koncept som bör väljas. Uppsatsen fokuserar på hur säkerhetsaspekter berörs då PTMP införs.

Säkerhetsfrågorna i denna uppsats behandlar applikationer som kommunicerar med varandra, d.v.s. applikationsmjukvaran. Uppsatsen avgränsar sig till applikationer och tar inte med eventuella användare bakom applikationerna.

Uppsatsen vänder sig till IT-ansvariga och beslutsfattare som studerar olika alternativ för applikationskommunikation.

(15)

1.6 Terminologi

Våra definitioner av grundläggande begrepp som används i uppsatsen beskrivs i detta avsnitt.

PTP

Punkt-till-punkt datakommunikation. Avser direkt kommunikation mellan två applikationer.

PTMP

Vår definition av punkt-till-multipunkt datakommunikation är den som går via en MF. Den avser principen då en applikation sänder information som kan vara riktad till mer än en applikation. Den sändande applikationen har inte direkt kunskap om mottagande applikationer. Denna typ av datakommunikation baserar sig på användning av en MF, mellan sändande applikationer och mottagande applikationer. Vår användning av ordet PTMP kan också innefatta fall då många skickar till många eller många skickar till en, eller extremfallet där många skickar och ingen lyssnar.

MF

Meddelandeförmedlare (broker). Ett system som ansvarar för att distribuera datameddelanden till rätt mottagare, genom t.ex. ett prenumerationsförfarande (publish/subscribe). Isolerar applikationer som sänder data från applikationer som tar emot data.

Publish/Subscribe

Ett meddelandeförmedlingssystem som baseras på ett prenumerationsförfarande.

Mottagande applikationer anmäler intresse för en viss kategori av meddelanden (topic). Mottagande applikationer är inte medvetna om sändande applikationer.

Sändande applikationer sänder ut meddelanden utan att vara medvetna om mottagande applikationer.

Topic

Beskriver en typ eller kategori av meddelanden. Används i publish/subscribe då förmedling ofta baseras på topic.

Sändare - mottagare

Med sändare eller mottagare avses generellt sändande applikation eller mottagande applikation. Uppsatsen innehåller avsnitt där det i förkortad form kan beskrivas i stil med; A skickar till B. Det som avses är applikationer som skickar och tar emot meddelanden.

(16)

2. Metod

Arbetsgången för genomförandet av studien beskrivs i detta kapitel, tillsammans med de val och motiveringar vi gör.

2.1 Överblick

Metodbeskrivningen börjar med en översiktlig genomgång av teorier över forskningsprocessen i de delar vi finner tillämpliga. Utifrån denna teoretiska genomgång designar vi därefter vår metod som är anpassad till denna studie. Den metod vi designar bygger på en arbetsgång som är uppdelad i fem steg, vilket beskrivs i en sammanställning. Därefter beskrivs de olika stegen mer i detalj tillsammans med våra val och motiv.

2.2 Bakgrund för forskningsansats

Undersökningar kan klassificeras efter den kunskap man har om problemområdet innan undersökningen startar. Klassificeringen kan i de flesta fall göras utifrån tre typer av undersökningar, vilka beskrivs av Patel & Davidsson (2003) som explorativa, deskriptiva och hypotesprövande. Explorativa undersökningar är utforskande och är lämpliga då det saknas kunskap inom det område som studeras. De har som syfte att inhämta så mycket kunskap som möjligt inom ett bestämt område, där sedan kunskapen beskrivs allsidigt. I deskriptiva undersökningar finns det redan kunskap till en viss del inom det område som studeras. Undersökningen blir av en beskrivande karaktär, där några olika aspekter väljs av de fenomen som studeras, för att sedan beskrivas detaljerat. I den hypotesprövande undersökningen förutsätts det att det finns tillräckligt mycket kunskap för att ur teori härleda antaganden om verkliga förhållanden. Dessa antaganden som görs kallas för hypoteser.

Forskningsarbetet kan bedrivas med ett kvantitativt angreppssätt eller ett kvalitativt. Kvantitativ forskning beskrivs av Merriam (2006) som traditionellt eller naturvetenskapligt inriktad. Informationen kvantifieras och kan presenteras som data i form av siffror. Analys kan göras statistiskt med precisa resultat som mål. Kvalitativ forskning förmedlas mer via ord och har som syfte att förstå innebörden av en företeelse. Åsikter och uppfattningar används i högre grad än rena fakta. Patel (2003) menar att de båda forskningsmetoderna inte alls behöver vara oförenliga vid praktiskt forskningsarbete. I själva verket kan arbetet ligga någonstans på skalan mellan kvantitativt och kvalitativt inriktad forskning, utifrån statistiska eller verbala analysmetoder. Generellt beror valet av inriktning på den kunskap vi söker. Om frågorna rör sig kring vad, hur och skillnader så lämpar sig statistiska metoder med kvantitativ forskning. Kvalitativ forskning passar däremot för frågor om tolkningar och upplevelser.

(17)

Tabell 1 Utmärkande för kvalitativ/kvantitativ forskning (Merriam, 2006:s32) Faktor Kvalitativ forskning Kvantitativ forskning

Fokus Kvalitet (natur, art, väsen) Kvantitet (hur många, hur mycket) Teoretisk grund Fenomenologi,

symbolisk interaktionalism

Positivism, logisk empirism

Stickord Fältarbete, etnografisk, subjektiv,

"grounded", naturalistisk

Experimentell, empirisk, statistisk

Mål Förståelse, beskrivning, upptäckt, hypotesgenerering

Förutsägelse, kontroll, beskrivning, bevisning, hypotesprövning Metodiska

egenskaper

Flexibel, utvecklande, ostrukturerad Förutbestämd, strukturerad

Situation Naturlig, känd Obekant, konstlad

Urval Litet, icke-slumpmässigt, teoretiskt Stort, slumpmässigt, representativt Datainsamling Forskaren som främsta instrument,

intervjuer, observationer

"Icke-levande" instrument (skalor, test, enkäter, datorbearbetning)

Analys Induktiv (av forskaren) Deduktiv (genom statistiska

metoder)

Resultat Allsidiga, holistiska, utvecklingsbara Precisa, detaljerade, reduktionistiska

I tabellen visas skillnader i karaktär mellan kvalitativ och kvantitativ forskning för olika faktorer.

Empiri är den insamlade informationen om verkligheten som kan användas för att bygga eller pröva en teori. Enligt Patel (2003) kan en forskare arbeta enligt tre alternativ då teori och empiri ska relateras till varandra. Med deduktion utgår man ifrån befintlig teori och drar slutsatser om enskilda fall. Vid induktion utgår man istället från enskilda fall och formulera teori. Slutligen i abduktion kombineras deduktion och induktion genom att en teori först formuleras utifrån enskilda fall för att testas på nya fall. I andra steget utvecklas teorin ytterligare från nya fall.

Det deduktiva arbetet visar Patel (2003) kan även kombineras med hypoteser i form av det hypotetiskt-deduktiva arbetssättet. Ur befintliga teorier dras slutsatser om enskilda företeelser och antaganden görs. Hypoteser härleds ur befintlig teori.

Dessa hypoteser prövas sedan mot empiri i ett aktuellt fall.

Fallstudie är en form av undersökning där en specifik företeelse studeras i ett avgränsat och definierat system. I denna specifika situation studeras sedan så många variabler som möjligt. Merriam (2006) visar att det är typen av frågor, viken grad av kontroll man har och hur man tänker sig slutresultatet som blir avgörande för om fallstudie är den metod som passar bäst för undersökningen.

Fallstudie är av karaktären deskriptiv icke-experimentell och strävar efter att ge en beskrivning och förståelse då det inte är möjligt att kunna identifiera alla variabler och ha kontroll över dessa, till skillnad mot experimentell forskning. Om man har låg grad av kontroll över en viss situation och vill besvara frågor av typen "på vilket sätt" och "varför" så kan en fallstudie vara lämplig. Patel (2003) menar att man kan utöka till att studera fler fall än bara ett för att få en bättre täckning.

(18)

En kvalitativt inriktad fallstudie kan enligt Merriam (2006) utmärkas genom fyra grundläggande egenskaper: partikularistiska, deskriptiva, heuristiska och induktiva. Partikularistisk innebär att studien fokuserar på en viss situation och gör att den är lämplig för praktiska problem och frågor som uppstår i vardagen.

En deskriptiv slutprodukt innebär att beskrivningen av det som studeras är omfattande då många variabler och samspel tas med. "Fallstudier kan vara longitudinella - det är anledningen till att de kallas holistiska, verklighetstrogna, empiriskt förankrade och explorativa" (Merriam, 2006:s26). Med heuristisk menas att studien kan öka läsarens förståelse av den företeelse som studeras. Induktiv innebär att generaliseringar och begrepp uppstår ur den information man redan har, för att skapa ny förståelse för den studerade företeelsen.

2.3 Design av metod

Upplägget av vår undersökning placeras mellan kvantitativt och kvalitativt arbete, med en tyngdpunkt åt det kvalitativa hållet. Det ligger i linje med Patel (2003) som menar att det praktiska arbetet inte behöver vara antingen kvantitativt eller kvalitativt, utan kan befinna sig på en skala däremellan. Då vi studerar en företeelse i form av användning av PTMP och den skillnad i datasäkerhet det innebär, blir studien av beskrivande karaktär och kan betraktas som deskriptiv.

Det är en specifik företeelse vi studerar och vi har en låg grad av kontroll. De frågor vi vill ha svar på är svåra att mäta och kvantifiera. Vi vill snarare göra en jämförande studie för att få en ökad förståelse för företeelsen PTMP. Vår ansats blir därför att bedriva undersökningen som en fallstudie.

2.3.1 Indelning i steg

Vi har valt att dela upp studien i fem steg, för att få en sekventiell arbetsgång och slutligen kunna svara på forskningsfrågan och uppfylla syftet med uppsatsen. I praktiken sker det en viss iteration mellan en del steg då kunskapsnivån för området ökar. Nedan ges en översiktlig beskrivning av de steg vi har valt. En mer detaljerad beskrivning samt våra val återges i efterföljande kapitel.

Steg 1 - Litteratursökning

I det förta steget söker vi relevant litteratur och läser in befintliga teorier från litteratur som behandlar ämnesområdet ur olika vinklar och olika fördjupning.

Denna bas av befintlig teori blir underlag för steg 2.

Steg2 - Teoretiskbild

Utifrån befintliga teorier formar vi en teoretisk syn på hur säkerhetsaspekter bör hanteras vid användning av PTMP. Detta blir vår bild av befintliga teorier, ingen ny teori! Denna teoretiska bild blir ett antagande som ska visa hur olika krav och fall som normalt ställs vid PTP kommunikation kan realiseras vid PTMP, och de skillnader som finns.

Steg 3 - Datainsamling

Vår studie är av karaktären fallstudie med ett antal fall. Ett urval görs för att samla in empiriskt underlag från ett antal olika företag som har koppling till systemutveckling och applikationsintegrering. Målet är att ta reda på hur företag som arbetar med applikationsintegration, och helst även använder någon form av PTMP koncept, hanterar och ser på informationssäkerhet. Vi utformar intervju-

(19)

frågor för att få svar på frågor inom områden som motsvarar vårt teoretiska antagande.

Steg 4 - Dataanalys

I analysdelen försöker vi med hjälp av empiriska underlag underbygga det teoretiska antagandet vi gjorde i steg 2. Är de förändringar och skillnader vid användning av PTMP som vi kom fram till på teoretisk väg relevanta i verkligheten?

Steg 5 - Slutsatser och diskussion

Från analysdelen försöker vi komma till slutsatser och besvara forskningsfrågan.

Vi har teoretiska antaganden från steg 2 och vi har jämförande analys från steg 4.

Analysen säger hur väl vår teoretiska bild stämmer med verkligheten (utifrån ett antal intervjuobjekt och deras syn). En slutsats formuleras av det vi har kommit fram till då vi väger in analysdata mot den teoretiska bilden. I den avslutande diskussionen beskrivs annat vi har kommit fram till, i form av riktlinjer och rekommendationer, som uppfyller syftet med uppsatsen. Slutsatser och diskussion beskrivs i kapitel 7 och 8.

2.3.2 Koppling mellan teori och empiri

Utifrån den teoretiska bilden identifieras 12 områden som enligt vår mening är relevanta då skillnader i datakommunikationssäkerhet studeras mellan PTP och PTMP. Dessa 12 områden kommer därefter genomgående användas vid empiriskt datainsamling och analys.

Figur 5 Koppling mellan teori och empiri

I figuren visas en principskiss över hur insamlat empiriskt material jämförs mot den teoretiska bilden. I steg 1 och 2 skapas den teoretiska bilden. Utifrån teoretisk bild identifieras 12 områden att studera närmare. Kring dessa 12 områden grupperas intervjufrågor för datainsamling, vilket illustreras av pil A. I steg 3 sker den empiriska datainsamlingen och en sammanställning görs (pil B). I steg 4 utförs en analys då empiri jämförs mot teoretisk bild för alla 12 områden (pil C).

(20)

2.4 Litteratursökning (steg 1)

Vår forskningsfråga är främst kopplad till teori inom informationssäkerhet och datakommunikation vid distribuerade applikationer. Litteratur valdes främst utifrån dessa områden, både via direkta sökningar av böcker och genom referenser som finns i artiklar.

Vi sökte även information inom ämnesområden för Publish/Subscribe och Middleware Communication på Internet genom kombinationer av sökord. T.ex.

"Information Security", "Publish/Subscribe", "Message Oriented Middleware",

"Security Aspects", "Communication Middleware", "Security and trust", "Access control", "Content Based", "Topic", "Message Broker" och liknande.

Nedan ges en översikt av den litteratur vi anser är kopplad till vårt problemområde och är endast ett urval av den litteratur som har används vid studien.

Informationssäkerhet

Vi har valt litteratur som syftar till att ge en helhetsbild av informationssäkerhet, t.ex. (Krause, 2007) Information Security Management Handbook och (Panko, 2004) Corporate Computer and Network Security. Denna litteratur ger en bra bredd och omfattar teoretiskt de delar av säkerhet som vi behöver vid jämförelse av PTP mot PTMP. Schneier (2000) Secret and Lies. Digital security in a networked world ger en mer praktisk guide vid olika säkerhetsproblem, och Denning (1983): Cryptography and Data Security behandlar krypteringsprinciper mer i detalj.

Applikationskommunikation

Litteratur som hanterar datakommunikation och applikationsintegrering har valts, t.ex. (Hohpe, 2003) Enterprise Integrations Patterns: Designing, Building, and Deploying Messaging Solutions. Denna litteratur blir ofta refererad från artiklar skrivna av Microsoft och visar olika principer för middleware och kommunikation mellan applikationer. Krafzig (2007) Enterprise SOA. Service Oriented Architecture, Best practices ger en insyn i applikationsintegreringar och tjänsteorienterad arkitektur.

Publish/Subscribe

Vi har även valt mer specifik litteratur kring publish/subscribe tekniken, då den är en tydlig form av förmedlingstjänst och motsvarar vår definition av MF samt PTMP. Eftersom säkerhetsfrågor i detta sammanhang inte är omskrivna i så stor omfattning, vilket är precis vad vår undersökning baseras på, är det svårare att finna litteratur. Vi har valt ut några artiklar som behandlar området, t.ex. Eugster (2003): The Many Faces of Publish/Subscribe, Fiege (2004): Security Aspects in Publish/Subscribe Systems, Wang (2002): Security Issues and Requirements for Internet-Scale Publish-Subscribe Systems. Vi kan dock inte validera källornas kvalitet men eftersom informationen är mycket relevant tas den med som stöd för teoribildning.

(21)

Övrigt

Litteratur som beskriver forskningsprocessen har valts för att forma den metod som används i vår uppsats.

2.5 Teoretisk bild (steg 2)

Vårt problemområde täcks till stor del av befintliga teorier. Vår undersökning kan baseras på befintliga teorier om säkerhetskoncept och datakommunikation då vi jämför PTMP mot PTP. Vi ser inte att det behövs någon ny teori. Däremot skiljer sig tillämpningen och det uppstår nya frågeställningar vid PTMP. Genom att utnyttja befintlig teori avser vi att skapa en ansats med en teoretisk bild över hur säkerhetsaspekter kan hanteras vid PTMP. Det är denna teoretiska bild vi vill pröva mot empiriskt underlag. Framtagning av vår teoretiska bild beskrivs mer i detalj under kapitel 4.

2.6 Datainsamling (steg 3)

Den valda metoden för insamling av empiriska data beskrivs och motiveras i detta avsnitt. Kriterier för urval beskrivs i detta kapitel medan det faktiska urvalet beskrivs i kapitel 5 Empiri.

Insamling av data med intervju som metod är vanligt vid kvalitativ forskning.

Merriam (2006) menar att användning av intervju som huvudsaklig datainsamlingsmetod baseras på vilken slags information som behövs och om intervju då är bästa sättet att få fram den informationen. Vår information baseras på de erfarenheter en grupp individer har om säkerhetslösningar och applikations- utveckling. Det är dessutom ett relativt litet antal respondenter denna undersökning kan ta i beaktande. Därför väljer vi intervju som den enda datainsamlingsmetoden och med en kvalitativ inriktning.

2.6.1 Urval

Den empiri vi vill samla in är från verkliga förhållanden vid applikations- integrering och tillhörande säkerhetsfrågor. Vårt urval av företag och respondenter baseras på detta.

Urval av företag

Vår datainsamling ska täcka områden där PTP används i olika tillämpningar men även PTMP via någon förmedlingstjänst. Vi har därför valt två kategorier av företag, konsultbolag och specifika företag som har erfarenhet av PTMP.

Konsultbolag inom IT-området arbetar brett och har i sin tur kontakt med en stor mängd andra företag. Därigenom fås en bra spridning på applikationsintegrering i olika miljöer med olika säkerhetsaspekter. Den andra kategorin är specifika företag som har direkt kontakt med PTMP, i form av användning eller införande.

Urval av respondenter

Urvalet av respondenter är begränsat till en kontakt per företag. Därför är det önskvärt att respondenten är insatt och har översiktlig kännedom över hela området som datainsamlingen omfattar. Varje respondent har en unik bakgrund och erfarenhet vilket ger en spridning i kommentarerna på de öppna frågorna. Vi ger en bakgrundbeskrivning av den verksamhet som respondenten arbetar i samt roll och erfarenhet. Detta vägs in då datainsamlingen analyseras.

(22)

Vi kan inte i detalj styra över vald respondent i varje företag men försöker beskriva önskemål. Vid kontakt med utvalda företag anger vi den önskvärda befattning eller erfarenhet vi önskar hos respondenten. Det vi eftersträvar är personer som har erfarenhet av applikationsutveckling, distribuerade applikationer, systemarkitektur och informationssäkerhet.

2.6.2 Underlag för intervju

Intervjuer kan delas upp i strukturerade frågor och öppna frågor. Frågor med en hög grad av strukturering baseras ofta på fasta svarsalternativ medan de öppna frågorna blir mer som ett samtal. Enligt Merriam (2006) är strukturerade frågor lämpliga då hypoteser prövas och när en kvantifiering av resultaten eftersträvas.

De ostrukturerade frågorna är däremot mer användbara när forskaren inte vet tillräckligt mycket om en företeelse och därför inte kan ställa relevanta färdigformulerade frågor. "Ett av målen för den ostrukturerade intervjun är i själva verket att lära sig tillräckligt mycket om en situation för att kunna formulera frågor för kommande intervjuer" (Merriam, 2006:s88). Kvalitativa intervjuer har normalt en låg grad av strukturering eftersom syftet ofta är att identifiera egenskaper hos något utifrån någons uppfattningar.

Eftersom vår insamling av empiri grundar sig på respondenternas erfarenheter och åsikter anser vi att en kvalitativ ansats för datainsamlingen är lämplig. Vi måste börja med öppna frågor för att själva lära oss vilka ämnen som kan vara relevanta för kommande intervjuer. Därefter skapar vi mer strukturerade frågor som motsvarar områden i vår teoretiska ansats. Vi samlar dock alltid in respondentens egna synpunkter och kommentarer även då frågorna är strukturerade.

Datainsamlingen fokuserar på respondenternas åsikter i form av löpande text, medan strukturerade frågor är av stödjande karaktär under intervju. Frågorna anpassas och förfinas efter varje intervju, allt eftersom vi får bättre förståelse i ämnet. Frågorna koncentreras till de 12 områden som identifierades i den teoretiska bilden.

2.6.3 Sammanställning

Mot slutet av datainsamlingen kommer vi ha empiriskt material som inte har blivit insamlat på samma bas av frågor. Detta tas i beaktande då en sammanställning av empiriskt material görs för varje område, där de strukturerade intervjusvaren presenteras i tabellform tillsammans med respondenternas åsikter. Med sammanställningen underlättas det efterföljande analysarbetet.

2.7 Dataanalys (steg 4)

Patel (2003) beskriver den kvalitativa analysen som ett löpande arbete vilket praktiskt utförs parallellt med datainsamlingen. En löpande analys kan ge nya idéer inför varje ny intervju och på det sättet berika undersökningen, till skillnad mot den kvantitativa analysen där allt material samlas in innan analysen börjar.

Efter datainsamlingen görs sedan en slutlig kvalitativ bearbetning där allt material läses igenom och en slutprodukt skapas, med citat från intervjuer som varvas med egna tolkningar. Det finns ingen universell metod över hur en kvalitativ bearbetning görs, då varje fall är unikt. Patel (2003) menar att det är upp till varje forskare att finna ett arbetssätt som passar undersökningen. Merriam (2006) visar hur kategorier kan utarbetas för att få hjälp att tolka informationen. Genom att

(23)

skapa strukturerade kategorier kan relationerna mellan kategorierna belysas och analysen kan lyftas från en rent deskriptiv nivå.

I vår datainsamling är antalet respondenter begränsat och insamlat material beskriver de åsikter samt erfarenheter respondenterna har inom problemområdet.

Det insamlade materialet från intervjuer blir i form av löpande text som stöds av strukturerade frågor. Vår analys blir därför kvalitativt inriktad för att finna mönster ur insamlat material, som jämförs mot den teoretiska bild vi deduktivt har tagit fram ur befintlig teori. Den teoretiska bilden med antaganden är indelad efter ett antal områden. Insamlat empiriskt material grupperas också kring dessa områden. För varje område görs en analys i form av en jämförelse mellan respondenternas åsikter och vårt teoretiska antagande. Vi kan då bilda en åsikt kring varje område, som baseras både på teori och respondenternas samlade erfarenheter.

2.8 Validitet och reliabilitet

Merriam (2006) beskriver hur validitet för kvalitativa studier kan delas in i två områden, intern och extern. Intern validitet beskriver hur väl resultatet från en undersökning stämmer med verkligheten. Studerar forskaren det han eller hon tror sig studera? Extern validitet beskriver i vilken utsträckning en viss undersökning är tillämplig även i andra situationer. Hur pass generaliserbara är resultaten? Är generalisering från ett enda fall ens möjlig? Reliabilitet handlar om hur i vilken utsträckning resultaten från en undersökning kan upprepas. Kommer det bli samma resultat om undersökningen upprepas?

Enligt Patel (2003) skiljer sig begreppen validitet och reliabilitet mellan kvantitativ och kvalitativ forskning. Validitet i en kvalitativ studie gäller snarare hela forskningsprocessen och är inte relaterad enbart till själva datainsamlingen.

Reliabilitet i kvalitativa studier anses sammanflätad med validitet och enligt Patel (2003) används sällan reliabilitet av kvalitativa forskare. Personer som intervjuas kan naturligt ändra inställning då de får mer insikt och kunskap vid upprepade intervjuer. Detta behöver i sig inte vara låg reliabilitet i kvalitativ forskning.

Det viktiga är menar Patel (2003) att de tolkningar som forskaren presenterar byggs under med förklaringar så att läsaren kan bilda sig en egen uppfattning av tolkningarnas trovärdighet, så kallad kommunikativ validering. Det kan ske genom att respondenterna får del av resultatet och ger återkoppling eller genom fylliga beskrivningar av situationen. Dessutom behöver forskningsprocessen beskrivas så att de som tar del av resultatet kan bilda sig en egen uppfattning om alla de val forskaren gjort. Generalisering kan upplevas som problematisk i kvalitativa studier men kan sättas i relation till snarlika situationer, genom att en kvalitativ analys leder fram till en förståelse av ett fenomen och de variationer som finns. På så vis kan en viss generalisering uppnås i kvalitativa studier, även om det inte motsvarar kvantitativ forskning då ett stickprov statistiskt kan överföras till en större population.

(24)

3. Teori

I detta kapitel samlas relevant teori inom informationssäkerhet och applikations- integreringar. Dessa berörs översiktligt för att därefter fokusera på data- kommunikationssäkerhet och datakommunikation mellan applikationer, för att bilda bakgrund och förståelse för den roll PTMP har vid distribuerade applikationer. Teori kring datakommunikationssäkerhet beskrivs något mer ingående, då uppsatsen är koncentrerad kring detta område.

3.1 Integration av distribuerade applikationer

Distribuerade datasystem har funnits under lång tid med tillhörande behov av datakommunikation mellan distribuerade programvaror i ett datanätverk. När data utväxlas mellan distribuerade applikationer i ett nätverk kan ett mellanskikt användas för att isolera applikationerna från nätverksprotokollet. Detta mjukvarubaserade mellanskikt, eller så kallade middleware, är ett ramverk som kan bestå av olika teknologier. Middleware ger en högre abstraktion vid kommunikation mellan distribuerade applikationer. Tekniska detaljer om operativsystem och nätverksprotokoll, med lågnivåinformation samt fysisk adress kan döljas för applikationslagret. "Med ett middleware ramverk skapas förutsättningar för flexibilitet, interoperabilitet, porterbarhet och underhålls- möjligheter för distribuerade applikationer." (Krafzig, 2007:s30).

Begreppet applikationsintegration har en större bredd än vad som omfattas i denna uppsats. Den del som avses är kommunikation mellan applikationer.

3.1.1 Kommunikation mellan applikationer

Applikationer utvecklas sällan med syfte att endast användas isolerade på en maskin. Ett företag har normalt en stor mäng applikationer som samspelar, där data och funktionalitet delas mellan applikationerna. Då applikationer distribueras i ett nätverk uppstår behov av kommunikation mellan dem. Kommunikation mellan applikationer över ett nätverk måste hantera de svårigheter som finns.

Hohpe (2004) nämner otillförlitliga nätverk, långsam kommunikation jämfört med lokal åtkomst inom en maskin, applikationer baserade på olika plattformar måste kommunicera med varandra, applikationer ändras över tiden och kan skapa inkompatibilitet. Det finns olika lösningar för detta och normalt används flera tekniker då applikationer kommunicerar med varandra.

3.1.2 Kommunikationsalternativ

Då det inte finns en teknik för applikationskommunikation som täcker alla behov har det under åren uppkommit flera varianter. De viktigaste typerna av kommunikation kan enligt Hohpe (2004) delas in i fyra huvudgrupper.

• Filöverföring.

• Delade databaser.

Remote Procedure Call (RPC).

Meddelandesystem - Message Oriented Middleware (MOM).

(25)

De olika teknikerna har inte alltid skarpa gränser mellan varandra och var och en har sina fördelar respektive nackdelar. Hohpe (2004) resonerar kring dessa och inriktar sig mot Meddelandesystem, som författaren därefter avhandlar i boken.

Hohpe (2004) menar att ett Meddelandesystem är den bästa ansatsen för applikationskommunikation i företag, men säger samtidigt att det inte är helt utan problem. Asynkron design, som många meddelandesystem baseras på, är något som de flesta utvecklare inte är vana vid. Samtidigt anses applikationer bli mer frikopplade från varandra via ett Meddelandesystem än om t.ex. RPC används.

Ett Meddelandesystem innefattar en message router som är en central del till konceptet message broker. Den har ansvar för att dirigera inkommande meddelande till rätt utgående kanal eller kanaler, baserat på olika kriterier. Denna arkitektur är väsentlig inom EAI (Enterprise Application Integration) för att minska applikationernas kännedom om varandra.

"This is a key function in enterprise integration because most applications to be connected are packaged or legacy applications and the integration has to happen non intrusively - that is, without changing the application code. Therefore, the middleware has to incorporate all routing logic so the applications do not have to" (Hohpe, 2004:s82).

3.1.3 RPC - Remote Procedure Call

En av de vanligaste formerna av distribuerad interaktion är användningen av fjärranrop. Med RPC tekniken kan en lokal procedur eller funktion göras tillgänglig för distribuerade applikationer. En klientapplikation gör ett RPC anrop på samma sätt oavsett om servern finns på samma maskin eller en annan maskin i nätverket. "RPC modellen och dess derivat gör distribuerad programmering väldigt enkel genom att få fjärrinteraktion att verka som lokal interaktion."

(Eugster, 2003:s117). Denna teknik baserar sig på en synkron fråga/svar teknik som låser klienten tills servern har skickat tillbaka ett svar.

3.1.4 ORB - Object Request Broker

Medan RPC tekniken har sitt ursprung i procedur-programmering så har objektorienterad programmering från tidigt 90-tal drivit fram ett behov av en vidareutveckling för distribuerade objekt. Enligt Krafzig (2007) tillgodoser ORB en objektorienterad motsvarighet till RPC för distribution av objekt över plattformsgränser, på ett transparent sätt som döljer implementationsdetaljer. Med ORB konceptet kan objekt kommunicera på samma sätt oavsett om de är lokala eller distribuerade.

Den vanligaste ORB tekniken är CORBA (Common Object Request Broker Architecture) som kan användas på många olika plattformar. Andra ORB tekniker som RMI (Remote Method Invocation) och DCOM (Distributed Component Object Model) är begränsade till Java respektive Microsoft plattformar.

3.1.5 Synkron och asynkron kommunikation

Synkron kommunikation följer en fråga/svars princip som kräver att motparten alltid är tillgänglig och kan svara på en fråga. Detta medför en starkare koppling då klienten ligger i ett blockerat läge i väntan på servern. Motsatsen är asynkron kommunikation då parterna till stor del är löst kopplade. Krafzig (2007) påpekar att en asynkron lösning brukar baseras på kommunikation i form av meddelanden, då en avsändare skickar ett meddelande till en mottagare utan att vänta på ett svar.

(26)

Det typiska är att asynkron kommunikation baseras på ett meddelandesystem, Message Oriented Middleware (MOM).

3.1.6 Meddelandesystem - MOM

Ett meddelandesystem (Messaging System) består av separat mjukvara som hanterar kommunikation mellan applikationer eller system. Ett meddelandesystem bygger på att data förpackas i separata meddelanden som överförs.

Meddelandesystem kallas ofta för Message Oriented Middleware (MOM), där middleware syftar till det mellanskikt som skapas mellan applikationer och nätverk. Ett meddelandesystem ansvarar för transport av meddelanden och kan liknas vid ett databassystem, som på motsvarande sätt ansvarar för datalagring.

Meddelandesystemet fungerar som en motor för meddelandetransport och koordinerar sändning och mottagning av meddelanden.

Hohpe (2004) beskriver hur ett meddelandesystem förenklar för applikationer i en distribuerad miljö och tar hand om mekanismerna kring transport av medelanden.

Data som ska överföras packas in i ett meddelande som applikationen sedan överlämnar till meddelandesystemet. Applikationen lämnar över ansvaret till meddelandesystemet, som sedan hanterar leverans av meddelandet. Applikationen kan sända iväg sitt meddelande och därefter glömma det (send and forget).

Meddelandesystem har sedan 90-talet blivit en del av infrastrukturen för datakommunikation inom många företag. Principen kan konceptuellt grovt liknas vid E-mail, där en avsändare förpackar data i ett meddelande som skickas till en förmedlare. Förmedlaren distribuerar därefter meddelandet till en eller flera mottagare (Krafzig, 2007).

Meddelandesystem kan enligt Krafzig (2007) delas in i två huvudkategorier:

punkt-till-punkt och publish/subscribe.

Punkt-till-punkt

Ett punkt-till-punkt system bygger på en köhantering. En sändare trycker in meddelanden i en kö, varifrån meddelanden därefter i tur och ordning distribueras till en mottagare. Varje meddelande är riktat till en mottagare, därav namnet punkt-till-punkt. "En sändare är förbunden med en mottagare via en kö" (Krafzig, 2007:s34).

Publish/subscribe

En publish/subscribe modell bygger på principen att flera sändare trycker in meddelanden till en förmedlare message broker, som sedan skickar varje meddelande till en eller många mottagare. Mottagarna prenumererar på ett ämne topic eller en del i meddelandet content based. Publish/subscribe stödjer principen en-till-många och många-till-många.

Förutom dessa huvudgrupper finns det även andra varianter som Hohpe (2004) beskriver. I t.ex. en splitter detekteras enskilda delar ur ett meddelande som egna händelser. Från ett meddelande skapas på så sätt flera nya meddelanden, vilka dirigeras till flera mottagare. Alla former av en-till-många eller många-till-många transport i ett meddelandesystem bygger på en central message broker, eller som vi benämner meddelandeförmedlare (MF).

(27)

Båda huvudgrupperna skapar en lös koppling mellan sändare av meddelanden och mottagare, vilket ger möjlighet att bygga flexibla system i en heterogen applikationsmiljö. Krafzig (2007) skriver att publish/subscribe tillför en extra flexibilitet då ett meddelande inte är begränsat till en mottagare utan distribueras till alla mottagare som tidigare har prenumererat på denna typ av meddelande, samt att den sändande applikationen inte behöver ha kunskap om mottagarna.

3.1.7 Meddelandebuss

Syftet med en meddelandebuss är att binda ihop merparten av företagets applikationer (helst alla) på ett enhetligt sätt. Medan ett meddelandesystem (MOM) ansvarar för en standardiserad transport av meddelanden, så är meddelandebuss en arkitektur med målsättning att alla applikationer kan kommunicera med varandra på ett standardiserat format. Därigenom uppnås en stor flexibilitet då nya applikationer kan blandas med befintliga på ett teknikoberoende sätt. Applikationer på helt olika teknikplattformar kan kommunicera med varandra via meddelandebussen. Detta uppnås genom att en adapter utvecklas till de applikationer vars dataformat avviker från standarden på meddelandebussen. Adaptern konverterar formatet mellan applikationen och meddelandebussen.

Figur 6 Applikationer kopplade till en meddelandebuss via adapter

I figuren visas hur de applikationer som avviker i format mot meddelandebussen (Applikation A, E, F) har en egen unik adapter för konvertering. Figuren visar även konceptet med meddelandebuss, där applikationer kopplas mot en gemensam standardiserad datakommunikation i företaget.

Hohpe (2004) jämför principen för meddelandebussen med den motsvarande digitala kommunikationsbussen som finns i datorer. Kommunikationsbussen i en dator förbinder på ett standardiseras sätt alla hårdvarukomponenter i en dator, som lagringsenheter, grafikkort, ljudkort, tv-kort, modem och övriga komponenter.

Dessa hårdvarukomponenter arbetar fristående men förbinds via den digitala kommunikationsbussen.

En meddelandebuss är en arkitektur som beskriver principerna för applikations- kommunikation. Hohpe (2004) menar att det är tre delar som utmärker sig i den arkitekturen: Gemensam kommunikationsinfrastruktur, adaptrar och gemensam kommandostruktur. När det gäller kommunikationsinfrastruktur ska den på ett gemensamt sätt fysiskt binda ihop applikationerna, ungefär som pinnar och ledningar för en PCI buss skapar en fysisk infrastruktur i en PC.

(28)

Kommunikationsinfrastrukturen baseras typiskt på ett meddelandesystem (MOM) där förmedling av meddelanden eller Publish/Subscribe används.

3.2 PTP och PTMP

I detta avsnitt samlas teori över de två principerna på applikationskommunikation som uppsatsen fokuserar på.

3.2.1 PTP kommunikation

PTP kommunikation innebär en direkt koppling mellan två parter. Meddelanden som går mellan parterna är formaterade på ett sätt som parterna kommit överens om. (Wikipedia, 2008b). I en MF så används köer som destinationer vid punkt till punkt kommunikation där ett meddelande endast skall levereras och konsumeras av en mottagare. (Sun, 2008a). Enligt Krause (2007) är PTP trafik ett flöde som tenderar att gå punkt till punkt genom noder och länkar som åtminstone temporärt är dedikerade för trafiken. Trafiken flödar direkt från en punkt till en annan, det som går in i nod A kommer ut endast i nod B.

3.2.2 Publish/Subscribe - PTMP

Publish/Subscribe är ett koncept för distribution av meddelanden mellan applikationer, där sändande applikationer och mottagande applikationer inte har direkt koppling till varandra. Sändande applikationer lämnar information genom att publicera meddelanden. Mottagande applikationer tar emot information genom att prenumerera på en viss kategori av meddelande de är intresserade av.

Kommunikationen sker via en MF, som även benämns message broker, vilken hanterar prenumerationerna och dirigerar meddelanden till mottagande applikationer.

Som jämförelse är broadcast eller multicast på nätverksnivå inte lika selektivt eftersom alla anslutna konsumenter får alla distribuerade meddelanden.

Filtreringen ligger i ändpunkten där varje konsument får avgöra om meddelandet är av intresse. Det finns ingen förmedlare i mitten som kan avgöra vem som får publicera och vilka som får prenumerera.

Publish/Subscribe är ett asynkront schema och meddelanden skickas som händelser. Det bygger på en MF i form av ett meddelandesystem (MOM) och standardiserat meddelandeformat som följer arkitekturen för en meddelandebuss.

Styrkan med publish/subscribe, menar Eugster (2003), är frikopplingen mellan applikationerna i form av tid, rymd och synkronisering. Med frikoppling i tid menas att prenumeranten inte behöver vara uppkopplad i det ögonblicket då publiceraren sänder meddelandet. Meddelandet kan lagras i MF och skickas senare när prenumeranten ansluter. Frikoppling i rymd beskriver Eugster (2003) som att publicerare och prenumeranter inte behöver känna till varandra.

Förmedlingen går via MF och applikationer som sänder meddelanden behöver inte ha referenser till mottagande applikationer och vice versa. Varken publicerare eller prenumeranter behöver veta hur många som publicerar eller prenumererar på en viss kategori av meddelande. Frikoppling i synkronisering innebär att publicerare och prenumeranter kan operera asynkront sinsemellan och inte behöver ligga i blockerat läge. "Decoupling of the production and consumption of information increases scalability by removing all explicit dependencies between

References

Related documents

Resultatet visar även att barnen gärna interagerar genom att kommunicera sin glädje till varandra när något positivt eller roligt har hänt i applikationen och därmed ingår i

De krav som specificerats gällande data- access (Steg 1, aktivitet 1.1-1.2) och de säkerhetsåtgärder som tagits fram i samband med genomförd Informationsklassning (Steg 2) ska

Som detta ville jag även få fram hur pass bra stöd det finns idag för att bedriva säker applikationsutveckling med slutanvändare som målgrupp och även hur pass bra stöd det

Typically, cognitive archi- tectures for visual processing incorporate one of three main mechanisms of primate vision: the ability to recognise com- plex visual scenes,

identitet!samspelar!i!likhet!med!Akers!teori!om!branded!personality!(Avis, Aitken!&! Ferguson

Chapter 7 protects the Universal Declaration of Human Rights Convention on Human Rights International European Union Convention for the Protection of Individuals Automatic

Subject terms: carsharing, theory of planned behavior, perceived consumer effectiveness, sub- jective norms, external factors, environmental concern, attitude, beliefs, and

The institutions they represent serve different purposes in the EU: the Commission serves as the politically independent executive branch of the Union and can be said