Hallo,
erst einmal Entschuldiung, wenn meine Mail total defotmiert daherkommt. Ich muss hier auf Arbeit eine Software nutzen (Firstclass), die mit den elemtaren Dingen nicht zurechtkommt. Mein Admin bietet mir keine Alternativen an.
Wofür wird die dritte Datenbank verwendet?
Wir haben es schon so aufgeteilt, das möglichts nicht beide Apps schreibend auf eine Datenbank zugreifen müssen. Die dritte DB enthält Kreditkartendaten, die schon auf einem extra Rechnr liegt. In den anderen DB's liegen einmal die Bestelldaten vom Webshop, die das CRM abholt und in einer DB liegen die Daten vom CRM für den Webshop (Freie Kundennummern, Gutscheine...)
Welchen Zugriff hast du auf die Datenbanken? Kannst du dich direkt mit dem MySQL Port verbinden?
Ja, es wird direkt mit der DB kommuniziert. Die Schnittstelle vom CRM ist aber sowas von grausam und dumm, da gibt es immer wieder Probleme. Sie ist z.B. extrem abhängig von globalen DB-Werten, hält Connections ewig offen und merkt nicht, wenn eine Connection nicht mehr da ist - Schrott. Leider proprietär (4D-Erweiterung) und nicht so leicht zu ersetzen.
Ich habe noch nicht mit Soap gearbeitet, aber dafür mit XML-RPC. Das ist einiges einfacher als Soap und wird auch von mehr Programmiersprachen unterstützt. Die XML-RPC Spezifikationn kannst du dir innerhalb von ein paar Minuten durchlesen. Soap ist einiges komplexer.
Hast du die Quellen zu den Systemen? Ich würde erst einmal schauen warum so viel Last erzeugt wird. Vielleicht reicht es für eine bestimmte Spalte einen Index anzulegen.
Sorry, nein. Quellen for Eyes only. Ausserdem bin ich nicht in der Position dies zu entscheiden. Die Datenbank ist aber schon bis zum Limit optimiert, der Admin ist recht fähig. Die Hohe Last tritt z.B. durch das oben beschriebene Verhalten des CRM auf. Lässt Connenctions offen und merkt das nicht. Der Shop auf der anderen Seite bekommt dadurch Probleme. Die Last auf der Maschine steigt und alles wird Zähe. Einmal ist das System mit der KreditkartenDB ausgefallen. Für die normale Arbeit eigentlich kein großen Problem, aber das CRM gab dadurch seinen Geist auf und der Shop wartete sich halbtot, bis er zur DB durchkam.
Vielleicht reicht es ja auch die Systeme nur Nachts zu syncronisieren, so dass sie tagsüber jeweils mit den eigenen Daten arbeiten können.
Nö, geht ja nicht. Bestellungen müssen laufend bearbeitet werden.
XML als Datenformat stellt die Integrität der Daten von sich aus sicher.
Obige Aussage ist sehr vage. Da die Daten aus und in einer relationale DB sollen hast du auf jedenfall das Problem, dass Zeichenketten nicht beliebig lang sein können.
Ja, ist klar. Lange Zeichenketten werden nicht gebraucht.
Mittlerweile sind wir noch auf den Buisiness-Connektor von SAP gestossen. Der ist zwar auch nur ein XML-Dingens, das hat aber den Vorteil, dass der Shop veielleicht mal direkt mit unserm ERP kommunizieren kann, und nicht den wackligen Umweg übers CRM machen muss. Aber ich sehe schon, viele Möglichkeiten gibt es da nicht, wenn man die Datenbank einmal rauslässt.
Jens