Architectuurpatronen voor multichannel management Marc Lankhorst Kanalen in Balans seminar Amstelveen, 2 december 2009 Agenda Architectuurpatronen Identificatie van kanaalpatronen Structuur van kanaaloplossingen Voorbeeldpatronen Samenhang tussen patronen 1
Waar zijn we? Dienstontwerp Strategiebepaling Kanaalconfiguratie Realisatie Uitvoering Kanaalsturing Kanaalontwerp Bijstellen Meetontwerp Effectmeting Architectuurpatronen 2
Wat zijn patronen? Patroon = algemene, generieke oplossing voor een vaak voorkomend ontwerpprobleem geven vooral structuur van oplossing breed toepasbaar, niet specifiek voor één situatie Afkomstig uit de echte architectuur (Christopher Alexander) Overgenomen door de software-architectuur architectuur Patronen vormen samen een taal om op een hoger niveau over een ontwerp te praten Patronen kunnen zelf weer andere (kleinere) patronen gebruiken Voorbeelden van patronen (software) Adapter: Converteert een interface die een object aanbiedt in een andere interface die een aanroepend object nodig heeft Façade: Verbergt een verzameling verschillende interfaces achter één uniforme hoger-niveau interface Observer: Geeft wijzigingen in de toestand van een object door aan anderen die zich op die wijzigingen geabonneerd hebben Vaak toegepast bij publish/subscribe Denk bv. aan de GBA 3
Hoe beschrijf je een patroon? Naam die de kern geeft Context waarin dit patroon zinvol is Probleem dat ermee wordt opgelost Oplossing die het biedt Krachten die hierin een rol spelen Structuur van de oplossing Gevolgen van het gebruik Relatie met andere patronen Voorbeelden van de toepassing ervan Overige aspecten, verwijzing naar bronnen, etc. Identificatie van kanaalpatronen 4
Aspecten van kanaalmanagement Diensten Klanten multi-ch hannel services multi-se ervice channels Dienstverleners Kanalen Aspecten (vervolg) Wie? Wie is de klant en wat is er van hem/haar bekend? Wat? Welke dienst(en) neemt de klant af? Waarlangs? Via welk kanaal worden de diensten afgenomen? Van wie? Van welke aanbieder(s) worden die diensten afgenomen? Met wie? Met wiens hulp worden de diensten afgenomen of geleverd? Hoe en waarmee? Op welke wijze worden de diensten afgenomen en gerealiseerd? 5
Dienstverleningsproces Op zoek: de klant zoekt de juiste dienst(verlener) Levering: de dienstverlener levert de dienst aan de klant Realisatie: de dienstverlener realiseert die dienst intern Identificatie van patronen Aspect Op zoek Levering Realisatie Wie? Toegang Machtiging Centrale administratie Virtueel dossier Business intelligence Wat? Waar- (langs)? Van wie? Met wie? Hoe en waarmee? Dienstselectie Personalisatie Zakenmagazijn Documentmanagement Integraal contentbeheer Dienstencombinatie Doorverwijzen Kanaalstapel Kanaalcombinatie Overdracht Trechter Serviceteam Meekijken Publish- Intermediair Subscribe Wizard Kennisbank Rule engine Elektronisch formulier Midoffice Procesbesturing Portal Operational data store 6
Structuur van kanaaloplossingen Onderdelen van oplossingen Situatie Voorkeuren Dialoog Kanaal Content Materie Gegevens Communicatie omstandigheden, vragen en behoeften subjectieve wensen en voorkeuren van behoeften naar bijpassende diensten website, brief, telefoon, teksten, beschrijvingen rekenregels, begrippen, procedures basis- en zaakgegevens uitwisseling van gegevens 7
Managementaspecten Situatie Voorkeuren klan nt Dialoog Beleid Besturing Analyse Realisatie Kanaal Content Materie Gegevens dienstv verlener Communicatie Wat is specifiek per kanaal? Situatie Voorkeuren Dialoog Kanaal Content Materie Gegevens Communicatie individuele klant met zijn vragen, behoeften en omstandigheden voorkeuren van de klant m.b.t. dienst, kanaal e.d. dialoog afhankelijk van kanaalkeuze specifieke presentatievorm per kanaal content afgestemd, maar per kanaal verschillend materie grotendeels kanaalonafhankelijk gemeenschappelijke klantgegevens, basisregistraties gedeelde communicatieinfrastructuren toene emende kanaals speficiciteit 8
Samenwerking tussen partijen Situatie Voorkeuren Dialoog Kanaal Content Materie Gegevens unieke klant met zijn eigen vragen en behoeften voorkeuren van de klant grotendeels gelijk gemeenschappelijk vanuit de klantbehoefte gemeenschappelijke portal, MijnOverheid, eigen sites afstemming in redactie individuele partijen, maar coördinatie van regelgeving basisregistraties toenemend de gezamenlijkheid Communicatie gedeelde communicatieinfrastructuren Samenhang tussen patronen 9
Samenhang tussen patronen Patronen vormen samen een taal : Kleinere patronen vullen delen van grotere in Alternatieve patronen voor hetzelfde probleem Patronen die vaak samen voorkomen Vgl. met het werk van Alexander in de bouwkunde patronen op alle niveaus, van stadsplanning tot raamkozijnen Relaties tussen patronen 10
Voorbeeld: Midoffice Doel: koppelen van geïntegreerde frontoffice aan legacy backoffice-silo silo ss Oplossing: gebruik een midoffice, een laag die proces- en data-integratie tussen front- en backoffice verzorgd Motivatie: klanten willen integrale dienstverlening, maar backoffice is organisatorisch en technisch vaak rond expertises georganiseerd legacy-systemen in de backoffice kunnen niet snel worden vervangen organisatieverandering stuit op veel weerstand Midoffice Frontofficeapplicaties Frontofficeapplicaties Processervice Gegevenstoegang Gegevenstoegang Gegevenstoegang DMS Zakenmagazijn ODS Business process engine Gegevenstoegang Gegevenstoegang Materieservices Materieservices Backoffice-applicaties Digitale documenten Materiekennis Klantgegevens Zaakgegevens Objectgegevens 11
Deelpatronen Midoffice Procesbesturing: voor het aansturen van processen (workflows) over grenzen van applicaties en backoffice-afdelingen heen Zakenmagazijn: om over applicaties heen centraal de voortgang van een klantzaak te registreren Documentmanagement: voor het centraal registreren en beschikbaar maken van in- en uitgaande documenten Operational data store ( gegevensmagazijn ): voor het 24x7 beschikbaar maken van gegevens uit backoffice-systemen, om redenen van performance, beschikbaarheid en veiligheid Procesbesturing 12
Documentmanagement Zakenmagazijn Klant Integrale klantdienst Medewerkers Medewerkers Website/ portal Dienstverleningsprocessen Inzage zaakgegevens Vastleggen zaakgegevens Gegevenstoegang Webtoegang Gegevenstoegang Gegevenstoegang DMS Zakenmagazijn Backoffice-systemen Backoffice-systemen Digitale documenten Zaakgegevens Klantgegevens Objectgegevens Materiekennis 13
Operational data store Meer voorbeeldpatronen 14
Voorbeeldpatronen Intermediair verzorgt voor een klant alle contacten met de dienstverlenende organisatie, mogelijk via verschillende kanalen Integraal contentbeheer centraal beheer van de content voor verschillende kanalen en toepassingen Dienstencombinatie Combineren van diensten van verschillende organisaties via hetzelfde kanaal Virtueel dossier Samenbrengen van klantgegevens uit verschillende bronnen door deze te synchroniseren Intermediair Klant Integrale dienst kanaal 1 kanaal m Dienstverlener Accountmanager Coördinatie Dienstintegratie Doorvertaling naar de klant Kanaalvertaling Backoffice Deeldienst Deeldienst ii Dienstverleningsproces i Dienstverleningsproces i 15
Integraal contentbeheer Klant Dienstverlener Materiekennis Integratie en verrijking Redactie en kanaalaanpassing Kanaalkennis Generieke content Content kanaal 1 Content kanaal m Content management systeem Dienstencombinatie 16
Virtueel dossier Gebruikte symbolen (ArchiMate) Object Proces Rol Specialisatie Compositie Aggregatie Functie Component Toewijzing Reailsatie Triggering Service provided interface required interface Flow Gebruik Toegang Associatie 17
Toepassing van patronen Gebruik bij ontwerp Veel ontwerpvragen zijn al eens eerder opgelost kom je een vraagstuk tegen dat algemener lijkt dan alleen je eigen opdracht, zoek dan of er patronen voor zijn In het Kanaalkompas wordt her en der verwezen naar toepasselijke patronen voor ontwerpvragen Sommige ontwerptools bieden patronen als sjabloon aan 18
Kiezen van patronen Vaak zijn er meer patronen voor hetzelfde probleem, met verschillende afwegingen Het ene levert bijv. meer performance, het andere meer foutbestendigheid Dit zijn de krachten (belangen) die een patroon moet balanceren Maak die afweging expliciet! Kies het juiste patroon gegeven de context en de belangen Meer informatie? www.kanaleninbalans.nl www.telin.nl/project/kanalen/kanaalpatronen.htm www.kanaalkompas.nl Marc Lankhorst l kh t@t li l marc.lankhorst@telin.nl 053-4850456 19