SlideShare a Scribd company logo
1 of 8
Download to read offline
6BEST PRACTISES
VOOR HET KOPPELEN
VAN APPLICATIES
De waarde van een Architectuur voor business en IT
Joost bentvelsen
Het koppelen van applicaties wordt doorgaans gezien als een technisch vraagstuk. Al snel wordt er
bij integratie gesproken over technieken. Integratie gaat in essentie niet over technologie. Het gaat
erom een fundament neer te leggen dat naar de toekomst toe een wezenlijke bijdrage levert aan de
bedrijfsdoelstellingen. Techniek is een middel, geen doel.
In dit artikel presenteert Joost Bentvelzen - Solution Architect Integratie en Mobility bij Breinwave -
zes bewezen architecturen die als basis kunnen dienen voor uw specifieke scenario.
6 BEST PRACTISES
VOOR HET KOPPELEN
VAN APPLICATIES
Het #koppelen van applicaties wordt doorgaans
gezien als een technisch vraagstuk. Al snel wordt
er bij integratie gesproken over technieken als Biz-
Talk, webservices, ESB’s en wat al niet meer.
Maar #integratie gaat wat mij betreft in essentie
niet over technologie. Het gaat erom een funda-
ment neer te leggen dat naar de toekomst toe een
wezenlijke bijdrage levert aan de bedrijfsdoelstel-
lingen. Techniek is een middel, geen doel. En daar-
om is Integratie Architectuur in de praktijk com-
plex: juist door het verbinden van business en IT.
HET GEVAAR VAN KOPPELEN
Het koppelen van systemen is tegenwoordig niet
meer echt moeilijk. Elke applicatie heeft voorberei-
dingen getroffen om te koppelen met de buiten-
wereld en er zijn tal van ‘standaarden’ ontwikkeld
die als basis gebruikt kunnen worden. Als je een
techneut vraagt om twee willekeurige systemen
te koppelen, dan is de kans groot dat de techniek
geen bottleneck is. En ook veel verkopers van (deel)
oplossingen wagen zich aan de uitspraak dat hun
applicatie kan worden gekoppeld aan ieder ander
systeem.
Maar wie hieraan toegeeft en kiest voor een prag-
matische aanpak, kan al vrij snel geconfronteerd
worden met de nadelige gevolgen ervan. Pragma-
tisme blijkt dan opportunisme. Een dergelijke kop-
peling betreft namelijk als snel maatwerk. En ook
als er tools worden gebruikt waarmee kan worden
geconfigureerd in plaats van geprogrammeerd,
is de kennis in de praktijk vaak maar bij enkelen
bekend en slecht gedocumenteerd. Dat is geen
probleem zolang de koppeling doet wat ervan ver-
wacht wordt. Het probleem ontstaat als de wensen
veranderen.
Want zodra er nieuwe requirements ontstaan,
heeft dit impact op de koppeling. Een veld erbij
bijvoorbeeld, kan al snel een dure aangelegenheid
worden omdat dit in twee systemen en de koppe-
ling gerealiseerd moet worden. Zowel in een ont-
wikkelomgeving, een testomgeving, een acceptatie
omgeving en een productieomgeving.
En dan hebben we het nog niet eens over het
upgraden van systemen. Steeds vaker kom ik
bedrijven tegen die op softwareversies van jaren
geleden werken omdat ze vanwege alle koppelin-
gen #niet meer kunnen of durven upgraden. En
daardoor halen ze niet de potentie uit ICT die de
concurrentie wel heeft. En dat is duur. De kosten
van een koppeling zitten hem dus niet alleen in de
realisatie ervan, maar vooral ook in het beheren
en uitbreiden ervan. En in de beperkingen die er
daarna ontstaan.
De oplossing hiervoor is niet moeilijk. Het is met
name een attitude. Doe eerst een stap terug en doe
er dan twee vooruit, geldt hier als belangrijkste
uitgangspunt. Wie meteen begint over de tools en
pragmatisch aan de slag denkt te gaan, is uiteinde-
lijk duurder uit. Een goed #fundament neerleggen
is de basis en kan met weinig inspanning.
De waarde van een architectuur voor business en IT
WAAROM EEN ARCHITECTUUR?
Werken vanuit een #architectuur biedt zowel de
business als de IT houvast. Waar de business het
vaak vooral belangrijk vindt om flexibel te zijn,
focust de IT zich ook op zaken als betrouwbaarheid
en veiligheid. Daarnaast zijn beiden erbij gebaat
de totale kosten, dus inclusief het beheer, zo laag
mogelijk te houden.
Een architectuur helpt hierbij. Er ontstaat inzicht
in het #applicatielandschap. Er is duidelijk welke
applicatie welk doel dient en waar elke applicatie in
het proces wordt toegepast. De koppelingen tussen
applicaties worden expliciet gemaakt. En als er in
de toekomst nieuwe applicaties worden overwogen,
dan kunnen deze worden getoetst tegen de archi-
tectuur.
HOE KOM JE ERACHTER WAT DE BUSINESS WIL?
Een architectuur is geen one-size-fits-all. Als iemand
mij advies vraagt over bijvoorbeeld koppelingen,
dan begin ik met het stellen van vragen. Ik wil
weten wat de achterliggende doelstellingen zijn en
kunnen voorspellen welke richting dit de komende
jaren op zal groeien. Op basis van business require-
ments dus en niet op basis van technologie.
Om de business requirements in korte tijd te door-
gronden, begin ik bij de kern. De waardepropositie
van het bedrijf richting haar klanten. Waarom
komen klanten daar? Wat vinden ze wat ze elders
niet vinden? Wat maakt dit bedrijf uniek? En hoe
kan IT daar een bijdrage aan leveren of het zelfs
versterken?
Tracey en Wiersema hebben met hun waardemodel
een bruikbare tool gegeven om hier een referen-
tiekader voor te scheppen en de waardepropositie
expliciet te maken. Door te bepalen of een bedrijf
vooral bestaat vanuit Product Leadership, vanuit
Customer Intimacy of vanuit Operational
Excellence.
Figuur 1 | Waardemodel van Tracey en Wiersema
En op basis daarvan kun je ook vaststellen of vooral
het product, de klant of het proces centraal staat.
En dat kun je meteen vertalen naar IT. Want wat
is eigenlijk het #kernsysteem: ERP (proces), CRM
(klant) of PIM (product)?
Een ander model dat ik graag toepas is het Business
Model Canvas. Dit model biedt een structuur waar-
in elk business model kan worden gevangen. Het
richt zich op interne en externe zaken en vertaalt
dit naar kosten en opbrengstenstructuren. Het
maakt scherp wie de klant is, hoe deze benaderd
wordt, welke waarde er geleverd wordt en welke
activiteiten er nodig zijn om dat te bereiken.
Figuur 2 | Business Model Canvas
Bij het invullen van het BMC zouden in principe
alle antwoorden al vast horen te staan. Toch blijkt
dat als dit expliciet gemaakt wordt er vaak nieuwe
inzichten en discussies ontstaan die helpen e.e.a.
scherp te krijgen. Vanuit het BMC kan worden
gedestilleerd welke fundamentele eisen dit aan de
onderliggende IT stelt. En die requirements zullen
dus niet zomaar elk half jaar veranderen.
WERKEN VANUIT BEST-PRACTISES
Hoewel ieder bedrijf anders is en dus de require-
ments ook verschillen, kan er natuurlijk wel ge-
bruik gemaakt worden van best-practises bij ande-
ren. Soms om deze één op één toe te passen, maar
vooral als referentie om vervolgens tot een eigen
architectuur te komen.
Onderstaand wordt een vijftal best-practises uitge-
werkt. In de praktijk kunnen er vaak zo al twee of
drie worden weggestreept zodat snel kan worden
gefocust op één of twee #uitgangspunten en op
basis daarvan nuancering kan worden aangebracht.
De scenario’s starten van minimale complexiteit
naar maximale complexiteit.
SCENARIO 1: ALLES IN ÉÉN SYSTEEM
Figuur 3 | Scenario 1 - Alles in één systeem
Het eerste scenario betreft de #integrale oplossing.
Hoewel dit het scenario is waar veel bedrijven ooit
mee zijn gestart, lijkt het inmiddels een onrealisti-
sche utopie te zijn geworden. Want hoe groot is de
kans dat je één applicatie vindt die aan alle eisen en
wensen voldoet? En waarom zou je dat willen als
koppelen tegenwoordig geen probleem meer zou
moeten zijn?
Het voordeel van deze ‘architectuur’ is echter
enorm. Alle gegevens worden in één centraal sys-
teem opgeslagen en bewerkt. Er is maar één versie
van de werkelijkheid. Als ergens een wijziging
plaatsvindt, dan hoeft dat maar op één plek. En als
je ooit wilt upgraden naar een nieuwe versie, dan
scheelt het een heleboel tijd in het testen.
De keuze om niet alles in één systeem te vangen
biedt functioneel dus mogelijk wel een voordeel.
Maar daar wordt wel een prijs voor betaald. Zeker
in bedrijfsomgevingen waar veel flexibiliteit van de
systemen wordt gevraagd, dus waar veel aanpassin-
gen zijn te verwachten, leiden koppelingen tot veel
extra kosten en doorlooptijd. En wordt het daarmee
mogelijk een beperkende factor.
Als het kan, adviseer ik dus het liefst een zo simpel
mogelijke architectuur. Met bijvoorbeeld alles in
ERP of alles in CRM. Want wat is er simpeler dan
een integrale oplossing? Maar alleen als het kan.
Want als dit systeem onvoldoende bijdraagt aan de
bedrijfsdoelstellingen, vervalt deze optie wat mij
betreft direct.
SCENARIO 2: EÉN SYSTEEM IS LEIDEND
De kracht van het eerste scenario is dat alle data
centraal is opgeslagen en er maar één versie van de
werkelijkheid is. Maar de beperking van alles in één
systeem maakt het in de praktijk vaak onrealistisch.
Al was het maar omdat ook externen zoals klanten
en leveranciers vaak toegang tot de informatie moe-
ten krijgen en het niet gewenst is dat die direct tot
het eigen systeem toegang krijgen.
Figuur 4 | Scenario 2 - Eén systeem is leidend
Scenario 2 gaat ervan uit dat nog steeds één systeem
centraal staat, maar dat andere systemen kunnen
worden aangekoppeld voor #specifieke doeleinden.
Te denken valt aan een webshop, een portal en/of
een mobiele app. Die functioneren dan als front-
end voor een specifieke doelgroep, maar halen en
schrijven hun gegevens uit het leidende systeem.
Dit scenario gaat er dus nog steeds vanuit dat er
één versie van de werkelijkheid is. Er is echter geen
integrale oplossing en er zullen dus koppelingen
moeten worden ontwikkeld en onderhouden. Dit
betekent dat mutaties in het datamodel soms op
meerdere plekken moeten plaatsvinden, maar dat
de complexiteit van de koppelingen meevalt omdat
voor iedereen duidelijk is wat het leidende
systeem is.
Applicaties worden in dit scenario dus ook niet on-
derling gekoppeld, maar communiceren altijd via
het leidende systeem. Nadeel kan zijn dat daardoor
het centrale systeem moet worden uitgebreid om
data uit andere systemen te kunnen doorgeven
die ver weg staan van het doel van het leidende
systeem. Belangrijk daarom is vroegtijdig vast te
stellen welke #gegevensstromen er uiteindelijk
worden verwacht.
SCENARIO 4: best of breed
Het laatste en meest uitgebreide scenario gaat op
indien de voorgaande scenario’s niet voldoen. In dit
scenario wordt ervan uitgegaan dat er veel verschil-
lende systemen in gebruik zijn die onderling zullen
overlappen qua #datamodel en #functionaliteit.
In dit scenario wordt niet geprobeerd om alle data
in vaste systemen vast te leggen. Elk systeem krijgt
in dit scenario een eigen taak en houdt zich aan
zijn eigen scope. Voordeel is dat er maximaal kan
worden uitgegaan van standaard software en dat
elke applicatie die iets bijdraagt aan de bedrijfsdoel-
stellingen kan worden ingezet.
Nadeel van dit scenario is de #complexiteit. Het
opstellen en bijhouden van een goede architectuur
is onontkoombaar en gezien de strategische waarde
van IT voor veel bedrijven betekent dit dat het ook
aan te raden is om in huis over de juiste compe-
tenties te beschikken om e.e.a. zelf in de hand te
houden.
Wanneer een #best-of-breed landschap gewenst is,
zijn er nog verschillende vormen waarin de
#integratie architectuur kan worden opgesteld.
Point-to-point
De meest bekende en pragmatische integratiewijze
is point-to-point. Er wordt in kaart gebracht welke
applicaties met elkaar gekoppeld moeten worden
en deze worden stuk voor stuk ontworpen, gereali-
seerd, getest en in gebruik genomen.
Figuur 6 | Scenario 4 - Point-to-point
Wanneer het aantal koppelingen meevalt en de
verwachting is dat dat in de toekomst ook zo zal
blijven, dan is #point-to-point een prima keuze (ook
in scenario 2 en 3). Maar als het aantal koppelingen
toeneemt, is het risico op zogenaamde spaghetti
groot.
SCENARIO 3: HET PROCES ALS BASIS, APPLICATIES IN HUN
COMFORTZONE
Figuur 5 | Scenario 3 - Proces leidend
In scenario 3 is er geen sprake van één leidend sys-
teem, maar wordt per proces bepaald welk systeem
leidend is. Zo kan er onderscheid gemaakt worden
tussen een CRM-systeem voor de front-office en een
ERP-systeem voor de back-office. En eventueel kan
er ook een PIM-systeem worden ingezet rondom
productmanagement.
Alle andere systemen worden dan aan één van deze
systemen gekoppeld afhankelijk van bij welk
#proces ze thuishoren. Een scanningsapplicatie in
het magazijn zal dan bijvoorbeeld worden gekop-
peld aan ERP (logistiek), terwijl een module om
nieuwsbrieven te versturen dan zal zijn gekoppeld
aan CRM (marketing).
Dit scenario kan goed werken wanneer het proces
duidelijk en vastomlijnd is en wanneer daarin dui-
delijke afbakening kan plaatsvinden. Als de overlap
van data en processen minimaal is, kan een derge-
lijk scenario sterk zijn doordat applicaties binnen
hun #comfortzone opereren en er veelal gebruik
kan worden gemaakt van bestaande koppelingen
tussen systemen.
Lastig wordt het indien de overlap van data wel
groot is. Als het resultaat zou zijn dat alle klanten,
alle artikelen, alle prijzen, alle orders, alle facturen,
etc. in meerdere systemen moeten worden vastge-
legd, dan betekent dat een uitgebreide en weinig
flexibele koppeling. En als er een extra kernsysteem
komt, zoals bijvoorbeeld een website die met alle
andere systemen data moet gaan uitwisselen dan
zal dat de complexiteit alleen maar doen toene-
men.
Het overzicht raakt dan kwijt, fouten zijn niet meer
te herleiden en veranderingen of upgrades van
onderdelen zijn risicovol omdat de impact niet te
overzien is.
Message Broker
Wanneer er binnen een applicatielandschap veel
koppelingen zijn, of zijn te verwachten, dan is een
Message Broker van toegevoegde waarde. Een mes-
sage broker wordt als spin in het web geplaatst en
dient als doorgeefluik van berichten tussen applica-
ties. Elke applicatie is gekoppeld met de broker en
er zijn geen directe onderlinge koppelingen.
Figuur 7 | Scenario 5 - Message Broker
Voordeel is dat er inzicht ontstaat. Op één plek
zijn alle berichten te herleiden en fouten kunnen
snel geanalyseerd worden. Bovendien maakt deze
architectuur het eenvoudiger om applicaties te up-
graden omdat slechts de koppeling met de broker
hoeft te worden getest. Er ontstaat controle over
het gehele landschap.
Enterprise Service Bus
Een ESB lijkt in een aantal facetten op de Message
Broker. Ook deze wordt tussen de applicaties gezet
en regelt centraal de koppelingen. Het verschil met
de broker is dat een #ESB veel minder denkt vanuit
berichten, maar wordt opgezet vanuit processen. Zo
zal de ESB een functie NieuweKlant() ondersteunen
waarop andere applicaties zich kunnen abonneren.
Bij een ESB worden het datamodel en de processen
dus centraal gedefinieerd. Als applicatie hoef je niet
te weten welke andere applicaties er in het land-
schap zijn, want je communiceert volgens vooraf
opgestelde contracten met de ESB.
Figuur 8 | Scenario 6 - Enterprise Service Bus
Nadeel van een ESB is dat deze vaak hele grote
stukken maatwerk bevat. Een ESB wordt vaak veel
groter en complexer dan vooraf gedacht. En als
er processen wijzigen, moeten alsnog alle koppe-
lingen worden getest. De ESB is op papier dus een
ideale oplossing, maar geeft in de praktijk alsnog
een groot aantal nadelen. En als een bedrijf al een
kernsysteem heeft waarin vrijwel alle data en pro-
cessen zijn ondergebracht (zoals een ERP-systeem),
dan leidt een ESB tot onnodig veel redundante
logica en lijkt scenario 2 beter toepasbaar.
VAN IT ARCHITECTUUR NAAR IT ROADMAP
Op basis van bovenstaande #best practises help ik
bedrijven om tot een architectuur te komen die het
beste aansluit bij hun bedrijfsmodel en die daad-
werkelijk relevant is en bijdraagt aan de bedrijfs-
doelstellingen. Dit vertaalt zich onder andere in een
‘ideaal’ applicatielandschap voor die casus.
En dan is het tijd voor de volgende stap. Want als je
eenmaal weet waar je naartoe wilt, kun je een plan
maken in de vorm van een #IT Roadmap. Hou er
hiermee wel rekening mee dat het geen ‘project’
wordt om de architectuur te implementeren, maar
dat het in de praktijk een ongoing proces zal zijn.
Want zowel business als IT zullen continu evolue-
ren en een eindpunt voor wat betreft IT zal in veel
gevallen dus niet bestaan.
Maar voordat daarmee gestart wordt, is het ook
belangrijk te weten waar je staat. Dat kan eenvoudig
door alle actieve applicaties en onderlinge verban-
den in kaart te brengen. Welke systemen werkt
iemand gedurende de week mee, welke processen
worden daarmee ondersteund, welke gegevens
worden daarin opgeslagen? Het huidige #applica-
tielandschap kan zo in beeld worden gebracht als
vertrekpunt.
En van daaruit kan worden bepaald welke stappen
als eerste gezet worden richting de toekomstige ar-
chitectuur. Welke verbeteringen dragen het meeste
bij aan het bedrijfsresultaat? En welke systemen
moeten actief zijn voordat met andere gestart kan
worden? Een IT Roadmap helpt om het verander-
proces expliciet te maken en om vanuit doelstellin-
gen projectmatig stappen voorwaarts te zetten.
WELKE TOOL(S) ZET IK IN?
Ik ben mijn verhaal gestart met te zeggen dat men
niet te snel naar de tools moet grijpen. Maar als de
business doelstellingen helder zijn, de IT Require-
ments zijn bepaald, de Architectuur is uitgewerkt
en er een Roadmap is opgesteld om vanuit de huidi-
ge situatie stappen naar de toekomst te zetten, dan
is de vraag over de tools weer relevant.
Want op het gebied van integratie zijn veel moge-
lijkheden. Microsoft heeft uiteraard BizTalk als tool
die enerzijds kan worden ingezet als een Message
Broker en anderzijds als ESB (overigens kun je met
BizTalk ook prima Spaghetti realiseren). In de CRM
wereld zijn gespecialiseerde partijen als Scribe
van toegevoegde waarde. En in de ERP wereld van
Microsoft Dynamics wordt veel gewerkt met add-
ons zoals Business Integration Solutions (met onder
andere Connectivity Studio) van To-Increase. En ook
maatwerk is in vrijwel alle gevallen een serieuze
optie om te overwegen. Om de juiste tool te selec-
teren, is dus meer inzicht nodig in de uiteindelijke
architectuur en de onderliggende overwegingen.
Figuur 9 | Stofzuigertest
Persoonlijk ben ik er wel voor om dergelijke keuzes
op basis van argumenten te maken. Ik heb daartoe
een #beslissingsmatrix opgesteld die sterk is geïn-
spireerd op de stofzuigertest van de consumenten-
bond.
Deze bestaat uit de volgende stappen:
1.	 Bepaal welke alternatieven je wilt vergelijken.
	 Zet die onder elkaar.
