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