SAP CPI-DS, een Cloud - Onpremises data-integratie overzicht

20-3-2020

CPI-DS SAP , een Cloud - Onpremises data-integratie overzicht

Integratie is een concept dat steeds meer aanwezig is in ons leven; van IOT en de kunstmatige intelligentie in het dagelijkse huishouden tot connected enterprises; dit laatste is een groeiende uitdaging voor IT-afdelingen en consultants over de hele wereld. Eén van de oplossingen die steeds meer aandacht krijgt in dit domein is SAP's Cloud Platform Integration for Data Services, of CPI DS, gericht op de extractie/transformatie/laadprocessen (ETL) voor data tussen Cloud en on-premise systemen. In dit blog deel ik enkele inzichten over deze specifieke oplossing uit de CPI-suite op basis van ervaringen uit een (lopend) project, samenwerking met SAP's eigen oplossingsexperts en bijbehorend (online) onderzoek.

overview
SAP CPI-DS, een Cloud - Onpremises data-integratie overzicht

Positionering & Context

SAP's Cloud Platform Integration (CPI), in het verleden bekend als HANA Cloud Integration of HCI, is dé erkende Cloud-gebaseerde integratieoplossing van de Walldorf-gebaseerde gigant (Process Orchestration, of PO, zijnde het on-premise alternatief). CPI is echter niet één enkele tool, maar een overkoepelende term voor verschillende, scenario-specifieke applicaties die allemaal streven naar het synchroniseren van gegevens in het systeemlandschap van een onderneming. Wanneer klanten moderne SAP-bedrijfsapplicaties kopen, komen ze vaak gebundeld met een van deze CPI-applicaties om een startpunt te bieden voor de integratie van de nieuwe aanwinst in bestaande IT-architectuur. Zo wordt bijvoorbeeld SAP's Integrated Business Planning (IBP) gebundeld met CPI-DS. Dit betekent echter niet dat CPI-DS alleen kan worden gebruikt in combinatie met IBP, maar het ook een rol kan spelen in scenario's met bijvoorbeeld S/4HANA, SuccessFactors, C4C of BW.

Architectuur

Wanneer je de architecturale opzet van CPI-DS overweegt, kan je deze eenvoudig vergelijken met 'zuster-oplossingen' uit de CPI-familie, zoals Smart Data Integration (SDI). Net als SDI bestaat CPI-DS uit twee hoofdcomponenten. Het eerste is de Data Services Agent, dat is het component dat een on-premise installatie vereist en verantwoordelijk is voor de communicatie aan de bronzijde van het systeem. Het tweede component is de HANA Cloud Integration Agent Manager-applicatie, het servercomponent in de Cloud waarmee de (IT-)gebruiker in contact komt. Elke minuut checkt de Agent met het CPI Cloud component of er wachtrij-jobs te verwerken zijn voordat hij weer een minuut gaat 'slapen'. De communicatie met en vanuit de CPI Agent Manager (die zich in de webbrowser bevindt) verloopt via HTTPS. Hieronder staat een overzicht waarin de datastromen zijn gemarkeerd met de vetgedrukte pijlen en de communicatiestromen met normale pijlen.

Overview

Met CPI-DS wordt al het verwerkingswerk gedaan door de Agent, waarbij het Cloud-component uitsluitend dient voor het communiceren van (job)metadata (wat moet er gedaan worden en hoe?) met betrekking tot de voorkeuren van de gebruiker. Daarom is het belangrijk om ervoor te zorgen dat de Agent over voldoende middelen beschikt. Het interne geheugen is hierbij het belangrijkst, omdat de Agent de hoogste piek in het datavolume op een gegeven moment moet kunnen opvangen. Dit komt omdat de gegevensladingen niet kunnen worden gesplitst, maar alleen worden toegewezen aan verschillende agenten. Hoewel er veel factoren zijn die de belasting van het systeem kunnen beïnvloeden, zoals datagrootte, logica en mogelijke transformaties, adviseert SAP minimaal 8 GB intern geheugen voor CPI-DS-ontwikkelings/testomgevingen en minimaal 16 GB voor productieomgevingen met hoge datavolumes (bij miljoenen records). Het is ook een 'good practice' om een tweede Agent te installeren op een andere (virtuele) server, niet alleen voor failsafe doeleinden maar ook voor load balancing. Agents kunnen ook worden gegroepeerd voor een betere belastingstoewijzing of worden geconfigureerd voor connectiviteit met andere applicaties met behulp van standaarden zoals SOAP, REST en OData-protocollen. Aangezien er meerdere landschappen zijn waarin CPI-DS wordt gebruikt in combinatie met SDI, is het ook cruciaal om te stellen dat het installeren van beide oplossingen op dezelfde server niet wordt aanbevolen door SAP, omdat de twee vitale resources (zoals de database) delen en dus met elkaar in conflict kunnen komen.

Setup met IBP

In de context van IBP wordt CPI-DS geleverd met templates die gegevens uit SAP ECC en SAP APO kunnen lezen, waardoor gegevens rechtstreeks in de gegevensmodellen van IBP kunnen worden geïmporteerd. Het proces zal dan de gegevens in de staging-tabel van IBP laten vallen voordat de post-processing begint (zie hieronder).

Dataflow in CPI-DS