2.	 Bepaal wat de belangrijkste beoordelings-
	 criteria zijn. Zowel functioneel als technisch.
	 Zowel vanuit business als vanuit IT. Zet die
	 naast elkaar.
3.	 Bepaal per criterium wat de objectieve
	 requirements zijn om een bepaaldes score
	 (++, +,=, -, --) te behalen.
4.	 Beoordeel vervolgens ieder alternatief voor
	 elk criterium.
5.	 Pas weging toe, bijvoorbeeld op basis van
	 MoSCoW, om de verschillende criteria het
	 juiste gewicht te geven. Elimineer de
	 alternatieven die onvoldoende scoren op
	 must-haves en couldhaves.
6.	 Bereken per alternatief de gewogen score
	 en de TCO. Op basis hiervan kan de beste
	 keuze en de beste prijs worden bepaald en
	 ontstaat beargumenteerde input om een
	 keuze te maken.
meer informatie
Joost Bentvelsen - Solution Architect Mobility
+31 6 53 98 44 46
joost.bentvelsen@breinwave.nl
over breinwave
Breinwave ondersteunt organisaties bij het creëren van doorbraken in productiviteit, klantinzicht en klantinteractie. Om dit te realiseren vertrouwen wij op
de kracht die technologie kan bieden; mits goed ingezet kan technologie een nog veel grotere bijdrage leveren bij het realiseren van organisatiedoelstellingen.
Wij zijn onderdeel van de Abecon Groep, een van de toonaangevende Microsoft Dynamics partners in de Benelux.

