DB-adapter

DB-Adaptern ansluter NodeServices mot SQL-Server och Oracle. Den kan användas för att läsa och skriva tabeller, samt att anropa lagrade procedurer.

Integration med integrationstabeller och triggertabell

Att använda integrationstabeller är ett enkelt sätt att exportera data från ett system. NodeServices läser från angivna databastabeller och använder dessa för att föra informationen vidare med hjälp av t.ex. XML. Som exempel kan ett affärssystem spara viss information till några databastabeller och på så sätt sprida informationen till andra system med hjälp av NodeServices. För en integration mot en databas krävs ett antal tabeller enligt önskemål för att lagra data som skall importeras eller exporteras. T ex en orderhuvudtabell med attribut för order, en orderradtabell med attribut för orderrader osv. Dessa kallar vi ”datatabeller”. Utöver detta behövs en triggertabell som NodeServices övervakar. DB-Adapter kan konfigureras för att både läsa och skriva data. När ett meddelande tas emot av DB-Adaptern och konverteras det till rader och skrivs ner till databasen.

På motsvarande sätt detekteras ändringar i databasen och konverteras till ett meddelande.

DB-Adaptern konfigureras för att använda en triggertabell för att detektera och registrera ändringar i integrationstabellerna. Triggertabellen håller reda på primärnycklar på förändrade poster och deras status. Alla system som läser och skriver till integrationstabellerna måste också uppdatera triggertabellen.

Triggertabellen har en statuskolumn som kan användas för att övervaka att data som skrivs från ett system blir korret läst av ett mottagande system. När en ny rad skrivs till triggertabellen får den status ”NY” vilket betyder att det finns förändrad data i databellerna. När den sedan blir läst av ett annat system får den status ”LÄST” eller status ”FEL”.

Triggertabellen måste ha följande struktur (se detaljerad beskrivning):

Attribut Förklaring
Rowkey Triggerns primärnyckel. Kan autogenereras av databasen.
Parentrowkey Om denna post har en förälder, anger förälderns primärnyckel (rowkey).
Tablekey Primärnyckel i datatabellen som triggern refererar till.
Tablename Namnet på datatabellen.
Tablekeyname Namnet på nyckelkolumnen i datatabellen.
Direction Indikerar om nodeservices ska skriva (I) eller läsa (O) i tabellen.
Status Anger radens status: -1. Raden uppdateras för tillfället av något system. 0. Raden är ej bearbetad. 1. Raden är bearbetad. 3. Ett fel har uppstått.
Created Tid då raden skapades, t ex 2007-01-17
Createdby System som skapade raden, t ex “SSA”, “KIS”, “IFS”

När man lagrar data i integrationstabellerna är det viktigt att skriva data i rätt sekvens. Om man skriver till triggertabellen på fel sätt riskerar man att förlora rader.

Följande exempel visar hur man sparar en order med orderrader i integrationstabellerna. (se exempel)

1. Skriv orderhuvud till ordertabellen
2. Skriv orderhuvud till triggertabellen, sätt status -1
3. Skriv orderrader till orderradtabellen
4. Skriv orderrader till triggertabellen, sätt status -1
5. Ändra status till 0 på posterna i triggertabellen

Integration med lagrade procedurer

DB-Adaptern kan konfigureras för att anropa lagrade procedurer. Detta görs med ett bestämt tidintervall och det är den proceduren som detekterar förändringar i databasen.

Tillbaka