Ich möchte noch kurz ein Thema als Entscheidungshilfe mit in den Raum werfen, zu dem mich Michael indirekt inspiriert hat:
Oftmals sind Entwickler große Freunde des inHouse-Betriebs, weil sie so direkten Zugang zur Datenbank haben, ohne Umweg über eine API. Ich kenne das aus zahlreichen Beratungsgesprächen, dass gerade eben die Entwicklungsabteilung manchmal richtiggehend auf den eigenen Server drängt.
Das ist durchaus nachvollziehbar, dass der direkte Datenbankzugriff vieles einfacher macht, wenn es um Auswertungen geht oder um die Entwicklung eigener Tools und Zusatzapplikationen oder um den Export von Daten, z.B. für Kampagnen. Auch wenn - wie im Falle Plentymarkets - eine API bereits vorhanden ist, so sind manchmal die API-Calls limitiert oder man muss eine kleine Applikation schreiben, um auf die API zugreifen zu können oder ein API-Call liefert nur Teile der gewünschten Ergebnisse, was eben dafür spricht, direkt auf die Datenbank zuzugreifen. Jetzt kommt aber das 'aber':
Sofern man nur liest ("gucken, nicht anfassen"), kann ich eine solche Entscheidung befürworten. Aber erklärt mal einem Kind an der Supermarktkasse, nichts anzufassen, wenn alles so einladend und attraktiv schimmert und leuchtet und glitzert und funkelt. Klappt nicht immer, gell? Heisst: Wenn man schon eine eigene Kiste mit dem System betreibt, liegt es nahe, dass man früher oder später in die Datenbank auch etwas schreibt, die Datenbank ändert / ergänzt, neue Felder einfügt, vielleicht sogar auf Ebene der Datenbank die API selbst modifiziert und erweitert oder sogar Funktionen ändert. Und hier ist der große Casus Knacksus, den ihr bitte in jedem Fall bedenken solltet:
Damit gefährdet man nämlich einerseits die Update-Fähigkeit eines Systems (6 auf 7), andererseits kann das auch zu eingeschränkter oder ausgesetzter Garantie und/oder Gewährleistung sowie Einschränkungen beim Support führen.
Klar, wenn man mit einer Version zufrieden ist und aktuell meint, dass man die nächste Version doch sowieso nicht benötigen sollte, kann das Argument scheinbar irrelevant werden. Wenn aber in der aktuellen Version Sicherheitslücken oder kritische Bugs gefunden wurden, dann ist ein Update eben auch aufgrund der o.g. Gewährleistung u.U. zwingend notwendig und manuelles 'Nachpatchen' an einer veränderten Version ist kein großer Spaß und kann nach hinten losgehen.
Zwar wurde hier nicht explizit erwähnt, dass man direkt auf die Datenbank zugreifen möchte, aber oft ist eben auch dies ein Argument, das angebracht wird, wenn es "pro eigenem Betrieb auf eigenem Server" geht, weswegen ich das als ganz kleine Entscheidungshilfe einfach noch in den Raum werfen wollte. Und wenn man sich für den eigenen Server entscheidet, sollte man sich im Vorfeld überlegen, wie weit man das System dann 'anfassen' würde.
Viele Grüße
Chris