More Related Content

Viewers also liked

Comparison of Sweden and EU data
Comparison of Sweden and EU dataComparison of Sweden and EU data
Comparison of Sweden and EU dataErik Borälv
 
I Jornada Gastronómica Orihuela Costa 2011
I Jornada Gastronómica Orihuela Costa 2011I Jornada Gastronómica Orihuela Costa 2011
I Jornada Gastronómica Orihuela Costa 2011esterferrandez
 
Endeavor rosario 120627
Endeavor rosario 120627Endeavor rosario 120627
Endeavor rosario 120627Ariel Muslera
 
25 años 3ª Parte Jornadas
25 años 3ª Parte Jornadas25 años 3ª Parte Jornadas
25 años 3ª Parte Jornadasjosefermin
 
Euphoria Media present new
Euphoria Media present newEuphoria Media present new
Euphoria Media present newYuriy Ryzhkov
 
Blueberry Field Day (parte 3)
Blueberry Field Day (parte 3)Blueberry Field Day (parte 3)
Blueberry Field Day (parte 3)Cooprinsem
 
Sem 1 -_4.03_ppt
Sem 1 -_4.03_pptSem 1 -_4.03_ppt
Sem 1 -_4.03_pptgrantdeaton
 
J&P Building Systems Ltd - Effective Sealing Technology
J&P Building Systems Ltd - Effective Sealing TechnologyJ&P Building Systems Ltd - Effective Sealing Technology
J&P Building Systems Ltd - Effective Sealing TechnologyJ and P Building Systems
 