De postprocessing (nabewerking) is een belangrijke functie als het gaat om het laden van gegevens in het IBP. Om prestatieredenen is de aanbeveling om na elke taakuitvoering postprocessing uit te voeren (meer over taken in de volgende paragraaf). Hierbij moet men er wel voor zorgen dat dit in overeenstemming is met de inhoud van de taak (stamgegevens/transactiegegevens), aangezien de volgorde van het laden van specifieke gegevens belangrijk is. De limiet van een post-processing load wordt bepaald door de totale lengte van de string van de respectievelijke objecten, in tegenstelling tot de grootte van de load. Data loads kunnen in IBP worden geëvalueerd via het 'Data Integratie'-workcenter, dat de totale uitvoeringstijd, het aantal geslaagde en het aantal mislukte records toont. Zodra de nabewerking is voltooid, worden alle geladen records, ongeacht hun status, verplaatst naar de reporting tabel, wat betekent dat de staging-tabel leeg zal zijn. Voor meer informatie over de specifieke vereisten van het IBP met betrekking tot gegevensintegratie, bijvoorbeeld foutafhandeling of verboden karakters, gaat u naar deze link.

Kernfuncties

De belangrijkste datagerelateerde objecten binnen CPI-DS zijn taken en data flows (datastromen). Een enkele taak kan meerdere data flows bevatten voor ETL-doeleinden naar specifieke doelen en kan zowel vanuit het niets als vanuit sjablonen worden gecreëerd. De data flows worden gecreëerd via hun respectievelijke tabblad in de 'Task Editor', met een UI die kan worden vergeleken met de interface in SAP BusinessObjects Data Services of de Eclipse Web IDE voor HANA Native. In beide gevallen is de functionaliteit in CPI-DS natuurlijk veel beperkter. Elke data flow moet zich conformeren aan hetzelfde formaat van initiële transformaties, tussentijdse transformaties en target-transformaties, waarbij alleen de laatste verplicht is.

Object

Bij het uitvoeren van transformaties moet je ook de datakolommen in kaart brengen. Gebruik voor flow targets altijd de technische naam van een tabel; de bestandsnaam moet in dit geval gelijk zijn aan de target. Je hoeft alleen de velden in kaart te brengen die technisch noodzakelijk zijn, wat in de meeste gevallen de belangrijkste velden zijn. Velden die niet in kaart zijn gebracht, worden niet aangeraakt/veranderd door de transformatie. Wanneer hun respectievelijke kolommen in kaart worden gebracht, worden reeds aanwezige records overschreven. Verschillen in specifieke eigenschappen, zoals planningsniveaus, zullen geen invloed hebben op het gedrag van dit mechanisme. Zo zal een verkeerd planningsniveau nog steeds een record overschrijven met het juiste planningsniveau; er zal geen foutmelding worden gegeven door het systeem; let hier dus op.

Een andere handige knop in de datastroom-editor is de preview-functie. Onthoud wel dat deze functie alleen beschikbaar is in de Sandbox-omgeving en niet in het Productie-equivalent. Met de preview-functie kun je de resultaten van een specifiek query-block in je datastroom bekijken. Het resultaat toont alleen de resultaten van de transformaties tot dat punt in de flow en stelt je dus in staat om de flow tot dat punt te evalueren, wat handig is om te bepalen of de flow wel of niet in lijn met je verwachtingen werkt. Verder kunnen er maximaal 500 records worden getoond, waarbij je het systeem kunt instrueren om een specifieke selectie per N-aantal records te maken (als je deze functie niet gebruikt, worden de eerste 500 records standaard getoond). Tot slot kunnen globale data runs worden geëvalueerd voor zowel de Sandbox- als de Productie-omgeving via het Dashboad-workcenter, waardoor gebruikers de mogelijkheid hebben om het succes van runs op historische basis te beoordelen.

dashboard

Als het gaat om gebruikersrollen binnen het autorisatieconcept, ondersteunt CPI-DS officieel dezelfde vijf rollen als de andere CPI-suite oplossingen. In de praktijk bestaan de gebruikersrollen echter vaak uit Developers (Ontwikkelaars) en Operators. Ontwikkelaars zijn onder andere in staat om andere gebruikers toegangsrechten te verlenen, verbindingen en data flows te beheren en data source registrations en -taken te configureren, terwijl Operators taken en stromen kunnen uitvoeren, de meeste objecten kunnen weergeven en evalueren en monitoringactiviteiten kunnen uitvoeren. Voor beide rollen beveelt SAP aan om ze toe te wijzen aan leden van de IT-afdeling in plaats van aan business key-users.

Een laatste functie die ik wil aanstippen is de agent monitoring. Terwijl de doelsystemen voor CPI-DS meestal hun eigen monitoringfuncties voor het gegevensladingsproces hebben, biedt CPI-DS meldingen voor gebruikers om de agent in de gaten te houden, aangezien dit de kritische component in het laadproces is. Het Administrator-workcenter (zie hieronder) stelt gebruikers in staat om eenvoudige maar erg nuttige meldingen in te stellen voor taken en processen, voor het geval er iets mis gaat, maar ook voor de Agent(s) die CPI-DS gebruikt. Dit maakt beperkte automatisering mogelijk in het geval van fouten en als bijvoorbeeld de betreffende organisatie geen failsafe Agent heeft.

notification

 

Business Thema's

IT-Trends

Partners van deze blog

SAP

Kennismaken?

info@ciber.nl

Binnen één werkdag reactie

Onze locaties

Bekijk onze locaties

Contact
2.0.2