l3xx3r
Goto Top

Datenbankschnittstellen Programmierung - Erfahrungen gefragt

Guten Tag zusammen,

wir setzen bei uns aktuell ein ERP(Vario 8) und ein CRM(Amtangee) ein.
Jeweils setzt das ERP auf eine Firebird Datenbank und das CRM auf einen SQL Server.

Wir hätten gerne eine Datenbank Schnittstelle von ERP in Richtung CRM.
Ich habe bereits ein paar Dienstleister gefunden.
Nun wäre aber meine Frage gibt es hier bereits Erfahrungen mit Dienstleistern, Empfehlungen für ein solches Anliegen oder ähnliches. Ich würde mir gerne einfach vorher ein ausführliches Bild machen.

Falls weitere Infos nötig sind, beantworte ich diese Fragen natürlich sehr gerne.

Vielen Dank & freundliche Grüße
l3xx3r

Content-Key: 3318177146

Url: https://administrator.de/contentid/3318177146

Printed on: April 26, 2024 at 02:04 o'clock

Mitglied: 2423392070
2423392070 Jul 12, 2022 at 06:55:42 (UTC)
Goto Top
Eine Antwort Bedarf Kenntnis der Datenbankstrukturen.
Member: fisi-pjm
fisi-pjm Jul 12, 2022 at 06:59:35 (UTC)
Goto Top
Moin,

Ich bin selbst als Dienstleister tätig. Wir machen auch Schnittstellen zwischen ERP und CRM Systemen.
Einen Speziellen Dienstleister kann ich dir nicht empfehlen. Aber ich kann dir ein paar Grundlegende Tipps mit an die Hand geben.

Sprecht vorher ausführlich mit den Dienstleistern und lernt, wenn möglich auch die Leute kennen, die dann letzendlich auch die technische Umsetzung des Projekts machen werden. Es gibt leider genug Fachidioten auf dem Markt die sicherlicht wahnsinnig gute Entwickler sind, aber sobald es um irgendetwas kaufmännisches geht, kein Stück mit denken und dir, wenns hart auf hart kommt auch irgend einen Schwachsinn in die Lösung rein programieren.

Außerdem wirkt es sich meistens gut auf das Projekt aus, wenn mindestens einer der Systeme selbst im Einsatz des Dienstleisters ist. Dadurch braucht er sich nicht erst auf beiden Seiten know-how aufbauen.

Wir machen es eigentlich in den meisten Fällen so, das wir eine ausführliche Entwicklungsdokumentation machen. Also nicht, wie wir das Projekt umgesetzt haben, sondern wie wir das Projekt umsetzen werden. Diese kostet den Kunden bereits etwas, er hat aber danach auch die Möglichkeit zu sagen, nein mit euch passt es nicht, hat dann aber eine Fertige Dokumentation, mit der die Meisten anderen Entwickler die Lösung so umsetzen können. Die Dokumentation enthält dann auch immer eine Tabelle mit Feldzuweisungen, wo genau definiert ist welches Feld im System A wohin in System B kommt und wie die einzelnen Feldtypen sind.

Fall bitte nicht auf irgendwelche Vertriebler rein, die dir bei jeder Frage das blaue vom Himmel versprechen und sofort sagen "ja klar das können wir". Frag nach wie sie das technisch realisieren würden, was es eventuell für Hürden geben könnte und klär auch ab wie es bei Problemen (die auftreten werden), läuft. Sprich, bekommst du am Ende einfach eine Rechnung die doppelt so Hoch ist wie das Angebot, oder wird im vorfeld gesprochen. Viele Kunden neigen dazu ein Entwicklungsprojekt in der "Waserfallmehtode" zu planen. Davon kann ich eigentlich nur abraten, es gibt viele andere konzepte wie z.B. Agil programming oder extrem programming. Frag doch mal was der Dienstleister macht. Daran siehst du schon ob es einen Strukturierten Umgang mit solchen Projekten gibt. Schnittstellen sind immer fummlig. Wünsch dir viel Erfolg face-smile