BUSINESS MODEL OPEN SOURCE
BUSINESS MODEL OPEN SOURCEBUSINESS MODEL OPEN SOURCE
BUSINESS MODEL OPEN SOURCEgillesmu
 
Feasibility study 2015
Feasibility study 2015Feasibility study 2015
Feasibility study 2015Rihel Calma
 
Selenium 2 - PyCon 2011
Selenium 2 - PyCon 2011Selenium 2 - PyCon 2011
Selenium 2 - PyCon 2011hugs
 
Aptly GmbH - Company Presentation
Aptly GmbH - Company PresentationAptly GmbH - Company Presentation
Aptly GmbH - Company PresentationAptly GmbH
 
Lorica Employee Benefits
Lorica Employee BenefitsLorica Employee Benefits
Lorica Employee BenefitsRChandler01
 
Master IDEMM - Optimisation structurelle pour le référencement
Master IDEMM - Optimisation structurelle pour le référencementMaster IDEMM - Optimisation structurelle pour le référencement
Master IDEMM - Optimisation structurelle pour le référencementSébastien Billard
 
Catalogue ireps-2015-2016 poitou charentes limousin aquitaine
Catalogue ireps-2015-2016 poitou charentes limousin aquitaineCatalogue ireps-2015-2016 poitou charentes limousin aquitaine
Catalogue ireps-2015-2016 poitou charentes limousin aquitaineIreps
 

