Modernisierung der Delphi-Anwendungsarchitekturen mit 10.3

by Dec 17, 2018

(Aus dem Englischen von Marco Cantu. Original hier)

Delphi wird zum Erstellen einiger der leistungsfähigsten Client-Server-Anwendungen der Welt verwendet. Für Anwendungen aus dem Gesundheitswesen und Versicherungen bis hin zu vielen Technologieunternehmen ist Delphi eine zuverlässige Wahl, insbesondere wenn Kunden leistungsstarke Windows-Clients benötigen. In den frühen 2000er-Jahren konzentrierte man sich massiv auf homogene Architekturen mit Java und .Net, die zu dieser Zeit bei den Entwicklern dramatisch an Popularität gewonnen haben. Viele unserer Kunden zögerten dabei ihre Delphi-Anwendungen auf solche Plattformen zu aktualisieren. Doch einige haben versucht mit enormen Kosten und hohem Risiko die Implementierung auf neue System durchzuführen.

Die Anwendungsentwicklung ist heute heterogener denn je. Java und .NET befinden sich an Scheidepunkt mit einer hohen Unsicherheit hinsichtlich der Zukunft und der Kosten. Selbst große Unternehmen haben akzeptiert, dass manche Technologien nur für einen bestimmten Zweck vorhanden sind. Sogar das beliebte JavaScript hat inzwischen viele Varianten und Frameworks, die alle unterschiedliche Anwendungsfälle haben. Auch der Mangel an qualifizierten Entwicklern hat die Industrie dazu veranlasst, RAD neu zu überdenken.

Mit Delphi hat man ein einzigartiges Werkzeug an der Hand, das aktuell wieder Fahrt aufnimmt da es nach wie vor die effektivste und am einfachsten zu erlernende Sprache für Unternehmensanwendungen ist. Die Gestaltung der Sprache und des Werkzeugs ermöglicht eine Leistung, die mit Java vergleichbar ist und in einigen Fällen sogar besser ist als Java. Es gibt hochwertige Werkzeuge und Frameworks, um die Entwicklung außergewöhnlich schnell und effizient zu gestalten. Mit der Veröffentlichung von RAD Studio 10.3 gab es keinen besseren Zeitpunkt Delphi-Anwendung zu modernisieren.

Was bedeutet die Modernisierung einer Delphi-Anwendung?

Die typische Modernisierung eine Delphi Anwendung ist die Umwandlung von einem Client-Server- in eine Multi-Tier-Architektur. Die traditionelle Delphi-Entwicklung bestand durch eine geringere Trennung zwischen der Geschäftslogik und dem Windows-Client. Eine gut konzipierte, mehrstufige Anwendung erfordert eine strengere Trennung aller Ebenen. Der Prozess der Trennung der Geschäftslogik vom Client ist sehr gut geeignet, um mit Microservices zu arbeiten, die in Multi-Tier-Architekturen zum Standard geworden sind. Dies erfordert einen umfangreichen Planungsprozess und obwohl es dafür helfende Parser gibt, benötigt es einigen Aufwand und Ressourcen. Zu einer ernsthaften Umgestaltung sind natürlich noch weitere Dinge erforderlich.

Entwickler müssen sich mit neuen verwandten Technologien sowohl auf der Serverseite als auch auf dem Client vertraut machen. Delphi-Servertechnologien haben kürzlich mit dem RAD Server und mehreren Open-Source-Frameworks große Fortschritte gemacht. RAD Server ermöglicht die automatisierte Veröffentlichung und Verwaltung von REST / JSON-API mit mehreren zusätzlichen Diensten. Server-Hosting erfordert möglicherweise Kenntnisse in Bezug auf Clouds und möglicherweise neue Plattformen. Linux ist für RAD Server verfügbar und ist sehr kosteneffizient, aber auch für viele Delphi-Entwickler neu. Auf der Clientseite sollten bei der Modernisierung die native FMX-Technologie (FireMonkey) und ein Web-Client berücksichtigt werden. FMX ist ähnlich wie die VCL und bei der Einrichtung in die IDE-Umgebung vergleichbar. Die meisten Delphi-Entwickler erlernen diese Technologie sehr schnell auch wenn dies natürlich etwas Zeit benötigt. Abhängig von den jeweiligen Anwendungsfällen und Sicherheitsanforderungen sollten Kunden InterBase in Betracht ziehen, das heute viele innovative Funktionen enthält, wie z. B. Change Views. Für die Erstellung von Webseiten und der Nutzung im Browser haben Delphi-Entwickler mehrere Optionen. Für größere Anwendungen und Teams ist es wahrscheinlich besser, ein JavaScript Web Framework in Betracht zu ziehen. Wir bieten Ext JS an, das eines der stabilsten Frameworks auf Unternehmensebene ist. Es verfügt über eine hohe Leistung und ist mit etlichen fertigen Komponenten ausgestattet die Delphi-Entwicklern vertraut sind. Es gibt eine flache Lernkurve, die ein normaler JavaScript-Entwickler beherrscht.

