<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>blogandtell &#187; Integrasjon</title>
	<atom:link href="http://www.blogandtell.net/category/integrasjon/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.blogandtell.net</link>
	<description>Weblog for Tarantell - om brukervennlighet, design og programmering</description>
	<lastBuildDate>Mon, 07 Jun 2010 08:42:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Seks dominerende trender - fra Web 2.0 Expo 2010</title>
		<link>http://www.blogandtell.net/2010/05/21/seks-dominerende-trender-fra-web-2-0-expo-2010/</link>
		<comments>http://www.blogandtell.net/2010/05/21/seks-dominerende-trender-fra-web-2-0-expo-2010/#comments</comments>
		<pubDate>Fri, 21 May 2010 15:00:46 +0000</pubDate>
		<dc:creator>Harald Hegerberg</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Frontend]]></category>
		<category><![CDATA[Integrasjon]]></category>
		<category><![CDATA[Metode]]></category>
		<category><![CDATA[Mobile løsninger]]></category>
		<category><![CDATA[Nettlesere]]></category>
		<category><![CDATA[Sosiale medier]]></category>
		<category><![CDATA[Tarantell]]></category>
		<category><![CDATA[communities]]></category>
		<category><![CDATA[digital hverdag]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[nettsamfunn]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.blogandtell.net/?p=711</guid>
		<description><![CDATA[Tarantell hadde fire deltakere på årets Web 2.0 Expo i San Francisco. Konferansen arrangeres to ganger i året (vår/høst i henholdsvis San Francisco og New York) i regi av O&#8217;Reilly media. Tema og bakgrunn for konferansen er Tim O&#8217;Reilly&#8217;s fellesbetegnelse web 2.0, der hovedformålet var å skape en felles terminologi for alt som endrer vår [...]]]></description>
			<content:encoded><![CDATA[<p>Tarantell hadde fire deltakere på årets <a href="http://www.web2expo.com/webexsf2010" target="_blank">Web 2.0 Expo i San Francisco</a>. Konferansen arrangeres to ganger i året (vår/høst i henholdsvis San Francisco og New York) i regi av <a href="http://oreilly.com/" target="_blank">O&#8217;Reilly media</a>. Tema og bakgrunn for konferansen er Tim O&#8217;Reilly&#8217;s fellesbetegnelse <a href="http://oreilly.com/web2/archive/what-is-web-20.html" target="_blank">web 2.0</a>, der hovedformålet var å skape en felles terminologi for alt som endrer vår oppfatning av hva internett er, kan brukes til og hvorledes det påvirker både vår forretningdrift og våre liv.</p>
<p>Konferansen er et viktig møtepunkt for alle som er opptatt av hva som venter rundt neste hjørne på internett &#8211; samt en realitetssjekk på hva som fungerer (eller ikke fungerer) med dagens plattformer, løsninger og forretningskonsepter.</p>
<p>Vi har tatt med oss noen hovedtrender fra Web 2.0 Expo. Hver av dem en verdt en eller flere blogginnlegg, og vi vil komme nærmere tilbake til de enkelte trendene.</p>
<p>Here goes:</p>
<h2>Trend #1 : Lokalisering er overalt</h2>
<p>Utnyttelse av sosiale medier med lokaliseringstjenester er på alles lepper. De fremste tjenestene pr. nå er businessorienterte <a href="http://foursquare.com/" target="_blank">Foursquare</a> og tamagotchi/pokemon-inspirerte <a href="http://gowalla.com/" target="_blank">Gowalla</a>. Google og Facebook er på vei med sine konkurrerende tjenester, så dette skal bli et uoversiktlig landskap å orientere seg i. Det som dog er viktig å ta med seg er:</p>
<ul>
<li> Dialog mellom mennesker inneholder stedsinformasjon. Overhør en telefonsamtale på bussen og sjekk selv. Sosiale medier er fremfor alt om dialog, og disse mediene kommer følgelig til å oversvømmes av lokaliseringsinformasjon.</li>
<li> Virksomheter ønsker å vite både hvem kundene er &#8211; og hvor de er. At man også kan bruke sosiale medier til å trekke kunder inn i de fysiske butikkene er ett av Foursquares verdiforslag.</li>
<li>SFs svar på Ruter (<a href="http://www.bart.gov/" target="_blank">BART</a>) har brukt Foursquare for å øke antall reisende med offentlig kommunikasjon. I en kundeundersøkelse sier 19% av de spurte at de hadde reist med BART basert på en anbefaling fra en digital venn, og 38% syntes offentlig transport var &#8220;more fun&#8221; med mobile lokaliseringstjenester.</li>
</ul>
<p>Lokaliseringstjenester kommer til å bli stort &#8211; og forhåpentligvis mer oversiktlig enn det er idag.</p>
<h2>Trend #2 : HTML5 er den nye vinen</h2>
<p>Hva skal man si? ALT kan gjøres i HTML5. Audio, video, skalerbar vektorgrafikk, 3D, SQL, webfonter etc. etc. Dette kan erstatte Flash, Silverlight og andre pluginbaserte utvidelser. De dårlige nyhetene er at implementeringen varierer kraftig fra nettleser til nettleser, og Microsoft er ikke på banen ennå. Vi står med andre ord foran flere år med browserkrig. Google har prøvd å imøtegå dette ved å lage en Chrome plugin til IE, noe som virker som et solid hopp tilbake til start.</p>
<p>En engstelig sjel i salen som prøvde å varsku om sikkerhets- og ytelsesproblemer fikk klar beskjed fra podiet: Toget har gått; standarden er vedtatt, framtiden er her og nå.</p>
<p>Så fikk vi se og høre Quake 2, spilt i nettleseren. Wow.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="424" height="255" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/XhMN0wlITLk&amp;hl=en_GB&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="424" height="255" src="http://www.youtube.com/v/XhMN0wlITLk&amp;hl=en_GB&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h2>Trend #3 : Weboptimalisering</h2>
<p>Ytelsesoptimalisering av websider gir høyere kundetilfredshet, økt konverteringsrate, mer aktive brukere &#8211; OG det er lønnsomt ift reduserte krav til infrastruktur og drift.</p>
<p>For å ta det siste først: Siden det å servere ut html-sider er noe av det tyngste infrastrukturen din gjør, har tjenester som <a href="http://www.netflix.com/" target="_blank">Netflix</a> og <a href="http://www.shopster.com/" target="_blank">Shopster</a> redusert henholdsvis antall servere og båndbredde til det HALVE ved å drive strukturert og helhetlig optimalisering av websidene. Sjekk ditt eget driftsbudsjett for å se hva gevinsten kunne vært? Forutsetningen for en slik kostnadsreduksjon er selvfølgelig at man har et stort antall brukere &#8211; og at man betaler for faktisk bruk av infrastrukturen (slik man gjør i skyen&#8230;).</p>
<p>Google og Yahoo! har foretatt undersøkelser med brukere som blir utsatt for dårlig ytelse. Begge undersøkelsene utsatte brukere for høyere og høyere forsinkelse i levering av websider. Undersøkelsene ble ikke framlagt, men en viktig lærdom fra Google sin undersøkelse er verdt å merke seg:</p>
<p>Google kjørte undersøkelsen med testgruppe og referansegruppe, der referansegruppen ikke ble utsatt for forsinkelser. Testgruppens adferd endret seg, i form av at brukerne ble mer passive, mindre villige til å fullføre oppgaver (=lavere konverteringsrate). Etter at forsinkelsen ble fjernet hadde gruppene fortsatt ulik adferd &#8211; i lang tid. Så lang tid at testgruppen ikke hadde fått gjenopprettet sitt aktivitetsnivå idet undersøkelsen ble avsluttet. Brukere som blir utsatt for forsinkelse blir passive, og det gir ingen umiddelbar effekt å rette feilen.</p>
<p>Ved dårlig servicenivå gjør man skade som varer lenge.</p>
<p>Virksomheter som har hatt suksess med weboptimalisering sier at verktøyene ikke trenger å være veldig sofistikerte. De trekker fram <a href="http://developer.yahoo.com/yslow/" target="_blank">Yahoo! YSlow</a> og <a href="http://code.google.com/speed/page-speed/" target="_blank">Google Page Speed</a> som gratiseksempler. Men et viktig suksesskriterie er at ytelsesparametrene ikke kan eies av IT alene: Alle de viktigste ytelsesparametrene må eies (og forstås) av forretningsenheter, markedsavdeling og ledelse. Først da kan man ta ut den forretningsmessige effekten.</p>
<h2>Trend #4 : API&#8217;er på godt og vondt</h2>
<p>Fra å snakke om mashups er dialogen og diskusjonen nå vendt til realitetene ved å eie, forvalte og bruke åpne API&#8217;er. Mantraet fra LinkedIn er: Planlegg godt, gjør ingen feil. Lett å si, men vanskelig å gjøre.</p>
<p><a href="http://apiwiki.twitter.com/" target="_blank">Twitter</a> har hatt store problemer med sin autentiseringstjeneste, og har måttet tvinge brukerstedene av API&#8217;et over på ny løsning &#8211; rett og slett ved å skru av den gamle på et gitt tidspunkt. Resultatet ble at mange tjenester som baserte seg på twitter sluttet å virke, og feilsøking og feilretting rundt overgangen er fortsatt ikke avsluttet. Litt mer kundevennlige <a href="http://developer.linkedin.com/index.jspa" target="_blank">LinkedIn</a> måtte ringe opp alle brukerstedene før de gjorde endringer. God service, men en så stor jobb at det nesten er vanskelig å forestille seg.</p>
<p><strong>Lærdom1: </strong>Skal man etablere et åpent API må man betrakte brukerne av API&#8217;et som kunder, og behandle dem deretter. Å eie et API er å eie et produkt &#8211; lansering må planlegges nøye, og produktets livssyklus må analyseres før det settes ut i markedet.</p>
<p><strong>Lærdom2:</strong> Skal man benytte et åpent API må man agere som kunde. Dette innebærer å registrere seg, og forholde seg til løpende dokumentasjons- og programendringer. Man må også ytelsesplanlegge og robustifisere sin egen løsning og kundedialog for situasjoner der API&#8217;et kan være utilgjengelig.</p>
<h2>Trend #5 : Sosiale medier og CRM</h2>
<p>Alle vil vite mer om hvorledes man kan benytte sosiale medier i aktiv bearbeiding av markedet og kundene &#8211; med økt salg som formål. Mange vil snakke om temaet, og har kloke ideer til hva man ikke bør gjøre. Nesten ingen har gode mønster/patterns for hvorledes gjøre dette i praksis.</p>
<p><strong>Lærdom:</strong> Det er bedre å gjøre noe selv om man ikke ser en konkret og målbar positiv effekt, enn å gjøre ingenting og oppleve en konkret og målbar negativ effekt.</p>
<h2>Trend #6 : Vi er alle (agile) webutviklere</h2>
<p>Sett i lys av ovenstående trender blir webutvikling og kunnskap om tjenester og teknologier en felles møteplass for forretningsutviklere, systemeiere, markedsførere, designere og utviklere. Ingen kan melde seg ut av denne kunnskapssirkelen og fortsatt ha et realistisk håp om fantastiske resultater ved bruk av digital teknologi. Web 2.0 tilhører ingen rolle, avdeling eller virksomhet alene.</p>
<p>For å skape god effekt med mange involverte parter, satte konferansen søkelyset på hurtigd/agile/lean prosesser der man skaper verdi tidlig &#8211; og prioriterer hardt i forhold til egne krav. Levere lite &amp; fort er bedre enn mye &amp; sent.</p>
<h2>Alt satt i system</h2>
<p>I et forsøk på å sette disse trendene i en form for et system, skisset jeg raskt opp denne figuren på det man bare måtte ha med seg hjem fra San Francisco i mai i år: en iPad. Rundt en tredel av alle konferansedeltakerne hadde et brett, og på forespørsel fra plenumspodiet kom så godt som alle hender i været på spørsmålet: &#8220;Hvem har en iPhone?&#8221;. Tross denne Apple-dominansen var det slående at sympatien vektet tungt i favør av Adobe i spørsmålet rundt framtiden til Flash. Dette er kanskje også trender, men her har vi satt fokuset på forretningsutvikling på nett:</p>
<div id="attachment_721" class="wp-caption aligncenter" style="width: 479px"><img class="size-large wp-image-721" title="Alt satt i system" src="http://www.blogandtell.net/wp-content/uploads/idea-1024x856.png" alt="Kundeopplevelse og Web 2.0 trender" width="469" height="392" /><p class="wp-caption-text">Kundeopplevelse og Web 2.0 trender</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.blogandtell.net/2010/05/21/seks-dominerende-trender-fra-web-2-0-expo-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Notasjon for integrasjonsdiagrammer</title>
		<link>http://www.blogandtell.net/2009/02/13/notasjon-for-integrasjonsdiagrammer/</link>
		<comments>http://www.blogandtell.net/2009/02/13/notasjon-for-integrasjonsdiagrammer/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 11:27:51 +0000</pubDate>
		<dc:creator>Kristian Helgesen</dc:creator>
				<category><![CDATA[Integrasjon]]></category>
		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://www.blogandtell.net/?p=341</guid>
		<description><![CDATA[ I forbindelse med endringer i IT-systemer og IT-infrastruktur er integrasjon mellom systemer ofte en tidkrevende øvelse. At forskjellige leverandører har forskjellig bakgrunn og kompetanse gjør også ofte at integrasjonsløsningene blir anderledes enn man forventer. For å unngå misforståelser er det viktig med gode illustrasjoner.
Illustrasjonene bør inneholde følgende informasjon:

Hvilke data som flyter mellom systemene
Hvilken teknologi som [...]]]></description>
			<content:encoded><![CDATA[<p> I forbindelse med endringer i IT-systemer og IT-infrastruktur er integrasjon mellom systemer ofte en tidkrevende øvelse. At forskjellige leverandører har forskjellig bakgrunn og kompetanse gjør også ofte at integrasjonsløsningene blir anderledes enn man forventer. For å unngå misforståelser er det viktig med gode illustrasjoner.</p>
<p>Illustrasjonene bør inneholde følgende informasjon:</p>
<ul>
<li>Hvilke data som flyter mellom systemene</li>
<li>Hvilken teknologi som benyttes i integrasjonene</li>
<li>Hvilket system som initierer koblingen</li>
</ul>
<p>Tidligere har vi tegnet dette i forskjellige diagrammer, med og uten UML. Det har vært vanskelig å få nok informasjon inn i ett enkelt diagram uten å miste oversikten og lesbarheten. Flere diagrammer kan gi klarhet i hvert sitt perspektiv, men når det blir snakk om mange systemer og målbildet endrer seg ofte, kan det bli tidkrevende å holde de forskjellige diagrammene i samsvar med hverandre. Følgende notasjon gjør det mulig å tegne alle detaljene i ett enkelt diagram uten at det blir uoversiktlig.</p>
<p><span id="more-341"></span></p>
<table border="0">
<tbody>
<tr style="background-color:#ccc">
<th><strong>Koblingstype</strong></th>
<th><strong>Illustrasjon</strong></th>
<th><strong>Initiativ</strong></th>
<th><strong>Dataflyt</strong></th>
</tr>
<tr>
<td> Manuell overføring</td>
<td> <img class="alignnone size-full wp-image-343" title="int-manuell" src="http://www.blogandtell.net/wp-content/uploads/int-manuell.gif" alt="int-manuell" width="144" height="30" /></td>
<td>manuelt</td>
<td> <img src="http://www.blogandtell.net/wp-content/uploads/right.gif" alt="" /></td>
</tr>
<tr>
<td>Batchoverføring</td>
<td><img class="alignnone size-full wp-image-370" title="int-batch" src="http://www.blogandtell.net/wp-content/uploads/int-batch.gif" alt="int-batch" width="156" height="43" /></td>
<td><img src="http://www.blogandtell.net/wp-content/uploads/right.gif" alt="" /></td>
<td><img src="http://www.blogandtell.net/wp-content/uploads/right.gif" alt="" /></td>
</tr>
<tr>
<td> Web Service kall</td>
<td> <img class="alignnone size-full wp-image-374" title="int-ws" src="http://www.blogandtell.net/wp-content/uploads/int-ws.gif" alt="int-ws" width="144" height="30" /></td>
<td> <img src="http://www.blogandtell.net/wp-content/uploads/right.gif" alt="" /></td>
<td> <img src="http://www.blogandtell.net/wp-content/uploads/right.gif" alt="" /></td>
</tr>
<tr>
<td> Web Service pull</td>
<td> <img class="alignnone size-full wp-image-373" title="int-ws-pull" src="http://www.blogandtell.net/wp-content/uploads/int-ws-pull.gif" alt="int-ws-pull" width="152" height="39" /></td>
<td> <img src="http://www.blogandtell.net/wp-content/uploads/right.gif" alt="" /></td>
<td> <img class="alignnone size-full wp-image-356" title="left" src="http://www.blogandtell.net/wp-content/uploads/left.gif" alt="left" width="67" height="30" /></td>
</tr>
<tr>
<td> Direktekobling (API)</td>
<td> <img class="alignnone size-full wp-image-349" title="int-dir" src="http://www.blogandtell.net/wp-content/uploads/int-dir.gif" alt="int-dir" width="126" height="26" /></td>
<td> <img src="http://www.blogandtell.net/wp-content/uploads/right.gif" alt="" /></td>
<td> <img src="http://www.blogandtell.net/wp-content/uploads/right.gif" alt="" /></td>
</tr>
<tr>
<td> Datapull gjennom<br />
direktekobling (API)</td>
<td> <img class="alignnone size-full wp-image-372" title="int-dir-pull" src="http://www.blogandtell.net/wp-content/uploads/int-dir-pull.gif" alt="int-dir-pull" width="152" height="39" /></td>
<td> <img src="http://www.blogandtell.net/wp-content/uploads/right.gif" alt="" /></td>
<td> <img class="alignnone size-full wp-image-356" title="left" src="http://www.blogandtell.net/wp-content/uploads/left.gif" alt="left" width="67" height="30" /></td>
</tr>
<tr>
<td> Databasepopulering</td>
<td> <img class="alignnone size-full wp-image-345" title="int-db" src="http://www.blogandtell.net/wp-content/uploads/int-db.gif" alt="int-db" width="126" height="26" /></td>
<td> <img src="http://www.blogandtell.net/wp-content/uploads/right.gif" alt="" /></td>
<td> <img src="http://www.blogandtell.net/wp-content/uploads/right.gif" alt="" /></td>
</tr>
<tr>
<td> Databasoppslag</td>
<td> <img class="alignnone size-full wp-image-371" title="int-db-pull" src="http://www.blogandtell.net/wp-content/uploads/int-db-pull.gif" alt="int-db-pull" width="152" height="39" /></td>
<td> <img src="http://www.blogandtell.net/wp-content/uploads/right.gif" alt="" /></td>
<td> <img class="alignnone size-full wp-image-356" title="left" src="http://www.blogandtell.net/wp-content/uploads/left.gif" alt="left" width="67" height="30" /></td>
</tr>
</tbody>
</table>
<p> </p>
<p>Nedenfor er et enkelt, fiktivt eksempel på et integrasjonsdiagram med denne notasjonen. Det er noen få systemer inkludert, hvor en kundeadministrasjonsapplikasjon henter data fra en integrasjonsplattform, som igjen henter og sammenstiller kundedata fra to systemer. Applikasjonen kan oppdatere databasen, og kan overføre kundedata som en batchjobb til et datavarehus.</p>
<p> </p>
<div id="attachment_381" class="wp-caption aligncenter" style="width: 314px"><img class="size-full wp-image-381" title="integrasjonseksempel" src="http://www.blogandtell.net/wp-content/uploads/int-eksempel.png" alt="eksempel på integrasjonsdiagram" width="304" height="285" /><p class="wp-caption-text">eksempel på integrasjonsdiagram</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.blogandtell.net/2009/02/13/notasjon-for-integrasjonsdiagrammer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SOA på tre måneder?  Slank på 6 uker?</title>
		<link>http://www.blogandtell.net/2008/05/02/soa-pa-tre-maneder-slank-pa-6-uker/</link>
		<comments>http://www.blogandtell.net/2008/05/02/soa-pa-tre-maneder-slank-pa-6-uker/#comments</comments>
		<pubDate>Fri, 02 May 2008 08:53:06 +0000</pubDate>
		<dc:creator>Vidar Berget</dc:creator>
				<category><![CDATA[Integrasjon]]></category>
		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://www.blogandtell.net/2008/05/02/soa-pa-tre-maneder-slank-pa-6-uker/</guid>
		<description><![CDATA[Det er mange spennende tilbud å lese om på internett, for ikke å snakke om en del av de som dukker opp i mailboksen min.  Ofte loves stor fremgang (eller reduksjon, eller økning) på kort tid.  Nå har jeg imidlertid fått med beskjed hjemmefra om ikke å tro på alt jeg leser, så [...]]]></description>
			<content:encoded><![CDATA[<p dir="ltr">Det er mange spennende tilbud å lese om på internett, for ikke å snakke om en del av de som dukker opp i mailboksen min.  Ofte loves stor fremgang (eller reduksjon, eller økning) på kort tid.  Nå har jeg imidlertid fått med beskjed hjemmefra om ikke å tro på alt jeg leser, så jeg står vel uten unntak over denne typen tilbud.  OK, jeg er litt svakere hvis de lover meg blankere sykkel eller lettere tur-utstyr &#8211; men nok om det.</p>
<p dir="ltr">En interessant sak nå nylig er denne: <a href="http://www.digi.no/php/art.php?id=522899" target="_blank" title="Tilbyr SOA på tre måneder til fast pris">Tilbyr SOA på tre måneder til fast pris</a> Her er aktøren seriøs og godt kjent i markedet, men har jeg noen tro på SOA (tjenesteorientert arkitektur) på 3 måneder? Til fastpris?</p>
<p dir="ltr"><span id="more-70"></span>For å si noe om det må vi først ha en liten definisjon av hva SOA er &#8211; og hvorfor vi ønsker oss en SOA.  Det siste er viktig, hvis ikke er vi ikke i stand til å bedømme om vi oppnår det vi ønsker eller ikke.</p>
<p dir="ltr">Motivasjonen til å innføre en tjenesteorientert arkitektur (SOA) kan være forskjellige, men på mange måter koker det ned til å kunne få en IT-portefølje som er mer fleksibel og bedre tilpasset de forretningsprosessene de skal understøtte.  I dette ligger større endringsdyktighet og høyere grad av gjenbruk, noe som vil kunne bidra til reduserte kostnader.  Måten vi søker å oppnå dette på er gjennom å bygge systemene som en samling av <em>tjenester</em>, derav navnet <em>tjenesteorientert</em> arkitektur.  Akkurat hvordan tjenestene skal utformes og settes sammen for å nå målene om fleksibilitet og gjenbruk kan man ha lange diskusjoner om, akkurat her skal jeg nøye meg med å mene at det ikke er tilfeldig hvordan tjenestene utformes &#8211; samt at såkalte &#8220;loosely coupled business services&#8221; er en riktig god start.</p>
<p dir="ltr">Tjenesteorientering er altså middelet vi bruker til å oppnå de ønskede effektene (endringsdyktighet, fleksiblitet&#8230;).  Naturlig nok kommer da effektene vi ønsker gradvis etter hvert som vi etablerer flere og flere tjenester og blir flinkere og flinkere til å utforme de på rett måte.</p>
<p dir="ltr">Hva er det så &#8220;reklamen&#8221; sier at vi nå kan få etablert på tre måneder, og til fastpris?  Såvidt jeg kan lese ut fra artikkelen er det snakk om å levere en teknisk plattform, arkitektur og malverk.  Dette er sikkert en fin og nyttig verktøykasse for å begynne å realisere tjenester, men det er da tydeligvis ikke snakk om å gjennomføre en omfattende implementasjon av tjenester &#8211; det ville også vært en overraskelse om dette lot seg designe, utvikle, teste og produkssjonsette i noe særlig omfang i løpet av tre måneder (&#8230;til fastpris).</p>
<p dir="ltr">Det er fristende å bruke denne modellen: <a href="http://schneider.blogspot.com/2008/03/jbogs-and-pops.html" target="_blank" title="JBoGS and PoPS">http://schneider.blogspot.com/2008/03/jbogs-and-pops.html</a> og kalle dette <em>JBoPS</em>, dvs <em>Just a Bunch of Platform Stuff</em>. Herfra er det et godt stykke igjen til lykkelandet SOA&#8230;</p>
<p dir="ltr">Nå er selvfølgelig denne typen plattform-prosjekter veldig greie å håndtere, de er enkle å scope, oversiktelige, målbare og kommer i mål innenfor rimelige tidsfrister, og så kan de også kjøres uten at man trenger å gjøre gjennomgripende ting med hele organisasjonen.  For meg er de imidlertid bare begynnelsen på å gjennomføre en tjenesteorientering; Og kanskje er det heller ikke nødvendig å investere tungt i plattform først?</p>
<p dir="ltr">Har også lyst til å legge til at selv om det kan ligge mye nyttig støtte i et godt malverk og i et arkitekturrammeverk, så betyr dette ikke at design og arkitekturvurderinger ikke er en utfordring lenger.  Å velge rett granularitet på tjenestene og å klare å finne de rette generiske og gjenbrukbare grensesnittene viser seg å faktisk være ganske krevende, og må gjøres riktig i hvert enkelt tilfelle.</p>
<p dir="ltr">Så får du en SOA på tre måneder?  Det er i stor grad en definisjonssak.  Du kan sikkert få på plass en SOA-plattform og så kalle det SOA, men alle de gode effektene som SOA er ment å skulle gi oss får du ikke av en plattform-implementering alene.  De kommer av å implementere og ta i bruk tjenester, noe du må regne med at tar langt mer enn tre måneder &#8211; og at du ikke får fastpris på den jobben.</p>
<p dir="ltr">Det er fristende å sammenligne med å gå til innkjøp av treningsapparat og instruksjonsvideo.  Fin start, men du blir hverken sprek og/eller slank av å sette opp treningsapparatet i kjellerstua &#8211; du blir sprek av å begynne å trene på det og så fortsette å trene på det.  I tillegg hadde du sikkert ett par joggesko eller noe annet som kunne brukes til å trene med liggende allerede <img src='http://www.blogandtell.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.blogandtell.net/2008/05/02/soa-pa-tre-maneder-slank-pa-6-uker/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Er SOA en ESB?</title>
		<link>http://www.blogandtell.net/2008/03/11/er-soa-en-esb/</link>
		<comments>http://www.blogandtell.net/2008/03/11/er-soa-en-esb/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 08:23:16 +0000</pubDate>
		<dc:creator>Vidar Berget</dc:creator>
				<category><![CDATA[Integrasjon]]></category>
		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://www.blogandtell.net/2008/03/11/er-soa-en-esb/</guid>
		<description><![CDATA[Å rent faktisk implementere SOA er en ny øvelse, særlig hvis man snakker om en virkelig gjennomgripende tjenestearkitektur, og ikke bare det å være i gang med å etablere enkeltstående tjenester.   Hvilke verktøy som vil være nyttige og nødvendige er derfor til dels ennå et diskusjonstema.  Kanskje er dette også et område [...]]]></description>
			<content:encoded><![CDATA[<p>Å rent faktisk implementere SOA er en ny øvelse, særlig hvis man snakker om en virkelig gjennomgripende tjenestearkitektur, og ikke bare det å være i gang med å etablere enkeltstående tjenester.   Hvilke verktøy som vil være nyttige og nødvendige er derfor til dels ennå et diskusjonstema.  Kanskje er dette også et område som tiltrekker verktøyleverandører med mer eller mindre akutt behov for å redefinere seg selv til noe annet enn det de holder på med i dag?</p>
<p>En del verktøy begynner imidlertid å få mange tilhengere og ganske entydige definisjoner, et av disse er den såkalte servicebussen, dvs en Enterprise Service Buss.  En ESB altså.  Som sagt er det ikke nødvendigvis enighet om nøyaktig hva en ESB skal omfatte, men her er ihvertfall en definisjon av hva en ESB skal bidra med:</p>
<ul>
<li>    Ruting og formidling av tjenestekall</li>
<li>Transformering og berikelse av meldinger</li>
<li>Overvåkning og monitorering</li>
</ul>
<p><span id="more-62"></span>En av de viktigste effektene av å ta i bruk slike mekanismer er å etablere en tjenesteproxy mellom tilbyder og konsument av tjenestene, dvs at tilbyder og konsument ikke snakker direkte med hverandre.   Grunnen til at dette er bra er at det kan bidra til løsere sammenkobling i tjenestearkitekturen, noe som er sentralt for å oppnå den fleksibiliteten og endringsdyktigheten som SOA er ment å skulle gi.</p>
<p>Flere av disse egenskapene til en ESB er forøvrig godt kjent fra “hub-and-spoke” typen integrasjonsverktøy &#8211; mange av løftene om hva de skulle gi av fordeler var nok også de samme.  For ikke alt for mange år siden ble det investert mye penger i denne typen verktøy (som f.eks SeeBeyond, WebMethods, Tibco), sannsynligvis uten at man oppnådde alt man ønsket.  Systemene ble definitivt integrert med hverandre og dataene kom fra A til B, men over tid viste løsningene seg å være vanskelige og tidkrevende å endre på, samtidig som det var vanskelig å gjenbruke de integrasjonene som ble etablert.</p>
<p>Det kan selvfølgelig være mange grunner til dette, og den rent tekniske forskjellen på en ESB og et integrasjonsverktøy av denne typen kan også være rimelig subtile.  En hovedårsak var imidlertid at man ikke fikk til løs kobling, dvs at integrasjonspunktene ble knyttet for tett til hverandre og det ble dermed vanskelig og kostbart å gjøre endringer.</p>
<p>Dette bringer oss fram til spørsmålet om SOA er en ESB.  Svaret er egentlig nei &#8211; å etablere en SOA er (dessverre) langt mer komplisert enn å bare sette opp en ESB.  Faren er at hovedfokus blir på å etablere alt som tjenester, noe en ESB forsåvidt kan hjelpe til med, men uten at man dermed oppnår det man egentlig ville med en tjenesteorientering.  Jeg tror det er viktig at man holder fokus på at målet med SOA er økt fleksibilitet og endringsdyktighet.  Løst koblede tjenester er middelet for å oppnå dette.</p>
<p>Når men jobber med SOA er det derfor viktig at man har et kontinuerlig fokus på hvordan oppnå fleksilitet og løs kobling, dette er nemlig ikke noe som kommer automatisk hverken av at man lager alt som tjenester eller om man bruker en ESB.  Zapthink snakker til og med om sju nivåer av løs kobling “loose coupling”: <a href="http://www.zapthink.com/report.html?id=ZAPFLASH-20071128">http://www.zapthink.com/report.html?id=ZAPFLASH-20071128</a>.</p>
<p>Tjenester og bruk av en ESB som et tjenesteproxy-lag i arkitekturen vil definitvt hjelpe deg på vei, men til slutt vil det være hvor godt tjenestene er utformet og hvordan de brukes som vil avgjøre graden av suksess.  Regler for hvordan tjenestene skal utformes blir derfor viktig, dvs at man også må etablere en såkalt SOA Policy for å beskrive hvordan dette skal gjennomføres.<br />
Og selv om det er vanskelig, så husk at suksess bør måles i hvor endringsdyktige man klarer å få IT-systemene til å bli og hvor stor grad av gjenbruk man klarer å oppnå, ikke i hvor mange tjenester man har etablert.</p>
<p>Det er også vel verdt å merke seg at bruken av en tjenesteproxy er et designpattern (dvs en god designide), og ikke noe som er uløselig knyttet til en ESB. Hvorvidt man velger å implementere dette pattern’et fra grunnen av selv eller kjøper inne en ESB, er en rent praktisk vurdering som bør gjøres ut fra hvilke krav man har, hvor mange tjenester det er snakk om og i hvilken grad man vil kunne nyttegjøre seg annen funksjonalitet (f.eks overvåkning og feilhåndtering) som kan finnes i en ESB.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blogandtell.net/2008/03/11/er-soa-en-esb/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Integrasjon med Mule</title>
		<link>http://www.blogandtell.net/2008/01/21/integrasjon-med-mule/</link>
		<comments>http://www.blogandtell.net/2008/01/21/integrasjon-med-mule/#comments</comments>
		<pubDate>Mon, 21 Jan 2008 12:22:43 +0000</pubDate>
		<dc:creator>Tor Arne Kvaløy</dc:creator>
				<category><![CDATA[Integrasjon]]></category>

		<guid isPermaLink="false">http://www.blogandtell.net/2008/01/21/integrasjon-med-mule/</guid>
		<description><![CDATA[Mule ESB er et rammeverk for integrasjon som har fått ganske så mye  oppmerksomhet i IT-miljøer og på konferanser som Java Zone 07. Årsaken til dette  er nok at Mule sees som et open source alternativ til svært dyre  integrasjonsteknologier, samt dens nære knytning til populære open source  teknologier som Spring, [...]]]></description>
			<content:encoded><![CDATA[<p dir="ltr">Mule ESB er et rammeverk for integrasjon som har fått ganske så mye  oppmerksomhet i IT-miljøer og på konferanser som Java Zone 07. Årsaken til dette  er nok at Mule sees som et open source alternativ til svært dyre  integrasjonsteknologier, samt dens nære knytning til populære open source  teknologier som Spring, Maven og JBoss.</p>
<p><strong>Så hva kan Mule brukes til og hvordan funger det? </strong>Mule er en Enterprise  Service Bus i forstand at den består av komponenter som kan motta data,  transformere data, eksekvere kode, og sende data videre. Disse komponentene  konfigureres via XML filer hvor prosessflyten og protokoller spesifiseres.  <span> </span>Her er en figur som illustrerer et tenkt scenario hvor den  første komponenten mottar data via en Web Service og legger dataene på en kø via  JMS, og er ferdig. En annen komponent lytter på køen, transformerer dataene og  splitter den til en komponent som lagrer dataene til en database og en annen  komponent som sender dataene til et annet system via en Web Service.</p>
<p><a href="http://www.blogandtell.net/wp-content/uploads/prosessflyt.gif" title="Prosesflyt"><img src="http://www.blogandtell.net/wp-content/uploads/prosessflyt.gif" title="Prosesflyt" alt="Prosesflyt" width="450" /></a></p>
<p>Dette er et enkelt men veldig typisk scenario for integrasjon. Siden flyten  og protokollene konfigureres via en XML fil er det en smal sak å endre det slik  at dataen sendes til en tredje komponent, samt å legge på transaksjonsstøtte for  garantert levering fra kø til destinasjon.</p>
<p>Mens flyten, protokoller, destinasjoner og transaksjons konfigureres via en  XML fil, så består selve innholdet i hver komponent av en enkel java  klasse.<span>  </span>Å lage en web service kan være så enkelt som å lage en  klasse med en metode String getName() og så spesifisere XML filen at det skal  være en Web Service.</p>
<p><span lang="EN-US"><strong>It&#8217;s free. There must be a catch?</strong> </span>Vel, ja.  Hovedproblemet med Mule er den teknologiske terskelen for å komme i gang.  <span> </span>Mule består av så mange forskjellige teknologier, hvor mange av  dem, blant annet Mule selv, er nokså dårlig dokumentert. Så foruten at man  trenger en god forståelse av integrasjonsteori som synkron/asynkron  kommunikasjon, normalisering, korrelasjoner, transaksjoner, xml og database, så  er det underliggende teknologiene som er en utfordring. Teknologier som man bør  kunne for å få gjort noe i Mule vil generelt være: Java, Spring, Maven, Web  Services (Xfire,CXF, JAX-WS), JMS, XML, JDBC, JMX og J2EE applikasjons tjener.  <span> </span></p>
<p>Det er mange måter deployere Mule på, men måten jeg har funnet ut fungerer  mest tilfredsstillende er pakke hver instans som en ear fil, og hot-deploy til  JBoss. Når man deployer flere instanser så vil hver instans ha sin egen  classloader og være fullstendig separat. Problemet med dette, i forhold til  andre ESB produkter, er at Mule ikke kan dele såkalte konnektorer mellom ulike  instanser. Konsekvensen av dette er at dersom man har to instanser som  eksponerer Web Services så må hver instans ha sin egen port. <span> </span>Dette  kan fort bli en utfordring dersom man har mange instanser.</p>
<p>Så for å summere opp. <strong>Fordeler </strong>med Mule er</p>
<ul>
<li><span><span><span style="font-weight: normal; font-size: 7pt; line-height: normal; font-style: normal; font-variant: normal; font-size-adjust: none; font-stretch: normal"></span></span></span>Fleksibelt og veldig pragmatisk rammeverk for integrasjon og prosessflyt<span><span><span style="font-weight: normal; font-size: 7pt; line-height: normal; font-style: normal; font-variant: normal; font-size-adjust: none; font-stretch: normal"></span></span></span></li>
<li><span><span><span style="font-weight: normal; font-size: 7pt; line-height: normal; font-style: normal; font-variant: normal; font-size-adjust: none; font-stretch: normal"></span></span></span> Skalerer sannsynlig veldig bra teknologisk på  komponentnivå<span><span><span style="font-weight: normal; font-size: 7pt; line-height: normal; font-style: normal; font-variant: normal; font-size-adjust: none; font-stretch: normal"></span></span></span></li>
<li><span><span><span style="font-weight: normal; font-size: 7pt; line-height: normal; font-style: normal; font-variant: normal; font-size-adjust: none; font-stretch: normal"></span></span></span>God støtte for protokoller<span><span><span style="font-weight: normal; font-size: 7pt; line-height: normal; font-style: normal; font-variant: normal; font-size-adjust: none; font-stretch: normal"></span></span></span></li>
<li>Open source, noe som gjør det lettere å  debugge<span><span><span style="font-weight: normal; font-size: 7pt; line-height: normal; font-style: normal; font-variant: normal; font-size-adjust: none; font-stretch: normal"></span></span></span></li>
<li>God støtte for unit- og funksjonell testing  (noe som de aller fleste andre ESB mangler)<span><span><span style="font-weight: normal; font-size: 7pt; line-height: normal; font-style: normal; font-variant: normal; font-size-adjust: none; font-stretch: normal"></span></span></span></li>
<li>Ingen lisenskostnader<span><span><span style="font-weight: normal; font-size: 7pt; line-height: normal; font-style: normal; font-variant: normal; font-size-adjust: none; font-stretch: normal"></span></span></span></li>
<li>God online hjelp via deres mailingliste<span><span><span style="font-weight: normal; font-size: 7pt; line-height: normal; font-style: normal; font-variant: normal; font-size-adjust: none; font-stretch: normal"></span></span></span></li>
<li>Relativ god støtte for innsyn/monitorering  under kjøring via JMX</li>
</ul>
<p><strong>Svakheter</strong></p>
<ul>
<li><span><span><span style="font-weight: normal; font-size: 7pt; line-height: normal; font-style: normal; font-variant: normal; font-size-adjust: none; font-stretch: normal"> </span></span></span>Skalerer dårlig når det gjelder deployering<span><span><span style="font-weight: normal; font-size: 7pt; line-height: normal; font-style: normal; font-variant: normal; font-size-adjust: none; font-stretch: normal"></span></span></span></li>
<li>Høy terskel for å komme i gang<span><span><span style="font-weight: normal; font-size: 7pt; line-height: normal; font-style: normal; font-variant: normal; font-size-adjust: none; font-stretch: normal"></span></span></span></li>
<li>Fortsatt en del ting som ikke fungerer som det  skal</li>
<li>Mangler  grafisk grensesnitt for konfigurering</li>
<li>Mangler grafisk  grensesnitt for XML mapping</li>
</ul>
<p>Så alt i alt så er Mule et veldig interessant rammeverk som i mange tilfeller vil være tilfredsstillende for å gjøre integrasjon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blogandtell.net/2008/01/21/integrasjon-med-mule/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