Viewers also liked (18)

Comparison of Sweden and EU data
Comparison of Sweden and EU dataComparison of Sweden and EU data
Comparison of Sweden and EU data
 
I Jornada Gastronómica Orihuela Costa 2011
I Jornada Gastronómica Orihuela Costa 2011I Jornada Gastronómica Orihuela Costa 2011
I Jornada Gastronómica Orihuela Costa 2011
 
Endeavor rosario 120627
Endeavor rosario 120627Endeavor rosario 120627
Endeavor rosario 120627
 
25 años 3ª Parte Jornadas
25 años 3ª Parte Jornadas25 años 3ª Parte Jornadas
25 años 3ª Parte Jornadas
 
Euphoria Media present new
Euphoria Media present newEuphoria Media present new
Euphoria Media present new
 
Blueberry Field Day (parte 3)
Blueberry Field Day (parte 3)Blueberry Field Day (parte 3)
Blueberry Field Day (parte 3)
 
Sem 1 -_4.03_ppt
Sem 1 -_4.03_pptSem 1 -_4.03_ppt
Sem 1 -_4.03_ppt
 
OMG Cyber!
OMG Cyber!OMG Cyber!
OMG Cyber!
 
J&P Building Systems Ltd - Effective Sealing Technology
J&P Building Systems Ltd - Effective Sealing TechnologyJ&P Building Systems Ltd - Effective Sealing Technology
J&P Building Systems Ltd - Effective Sealing Technology
 
BUSINESS MODEL OPEN SOURCE
BUSINESS MODEL OPEN SOURCEBUSINESS MODEL OPEN SOURCE
BUSINESS MODEL OPEN SOURCE
 
Facts and details
Facts and detailsFacts and details
Facts and details
 
Feasibility study 2015
Feasibility study 2015Feasibility study 2015
Feasibility study 2015
 
Selenium 2 - PyCon 2011
Selenium 2 - PyCon 2011Selenium 2 - PyCon 2011
Selenium 2 - PyCon 2011
 
Video game Localisation and Testing
Video game Localisation and TestingVideo game Localisation and Testing
Video game Localisation and Testing
 
Aptly GmbH - Company Presentation
Aptly GmbH - Company PresentationAptly GmbH - Company Presentation
Aptly GmbH - Company Presentation
 
Lorica Employee Benefits
Lorica Employee BenefitsLorica Employee Benefits
Lorica Employee Benefits
 
Master IDEMM - Optimisation structurelle pour le référencement
Master IDEMM - Optimisation structurelle pour le référencementMaster IDEMM - Optimisation structurelle pour le référencement
Master IDEMM - Optimisation structurelle pour le référencement
 
Catalogue ireps-2015-2016 poitou charentes limousin aquitaine
Catalogue ireps-2015-2016 poitou charentes limousin aquitaineCatalogue ireps-2015-2016 poitou charentes limousin aquitaine
Catalogue ireps-2015-2016 poitou charentes limousin aquitaine
 

