Omniplan Enterprise Adviesplatform - Whitepaper Doelgroep: Architectuur / Technisch
Document classificatie
:
Publiek
Versie
:
1.1
Versiedatum
:
08-05-2012
Status
:
Final
Geschreven door
:
R. van der Pal
Inhoudsopgave 1
VOORWOORD..........................................................................................................................................3
2
WERKWIJZE OMNIPLAN ........................................................................................................................4
3
ALGEMEEN ..............................................................................................................................................4
4
ARCHITECTUUR ......................................................................................................................................5 4.1 BUSINESS ARCHITECTURE ...................................................................................................................5 4.1.1 Automated Systems .....................................................................................................................6 4.1.2 Main users ....................................................................................................................................7 4.1.3 Support and Maintenance ............................................................................................................9 4.1.4 Migratie ‘oud’ naar ‘nieuw’ ............................................................................................................9 4.1.5 Release Management ..................................................................................................................9 4.2 UITGANGSPUNTEN ARCHITECTUUR.....................................................................................................10 4.2.1 Component based: Het Enterprise Adviesplatform ....................................................................11 4.2.2 Client Applicaties ........................................................................................................................12 4.3 PRINCIPE: VEERKRACHT EN BETROUWBAARHEID ................................................................................12 4.4 PRINCIPE: FLEXIBILITEIT ....................................................................................................................13 4.5 PRINCIPE: SCHAALBAARHEID & PERFORMANCE ..................................................................................14 4.6 PRINCIPE: UITBREIDBAARHEID ...........................................................................................................16 4.7 PRINCIPE: SECURITY .........................................................................................................................16
5
RANDVOORWAARDEN TECHNOLOGIE .............................................................................................18 5.1 5.2 5.3 5.4 5.5
APPLICATIE SERVERS .......................................................................................................................18 DATABASES ......................................................................................................................................19 CERTIFICATEN ..................................................................................................................................19 BROWSERS, OPERATING SYSTEMS EN “DE ADVIESPLANNER” ..............................................................19 GEBRUIKTE TECHNOLOGIEN EN FRAMEWORKS ....................................................................................21
1 Voorwoord Omniplan is opgericht in 1995 en is toonaangevend in de Nederlandse financiële sector op het gebied van adviessoftware. Vele duizenden adviseurs werken met de Omniplan Adviesplanner. De Omniplan Adviesplanner is ontwikkeld voor financiële instellingen, accountants, fiscalisten, financieel planners, hypotheekadviseurs, assurantieadviseurs, private bankers, vermogensbeheerders en pensioenadviseurs. Omniplan speelt met de online Adviesplanner en Adviesplatform in op de verschuiving van de vraag van de consument van ‘product’ naar ‘overzicht en inzicht’. Een vernieuwde aanpak waarbij vertrouwen centraal staat. Medio 2011 heeft Omniplan haar Enterprise Adviesplatform opgeleverd waarop inmiddels meerdere applicaties zijn gemodelleerd waaronder uiteraard de vernieuwde Omniplan Adviesplanner. Het Enterprise Adviesplatform omvat een verzameling aan diensten aangeboden binnen een SaaS architectuur. Via de servicelaag worden de diensten van het Adviesplatform beschikbaar gemaakt aan aangesloten applicaties. Behalve “De Adviesplanner” zijn dit applicaties zoals: “De Overlijdensrisico Scan” en “De Pensioen Planner”. Momenteel maken enkele duizenden adviseurs gebruik van de Adviesplanner op het centrale platform en is het platform enkele malen on-premise geinstalleerd waaronder een variant ingericht op een piekgebruik van 10.000 concurrent users. Omniplan regelt het Enterprise Adviesplatform en de aangesloten applicaties in op klant specifieke wensen en eisen. Dit document geeft inzicht in de architectuur van de SaaS omgeving op basis van de principes die zijn toegepast bij het ontwerp. Het is voor Omniplan en voor financiële instellingen van het grootste belang dat gegevens en diensten veilig, betrouwbaar en snel worden geleverd aan de gekoppelde applicaties. Omniplan voorziet hiertoe in een centraal ondergebracht Enterprise Adviesplatform echter, klanten kunnen besluiten een eigen SaaS omgeving in te richten. De verschillende alternatieven worden duidelijk in dit document. De doelgroep van dit document is technisch / architectuur. Aan de hand van de supply-chain wordt een verhaal opgezet dat steeds dieper op de architectuur ingaat. Voorts is een hoofdstuk configuratie opgenomen waarin verschillende inrichtingen (configuraties) worden getoond.
2 Werkwijze Omniplan Omniplan profileert zich als een professionele organisatie wat bijvoorbeeld blijkt uit de manier waarop onze klanten begeleid worden. Voorts maakt Omniplan gebruik van moderne projecttechnieken voor development (Agile) en beheer/release management (CMMi). Hiermee wordt voorzien in de instrumenten om de kwaliteit van zowel applicaties als Enterprise Adviesplatform te waarborgen. Een uitgebreide software factory waarborgt een consequente en flexibele productie. Tijdens het ontwikkelen van de nieuwe Adviesplanner en Adviesplatform zijn audits uitgevoerd op de gebieden: “Usability”, “Performance” en “Architecture”. Deze audits zijn extern uitgevoerd en hebben het ontwerp op de pijnbank gelegd, waar door onze klanten verzekerd zijn van een degelijk product.
3 Algemeen De kwaliteit van de software is voor Omniplan van het allerhoogste belang. Deze kwaliteit wordt gewaarborgd door een professionele OTAP straat met geïntegreerd testprogramma. De beheer en release management procedures zijn beschreven en worden door de software factory afgedwongen. De resultaten van testprogramma’s zijn bij oplevering publiek. Voorts wordt uitgebreide configuratie en installatie documentatie onderhouden. De Adviesplanner software kan op vele manieren geconfigureerd worden afhankelijk van de eisen en wensen van het onderliggende platform. De software werkt op het Software As A Service (SaaS) principe. Delen van het dienstenpallet kunnen verspreid door de klantorganisatie ingericht worden. Domein overschrijdend, of zelfs via het internet, kunnen veilige koppelingen gemaakt worden. Tenslotte is het mogelijk een eigen testprogramma te ontwerpen te testen op organisatie specifieke aandachtsgebieden.
4 Architectuur Deze nieuwe Adviesplanner, een Silverlight en/of HTML applicatie, communiceert middels webservices met de servicelaag van het Enterprise Adviesplatform. Het Enterprise Adviesplatform bestaat uit een tiental Windows Services waarbinnen webservices gepubliceerd worden. De webservices binnen het Enterprise Adviesplatform koppelen aan de servicelaag, door Omniplan de “Orchestrator” genoemd, ofwel een “Router”. Alle aangesloten applicaties communiceren met deze servicelaag. Door functionele decompositie van de services is integratie van systemen doorgaans overzichtelijk en eenvoudig. Een voorbeeld: “Binnen het Enterprise Adviesplatform bevindt zich de XRM service. Hierbinnen worden klantgegevens opgeslagen. Veel van onze klanten maken gebruik van CRM systemen, denk bijvoorbeeld aan Siebel. Integratie met Siebel wordt gerealiseerd door de XRM service aan te passen. Hiermee krijgen klanten een custom-implementatie van de XRM service terwijl de overige 90% van het platform standaard blijft.” Andere integratie mogelijkheden zijn bijvoorbeeld: “SSO-Integratie (Membership)”, “Data Mining (Dossier)”, “Document Management Systemen (Data)”, “Eventlog Monitoring (Communicatie)” enzovoort. Functionele decompositie betekent ook een specifieke calculatie service. Deze service voert alle berekeningen binnen het platform uit en kan, naar keuze, aangepast worden op specifieke klant situaties. Denk hierbij bijvoorbeeld aan het niet willen volgen van de NHG norm bij een maximaal te lenen bedrag berekening. In essentie is het het streven van Omniplan zoveel mogelijk services standaard te laten in geval van een integratie project. Het platform voorziet al in ruime mate in configuratie mogelijkheden. Onderdelen als configuratie van locatie van services, protocollen en beveiliging kunnen eenvoudig worden ingesteld. De volgende paragraaf geeft een bussiness overview van zowel “De Adviesplanner” als het “Enterprise Adviesplatform”. Na deze paragraaf worden de verschillende architectuur principes uitgelegd.
4.1 Business Architecture Vanuit een supply-chain perspectief zijn drie belangrijke gebruikergroepen te onderscheiden. Allereerst de hoofdgebruiker, hieronder weergegeven als “Financial Advisors”. Dit kunnen ook gebruikers zijn van lead-generatoren (consumenten) of self-service applicaties. In dit document wordt voornamelijk “De Adviesplanner” gebruikt in voorbeelden. Een niet minder belangrijke gebruiker is de groep: “Automated Systems”. Hiermee worden bedoeld de geintegreerde systemen, denk bijvoorbeeld aan HDN koppelingen of CRM systemen. Netto maakt deze gebruiker gebruik van de servicelaag op een dieper liggend niveau, rechstreeks inhakend (geintegreerd) op de services van het platform. Tenslotte verlangen onze klanten inzicht in ‘gezondheid’ en ‘werking’ van het platform uitgedrukt in de gebruikersgroep: “Support and Maintenance”.
Individuals
HDN Based External Links
Mid-Size Customers
CRM Links (Siebel, MSCRM) SOAP/XML Coupling
Groep Main Users (Financial Advisors)
Automated Systems
Custom Large Accounts
Automated management info External Links
Financial Planning
(Monitoring Events)
Enterprise Adviesplatform Configuration
Configuration and Monitoring
Support and Maintenance
Groep
Health Monitoring Log Analysis Track & Trace
De karakteristieken van de verschillende gebruikersgroepen worden in onderstaande paragraven uitgewerkt.
4.1.1 Automated Systems Geautomatiseerde systemen omvatten alle software die communiceert met het Enterprise Adviesplatform zonder dat daar een menselijke interactie aan ten grondslag ligt, kortgezegd: “Koppelingen” Zo is er een HDN koppeling die na aanroep resulteert in het geautomatiseerd aanmaken van dossier binnen het Enterprise Adviesplatform. Over het algemeen gesteld gaat het hier over integratie. Klantgegevens afkomstig uit een CRM systeem, import bestand analyse etc worden door automatische systemen verwerkt. Het Enterprise Adviesplatform is een SaaS oplossing. Alle diensten worden middels de servicelaag gepubliceert. Integratie vormt hierop een uitzondering. Integratie is doorgaans maatwerk en gaat over het inpassen van bedrijfsprocessen. Integratie kan bijvoorbeeld betekenen het aanpassen van de Memberschip service om een specifieke SSO implementatie mogelijk te maken. Een voorbeeld: “Een financiele instelling heeft bestaande software waarmee een klantprofiel wordt vastgelegd. Deze instelling wil op termijn over naar een volledig geïntegreerd adviesproces maar voor een eerste stap wenst de klant de vastgelegde gegevens deels uit bestaande software en deels uit het bestaande CRM systeem te exporteren naar het Enterprise Adviesplatform.” Omniplan voorziet door het ontwerp van het platform in maximale flexibiliteit om bestaande processen stapsgewijs te implementeren waarbij het veranderproces maximaal kan worden ondersteund. Deze flexibiliteit en ondersteuning wordt gefaciliteerd door verregaande functionele decompositie van diensten binnen het platform. In relatie tot dit voorbeeld: “Het Enterprise Adviesplatform kent enkele standaard import functies. Hiermee kan op file, MQ of webservice principe data gehaald of gebracht worden. In dit geval zal Omniplan een specifieke webservice op de servicelaag definieren waarmee de gebrachte gegevens worden samengesteld en verzameld in een Omniplan Dossier. Mogelijk scenario: Externe applicatie biedt data dmv webservicecall. Na het ontvangen van de gegevens wordt de klantdata opgehaald uit
het CRM systeem waarna een klantdossier wordt aangemaakt. De gebruiker start de adviesplanner met een URL parameter vanuit de externe applicatie waarna het dossier meteen geopent wordt.” Het bovenstaande is slechts een voorbeeld, meerdere toepassingen zijn reeds gerealiseerd. Omniplan start met een impact analyse waarin het proces uitgewerkt wordt. Zo mogelijk worden alternatieven op basis van bestaande functies getoond waarna een keuze gemaakt kan worden.
4.1.2 Main users “Main users” zijn gebruikers van op het Enterprise Adviesplatform gemodelleerde applicaties, bijvoorbeeld “De Adviesplanner”, “PensioenPlanner” of andere leadgeneratoren.
Het Enterprise Adviesplatform is een SaaS oplossing. Webservices vormen de toegang tot het Enterprise Adviesplatform waarmee voornoemde applicaties communiceren. De applicaties, ofwel client toepassingen, zijn technologie onafhankelijk. De webservices van het Enterprise Adviesplatform communiceren met clients die SOAP/XML ondersteunen, dit zijn alle mainstream ontwikkelomgevingen. De servicelaag communicatie kan worden geconfigureerd naar gelang de wensen van de client applicatie. Omniplan heeft gekozen voor de Microsoft Windows Communication Foundation (WCF). Met dit framework is het mogelijk verschillende netwerk protocollen, security vereisten en andere webservice- extensions configureerbaar op te leveren. Microsoft WCF voorziet in vele configuratie mogelijkheden, onderstaand figuur geeft hiervan een beperkte indruk.
De uitdrukking SOAP/XML ondersteuning laat zich in relatie tot het Enterprise Adviesplatform als volgt goed vertalen: De eenvoudigste technologie: “Interoperable Web Services” wordt uitgebreid middels Extensions (WSE) zoals bijvoorbeeld : “Reliability: gegarandeerde aankomst van berichten” en “Transactions: Meerdere berichten binnen één proces”. Dit meta-transport is aan de servicelaag configurabel. Op deze wijze zijn bestaande systemen te koppelen met het Enterprise Adviesplatform.
4.1.3 Support and Maintenance Deze laatste groep gebruikers houdt zich bezig met de “gezondheid” en de “werking” van het systeem. Het Enterprise Adviesplatform, mits als zodanig geconfigureerd, communiceert voortdurend met haar omgeving. Standaard wordt het eventlog gebruikt om berichten te verzamelen. Op basis van het aanpassen van configuratiebestanden kunnen een of meerdere services hun berichten routeren naar databases, flatfiles of combinaties hiervan. Hiertoe is het Microsoft Enterprise Instrumentation Framework geimplementeerd. Toepassingen zijn bijvoorbeeld een koppeling met IBM Tivoli of SCOM monitoring. De berichten zijn o.a. voorzien van priority (prioriteit), severity (ernst), de message en een EventID dat opgezocht kan worden in een catalogus. Centraal in het Enterprise Adviesplatform aanwezig is de logging service. Deze service ontvangt alle logberichten en is daarmee het integratie aanknopingspunt. Omniplan schat de beheer-inspanning voor on-premise installaties op 0,05 FTE. Kennis en vaardigheden:
MCTS Windows Server 2008 Active Directory Configuration
MCTS Windows Server 2008 Networking Infrastructure Configuration
MCTS Windows Server 2008 Application Infrastructure Configuration (Of equivalent)
Door Omniplan wordt aan de beheerders een training gegeven die de ins en outs van installatie en configuratie verduidelijkt.
Alle parameters, configuratie-elementen etc beschikbaar in de ICS Documentatie
Omniplan spreekt per on-Premise installatie een specifiek SLA af op basis van klantspecifieke wensen.
4.1.4 Migratie ‘oud’ naar ‘nieuw’ Bestaande dossiers aangemaakt met de Adviesplanner ‘classic’ kunnen worden geïmporteerd in de nieuwe omgeving door middel van de standaard importfunctie. Er is dus geen sprake van data verlies en gegevens hoeven niet opnieuw ingevoerd te worden. Binnenkort levert Omniplan een tool waarmee complete directorystructuren worden doorlopen en doorzocht op PLA bestanden (Omniplan Adviesplanner classic dossiers) die, mits foutloos, eenvoudig worden geimporteerd in bulk. Na import blijven alleen die dossiers over die fouten bevatten of niet gekoppeld kunnen worden.
4.1.5 Release Management Het release management proces omvat twee major releases per jaar. Voorts worden zonodig tussentijdse patches verstrekt. De patches kunnen service updates, database scripts en/of IIS packages omvatten. Patches worden alleen uitgevoerd wanneer die vanuit de wet- en regelgeving opgelegd worden of wanneer work-around opties niet beschikbaar of acceptabel zijn. Het aantal ondersteunde versies is onbeperkt voor de contractsduur, elke uitgebrachte versie en/of patch wordt door Omniplan opgeslagen. Releases en patches kunnen worden geinstalleerd zonder dat de eindgebruikers hier last van ondervinden, mits er geen database wijzigingen vereist zijn. Downtime wordt vermeden door afzonderlijke nodes om en om te patchen. NLB (Load Balancer) drainage zorgt vervolgens voor een nieuwe versie zonder downtime. Een fallback is mogelijk door MSI installers van de vorige versie te gebruiken.
4.2 Uitgangspunten Architectuur Nu het Enterprise Adviesplatform en de gekoppelde software vanuit business perspectief verduidelijkt zijn, wordt het Enterprise Adviesplatform in dit hoofdstuk uitgelegd aan de hand van de architectuur uitgangspunten. Hieruit wordt duidelijk hoe het platform tot stand is gekomen en op welke manier Omniplan ervoor zorgt dat gegevens veilig, betrouwbaar en snel inzichtelijk zijn. Conceptueel wordt het Enterprise Adviesplatform uitgedrukt in onderstaand figuur:
Platform
Presentatie
Integratie
Verschillende client-applicaties, onafhankelijk of dit forms- of webapplicaties zijn, communiceren middels webservices met de servicelaag van het Enterprise Adviesplatform. Externe informatie, integratie, kan op basis van push of pull worden betrokken van aangesloten systemen.
4.2.1 Component based: Het Enterprise Adviesplatform Het Enterprise Adviesplatform bestaat initieel uit een tiental services die middels de “Orchestrator” (servicelaag) communiceren met de buitenwereld zijnde client-applicaties. In de onderstaande figuur zijn de “Adviesplanner” en de “Platform Configurator” weergegeven, deze laatste is een windows forms applicatie die wordt meegeleverd bij een onpremise installatie als configuratie hulp.
Het Enterprise Adviesplatform bestaat dus uit 10 diensten. Deze diensten, standaard Microsoft Windows Services, publiceren allen een of meerdere webservices waarmee het platform intern communiceert. Externe toegang is mogelijk via de servicelaag, ofwel de “Orchestrator”. De Enterprise Adviesplatform services in het kort: 1.
2.
3.
4.
5.
Index De centrale bibliotheek, alle services halen hier de instellingen waarmee ze zichzelf inrichten. De instellingen per service zijn opgenomen in de IndexService database en kunnen worden ingericht middels de “Platform Configurator.” Membership Op basis van het principe: “Gebruikers hebben een of meerdere rollen waarbij rollen een rechtenverzameling representeren” zijn gebruikers gekoppeld aan een of meerdere (sub)organisaties. Hiermee kunnen vrijwel alle organisatiestructuren gemodelleerd worden. De Membership Service levert de autorisatie. Niet getekent in het figuur is de STS service, deze token service, gebaseerd op het ‘brokered authentication’ principe, authenticeert de gebruiker. Dossier Bevat adviesgegevens. Klant (XRM) en advies zijn binnen het Enterprise Adviesplatform van elkaar gescheiden. De adviesgegevens, ofwel het dossier, bevat alle adviestrajecten voor een klant. Datamining kan worden toegepast op de Dossier database. Logging Centrale logging (technisch en functioneel) wordt door dit component onderhouden. Met de logberichten kan de report service bijvoorbeeld een rapport samenstellen voor de compliance officer. XRM Bevat klantgegevens. Klant en Advies (Dossier) zijn binnen het Enterprise Adviesplatform van elkaar gescheiden. In veel gevallen wordt deze service aangepast zodat een bestaand CRM systeem binnen het Enterprise Adviesplatform opgenomen wordt. Klant en adviesdata zijn fysiek in databases gescheiden.
6.
GUI Navigatie en workflow. Deze service stuurt interfaces, controleert middels de Membership service de autorisatie en is in staat de afgelegde weg vast te leggen, ook wel track&trace genoemd. (configurabel). 7. COM Communicatie, verzendt bijvoorbeeld email plus attachments. 8. Data Verwerkt import bestanden en/of andere externe input (file, webservice, MQ bericht) en vertaald deze naar het Adviesplatform datamodel voor bijvoorbeeld adviezen. 9. Calc Rekenhart van het Enterprise Adviesplatform. Klantspecifieke inregeling is mogelijk. Denk aan afwijkende kerngetallen of berekeningen. 10. Report De report service genereert op basis van drie pijlers een rapport: “structuur”, “inhoud” en “opmaak”. Deze pijlers worden gedefinieert binnen het platform en kunnen naar keuze van de klant worden aangepast. In de nabije toekomst wordt hierop een editor beschikbaar gemaakt. Het Enterprise Adviesplatform maakt gebruik van een vijftal databases specifiek gekoppeld aan een service. De IndexService, Dossier Service, XRM Service, GUI Service en tenslotte de Membership Database.
4.2.2 Client Applicaties Microsoft Silverlight is al geruime tijd aanwezig als alternatief op Adobe’s flash. Omniplan kiest voor een web-interface. Om deze interface zo rijk mogelijk te maken is gekozen voor toepassing van Silverlight als Front-End platform. Door toepassing van Commercial Of The Shelf (COTS) producten voor visualisatie van grafieken, cijferbladen en generatie van rapporten wordt een complete en rijke interface geboden. Klanten zijn niet verplicht Silverlight te gebruiken. Elke technologie die SOAP/XML ondersteund, waaronder het relatief nieuwe HTML5, kan worden toegepast om gebruik te maken van het Enterprise Adviesplatform. Voorts zijn in laboratorium situaties applicaties gerealiseerd in Java en PHP.
4.3 Principe: Veerkracht en betrouwbaarheid In een service georiënteerde architectuur heerste een verhoogde kans op uitval van systemen (diensten). Dit kan veroorzaakt worden door uitvallende netwerksystemen of fysieke machines. Door de opzet van het Enterprise Adviesplatform kunnen deze events eenvoudig worden opgevangen door het toepassen van schaling, clustering en/of fail-over systemen, eventueel over meerdere datacenters. Voor enkele van onze grotere klanten is dit reeds toegepast in zowel ‘hot’ als ‘cold’ standby oplossingen. Doorgaans worden de databases via mirrorring, clustering of logtransitie up-to-date gehouden waarna een failover systeem, bij uitval, de verwerking van client verzoeken overneemt. Een basis inrichting: een Enterprise Adviesplatform in duale uitvoering in een enkel datacenter, wordt hieronder weergegeven.
Het Enterprise Adviesplatform maakt onderscheid in primaire en secundaire diensten. Het uitvallen van de logging service zal bijvoorbeeld niet tot gevolg hebben dat client-applicaties zullen falen. De logberichten worden in dat geval gerouteerd naar het lokale eventlog of naar een aangebracht reserve systeem terwijl parallel een beheerder ingelicht wordt. De verschillende deelsystemen en services zijn uitgebreid getest op schoning van resources. Een eventuele overload of drainage van resources kan worden opgemerkt door een controle systeem en gerouteerd aan een beheerder zodat passende actie ondernomen kan worden. Voor SaaS klanten betekent dit het doorlopend monitoren van de systeem status door Omniplan, voor klanten met een eigen implementatie kan een beheerder aangewezen worden. Door het toepassen van network loadbalancing is capaciteit, bijvoorbeeld calculatie, eenvoudig toe te voegen door bijvoorbeeld virtuele applicatieservers stand-by te zetten.
4.4 Principe: Flexibiliteit De flexibiliteit van het platform wordt toegelicht aan de hand van de onderwerpen communicatie en servicelibrary. Communicatie Het Enterprise Adviesplatform ondersteund intern meerdere communicatie protocollen en netwerk policies. Zo kunt u het platform instellen op de protocollen “named pipe” en “tcp”. “Named pipe” verkeer, ook wel “Inter Process Communication” genoemd (IPC) wordt gebruikt voor installaties die op individuele nodes werken. Er is dan geen deelverkeer over de verschillende nodes. Voor point-to-point communicatie wordt het tcp protocol gebruikt al dan niet voorzien van versleuteling op basis van X509 certificaten (Message encryption). Tenslotte: domein overschrijdend verkeer wordt ondersteund door middel van specifiek geconfigureerde account informatie. IPC wordt toegepast op dual node implementaties waarbij de loadbalancer ingericht is met ‘sticky sessions’. Het tcp protocol wordt toegepast in veilig geachte multi-node omgevingen waarbij eventueel een encryptie wordt toegepast op
basis van een security scan. Denk hierbij aan domein overschrijdingen in geval de IIS laag is ondergebracht in een apart domein. Servicelibrary De servicelaag omvat een verzameling aan diensten die extern geconsumeerd kunnen worden, bijvoorbeeld een scenarioberekening specifiek voor een intern ontwikkelde applicatie. De services van de servicelaag worden initieel op de Omniplan manier opgelevert, dus met gebruik van de WS-* stack. Een downgrade is mogelijk mits de aangesloten applicaties overeenkomstig worden geconfigureerd. Omniplan beveelt voor on-premise installaties in combinatie met eigen applicaties die gebruik maken van het Enterprise Adviesplatform een custom servicelaag aan. Omniplan stelt de services ter beschikking, bijvoorbeeld: “BerekenMaxLeenbedrag” en configureert deze naar wens.
4.5 Principe: Schaalbaarheid & Performance De binnen de architectuur aanwezige services zijn stateless. Hierdoor zijn de services (Windows Services voorzien van WCF Host) eenvoudig op meerdere fysieke servers te installeren en kunnen deze met standaard network load balancing opgeschaald worden. De calculatie, dossier en report service zijn te karakteriseren als ‘meest belastend’. Voorbeeld: “Wanneer na een marketing campagne veel bezoek op een website verwacht wordt die veel rekencapaciteit vergt kunnen tijdelijk een of meerdere applicatieservers worden bijgeschakeld die alleen toegerust zijn met bijvoorbeeld de calculatie service. Op deze wijze is onbeperkte rekenkracht beschikbaar”. Vanuit het Omniplan testprogramma werd duidelijk dat een standaard inrichting bestaande uit twee virtuele servers met 8Gb memory en 4 cpu cores (op basis van Amazon EC2 virtual machines) in staat zijn 14.000 adviseurs tegelijkertijd te bedienen. Dit op basis van een 100Mbit netwerk verbinding. On-the-fly Enterprise Adviesplatform structuur aanpassingen: Services kunnen on-the fly worden toegevoegd aan het framework. Het bij en afschakelen van capaciteit middels load balancing of het vervangen van diensten en/of services door configuratie instellingen. Alle binnen het Enterprise Adviesplatform aangesloten services stellen zichzelf voor een bepaalde periode (cache-retentie, standaard 15 min) in op basis van de configuratie instellingen in de indexservice database. Het aanpassen van deze instellingen veroorzaakt een geruisloze herroutering van berichtstromen. Ook is het mogelijk een tijdelijke “override” in te stellen, de berichtenstroom word dan tijdelijk naar een andere server gerouteerd.
Een in brede zin uitgeschaald Enterprise Adviesplatform ziet er bijvoorbeeld als volgt uit.
NLB
MULTI.IR
Clients EAP Node 2
EAP Node 1
EAP Databases
Internet
Glass Fiber
Firewall
NLB
MULTI.NL Internet
Virtual Extendable NLB
Calculatie NLB EAP Node 1
EAP Node 2
MULTI.BA MULTI.NL-CLC
EAP Node 2 EAP CLC1
EAP CLC2
EAP CLC3
EAP Node 1
EAP CLC4
Deze uitschaling omvat een flexibel schaalbaar rekencentrum (multi.nl-clc) een inrichting voor drielanden waarbij de data centraal ondergebracht is in Ierland (multi.ir). Hoewel niet realistisch voor een product gericht op de Nederlandse markt toont dit wel de mogelijkheden tot schaling en performance. Samenvattend: -
Onbeperkte schaling applicatie servers door toepassing network loadbalancing
-
On-the-fly uitbreidbaar met extra capaciteit op basis van input uit eigen monitoring systeem.
-
Databaseschaling afhankelijk van gekozen product. Standaard: Microsoft SQL Server 2008 Standard Edition.
-
Interessant detail: Door schaling is het tevens mogelijk het Enterprise Adviesplatform on-the-fly te updaten mits de databases niet geraakt worden door de update.
4.6 Principe: Uitbreidbaarheid De adviesplanner (front-end applicatie) wordt gekenmerkt door een vergaande scheiding tussen presentatie en logica. Dit wordt o.a. bewerkstelligd door een bootstrapmechanisme en het toepassen van een MVC design pattern voor de onderwerpschermen. Bootstrapping Door gebruik te maken van een bootstrap mechanisme kan men naast de basisfunctionaliteit eenvoudig seperate afgebakende stukken aan de applicatie toevoegen. Zonder dat deze verwevenheid met de bestaande code vertoond. MVC De toepassing van het MVC patroon op financiële onderwerpen heeft als voordeel dat deze kunnen worden hergebruikt en eenvoudig kunnen worden voorzien van een andere layout en stijl. Verder maakt de scheiding tussen datastructuren, layout/stijl en logica (MVC) het mogelijk andere technologien toe te passen zoals WPF of ASP.Net in het eenvoudigste geval of zelfs java door specifieke classes te hercoderen. Applicaties Het is goed mogelijk op basis van de beschikbare web-interface in eigen beheer applicaties te schrijven die (delen van) het platform gebruiken. Denk hierbij aan specifieke rekentoepassingen. Standaard zijn hiervoor meerdere services beschikbaar beschreven in de service catalogus. De servicelaag wordt voordurend aangepast om aan marktvragen te kunnen voldoen. Bedrijfsspecifieke toepassingen worden ondersteund door het uitbreiden van het dienstenpallet. De ondersteunende diensten zoals logging. Met behulp van de Microsoft Windows Presentation Foundation is bijvoorbeeld erg snel een windows applicatie te genereren uit de bestaande Silverlight applicatie. De enige randvoorwaarde is dat de custom applicatie in staat is webservices aan te roepen. De dialoog zowel als de interface vereisten zijn uitgebreid beschreven.
4.7 Principe: Security Omniplan begrijpt dat klantgegevens altijd beschikbaar en uitstekend beveiligd moeten zijn. Er is in het ontwerp op vele manieren rekening gehouden met security. Elke uitbreiding aan het Enterprise Adviesplatform ondergaat een securityscan op ongewenste neveneffecten. Het Enterprise Adviesplatform is behalve door Omniplan ook door externe partijen tegen het licht gehouden. Security is en blijft een speerpunt van de architectuur. In onderstaande tekst leggen we enkele van de maatregelen, genomen om klantgegevens te beveiligen, uit. Op het gebied van (bedrijfs-)netwerken: Afhankelijk van de inrichting van het dienstenpallet zijn voorzieningen getroffen om onder andere afluisteren (eavesdropping) , berichtwijziging (tampering), bewijs van afzending en verder ongeautoriseerd verkeer tegen te gaan. De Windows Communication Foundation fungeert hiertoe als basis. Voorts is het mogelijk HTTPs verkeer te verrichten tussen client en server. De berichtgeving tussen web-applicatie en webserver is standaard al binary wat deductie moeilijker maakt. Verbindingen die services onderling leggen kunnen worden voorzien van NT-Authenticatie (configuratie). De windows service accounts kunnen hiertoe tevens toegepast worden, zo ook voor toegang aan de Microsoft SQL Server database. Verbindingen tussen fysieke servers, database servers en windows services kunnen dus beveiligd worden op basis van NT Credentials waarbij de ‘data over de lijn’ op meerdere manieren versleuteld kan worden. Deze maatregelen hebben een impact op de performance van het systeem. Tijdens de inventarisatie worden deze besproken.
Op het gebied van Client-Applicaties: Voor .Net applicaties wordt de broncode van de applicatie verduisterd (ook wel: “obfuscated” genoemd). Dat wil zeggen dat reverse engineering zo moeilijk mogelijk gemaakt wordt, zo niet onmogelijk is. Connectie- en gebruikersnaam/wachtwoord variabelen komen niet in de code voor maar worden beschikbaar gesteld door een centrale index service. Voor de verschillende communicatie vormen tussen de services en clients zijn transport(HTTPs) zowel als message encryptie (SOAP/XML Binary) configurabel. De gevoelige informatie binnen configuratiebestanden zijn te versleutelen met een prive-sleutel. Hiertoe wordt het component “Cryptography Application Block” uit de Microsoft Enterprise Library toegepast waarmee configuratie versleuteling zelfs specifiek aan een fysieke machine gekoppeld kan worden (DAP). In geval van on-premise installatie beheren klanten de sleutel. Ook Omniplan kan dan niet, zelfs met database toegang, inloggen op het klantsysteem. SSO integratie via LDAP is optioneel voor on-premise installaties. Gebruiker authorisatie is Role-Based. klanten definieren de rollen en de rechten waarmee gebruikers toegang krijgen tot de applicatie. Voorts worden lijn-staf indelingen van organisaties ondersteund middels een boomstructuur van organisaties en afdelingen. Medewerkers hebben alleen toegang tot de dossiergegevens uit de geauthoriseerde afdeling. Binnen het Enterprise Adviesplatform: Binnen het Enterprise Adviesplatform wordt gebruik gemaakt van het “Brokered Authentication” principe. De STS (Security Token Service) neemt dit voor haar rekening. De STS Service is afgeleid van de GUI (Navigatie) service. Applicaties melden zich aan, hetzij via SSO, hetzij via een login scherm. Wanneer de credentials gecontroleerd zijn wordt een token samengesteld. Deze versleutelde string wordt meegegeven bij elke service call zowel binnen het Enterprise Adviesplatform als vanaf de client-applicatie en is gekoppeld aan de sessie van de gebruiker. Door beperkte houdbaarheid en interne caching met instelbare retentie binnen de services verloopt dit proces snel en precies. Zonder geldig token geen gebruik van het Enterprise Adviesplatform. Door toepassing van HTTPs verkeer over het internet wordt een gesloten verbinding tot stand gebracht. Samenvattend: De “Adviesplanner” en het “Enterprise Adviesplatform” vormen een gesloten geheel. De front-end applicatie communiceert veilig met het platform en binnen het platform wordt met de verstrekte sleutel toegang gekregen tot de diensten. Door sessieafhankelijkheid is dit systeem gesloten voor ‘gastgebruik’. Het afluisteren van de ‘lijn’ wordt bemoeilijkt door een binary transfer van data in het SOAP bericht. Verdere zekerheid wordt ingebouwd door clientserver communicatie via HTTPs te laten verlopen. Binnen het Enterprise Adviesplatform is Certificate based X.509 message encryption mogelijk. Gecombineerd met NT-Credential beveiliging is veilige domein overschrijdende communicatie te realiseren. Security is binnen het Enterprise Adviesplatform configurabel, het Enterprise Adviesplatform past zich aan op klant specifieke security policy.
5 Randvoorwaarden technologie 5.1 Applicatie Servers De adviesplanner software is Microsoft georiënteerd. Netto betekent dit een .Net Framework 4.0 vereiste in combinatie met IIS7 en hoger voor de applicatie server software (Enterprise Adviesplatform). Omniplan stelt als basis een moderne 4 CPU machine met 8Gb geheugen en 200Gb harddiskspace als minimum per node. Omniplan stelt als Server OS: Microsoft Windows Server 2008 R2 Datacenter. Een veilige fail-over omgeving wordt gerealiseerd met minimaal 2 nodes + een kleine server ingericht als SQL Server Wittness, bijvoorbeeld een VM. Overigens is een volledige VM implementatie (zowel VMWare als Hyper-V) mogelijk. Tenslotte worden de beide nodes gescheiden door een NLB appliance (software of hardware). Horizontale schaling (aantallen gebruikers) wordt gerealiseerd door extra nodes aan te brengen, verticale schaling (capaciteit) door het bijplaatsen van CPU en Memory. NB. -
Client PC’s kennen geen vereisten anders dan een ondersteund OS en browser software, zie 5.4.
-
Omniplan levert geen OS / Database licenties,deze worden veronderstelt aanwezig te zijn.
Onderstaand een voorbeeld:
In geval van een on-premise installatie doet Omniplan een beargumenteerd voorstel tot inrichting.
5.2 Databases Voor dataopslag wordt Microsoft SQL Server 2008 verwacht. Alle varianten voldoen. Voor minimale fail-over functionaliteit wordt een mirrorring installatie vereist. Hiertoe is de “Standard Edition” van SQL Server noodzakelijk. De bijbehorende wittness server kan uitgerust worden met de gratis SQL Server Express op een eenvoudige single core omgeving. Door een backup-scenario over de SQL Server databases te realiseren wordt een fail-safe omgeving gerealiseerd.
5.3 Certificaten Certificaten voor identificatie van de Enterprise Adviesplatform diensten worden optioneel geleverd door Omniplan, Het is mogelijk bestaande X.509 certificaten toe te passen. Externe certificaat validatie (HTTPs) wordt verondersteld aanwezig te zijn. Klanten zullen voor de eigen webomgeving dus SSL certificaten moeten bezitten of aanschaffen.
5.4 Browsers, Operating Systems en “De Adviesplanner” Met standaard internet browsers (Internet Explorer, Safari en Firefox) is het mogelijk een Silverlight applicatie te starten. Voor deze browsers zijn silverlight plug-ins beschikbaar. Klanten dienen deze wel beschikbaar te stellen aan de werknemers. Enkele statements: -
De adviesplanner is primair getest op Internet Explorer 7,8 en 9. Voorts worden Firefox 4.0.1 en Safari ondersteund.
-
Omniplan test haar software vanaf Silverlight versie 4.0.6031.0.
-
Omniplan volgt de “Microsoft Directions”. Met andere woorden: “Wanneer Microsoft stopt met het ondersteunen van een bepaald OS doet Omniplan dat ook”. Zo wordt Windows XP vanaf april 2014 niet langer ondersteund. Omniplan verleent vanaf dan geen gratis ondersteuning meer voor dit OS.
Wanneer medewerkers thuis gebruik gaan maken van de Adviesplanner en het on-premise Enterprise Adviesplatform dan is dit op verschillende manieren mogelijk: -
Self hosting (extern beschikbaar stellen van het Enterprise Adviesplatform en het instellen van de client applicatie voor deze omgeving)
-
Citrix of Softgrid verbindingen
-
Standaard SSL-VPN verbindingen.
Onderstaande OS-Browser combinaties zijn mogelijk.
5.5 Gebruikte technologien en frameworks Interface Layer: Microsoft ASP.Net 4.0, Silverlight 4.0, Gebruik van: -
IIS7.0 (Dynamic Compression aan) .Net 4 application pools.
Business Layer: Microsoft .Net 4.0. Gebruik van: -
Microsoft Windows Communication Foundation
-
Microsoft Workflow Foundation
-
Microsoft Enterprise Instrumentation Framework.
Database Layer: SQL Er is geen gebruik gemaakt van .Net componenten binnen SQL Server.