Was ist eine Beispielarchitektur?

Die folgende Architektur wurde implementiert, um eine Anwendung mit mehr als 4 Millionen Codezeilen zu modernisieren (Vielen Dank an unseren Partner KER-Soft Kft). Die Kosten des Projekts betrugen 15% gegenüber der alternativen Plattform und das Timing betrug 6 Monate im Vergleich zu 2 Jahren. Die resultierende Delphi-Anwendung hat eine ähnliche Leistung wie die alte Anwendung, verfügt jedoch über mehr Funktionen und eine moderne Benutzeroberfläche. Die Architektur bietet auch einen flexiblen Weg, um neue Funktionen und Anwendungsfälle schneller und mit weniger Abhängigkeiten hinzuzufügen.

Wie fängt man am besten an?

RAD Studio 10.3 Architect Edition ist ein großartiges Paket, das alle Komponenten enthält, die Sie für ein Delphi-Modernisierungsprojekt benötigen. Es verfügt über alle Funktionen von RAD Studio 10.3 Enterprise sowie eine unbegrenzte RAD-Server-Installation, eine Ext JS Professional Edition. Als zusätzlichen Bonus erhalten Sie Aqua Data Studio, um die Entwicklung von InterBase zu vereinfachen, sowie eine Testlizenz von Ranorex für Test Automation.

RAD Studio 10.3 (Rio) bietet eine aktualisierte IDE mit vielen neuen Funktionen. Delphi-Kunden profitieren von Verbesserungen der VCL für High DPI-Displays, einer neuen VCL-High DPI-Image-Liste, Pro Monitor V2-Unterstützung, neuen Windows 10- und WinRT-APIs und vielem mehr. FMX beinhaltet eine aktualisierte Unterstützung für mobile Plattformen, einschließlich Z-Order und native Steuerelemente für Android.

RAD Server erhielt erhebliche Leistungsverbesserungen und erweiterte Unterstützung für Ext JS. RAD Server bietet automatisiertes Veröffentlichen und Verwalten von Delphi- und C++ – REST / JSON-API, Middleware für die Integration von Enterprise-Datenbanken, IoT Edgeware und eine Reihe von Anwendungsdiensten wie Benutzerverzeichnis- und Authentifizierungsdienste, Push-Benachrichtigungen, Geolokalisierung im Innen- und Außenbereich und JSON-Datenspeicher.

Ext JS (von Sencha) bietet alles, was ein Entwickler zum Erstellen datenintensiver, plattformübergreifender Webanwendungen benötigt. Ext JS nutzt HTML5-Funktionen in modernen Browsern und umfasst über 100 vorgefertigte, professionell unterstützte Komponenten, einschließlich der leistungsfähigsten Web Grid-Technologie.

Die InterBase Developer Edition beinhaltet eine kostenlose Bereitstellung für iOS und Android, wodurch sie sich ideal für Embedded-Anwendungen eignet. Unsere zum Patent angemeldete Change-View-Technologie hebt InterBase heute im Vergleich zu SQLite- und Firebird-Alternativen mit einer wesentlich attraktiveren Kostenstruktur hervor.

Aqua Data Studio ist die universelle, datenbankintegrierte Entwicklungsumgebung (IDE) für Datenbankentwickler, Datenbankadministratoren und Analysten. Sie können damit Daten entwickeln, abrufen, verwalten und visuell analysieren. ADS wird die Unterstützung für InterBase weiter erhöhen.