AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Bestehende Software modernisieren / Umstieg

Bestehende Software modernisieren / Umstieg

Ein Thema von 361 · begonnen am 26. Feb 2020 · letzter Beitrag vom 11. Mär 2020
Antwort Antwort
Rolf Frei

Registriert seit: 19. Jun 2006
656 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Bestehende Software modernisieren / Umstieg

  Alt 26. Feb 2020, 17:24
Du solltest dir unbedingt mal das anschauen: https://www.elevatesoft.com/products...y=ewb&type=web

Das ist im Moment glaube ich das Beste, was es am Markt gibt und benötigt keine andere IDE. Eine Delph installation wird also dafür nicht benötigt. Du schreibst deinen Code wie bisher in einer sehr nah an Delphi (Object Pascal) angelehnten Syntax, die dann kompiliert und JS produziert. Das Ganze ist auch leicht erweieterbar mit eigenen Komponenten etc. halt wie man es auch von Delphi gewohnt ist. Die ganzen Delphi-basierten Lösung wie TMS WebCore, sind hier viel unhandlicher zu nutzen und benötigen viel JS-Wissen. Im EWB kann man alles in Object Pascal programmieren.

Das Produkt ist übrigens zu 100% in Delphi geschrieben. Ich nutze seit Jahren deren DB-Systeme DBISAM und ElevateDB, das ich dir eventuell als Ersatz für PostgresSQL an Herz legen kann.

Geändert von Rolf Frei (26. Feb 2020 um 17:29 Uhr)
  Mit Zitat antworten Zitat
361

Registriert seit: 27. Okt 2005
Ort: Berlin und Brandenburg
93 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: Bestehende Software modernisieren / Umstieg

  Alt 27. Feb 2020, 11:46
Hallo zusammen,

und erst einmal jedem einzelnen hier vielen Dank für seine Ausführungen. Ich würde gern noch einmal etwas mehr Input geben, was vielleicht die Situation noch etwas besser darlegt und dann auch noch mal erwähnen, dass noch nichts festgelegt ist oder ich genau weil es ein schwieriges und aufwendiges Thema ist, mich hier erkundige.

Was wollen die Kunden?
- Web-Anwendung, weil sie international viel unterwegs sind und von dort arbeiten müssen; hier ist es teilweise schon schwer, in Asien in manchen Ländern einen Laptop einzuführen
- bessere Entwicklungsgeschwindigkeit
- UI-Skalierungsmöglichkeiten (in Windows sind diese sehr beschränkt, Alphaskins hat hier jedoch für uns schon etwas gebaut, funktioniert jedoch nur 80%)

Der Punkt Web-Anwendung ist also essentiell.

Was haben wir als Produkt?
- Windows Desktop Anwendung
- Client-/Server
- Business Tier Layer mit Code Generator
- DB Layer
- PostgreSQL
- es werden diverse Komponenten verwendet, von DevExpress über DevArt, FastReports, Alphaskins, etc...
- es gibt kein Data Binding, wir füllen Daten per Code in die UI

Was wollen wir?
- bessere Produktivität und statt Programmierung mehr Fokus auf den Inhalt im Bereich UI legen können (wir haben hohe Hürden, UIs zu bauen, z.B. das Füllen von Daten muss programmiert werden/kein Data Binding, ebenso UI-State-Handling, etc)
- Redesign der Oberflächen (cirka 1200 Forms und Frames, ist eher eine Anforderung kundenseitig, hier spielt auch das Thema Skalierung mit rein)
- Dependency Injection und bessere Testmöglichkeiten, was teilweise ein Code-Redesign erfordern würde, weil Methoden teils zu komplex sind

Die Web-Anwendung ist von uns aus keine Anforderung, da sie es jedoch von den Kunden her ist, ist es unumstößlich diese Möglichkeit zu verweigern. Die Desktop-Anwendung ist von keinem Kunden mehr gewünscht. Der Aufwand einer Neuentwicklung ist recht hoch, da wir aber die Software inhaltlich zu 80% so übernehmen können, wie sie jetzt ist, ist im Prinzip die Konzeptphase viel geringer, man weiß genau, wo man hin möchte. Um diesen Aufwand technisch zu verringern, sah ich als Ansatz Low-Code. Hier ist die enge Bindung an den Hersteller jedoch sehr negativ zu bewerten. Also was nun?

Mein Ansatz wäre nun aufgrund der Komplexität der Anforderungen ein Neuanfang. Grundsätzlich bin ich auch gegen sowas, allerdings wenn man - wie Bernhard glaube ich meinte - feststellt, dass sich die Welt draußen vollständig geändert hat, muss man sich die Frage stellen, ob ich den Golf nun in ein Amphibienfahrzeug für eine andere Umgebung umbaue, gleichzeitig noch meine eigenen umfangreichen Baustellen irgendwie abschaffe oder einen Cut mache. Der Support der Bestandsanwendung ist nicht sehr hoch, da wir alle Module soweit entwickelt haben, dass wir immer nur Fehlerkorrekturen machen müssten. Ich freue mich auf Eure Meinungen.
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Bestehende Software modernisieren / Umstieg

  Alt 27. Feb 2020, 15:31
Hallo zusammen,

ich würde von einer kompletten Neuentwicklung abraten!