Breinwave whitepaper 6 best practices voor het koppelen van applicaties

  • 1. 6BEST PRACTISES VOOR HET KOPPELEN VAN APPLICATIES De waarde van een Architectuur voor business en IT Joost bentvelsen
  • 2. Het koppelen van applicaties wordt doorgaans gezien als een technisch vraagstuk. Al snel wordt er bij integratie gesproken over technieken. Integratie gaat in essentie niet over technologie. Het gaat erom een fundament neer te leggen dat naar de toekomst toe een wezenlijke bijdrage levert aan de bedrijfsdoelstellingen. Techniek is een middel, geen doel. In dit artikel presenteert Joost Bentvelzen - Solution Architect Integratie en Mobility bij Breinwave - zes bewezen architecturen die als basis kunnen dienen voor uw specifieke scenario. 6 BEST PRACTISES VOOR HET KOPPELEN VAN APPLICATIES Het #koppelen van applicaties wordt doorgaans gezien als een technisch vraagstuk. Al snel wordt er bij integratie gesproken over technieken als Biz- Talk, webservices, ESB’s en wat al niet meer. Maar #integratie gaat wat mij betreft in essentie niet over technologie. Het gaat erom een funda- ment neer te leggen dat naar de toekomst toe een wezenlijke bijdrage levert aan de bedrijfsdoelstel- lingen. Techniek is een middel, geen doel. En daar- om is Integratie Architectuur in de praktijk com- plex: juist door het verbinden van business en IT. HET GEVAAR VAN KOPPELEN Het koppelen van systemen is tegenwoordig niet meer echt moeilijk. Elke applicatie heeft voorberei- dingen getroffen om te koppelen met de buiten- wereld en er zijn tal van ‘standaarden’ ontwikkeld die als basis gebruikt kunnen worden. Als je een techneut vraagt om twee willekeurige systemen te koppelen, dan is de kans groot dat de techniek geen bottleneck is. En ook veel verkopers van (deel) oplossingen wagen zich aan de uitspraak dat hun applicatie kan worden gekoppeld aan ieder ander systeem. Maar wie hieraan toegeeft en kiest voor een prag- matische aanpak, kan al vrij snel geconfronteerd worden met de nadelige gevolgen ervan. Pragma- tisme blijkt dan opportunisme. Een dergelijke kop- peling betreft namelijk als snel maatwerk. En ook als er tools worden gebruikt waarmee kan worden geconfigureerd in plaats van geprogrammeerd, is de kennis in de praktijk vaak maar bij enkelen bekend en slecht gedocumenteerd. Dat is geen probleem zolang de koppeling doet wat ervan ver- wacht wordt. Het probleem ontstaat als de wensen veranderen. Want zodra er nieuwe requirements ontstaan, heeft dit impact op de koppeling. Een veld erbij bijvoorbeeld, kan al snel een dure aangelegenheid worden omdat dit in twee systemen en de koppe- ling gerealiseerd moet worden. Zowel in een ont- wikkelomgeving, een testomgeving, een acceptatie omgeving en een productieomgeving. En dan hebben we het nog niet eens over het upgraden van systemen. Steeds vaker kom ik bedrijven tegen die op softwareversies van jaren geleden werken omdat ze vanwege alle koppelin- gen #niet meer kunnen of durven upgraden. En daardoor halen ze niet de potentie uit ICT die de concurrentie wel heeft. En dat is duur. De kosten van een koppeling zitten hem dus niet alleen in de realisatie ervan, maar vooral ook in het beheren en uitbreiden ervan. En in de beperkingen die er daarna ontstaan. De oplossing hiervoor is niet moeilijk. Het is met name een attitude. Doe eerst een stap terug en doe er dan twee vooruit, geldt hier als belangrijkste uitgangspunt. Wie meteen begint over de tools en pragmatisch aan de slag denkt te gaan, is uiteinde- lijk duurder uit. Een goed #fundament neerleggen is de basis en kan met weinig inspanning. De waarde van een architectuur voor business en IT
  • 3. WAAROM EEN ARCHITECTUUR? Werken vanuit een #architectuur biedt zowel de business als de IT houvast. Waar de business het vaak vooral belangrijk vindt om flexibel te zijn, focust de IT zich ook op zaken als betrouwbaarheid en veiligheid. Daarnaast zijn beiden erbij gebaat de totale kosten, dus inclusief het beheer, zo laag mogelijk te houden. Een architectuur helpt hierbij. Er ontstaat inzicht in het #applicatielandschap. Er is duidelijk welke applicatie welk doel dient en waar elke applicatie in het proces wordt toegepast. De koppelingen tussen applicaties worden expliciet gemaakt. En als er in de toekomst nieuwe applicaties worden overwogen, dan kunnen deze worden getoetst tegen de archi- tectuur. HOE KOM JE ERACHTER WAT DE BUSINESS WIL? Een architectuur is geen one-size-fits-all. Als iemand mij advies vraagt over bijvoorbeeld koppelingen, dan begin ik met het stellen van vragen. Ik wil weten wat de achterliggende doelstellingen zijn en kunnen voorspellen welke richting dit de komende jaren op zal groeien. Op basis van business require- ments dus en niet op basis van technologie. Om de business requirements in korte tijd te door- gronden, begin ik bij de kern. De waardepropositie van het bedrijf richting haar klanten. Waarom komen klanten daar? Wat vinden ze wat ze elders niet vinden? Wat maakt dit bedrijf uniek? En hoe kan IT daar een bijdrage aan leveren of het zelfs versterken? Tracey en Wiersema hebben met hun waardemodel een bruikbare tool gegeven om hier een referen- tiekader voor te scheppen en de waardepropositie expliciet te maken. Door te bepalen of een bedrijf vooral bestaat vanuit Product Leadership, vanuit Customer Intimacy of vanuit Operational Excellence. Figuur 1 | Waardemodel van Tracey en Wiersema En op basis daarvan kun je ook vaststellen of vooral het product, de klant of het proces centraal staat. En dat kun je meteen vertalen naar IT. Want wat is eigenlijk het #kernsysteem: ERP (proces), CRM (klant) of PIM (product)? Een ander model dat ik graag toepas is het Business Model Canvas. Dit model biedt een structuur waar- in elk business model kan worden gevangen. Het richt zich op interne en externe zaken en vertaalt dit naar kosten en opbrengstenstructuren. Het maakt scherp wie de klant is, hoe deze benaderd wordt, welke waarde er geleverd wordt en welke activiteiten er nodig zijn om dat te bereiken. Figuur 2 | Business Model Canvas Bij het invullen van het BMC zouden in principe alle antwoorden al vast horen te staan. Toch blijkt dat als dit expliciet gemaakt wordt er vaak nieuwe inzichten en discussies ontstaan die helpen e.e.a. scherp te krijgen. Vanuit het BMC kan worden gedestilleerd welke fundamentele eisen dit aan de onderliggende IT stelt. En die requirements zullen dus niet zomaar elk half jaar veranderen. WERKEN VANUIT BEST-PRACTISES Hoewel ieder bedrijf anders is en dus de require- ments ook verschillen, kan er natuurlijk wel ge- bruik gemaakt worden van best-practises bij ande- ren. Soms om deze één op één toe te passen, maar vooral als referentie om vervolgens tot een eigen architectuur te komen. Onderstaand wordt een vijftal best-practises uitge- werkt. In de praktijk kunnen er vaak zo al twee of drie worden weggestreept zodat snel kan worden gefocust op één of twee #uitgangspunten en op basis daarvan nuancering kan worden aangebracht. De scenario’s starten van minimale complexiteit naar maximale complexiteit.
  • 4. SCENARIO 1: ALLES IN ÉÉN SYSTEEM Figuur 3 | Scenario 1 - Alles in één systeem Het eerste scenario betreft de #integrale oplossing. Hoewel dit het scenario is waar veel bedrijven ooit mee zijn gestart, lijkt het inmiddels een onrealisti- sche utopie te zijn geworden. Want hoe groot is de kans dat je één applicatie vindt die aan alle eisen en wensen voldoet? En waarom zou je dat willen als koppelen tegenwoordig geen probleem meer zou moeten zijn? Het voordeel van deze ‘architectuur’ is echter enorm. Alle gegevens worden in één centraal sys- teem opgeslagen en bewerkt. Er is maar één versie van de werkelijkheid. Als ergens een wijziging plaatsvindt, dan hoeft dat maar op één plek. En als je ooit wilt upgraden naar een nieuwe versie, dan scheelt het een heleboel tijd in het testen. De keuze om niet alles in één systeem te vangen biedt functioneel dus mogelijk wel een voordeel. Maar daar wordt wel een prijs voor betaald. Zeker in bedrijfsomgevingen waar veel flexibiliteit van de systemen wordt gevraagd, dus waar veel aanpassin- gen zijn te verwachten, leiden koppelingen tot veel extra kosten en doorlooptijd. En wordt het daarmee mogelijk een beperkende factor. Als het kan, adviseer ik dus het liefst een zo simpel mogelijke architectuur. Met bijvoorbeeld alles in ERP of alles in CRM. Want wat is er simpeler dan een integrale oplossing? Maar alleen als het kan. Want als dit systeem onvoldoende bijdraagt aan de bedrijfsdoelstellingen, vervalt deze optie wat mij betreft direct. SCENARIO 2: EÉN SYSTEEM IS LEIDEND De kracht van het eerste scenario is dat alle data centraal is opgeslagen en er maar één versie van de werkelijkheid is. Maar de beperking van alles in één systeem maakt het in de praktijk vaak onrealistisch. Al was het maar omdat ook externen zoals klanten en leveranciers vaak toegang tot de informatie moe- ten krijgen en het niet gewenst is dat die direct tot het eigen systeem toegang krijgen. Figuur 4 | Scenario 2 - Eén systeem is leidend Scenario 2 gaat ervan uit dat nog steeds één systeem centraal staat, maar dat andere systemen kunnen worden aangekoppeld voor #specifieke doeleinden. Te denken valt aan een webshop, een portal en/of een mobiele app. Die functioneren dan als front- end voor een specifieke doelgroep, maar halen en schrijven hun gegevens uit het leidende systeem. Dit scenario gaat er dus nog steeds vanuit dat er één versie van de werkelijkheid is. Er is echter geen integrale oplossing en er zullen dus koppelingen moeten worden ontwikkeld en onderhouden. Dit betekent dat mutaties in het datamodel soms op meerdere plekken moeten plaatsvinden, maar dat de complexiteit van de koppelingen meevalt omdat voor iedereen duidelijk is wat het leidende systeem is. Applicaties worden in dit scenario dus ook niet on- derling gekoppeld, maar communiceren altijd via het leidende systeem. Nadeel kan zijn dat daardoor het centrale systeem moet worden uitgebreid om data uit andere systemen te kunnen doorgeven die ver weg staan van het doel van het leidende systeem. Belangrijk daarom is vroegtijdig vast te stellen welke #gegevensstromen er uiteindelijk worden verwacht.
  • 5. SCENARIO 4: best of breed Het laatste en meest uitgebreide scenario gaat op indien de voorgaande scenario’s niet voldoen. In dit scenario wordt ervan uitgegaan dat er veel verschil- lende systemen in gebruik zijn die onderling zullen overlappen qua #datamodel en #functionaliteit. In dit scenario wordt niet geprobeerd om alle data in vaste systemen vast te leggen. Elk systeem krijgt in dit scenario een eigen taak en houdt zich aan zijn eigen scope. Voordeel is dat er maximaal kan worden uitgegaan van standaard software en dat elke applicatie die iets bijdraagt aan de bedrijfsdoel- stellingen kan worden ingezet. Nadeel van dit scenario is de #complexiteit. Het opstellen en bijhouden van een goede architectuur is onontkoombaar en gezien de strategische waarde van IT voor veel bedrijven betekent dit dat het ook aan te raden is om in huis over de juiste compe- tenties te beschikken om e.e.a. zelf in de hand te houden. Wanneer een #best-of-breed landschap gewenst is, zijn er nog verschillende vormen waarin de #integratie architectuur kan worden opgesteld. Point-to-point De meest bekende en pragmatische integratiewijze is point-to-point. Er wordt in kaart gebracht welke applicaties met elkaar gekoppeld moeten worden en deze worden stuk voor stuk ontworpen, gereali- seerd, getest en in gebruik genomen. Figuur 6 | Scenario 4 - Point-to-point Wanneer het aantal koppelingen meevalt en de verwachting is dat dat in de toekomst ook zo zal blijven, dan is #point-to-point een prima keuze (ook in scenario 2 en 3). Maar als het aantal koppelingen toeneemt, is het risico op zogenaamde spaghetti groot. SCENARIO 3: HET PROCES ALS BASIS, APPLICATIES IN HUN COMFORTZONE Figuur 5 | Scenario 3 - Proces leidend In scenario 3 is er geen sprake van één leidend sys- teem, maar wordt per proces bepaald welk systeem leidend is. Zo kan er onderscheid gemaakt worden tussen een CRM-systeem voor de front-office en een ERP-systeem voor de back-office. En eventueel kan er ook een PIM-systeem worden ingezet rondom productmanagement. Alle andere systemen worden dan aan één van deze systemen gekoppeld afhankelijk van bij welk #proces ze thuishoren. Een scanningsapplicatie in het magazijn zal dan bijvoorbeeld worden gekop- peld aan ERP (logistiek), terwijl een module om nieuwsbrieven te versturen dan zal zijn gekoppeld aan CRM (marketing). Dit scenario kan goed werken wanneer het proces duidelijk en vastomlijnd is en wanneer daarin dui- delijke afbakening kan plaatsvinden. Als de overlap van data en processen minimaal is, kan een derge- lijk scenario sterk zijn doordat applicaties binnen hun #comfortzone opereren en er veelal gebruik kan worden gemaakt van bestaande koppelingen tussen systemen. Lastig wordt het indien de overlap van data wel groot is. Als het resultaat zou zijn dat alle klanten, alle artikelen, alle prijzen, alle orders, alle facturen, etc. in meerdere systemen moeten worden vastge- legd, dan betekent dat een uitgebreide en weinig flexibele koppeling. En als er een extra kernsysteem komt, zoals bijvoorbeeld een website die met alle andere systemen data moet gaan uitwisselen dan zal dat de complexiteit alleen maar doen toene- men.
  • 6. Het overzicht raakt dan kwijt, fouten zijn niet meer te herleiden en veranderingen of upgrades van onderdelen zijn risicovol omdat de impact niet te overzien is. Message Broker Wanneer er binnen een applicatielandschap veel koppelingen zijn, of zijn te verwachten, dan is een Message Broker van toegevoegde waarde. Een mes- sage broker wordt als spin in het web geplaatst en dient als doorgeefluik van berichten tussen applica- ties. Elke applicatie is gekoppeld met de broker en er zijn geen directe onderlinge koppelingen. Figuur 7 | Scenario 5 - Message Broker Voordeel is dat er inzicht ontstaat. Op één plek zijn alle berichten te herleiden en fouten kunnen snel geanalyseerd worden. Bovendien maakt deze architectuur het eenvoudiger om applicaties te up- graden omdat slechts de koppeling met de broker hoeft te worden getest. Er ontstaat controle over het gehele landschap. Enterprise Service Bus Een ESB lijkt in een aantal facetten op de Message Broker. Ook deze wordt tussen de applicaties gezet en regelt centraal de koppelingen. Het verschil met de broker is dat een #ESB veel minder denkt vanuit berichten, maar wordt opgezet vanuit processen. Zo zal de ESB een functie NieuweKlant() ondersteunen waarop andere applicaties zich kunnen abonneren. Bij een ESB worden het datamodel en de processen dus centraal gedefinieerd. Als applicatie hoef je niet te weten welke andere applicaties er in het land- schap zijn, want je communiceert volgens vooraf opgestelde contracten met de ESB. Figuur 8 | Scenario 6 - Enterprise Service Bus Nadeel van een ESB is dat deze vaak hele grote stukken maatwerk bevat. Een ESB wordt vaak veel groter en complexer dan vooraf gedacht. En als er processen wijzigen, moeten alsnog alle koppe- lingen worden getest. De ESB is op papier dus een ideale oplossing, maar geeft in de praktijk alsnog een groot aantal nadelen. En als een bedrijf al een kernsysteem heeft waarin vrijwel alle data en pro- cessen zijn ondergebracht (zoals een ERP-systeem), dan leidt een ESB tot onnodig veel redundante logica en lijkt scenario 2 beter toepasbaar. VAN IT ARCHITECTUUR NAAR IT ROADMAP Op basis van bovenstaande #best practises help ik bedrijven om tot een architectuur te komen die het beste aansluit bij hun bedrijfsmodel en die daad- werkelijk relevant is en bijdraagt aan de bedrijfs- doelstellingen. Dit vertaalt zich onder andere in een ‘ideaal’ applicatielandschap voor die casus. En dan is het tijd voor de volgende stap. Want als je eenmaal weet waar je naartoe wilt, kun je een plan maken in de vorm van een #IT Roadmap. Hou er hiermee wel rekening mee dat het geen ‘project’ wordt om de architectuur te implementeren, maar dat het in de praktijk een ongoing proces zal zijn. Want zowel business als IT zullen continu evolue- ren en een eindpunt voor wat betreft IT zal in veel gevallen dus niet bestaan. Maar voordat daarmee gestart wordt, is het ook belangrijk te weten waar je staat. Dat kan eenvoudig door alle actieve applicaties en onderlinge verban- den in kaart te brengen. Welke systemen werkt iemand gedurende de week mee, welke processen worden daarmee ondersteund, welke gegevens worden daarin opgeslagen? Het huidige #applica- tielandschap kan zo in beeld worden gebracht als vertrekpunt. En van daaruit kan worden bepaald welke stappen als eerste gezet worden richting de toekomstige ar- chitectuur. Welke verbeteringen dragen het meeste bij aan het bedrijfsresultaat? En welke systemen moeten actief zijn voordat met andere gestart kan worden? Een IT Roadmap helpt om het verander- proces expliciet te maken en om vanuit doelstellin- gen projectmatig stappen voorwaarts te zetten.
  • 7. WELKE TOOL(S) ZET IK IN? Ik ben mijn verhaal gestart met te zeggen dat men niet te snel naar de tools moet grijpen. Maar als de business doelstellingen helder zijn, de IT Require- ments zijn bepaald, de Architectuur is uitgewerkt en er een Roadmap is opgesteld om vanuit de huidi- ge situatie stappen naar de toekomst te zetten, dan is de vraag over de tools weer relevant. Want op het gebied van integratie zijn veel moge- lijkheden. Microsoft heeft uiteraard BizTalk als tool die enerzijds kan worden ingezet als een Message Broker en anderzijds als ESB (overigens kun je met BizTalk ook prima Spaghetti realiseren). In de CRM wereld zijn gespecialiseerde partijen als Scribe van toegevoegde waarde. En in de ERP wereld van Microsoft Dynamics wordt veel gewerkt met add- ons zoals Business Integration Solutions (met onder andere Connectivity Studio) van To-Increase. En ook maatwerk is in vrijwel alle gevallen een serieuze optie om te overwegen. Om de juiste tool te selec- teren, is dus meer inzicht nodig in de uiteindelijke architectuur en de onderliggende overwegingen. Figuur 9 | Stofzuigertest Persoonlijk ben ik er wel voor om dergelijke keuzes op basis van argumenten te maken. Ik heb daartoe een #beslissingsmatrix opgesteld die sterk is geïn- spireerd op de stofzuigertest van de consumenten- bond. Deze bestaat uit de volgende stappen: 1. Bepaal welke alternatieven je wilt vergelijken. Zet die onder elkaar. 2. Bepaal wat de belangrijkste beoordelings- criteria zijn. Zowel functioneel als technisch. Zowel vanuit business als vanuit IT. Zet die naast elkaar. 3. Bepaal per criterium wat de objectieve requirements zijn om een bepaaldes score (++, +,=, -, --) te behalen. 4. Beoordeel vervolgens ieder alternatief voor elk criterium. 5. Pas weging toe, bijvoorbeeld op basis van MoSCoW, om de verschillende criteria het juiste gewicht te geven. Elimineer de alternatieven die onvoldoende scoren op must-haves en couldhaves. 6. Bereken per alternatief de gewogen score en de TCO. Op basis hiervan kan de beste keuze en de beste prijs worden bepaald en ontstaat beargumenteerde input om een keuze te maken.
  • 8. meer informatie Joost Bentvelsen - Solution Architect Mobility +31 6 53 98 44 46 joost.bentvelsen@breinwave.nl over breinwave Breinwave ondersteunt organisaties bij het creëren van doorbraken in productiviteit, klantinzicht en klantinteractie. Om dit te realiseren vertrouwen wij op de kracht die technologie kan bieden; mits goed ingezet kan technologie een nog veel grotere bijdrage leveren bij het realiseren van organisatiedoelstellingen. Wij zijn onderdeel van de Abecon Groep, een van de toonaangevende Microsoft Dynamics partners in de Benelux.