Bestehende Sage-100-Entwicklung übernehmen und weiterentwickeln
Das Wissen ist verloren gegangen. Der Wert Ihrer Lösung muss es nicht.
Wir analysieren AppDesigner, .NET, SQL, Dienste und Schnittstellen, stellen Übernahmefähigkeit her und bestimmen den wirtschaftlich besten nächsten Schritt.
Verstehen vor VerändernBuild reproduzierenRisiken priorisierenKein Rewrite-Reflex
Unser Grundsatz
Erhalten, was gut ist. Absichern, was kritisch ist. Nur dort modernisieren, wo es einen belastbaren Grund gibt.
Wenn der Entwickler geht, verschwindet die Software nicht
Eine Sage-100-Erweiterung kann viele Jahre produktiv laufen und tief in Belegfluss, Preisfindung, Freigaben, Reporting oder Datenaustausch eingebunden sein. Verlässt der ursprüngliche Entwickler das Unternehmen oder endet die Betreuung, bleibt die Lösung geschäftskritisch – nur das Wissen darüber fehlt.
Wissen fehltDer Entwickler ist nicht mehr verfügbarDie Anwendung läuft, aber Fehler und Änderungen lassen sich nicht mehr zuverlässig bearbeiten.Zuständigkeit fehltDie Anpassung fällt zwischen PartnerDer ERP-Support betreut den Standard, niemand übernimmt jedoch die individuelle Lösung.Update steht anKompatibilität ist ungeklärtNiemand kann belastbar sagen, welche Komponenten mit der Zielversion funktionieren.Quellstand unklarOrdner und Produktivversion passen nicht zusammenCode ist vorhanden, aber Build, Abhängigkeiten und installierte DLL lassen sich nicht zuordnen.Performance sinktDatenmenge trifft alte ArchitekturAuskunft, Import, Report oder Hintergrundprozess wird mit der Zeit immer langsamer.Änderung blockiertDie Lösung soll weiterentwickelt werdenNeue Anforderungen sind bekannt, doch Eingriffe ohne Architekturverständnis wären zu riskant.
Das Problem ist nicht automatisch schlechte Software. Es ist der verlorene Zusammenhang zwischen Geschäftsprozess, Quellcode, Daten und Betrieb. Genau diesen Zusammenhang stellen wir wieder her.
Übernahme beginnt nicht mit Programmierung
Bei einer unbekannten Bestandsentwicklung ändern wir nicht versuchsweise Code im Produktivsystem. Zuerst entsteht ein belastbares technisches Bild.
AusgangspunktBestehende Sage-100-LösungProduktiv, geschäftskritisch und nur teilweise dokumentiert
01KomponentenWas ist installiert?
02AbhängigkeitenWas greift worauf zu?
03Quellcode & BuildWas ist reproduzierbar?
04Daten & ProzessWo liegt die Fachlogik?
05Betrieb & RisikenWas ist kritisch?
Behaltenstabil und nachvollziehbar
Weiterentwickelntragfähige Basis nutzen
Refaktorierengezielt absichern
Ersetzennur mit gutem Grund
Erst wenn Komponenten, produktive Version und fachliche Aufgabe verstanden sind, lässt sich verantwortbar über Aufwand und Zielstrategie entscheiden.
Der Development Takeover Check
Die strukturierte Bestandsaufnahme trennt technische Fakten von Vermutungen. Sie zeigt nicht nur, was vorhanden ist, sondern auch, ob daraus eine wartbare und testbare Arbeitsgrundlage entstehen kann.
InventarProduktive KomponentenAppDesigner, DLLs, Dienste, Jobs, Datenbankobjekte, Schnittstellen, Konfiguration und zusätzliche Datenbanken.GeschäftKritische ProzesseWelche Funktionen laufen täglich, erzeugen Umsatz, verarbeiten Belege oder verbinden externe Systeme?QuellstandCode und BinärdateienIst der Quellcode vollständig und gehört er tatsächlich zur produktiv eingesetzten Version?BuildReproduzierbarkeitLassen sich Abhängigkeiten wiederherstellen, Lösung kompilieren und Ergebnis eindeutig zuordnen?ArchitekturDaten und AbhängigkeitenWelche Sage-Versionen, Bibliotheken, SQL-Objekte, APIs, Pfade, Konten und Zertifikate werden benötigt?BetriebLogging und FehlerwegeWie starten Prozesse, wo entstehen Logs und wie werden Ausfälle oder fehlende Übertragungen erkannt?
Übernahmefähigkeit
Vier Ausgangslagen – vier unterschiedliche Risiken
Gute BasisCode, Build und Dokumentation vorhandenPrüfen, versionieren und kontrolliert weiterentwickeln.RekonstruierbarCode vorhanden, Build ungeklärtAbhängigkeiten und Build-Umgebung wiederherstellen.EingeschränktNur Binärdatei oder DLL vorhandenVerhalten analysieren; Änderung kann Neuimplementierung erfordern.Erhöhtes RisikoWeder Code noch DokumentationProzess und Datenfluss rekonstruieren, Ersatz gezielt planen.
Wir behaupten nicht, eine fremde Binärdatei ohne Quellcode beliebig weiterentwickeln zu können. Wenn technische Grundlagen oder Nutzungsrechte fehlen, benennen wir diese Grenze klar.
Quellcode ist erst wertvoll, wenn der Build reproduzierbar ist
Ein Ordner mit C#-Dateien ist noch keine belastbare Softwarebasis. SDK-Version, Bibliotheken, Konfiguration, Datenbankschema und Deployment müssen zum produktiven Stand passen.
Quellstand, Abhängigkeiten und produktive Version müssen wieder zusammenpassen
01Repositoryvollständiger Quellstand
02AbhängigkeitenSDKs, Pakete, Bibliotheken
03Buildwiederholbar und dokumentiert
04TestFunktion und Datenfluss
05Deploymenteindeutige Zielversion
Nach der Übernahme führen wir Quellcode und technische Artefakte Git-basiert in einer DevOps-Umgebung. Unsere Weiterentwicklungen liefern wir grundsätzlich vollständig im Sourcecode aus. Versionshistorie, Reviews und reproduzierbare Bereitstellung sind für uns kein Zusatz, sondern ein Qualitätsmerkmal.
Eine Lösung kann über viele Ebenen verteilt sein
Wer nur die sichtbare Maske betrachtet, versteht häufig nur einen Teil des Prozesses. Fachlogik kann gleichzeitig in AppDesigner, .NET, SQL und Hintergrunddiensten liegen.
01 · OberflächeAppDesignerDialoge, Auskünfte, Makros und Geschäftsprozesse
02 · Code.NET, DLLs & AssembliesFachlogik, Sage-Aufrufe und externe Bibliotheken
03 · DatenSQL ServerTabellen, Views, Procedures, Functions und Trigger
04 · ZeitSQL-Agent & Scheduled TasksAufbereitung, Import, Export und Bereinigung
05 · HintergrundWindows-Dienste & WorkerAutomatisierung, Middleware, Konfiguration und Logs
06 · UmgebungAPIs & FremdsystemeCRM, DMS, Webshop, BI, Field Service und Fachanwendungen
Ein Dienst mit Status „Wird ausgeführt“ beweist noch nicht, dass sein Geschäftsprozess funktioniert. Ebenso kann ein unscheinbarer Trigger oder SQL-Agent-Job beim Serverumzug entscheidend sein. Deshalb inventarisieren wir die Gesamtlösung, nicht nur ihre sichtbaren Dateien.
SchnittstelleDatenfluss und OwnershipFührendes System, Mapping, externe IDs, Authentifizierung und sichere Wiederholung verstehen.DiagnoseLogging und MonitoringVorgangskennungen, Fehlerkontext, Aufbewahrung und fehlende Übertragungen sichtbar machen.BetriebKonten und KonfigurationServiceaccounts, Zertifikate, Connection Strings, Freigaben und feste Pfade prüfen.PerformanceCode und SQL gemeinsam messenDatenmengen, Blocking, Pläne, I/O, Reports und Hintergrundläufe zusammen betrachten.
Alt ist nicht automatisch schlecht. Eine alte, stabile und dokumentierte Komponente kann weniger riskant sein als ein neuer, unbekannter Trigger auf einer zentralen Tabelle. Wir bewerten deshalb Wirkung und Geschäftskritikalität – nicht das Baujahr allein.
AkutFunktionaler FehlerEin Prozess funktioniert heute nicht oder liefert ein falsches Ergebnis.RisikoFragile BetriebsbasisDie Lösung läuft, ist aber schlecht diagnostizierbar, nicht reproduzierbar oder unsicher konfiguriert.ZukunftModernisierungsbedarfEine Komponente erschwert Updates, Erweiterungen oder den sicheren Betrieb.PlanbarKomfortverbesserungEine Optimierung wäre sinnvoll, ist aber weder kritisch noch zeitnah erforderlich.
PriorisierungAuswirkung × Eintrittswahrscheinlichkeit × GeschäftskritikalitätDiese Einordnung verhindert Aktionismus und lenkt Budget zuerst auf die wirklich relevanten Risiken.
Behalten, weiterentwickeln, refaktorieren oder ersetzen?
Die technische Analyse endet mit einer nachvollziehbaren Strategie. Ein Rewrite ist dabei nicht der Standardweg.
01BehaltenDie Lösung erfüllt ihren Zweck, ist nachvollziehbar und benötigt aktuell keine wesentliche Änderung.02WeiterentwickelnArchitektur und Datenmodell sind tragfähig; neue Anforderungen können kontrolliert darauf aufbauen.03RefaktorierenFunktional richtig, technisch punktuell verbessern – etwa Logging, SQL, Konfiguration oder Deployment.04ErsetzenNur wenn die vorhandene Basis technisch oder wirtschaftlich nicht verantwortbar weitergeführt werden kann.
Eine Teilmodernisierung schützt funktionierende Bestandteile und reduziert Projektrisiko. Vor allem bei älteren Office-Line-, Access- oder VBA-Lösungen prüfen wir außerdem, welche Funktionen heute überhaupt noch gebraucht oder bereits durch Sage-Standard ersetzt werden.
Der technische Name einer DLL erklärt selten ihre tatsächliche Bedeutung. Erst der Geschäftsprozess zeigt, welches Risiko ein Ausfall besitzt.
01Webshop-Auftrag
02Kunde & Preis
03Sage-Auftrag
04Zahlstatus
05Versandfreigabe
06Rückmeldung
Bei großen Altlandschaften nehmen wir zuerst umsatzkritische Abläufe, tägliche Automatisierungen, externe Schnittstellen sowie beleg- und buchungsrelevante Prozesse auf. Selten genutzte Komfortfunktionen folgen später – oder entfallen bewusst.
So läuft die technische Übernahme ab
01AusgangslageAnlass, Probleme und nächste Projekte
02Materialien sichernCode, Pakete, DLLs und Dokumentation
03Produktion inventarisierenKomponente, Ort und Version
04AbhängigkeitenTechnisches Gesamtbild aufbauen
05Build & TestReproduzierbarkeit herstellen
06Risiken bewertenKritisch von nur unschön trennen
07Strategie festlegenErhalten, verbessern oder ersetzen
SystembildKomponenten und AbhängigkeitenAppDesigner, DLLs, Dienste, SQL, Jobs, Schnittstellen und Fremdsysteme nachvollziehbar zusammenführen.ArbeitsbasisQuellcode- und BuildbewertungVollständigkeit, Version, Abhängigkeiten, Reproduzierbarkeit und Testfähigkeit einordnen.RisikobildBetrieb, Updates und PerformanceDiagnosefähigkeit, technische Schulden und erkennbare Blocker priorisieren.RoadmapDer wirtschaftlich beste nächste SchrittBehalten, weiterentwickeln, refaktorieren, teilmodernisieren oder kontrolliert ersetzen.
Warum Appontes?
Sage & BWLProzesse hinter dem Code verstehenWarenwirtschaft, Rechnungswesen, xRM und Schnittstellen fachlich einordnen.EntwicklungAppDesigner, .NET und SQL aus einer HandVerteilte Logik über mehrere technische Ebenen hinweg analysieren und weiterentwickeln.DiagnosePerformance und Betrieb mitdenkenCode, Ausführungspläne, Blocking, I/O, Dienste und Datenmengen gemeinsam untersuchen.GrundhaltungKein „Rewrite by default“Investiertes Prozesswissen schützen und nur mit belastbarer Begründung ersetzen.
Aus einer unbekannten Anpassung wird wieder ein betreubares Produkt
01TransparenzSie wissen, welche Komponenten produktiv arbeiten und welche Prozesse davon abhängen.02SupportfähigkeitVersion, Betrieb, Logs, Quellcode und Deployment sind nachvollziehbar.03PlanbarkeitUpdates und neue Funktionen bauen auf einer bewerteten technischen Basis auf.
Kann Appontes eine fremde Sage-100-Individualentwicklung übernehmen?
+
Grundsätzlich ja, sofern die notwendigen technischen Voraussetzungen und Nutzungsrechte vorhanden sind. Wir beginnen mit einer Bestandsaufnahme und prüfen Komponenten, Quelltexte, Buildfähigkeit, Datenmodell und Abhängigkeiten.
Was passiert, wenn der ursprüngliche Entwickler nicht mehr erreichbar ist?
+
Wir rekonstruieren die Lösung aus den verfügbaren Informationen: installierte Komponenten, Quellcode, AppDesigner-Pakete, Datenbankobjekte, Dienste, Logs und Prozesswissen der Anwender.
Was passiert, wenn kein Quellcode vorhanden ist?
+
Dann können wir Verhalten, Schnittstellen und technische Umgebung analysieren. Eine Binärdatei lässt sich jedoch nicht automatisch sicher weiterentwickeln. Betroffene Komponenten müssen gegebenenfalls kontrolliert neu implementiert oder ersetzt werden.
Reicht ein vorhandener Quellcodeordner für die Übernahme aus?
+
Nicht unbedingt. Entscheidend ist, ob Projekt, Abhängigkeiten und Konfiguration vollständig sind und ob sich daraus die aktuell produktive Version reproduzierbar erstellen lässt.
Übernimmt Appontes AppDesigner-Lösungen?
+
Ja. Wir analysieren AppDesigner-Metadaten, Datenquellen, Dialoge, Makros, Geschäftsprozesse und Abhängigkeiten zu .NET-Komponenten oder SQL-Objekten.
Können bestehende .NET-DLLs weiterentwickelt werden?
+
Wenn passender Quellcode, erforderliche Abhängigkeiten und Nutzungsrechte vorhanden sind, ist das grundsätzlich möglich. Zuerst prüfen wir Versionsstand, Buildfähigkeit und produktiv eingesetzte Binärdateien.
Prüft Appontes auch SQL-Objekte?
+
Ja. Eigene Tabellen, Views, Stored Procedures, Functions, Trigger und SQL-Agent-Jobs können wesentliche Teile der Geschäftslogik enthalten und gehören zur technischen Analyse.
Können bestehende Schnittstellen übernommen werden?
+
Ja. Wir analysieren Datenfluss, führende Systeme, Mapping, externe IDs, Authentifizierung, Wiederholbarkeit, Fehlerbehandlung, Logging und Monitoring.
Muss die bestehende Lösung neu entwickelt werden?
+
Nein. Eine Neuentwicklung ist nur eine mögliche Strategie. Wenn die vorhandene Basis tragfähig ist, bevorzugen wir Erhalt, gezielte Weiterentwicklung oder Teilmodernisierung.
Kann Appontes eine langsame Bestandsentwicklung optimieren?
+
Ja. Wir betrachten Anwendungscode, SQL-Abfragen, Datenmengen, Ausführungspläne und die SQL-Server-Umgebung gemeinsam, um den tatsächlichen Engpass zu finden.
Können ältere Office-Line-, Access- oder VBA-Anpassungen übernommen werden?
+
Sie können technisch und fachlich aufgenommen werden. Danach entscheiden wir, ob Weiterbetrieb, Teilmodernisierung, Überführung in AppDesigner oder .NET oder ein kontrollierter Ersatz sinnvoll ist.
Ist eine Übernahme vor einem Sage-Update sinnvoll?
+
Ja. Vor einem Versionswechsel wird sichtbar, welche individuellen Komponenten, Datenbankobjekte, Dienste und Schnittstellen getestet oder angepasst werden müssen.
Arbeitet Appontes mit einem Testsystem?
+
Bei relevanten Änderungen und komplexen Lösungen ist eine geeignete Testumgebung ein zentraler Bestandteil des kontrollierten Vorgehens. Das Produktivsystem ist kein Entwicklungssystem.
Kann Appontes nur die Entwicklung übernehmen, während unser Sage-Partner bleibt?
+
Grundsätzlich ja. Bei klarer technischer und organisatorischer Aufgabenverteilung können wir gezielt als Entwicklungspartner ergänzen.
Ja. Wir arbeiten als Sparringspartner für Sage-Architektur, AppDesigner, .NET, SQL, APIs, Debugging, Performance und Updatefragen.
Kann eine unbekannte Lösung zunächst nur bewertet werden?
+
Ja. Genau dafür dient der Development Takeover Check. Auf seiner Grundlage entscheiden Sie anschließend, ob und in welchem Umfang eine technische Übernahme erfolgen soll.
Was ist der Unterschied zum Sage 100 Health Check?
+
Der Development Takeover Check fokussiert eine konkrete Individualentwicklung oder Entwicklungslandschaft. Der Health Check betrachtet die gesamte Sage-100-Umgebung einschließlich Betrieb, Backup, Infrastruktur und Updatefähigkeit.
Was ist der beste erste Schritt?
+
Beschreiben Sie die betroffene Anpassung, ihre geschäftliche Aufgabe und die vorhandenen Unterlagen. Danach legen wir den sinnvollen Umfang der technischen Bestandsaufnahme fest.
Der erste Schritt ist Transparenz
Ist Ihre Bestandsentwicklung verantwortbar übernahmefähig?
Schildern Sie uns die betroffene Lösung und die vorhandenen Unterlagen. Wir klären, welcher Prüfrahmen sinnvoll ist – bevor Änderungen am Produktivsystem beginnen.