vG
PJM
Member: l3xx3r
l3xx3r Jul 12, 2022 at 07:05:47 (UTC)
Goto Top
Zitat von @fisi-pjm:

Moin,

Ich bin selbst als Dienstleister tätig. Wir machen auch Schnittstellen zwischen ERP und CRM Systemen.
Einen Speziellen Dienstleister kann ich dir nicht empfehlen. Aber ich kann dir ein paar Grundlegende Tipps mit an die Hand geben.

Sprecht vorher ausführlich mit den Dienstleistern und lernt, wenn möglich auch die Leute kennen, die dann letzendlich auch die technische Umsetzung des Projekts machen werden. Es gibt leider genug Fachidioten auf dem Markt die sicherlicht wahnsinnig gute Entwickler sind, aber sobald es um irgendetwas kaufmännisches geht, kein Stück mit denken und dir, wenns hart auf hart kommt auch irgend einen Schwachsinn in die Lösung rein programieren.

Außerdem wirkt es sich meistens gut auf das Projekt aus, wenn mindestens einer der Systeme selbst im Einsatz des Dienstleisters ist. Dadurch braucht er sich nicht erst auf beiden Seiten know-how aufbauen.

Wir machen es eigentlich in den meisten Fällen so, das wir eine ausführliche Entwicklungsdokumentation machen. Also nicht, wie wir das Projekt umgesetzt haben, sondern wie wir das Projekt umsetzen werden. Diese kostet den Kunden bereits etwas, er hat aber danach auch die Möglichkeit zu sagen, nein mit euch passt es nicht, hat dann aber eine Fertige Dokumentation, mit der die Meisten anderen Entwickler die Lösung so umsetzen können. Die Dokumentation enthält dann auch immer eine Tabelle mit Feldzuweisungen, wo genau definiert ist welches Feld im System A wohin in System B kommt und wie die einzelnen Feldtypen sind.

Fall bitte nicht auf irgendwelche Vertriebler rein, die dir bei jeder Frage das blaue vom Himmel versprechen und sofort sagen "ja klar das können wir". Frag nach wie sie das technisch realisieren würden, was es eventuell für Hürden geben könnte und klär auch ab wie es bei Problemen (die auftreten werden), läuft. Sprich, bekommst du am Ende einfach eine Rechnung die doppelt so Hoch ist wie das Angebot, oder wird im vorfeld gesprochen. Viele Kunden neigen dazu ein Entwicklungsprojekt in der "Waserfallmehtode" zu planen. Davon kann ich eigentlich nur abraten, es gibt viele andere konzepte wie z.B. Agil programming oder extrem programming. Frag doch mal was der Dienstleister macht. Daran siehst du schon ob es einen Strukturierten Umgang mit solchen Projekten gibt. Schnittstellen sind immer fummlig. Wünsch dir viel Erfolg face-smile


vG
PJM

Vielen Dank für die sehr ausführliche Antwort. Genau sowas hilft auf dem Weg face-smile

Grüße
Mitglied: 137960
137960 Jul 12, 2022 at 07:39:59 (UTC)
Goto Top
Von der Technik her ist eine "Schnittstelle" (was immer die dann machen soll) jedenfalls auf unterschiedliche Arten möglich, z.B. als Java/Node/.NET-Programm. Treiber gibt's sowohl für Firebird und MS SQL Server genug.
Wenn es um sowas wie "Datenpumpen" geht, kann man auch Talend einsetzen (mal nach gugln). Von Apache gibt es so ein Tool sogar kostenlos. Name ist mir gerade entfallen. Jedenfalls entwickelt man mit diesen Tools sowas wie Workflows, um Daten von X nach Y bringen und dabei eventuell zu konvertieren, filtern, etc.

Talend (von dem Tool gibt's auch eine OpenSource-Version) bietet die Möglichkeit, diesen Workflow-Prozessor als eigenständige App regelmäßig laufen zu lassen bzw. Daten in Echtzeit zu transportieren.

Bevor ein Dienstleister also eine Individualprogrammierung anbietet, solltet Ihr vielleicht mal auf dem Markt nachsehen, ob sich sowas auch mit Talend und entsprechenden Dienstleistern lösen lässt. Die Kosten für das Tool sind Anfangs eventuell höher, dafür kann es sein, dass die Personalaufwände beim Dienstleister nicht so hoch ausfallen und man bei Änderungen nicht alles neu programmieren muss.

Hach... da fällt mir der Name wieder ein: Spark.
https://spark.apache.org/

Und Talend:
https://www.talend.com/

Die Dienstleister dafür tummeln sich meist unter dem Begriff "Data Integration" bzw. "Datenintegratoren". Wenn's das ist, was der Beitragsersteller sucht.
Member: l3xx3r
l3xx3r Jul 12, 2022 at 07:43:48 (UTC)
Goto Top
Zitat von @137960:

Von der Technik her ist eine "Schnittstelle" (was immer die dann machen soll) jedenfalls auf unterschiedliche Arten möglich, z.B. als Java/Node/.NET-Programm. Treiber gibt's sowohl für Firebird und MS SQL Server genug.
Wenn es um sowas wie "Datenpumpen" geht, kann man auch Talend einsetzen (mal nach gugln). Von Apache gibt es so ein Tool sogar kostenlos. Name ist mir gerade entfallen. Jedenfalls entwickelt man mit diesen Tools sowas wie Workflows, um Daten von X nach Y bringen und dabei eventuell zu konvertieren, filtern, etc.

Talend (von dem Tool gibt's auch eine OpenSource-Version) bietet die Möglichkeit, diesen Workflow-Prozessor als eigenständige App regelmäßig laufen zu lassen bzw. Daten in Echtzeit zu transportieren.

Bevor ein Dienstleister also eine Individualprogrammierung anbietet, solltet Ihr vielleicht mal auf dem Markt nachsehen, ob sich sowas auch mit Talend und entsprechenden Dienstleistern lösen lässt. Die Kosten für das Tool sind Anfangs eventuell höher, dafür kann es sein, dass die Personalaufwände beim Dienstleister nicht so hoch ausfallen und man bei Änderungen nicht alles neu programmieren muss.

Hach... da fällt mir der Name wieder ein: Spark.
https://spark.apache.org/

Und Talend:
https://www.talend.com/

Die Dienstleister dafür tummeln sich meist unter dem Begriff "Data Integration" bzw. "Datenintegratoren". Wenn's das ist, was der Beitragsersteller sucht.

Hi, auch dir vielen Dank.
Ja ich selbst habe solche, wie du so schön gesagt hast, Datenpumpen schon programmiert in C#.
Leider fehlen aktuell die Ressourcen, um es in house zu lösen, weswegen wir jemanden dafür suchen.

Talend sehe ich mir gerne mal an.
Dankeschön für den Tipp
Member: ukulele-7
ukulele-7 Jul 26, 2022 at 12:29:10 (UTC)
Goto Top
Als erstes solltest du sich bei den Herstellern von ERP und CRM kundig machen. Selbst wenn man Datenbank-Zugriff hat heißt das nicht, das man hier auch ungehindert Daten schreiben darf oder soll. "Darf "im Sinne von Gewährleistung eventuell nicht gegeben und "Soll" im Sinne von kann sich halt ändern... Auch wird es schwierig wenn keine Dokumentation über die Datenstruktur geben ist, nicht alles kann man auslesen, einiges kann sich ändern und grade gewachsene Systeme sind manchmal einfach nicht zu durchschauen.

Ich sage nicht das man sich nicht über eine klassisches Abwehrhaltung eines Herstellers hinweg setzen kann aber als erstes sollte man sie kennen und überlegen, ob man das zur Not auch auf eigene Verantwortung durchzieht.