Stattdessen würde ich folgendes empfehlen:

- Bestehende Desktop Applikation(Delphi) dahingehend erweitern, das jegliche Logik ohne GUI funktioniert(am besten sauber in einzelnen Units gekapselt)

- Eine neue Mittelschicht(Web-Server mit Delphi realisiert) einführen, die jegliche Business-Logik enthält und entsprechende Calls zur Verfügung stellen,
das diverse "Clients" Daten abrufen, schreiben, auswerten etc. können
WENN die Zwischenschicht auch mit Delphi entwickelt wird können, die schon vorhandenen Delphi-Klassen 1:1 weiter genutzt werden !

- Als Online/Web-Client würde ich eine PWA (Progressive Web App)empfehlen.
Hiermit können Browser, aber auch alle mobilen Geräte "bedient" werden, sogar ein Einsatz auf dem Destop PC als WPA wäre möglich
Die WPA kommuniziert via HTTPS mit der Zwischenschicht, als Datenaustausch-Format empfehle ich JSON.

- Falls für mobile Endgeräte "echte" native Clients/Anwendungen benötigt werden, so können diese auch ohne weiteres durch die Verwendung der Mittelschicht umgesetzt werden.

Jegliche Logik befindet sich in der Zwischenschicht und wird auch nur dort gewartet..... Alles an einer Stelle !!
Jegliche "Clients" sind einfach nur "dumme" Anzeige-Tools, die keinerlei Logik enthalten.
Jede "Entscheidung", Berechnung, Verdichtung, .... wird in der Zwischenschicht umgesetzt.

Ich setzte die gleiche Technik genauso schon in einem ERP ähnlichem Projekt ein, mit über 200 Standorten in Europa verteilt + diverse mobile Mitarbeiter.

Gretes DataCool
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
Neumann

Registriert seit: 6. Feb 2006
Ort: Moers
548 Beiträge
 
Delphi 12 Athens
 
#4

AW: Bestehende Software modernisieren / Umstieg

  Alt 27. Feb 2020, 16:33
Ich kann dem Beitrag von Datacool 100% zustimmen.

So werde ich es auch machen.
Ralf
Gruß vom Niederrhein
  Mit Zitat antworten Zitat
361

Registriert seit: 27. Okt 2005
Ort: Berlin und Brandenburg
93 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

AW: Bestehende Software modernisieren / Umstieg

  Alt 10. Mär 2020, 12:35
Hallo noch mal zusammen,

da ich Diskussionen ohne Rückmeldung der Lösung selbst nicht mag, möchte ich für den einen oder anderen, den das Thema auch beschäftigt mal meinen aktuellen letzten Stand wissen lassen. Ich hatte von den Low-Code-Produkten Outsystems am besten gefunden, gerade von der Produktivität her. Aktuell beschäftigen wir uns mit den Lösungen Sencha ExtJS/ExtAngular und IONIC. Das ganze im Backend mit PostgreSQL, Hibernate und REST. Bei Sencha scheint man von der Produktivität her viele Vorteile zu haben, auch wenn es proprietär ist. Die Kundenliste spricht allerdings wieder dafür und auch der Preis.

Vielen Dank noch mal an alle, die hier geantwortet haben.
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#6

AW: Bestehende Software modernisieren / Umstieg

  Alt 10. Mär 2020, 13:15
Ich freunde mich immer mehr mit C# an. Es ist vielseitig - Web, WebAPI, Handy etc.

Was wir mit großen Delphi Projekten machen:

Neuentwicklungen werden wenn möglich immer nur noch mit C# gemacht.

Wenn eine Delphi Anwendung erweitert werden soll, wird das mit C# gemacht.

Es wird dann via COM und SideBySide-Registration eine DLL erzeugt, welche in Delphi mit ImportTLB eingelesen und genutzt wird.

Geht es um neue UI, dann werden die für die VCL Anwendung in WPF gemacht und ebenfalls über COM eingebunden.

Sollen Webservices gebaut werden, wird das mit C# gemacht und via COM die Delphi Geschäftslogik in C# eingebunden.

Teilweise erzeugen wir VUE.js Oberflächen und Backends in C#, welche dann via "Browser" in die Delphi-Anwendung integriert werden.

So kann sehr viel wiederverwendet werden.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#7

AW: Bestehende Software modernisieren / Umstieg

  Alt 10. Mär 2020, 13:26
Zitat:
Was wir mit großen Delphi Projekten machen:

Neuentwicklungen werden wenn möglich immer nur noch mit C# gemacht.
Lass das bitte einen zuständigen Embarcadero-Mitarbeiter lesen. Ob sich vielleicht in 5 Jahren irgendwas an Delphi verbessert? Aber bis dahin schreiben eh alle in C#
Der Trend für Android geht auch immer mehr Richtung JavaScript und andere Frameworks. Der Delphi-way hat kaum begonnen und ist schon quasi weg vom Fenster.

Seien wir mal ehrlich. Delphi hinkt immer hinterher. Erst kürzlich kamen Variablen, die man überall deklarieren konnte. Aber seit jeher schlagen wir uns mit hässlichen Code InSight-Fehlern rum. Entweder bringt man beides aktualisiert raus oder gar nichts. Updates müssten viel schneller kommen.

Geändert von DieDolly (10. Mär 2020 um 13:29 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz