Die Geschäftslogik stellt den funktionalen Kern einer Anwendung dar. Implementiert wird diese auf der Basis des Fachkonzeptes. Spezifische Algorithmen – oft mathematischer Natur – sind zu programmieren. Viel Aufwand kann gespart werden, wenn man dabei auf implementierte Features einer Bibliothek zurückgreifen kann. Dieser Blogbeitrag zeigt am Beispiel von finanzmathematischen Berechnungen, welche leistungsfähigen Funktionen direkt in Delphi verfügbar sind und wie man diese einsetzen kann. Die Time-to-Market für viele Anwendungen kann damit merklich verkürzt werden.
Die Programmarchitektur definieren, die Benutzeroberfläche gestalten und die Datenbank anbinden, das sind die typischen Aufgaben von Entwicklern und Designern. Den Kern einer Software bildet jedoch die Businesslogik, welche für die Funktionsweise der Anwendung verantwortlich ist und die Geschäftsregeln und -prozesse realisiert, so dass die Software die funktionalen Anforderungen des Unternehmens erfüllt. In einer typischerweise mehrschichtig aufgebauten Applikation gestaltet sich das Zusammenspiel der einzelnen Schichten gemäß Abbildung 1.
Starten wir mit ein wenig Theorie. Der Business Layer umfasst typischerweise die folgenden Aufgaben:
- Implementierung der Geschäftslogik: Das ist der Quellcode, welcher die spezifischen Geschäftsregeln und -prozesse umsetzt. Das können Berechnungen, Datenvalidierung, komplexe Algorithmen oder andere logische Abläufe sein, die für das Funktionieren der Unternehmenssoftware wesentlich sind.
- Datenverarbeitung und -manipulation: Es betrifft die Verarbeitung und Manipulation der Daten gemäß den Geschäftsregeln. Im Business Layer werden Daten aus verschiedenen Quellen kombiniert, aggregiert, transformiert und validiert, um die erforderlichen Informationen für die Anwendung bereitzustellen.
- Sicherheitsüberprüfung: Hier können Sicherheitsmaßnahmen implementiert werden, um sicherzustellen, dass nur autorisierte Benutzer auf bestimmte Funktionen oder Daten zugreifen können. Dazu gehören zum Beispiel auch Authentifizierungs- und Autorisierungsmechanismen.
- Transaktionsmanagement: Der Business Layer kann Transaktionen verwalten, um die Konsistenz und Integrität von Daten zu garantieren.
- Schnittstellenbereitstellung: Es werden Schnittstellen zur Verfügung gestellt, über welche andere Schichten der Anwendung, beispielsweise die Präsentationsschicht oder die Datenzugriffsschicht, mit der Geschäftslogik interagieren können. Diese Schnittstellen können in Form von APIs implementiert werden, die es anderen Komponenten ermöglichen, die Funktionalitäten des Business Layers zu nutzen.
Zusammenfassend lässt sich sagen, dass der Business Layer in einer Software die zentrale Komponente ist, welche die Geschäftslogik implementiert und sicherstellt, dass die Anwendung die spezifischen Anforderungen und Regeln des Unternehmens erfüllt. In diesem Blogbeitrag geht es um die Implementierung der Geschäftslogik.
Die Geschäftslogik
Die Geschäftslogik einer Software umfasst die spezifischen Regeln, Prozesse und Abläufe, die für ein bestimmtes Unternehmen oder eine bestimmte Domäne relevant sind. Sie definiert, wie die Software mit den Daten umgeht, wie Berechnungen durchgeführt werden und wie die Anwendung insgesamt funktioniert, um die geschäftlichen Anforderungen zu erfüllen. Die Geschäftslogik ist eng mit den Zielen und Anforderungen des Unternehmens verbunden und ist von Branche zu Branche und von Unternehmen zu Unternehmen unterschiedlich. Hier sind einige Beispiele für die Geschäftslogik in verschiedenen Anwendungen:
- E-Commerce: Die Geschäftslogik einer E-Commerce-Software umfasst Prozesse wie Produktsuche, Warenkorbverwaltung, Bestellabwicklung, Zahlungsabwicklung, Inventarverwaltung und Versandberechnungen.
- Bankensoftware: In einer Bankensoftware umfasst die Geschäftslogik Funktionen wie Kontoeröffnung, Überweisungen, Kreditvergabe, Zinsberechnungen, Transaktionsverarbeitung und Compliance-Regeln für finanzielle Transaktionen.
- Krankenhausinformationssystem: Die Geschäftslogik in einem Krankenhausinformationssystem umfasst Funktionen wie Patientenverwaltung, Terminplanung, medizinische Aufzeichnungen, Labortestverwaltung, Abrechnung und Zugriffssteuerung für vertrauliche Patientendaten.
- Projektmanagement-Software: In einer Projektmanagement-Software umfasst die Geschäftslogik Funktionen wie Aufgabenverwaltung, Ressourcenplanung, Zeiterfassung, Budgetverwaltung, Berichterstattung und Teamkommunikation.
- Reisebuchungssoftware: Zur Geschäftslogik einer Reisebuchungssoftware gehören Funktionen wie Flug- und Hotelbuchungen, Preisvergleiche, Buchungsbestätigungen, Zahlungsabwicklung, Reiseplanung und Stornierungsrichtlinien.
Die Geschäftslogik wird im Business Layer der Software implementiert und von anderen Komponenten der Anwendung genutzt, um die gewünschten Funktionalitäten bereitzustellen.
Von der Anforderung bis zur Implementierung
Die Softwareentwicklung startet üblicherweise mit einer umfassenden Anforderungsanalyse. Hier werden die Bedürfnisse, Anforderungen und Ziele der Benutzer und des Unternehmens erfasst. Es werden Interviews, Workshops oder andere Techniken eingesetzt, um Informationen zu sammeln und Anforderungen zu identifizieren. Die Anforderungsanalyse konzentriert sich auf die Erstellung einer umfassenden Liste von Funktionen, Daten und Interaktionsmöglichkeiten, die in der Software vorhanden sein sollen.
Das Fachkonzept baut auf der Anforderungsanalyse auf und übersetzt die erfassten Anforderungen in eine detailliertere fachliche Beschreibung. Es vertieft das Verständnis der Domäne und definiert die Funktionalitäten, Prozesse und Regeln, die in der Software umgesetzt werden müssen. Das Fachkonzept beinhaltet eine strukturierte Darstellung der spezifischen Funktionalitäten, Datenmodelle, Abläufe und anderen fachlichen Aspekte. Das Fachkonzept geht also über die reine Erfassung der Anforderungen hinaus, indem es die Anforderungen in ein fachliches Modell überführt und die Logik und Struktur der Software festlegt. Es bietet eine detailliertere Beschreibung der Funktionen und Prozesse und hilft den Entwicklern, ein klares Verständnis für die Umsetzung der Software zu entwickeln.
Das Fachkonzept kann während des Softwareentwicklungsprozesses iterative Aktualisierungen erfahren, um sicherzustellen, dass es die Anforderungen angemessen abdeckt. Es dient als Grundlage für das Design, die Implementierung und das Testen der Software, während die Anforderungsanalyse den initialen Ausgangspunkt liefert.
Es ist wichtig zu beachten, dass das Fachkonzept und die Anforderungsanalyse ein gemeinsames Verständnis zwischen den Stakeholdern, Fachexperten und Entwicklern schaffen sollen, um sicherzustellen, dass die Software die gewünschten Anforderungen erfüllt und effektiv in der spezifischen Domäne eingesetzt werden kann.
Das Fachkonzept
Beispielhaft werden mögliche Bestandteile eines Fachkonzeptes für eine Software zur Investitionsberechnung betrachtet. Es könnte die Bestandteile gemäß Tabelle 1 umfassen.
Bereich | Erläuterung | |
Zielsetzung | Beschreibt das übergeordnete Ziel der Software zur Investitionsberechnung, beispielsweise die Unterstützung einer Bank bei der effizienten und genauen Berechnung von Investitionsprojekten nach bestimmten Bewertungsmethoden. | |
Funktionalitäten | Listet die spezifischen Funktionen auf, welche die Software bereitstellen soll. | |
Erfassung von Investitionsprojekten | Benutzer können die relevanten Informationen für ein Investitionsprojekt eingeben, wie Investitionssumme, Laufzeit, Zinssatz, geschätzte Ein- und Auszahlungen in der Zukunft usw. | |
Investitionsberechnung | Die Software berechnet den Kapitalwert der Investition unter der Vorgabe verschiedener Rahmendaten, wie beispielsweise mögliche Zinssätze. Ebenso wird der interne Zinssatz eines Projektes kalkuliert und liefert damit einen Hinweis auf die mögliche Verzinsung des Vorhabens. | |
Flexibilitätsoptionen | Die Software stellt alternative Methoden zur Bewertung eines Investitionsprojekts, beispielsweise Kosten- oder Gewinnvergleichsrechnung zur Verfügung. | |
Berichterstattung und Dokumentation | Die Software kann Berichte generieren, die Investitionsprojekte, Konditionen und andere relevante Daten zusammenfassen. Außerdem kann sie die Dokumentation für ein konkretes Projekt generieren. | |
Datenmodell | Beschreibt das Datenmodell, das die relevanten Informationen für die Investitionsberechnung enthält. Dazu gehören beispielsweise Informationen über Antragsteller, Investitionssumme, geschätzte Zahlungspläne, Zinssätze usw. | |
Geschäftsregeln | Definiert die Geschäftsregeln, die bei der Investitionsberechnung angewendet werden sollen. Dies kann beispielsweise Regeln zur Zinssatzberechnung, zur Laufzeitbestimmung usw. umfassen. | |
Schnittstellen | Identifiziert die Schnittstellen, über die die Software mit anderen Systemen oder Komponenten kommunizieren soll. Dies kann beispielsweise die Integration mit einem externen Bonitätsprüfungssystem oder die Anbindung an ein Bankensystem zur Buchhaltung und Kontoverwaltung umfassen. | |
Nicht-funktionale Anforderungen | Berücksichtigt auch nicht-funktionale Anforderungen wie Sicherheit, Skalierbarkeit, Benutzerfreundlichkeit, Leistung und andere relevante Aspekte. |
Tabelle 1: Bestandteile eines beispielhaften Fachkonzeptes für eine Software zur Investitionsbewertung.
In diesem Blogbeitrag sehen wir uns beispielhaft die Implementierung eines Ausschnittes aus dem Fachkonzept für eine Anwendungen aus dem Bereich des Finanz- und Kreditwesens an.
Geschäfts- und Finanzroutinen in Delphi
Delphi bietet eine Reihe von Routinen, um typische Anforderungen aus dem Bereich von Geschäfts- und Finanzapplikationen zu realisieren. Die Nutzung dieser Methoden aus der Delphi-Laufzeitbibliothek erspart viel Aufwand. Die Alternativen wären eine eigene Implementierung oder die Nutzung von externen Bibliotheken. Eine eigene Implementierung verursacht nicht nur einen großen Aufwand, sondern auch tiefergehende Kenntnisse der zugrunde liegenden Materie (Spezialwissen, Domänenkenntnisse). Bevor man den Aufwand der Eigenentwicklung auf sich nimmt, ist es ratsam nach vorhandenen und erprobten Bibliotheken von Drittanbietern zu suchen. Am Ende des Blogs kommen wir mit einigen Hinweisen auf das Thema externe Bibliotheken zurück. Im nachfolgend dargestellten Beispiel geht es um typische und häufig eingesetzte finanzmathematische Berechnungen. Delphi bietet über die Unit Math eine Reihe von nützlichen Geschäfts- und Finanzroutinen (Abbildung 2).
Nachfolgend betrachten wir Auszüge aus einem Fachkonzept (Beispiel) und sehen uns die Implementierung in der Programmiersprache Delphi an.
Fachkonzept: Bewertung von Investitionsprojekten (Beispiel)
Es geht um die Bewertung von Investitionen. Dazu erläutern wir zunächst den fachlichen Hintergrund. Bei der Investitionsrechnung wird die Beurteilung eines Projektes zunächst auf die finanzielle Bewertung verkürzt. Zur Verdeutlichung dient folgendes Beispiel:
Angenommen, Sie erwägen, in ein neues Projekt zu investieren, das voraussichtlich über einen Zeitraum von vier Jahren eine Reihe von Zahlungen generieren wird. Die prognostizierten Zahlungsströme (Einzahlungen ./. Auszahlungen) lauten wie folgt:
Jahr | 0 | 1 | 2 | 3 |
Überschuss/ Fehlbetrag in €
(et-at) |
-20.000 | 4.000 | 14.000 | 15.000 |
Hinweis | Investitionssumme (I0) | jeweils Ein- und Ausgaben saldiert |
Tabelle 2: Beispiel für ein Investitionsprojekt (prognostizierte Ein- und Auszahlungen).
Gängige Methoden zur Bewertung von Investitionen aus finanzmathematischer Sicht sind beispielsweise die Kapitalwertmethode und die Berechnung des internen Zinssatzes. Diese Methoden gehören zu den dynamischen Investitionsrechenverfahren, die ihren Ursprung in der kapitalmarktorientierten Finanzierungs- und Investitionstheorie haben. Sie orientieren sich an den durch ein Investitionsprojekt generierten Ein- und Auszahlungen und berücksichtigen die gesamte Investitionslaufzeit. Dynamische Investitionsrechenverfahren, d.h. die Kapitalwertmethode und die interne Zinsfußmethode, sind heute die in der Praxis am häufigsten genutzten Verfahren zur rechnerischen Fundierung von Investitionsentscheidungen.
Der Kapitalwert berechnet sich allgemein wie folgt:
Dabei bedeuten:
I0: Die Auszahlung zu Beginn (Investitionssumme)
et: Die Einzahlung der aktuellen Periode
at: Die Auszahlung der aktuellen Periode
i: Kalkulationszinssatz.
Ist der errechnete Kapitalwert (K) größer als null, dann kann davon ausgegangen werden, dass sich das Vorhaben aus finanzieller Sicht lohnt. Ansonsten sollte das Vorhaben unter finanziellen Aspekten nicht durchgeführt werden.
Wendet man diese Rechenvorschrift auf das Beispiel an, ergeben sich je nach Kalkulationszinssatz (i) unterschiedliche Werte für den Kapitalwert (Tabelle 2).
Zinssatz (i) | K | Beurteilung |
3 | 1.655,55 | lohnend, da positiv |
6 | 431,63 | lohnend, da positiv |
9 | -685,84 | nicht lohnend, da negativ |
Tabelle 3: Kapitalwerte für die Beispiel-Investition.
Wir können den Sachverhalt mit Hilfe der Kapitalwertfunktion (Abbildung 3) visualisieren. Diese stellt den Kapitalwert in Abhängigkeit des Zinssatzes dar, also K = K (i).
Interessant für die Beurteilung ist derjenige Zinssatz, bei welchen der Kapitalwert der Zahlungsreihe der Investition genau den Wert Null annimmt. Es handelt sich um den internen Zinsfuß bzw. internen Zinssatz der Investition.
Konkret gibt der interne Zinsfuß (Internal Rate of Return, IRR) einer Investition die Rentabilität eines Projekts bzw. der Investition an. Es ist der Zinssatz, bei dem der Barwert der zukünftigen Zahlungsströme einer Investition gleich den ursprünglichen Investitionskosten ist. Mit anderen Worten, der interne Zinsfuß ist der Zinssatz, der den Nettobarwert einer Investition auf null bringt. Der interne Zinsfuß wird häufig verwendet, um die Rentabilität eines Projekts zu bewerten. Wenn der interne Zinsfuß einer Investition den Mindestrenditeanforderungen entspricht oder übersteigt, wird das Projekt als akzeptabel angesehen. Andernfalls wird es wahrscheinlich abgelehnt. Um den internen Zinsfuß zu berechnen, müssen die erwarteten Zahlungsströme einer Investition, sowohl Einzahlungen als auch Auszahlungen, über einen bestimmten Zeitraum bekannt sein. Anschließend wird der Zinssatz ermittelt, der den Barwert dieser Zahlungsströme auf null reduziert.
Dieser Wert wird normalerweise durch Ausprobieren verschiedener Zinssätze oder durch Verwendung von Finanzsoftware ermittelt. Ab einer Laufzeit von mehr als zwei bis drei Perioden für das Vorhaben ist dieser Wert manuell nicht mehr zu bestimmen. Man benötigt Näherungsverfahren oder Rechentechnik. Der kommende Abschnitt beschreibt, wie man in Delphi den internen Zinssatz sehr schnell ermittelt kann. Es existiert dazu eine fertig implementierte Funktion, d.h. man muss den Algorithmus zur Bestimmung des internen Zinssatzes nicht eigenständig implementieren.
Mit Delphi schnell zum Ziel
Aus der Übersicht der Geschäfts- und Finanzroutinen (Abbildung 2) in Delphi eignet sich für dieses Beispiel die Funktion InternalRateOfReturn(…) aus der Unit Math. Diese ist gemäß der Syntax von Delphi wie folgt definiert:
function InternalRateOfReturn(const Guess: Extended; const CashFlows: array of Double): Extended
Die Beschreibung der Funktion lautet gemäß der Dokumentation: Die Funktion berechnet den internen Zinsfuß einer Investition. Die Parameter haben folgende Bedeutung:
- InternalRateOfReturn gibt den internen Zinsfuß einer Investition zurück.
- Guess: Schätzwert für den internen Zinsfuß. Dieser ist notwendig, da die Methode intern mit einem Näherungsverfahren arbeitet und sich schrittweise an den Zielwert nähern muss.
- CashFlows: Array mit den für einen bestimmten Zeitraum erwarteten Ein- und Auszahlungen Dabei wird davon ausgegangen, dass die Beträge in regelmäßigen Zeiträumen bewegt werden. Negative Beträge werden als Zahlungsausgänge und positive Werte als Zahlungseingänge interpretiert. Der erste Betrag im Array muss als Anfangsinvestition ein negativer Wert sein. Für die restlichen Beträge gilt keine Einschränkung. Sie können beispielsweise für jede Periode identisch oder eine beliebige Kombination negativer und positiver Werte (oder Nullwerte) sein.
Durch Aufruf dieser Funktion kann der interne Zinssatz einer beliebigen Zahlungsreihe, d.h. einer Investition, bestimmt werden. Konkret sieht die Anwendung dieser Funktion wie folgt aus:
i0 := InternalRateOfReturn(i1, ueberschuss[k – 1])
Wir übergeben einen Ausgangswert für die Bestimmung des internen Zinssatzes. Dieser Wert wird in der Variable i1 gespeichert. Ebenso übergeben wir ein Array mit den Werten der Zahlungsreihe. Dieses Array hat die Bezeichnung ueberschuss und beinhaltet die Ein- und Auszahlungen für den betrachteten Zeitraum. Das Ergebnis dieser Berechnungen ist ein Wert für den internen Zinssatz. Intern verwendet Delphi ein Näherungsverfahren, um diesen Wert zu bestimmen, zum Beispiel mittels des Newton-Verfahrens.
Test-Applikation
Hierzu erstellen wir eine VCL-Applikation (Windows). Eine FireMonkey-Anwendung (Cross-Plattform) wäre auch möglich. Die Oberfläche gestalten wir gemäß Abbildung 4, d.h. wir haben Dateneingabemöglichkeiten für die Anzahl von Projekten (für den Vergleich mehrerer Projekte), die Laufzeit der Investitionsvorhaben und für drei alternative Kalkulationszinssätze.
In einem StringGrid werden sowohl die Zahlungseingänge als auch die Zahlungsausgänge zur Laufzeit erfasst. Die Dimensionen des StringGrids werden zur Laufzeit der Anwendung dynamisch an die Anzahl der Projekte (Zahl der Zeilen) und der Laufzeit (Zahl der Spalten) angepasst. Mit Klick auf den Button Berechnen werden die Kapitalwerte der Investitionsprojekte für die vorgegebenen Zinssätze und der interne Zinssatz für jedes Projekt bestimmt. Ein Beispiel zeigt Abbildung 5.
Das Projekt mit der Zahlungsreihe (-20.000 €; 4.000 €; 14.000 €; 5.000 €) weist einen internen Zinssatz (Rendite) von 7,13% auf.
Den Quellcode zum Projekt finden Sie hier.
Mit externen Bibliotheken aushelfen
Gibt es in den Basisbibliotheken keine entsprechenden Routinen für die jeweilige Problemstellung, dann kann man die Verfügbarkeit einer externen Bibliothek prüfen. Aus dem Bereich Mathematik und Statistik gibt es beispielsweise folgende Bibliotheken, welche direkt in Delphi eingebunden werden können:
- TMS Analytics & Physics Pack, https://www.tmssoftware.com/site/tmsanalytics.asp: TMS Analytics & Physics Pack ist eine Delphi-Bibliothek für Entwickler, die spezielle Klassen für die Arbeit mit analytischen Ausdrücken in Delphi-Programmen enthält, d.h. Ausdrücke analysieren, Ausdruckswerte mit mehreren Parametern berechnen, ausdrucksbasierte Ableitungen und Integrationsberechnungen usw. Darüber hinaus bietet es die Berechnung von Näherungsfunktionen sowie die Lösung von Differentialgleichungen und nichtlinearen Gleichungen. Das TMS Analytics & Physics Pack ermöglicht die Verwendung verschiedener physikalischer Konzepte, wie physikalische Größen, Maßeinheiten usw.
- Stats Master for Delphi/ C++ Builder, https://www.dewresearch.com/products/stats-master/stats-master-for-delphi-c-builder: Stats Master führt grundlegende und fortgeschrittenere Routinen für die statistische Analyse ein. Dieses Paket enthält etwa 300 verschiedene Routinen und mehrere Komponenten. Das Paket wird ohne zusätzliche DLLs erstellt und der vollständige Quellcode ist verfügbar.
- NumLib, https://wiki.freepascal.org/NumLib_Documentation: Die bereits ältere Bibliothek ist Bestandteil von Free Pascal und kann auch in Delphi genutzt werden. Es handelt sich um eine Sammlung von Routinen für die numerische Mathematik.
Ist die Bibliothek in einer anderen Programmiersprache verfügbar und liegt diese als dynamisch zu bindende Library, zum Beispiel in Form einer dll-Datei für Windows vor, dann kann man diese auch in Delphi-Programmen nutzen. Hier zeigt sich der Vorteil, dass Delphi direkt ausführbare Programme für die Zielplattformen generiert und damit keine Einschränkungen bei der Systemintegration aufweist.
Nutzung des Python-Universums
Unzählige Bibliotheken aus den Bereichen Mathematik, Statistik, Datenauswertung und KI werden als Python-Bibliotheken angeboten, beispielsweise:
- TensorFlow, https://www.tensorflow.org/: Es ist ein beliebtes Open Source Deep Learning-Framework für numerische Berechnungen. Die Bibliothek wird auch für maschinelles Lernen verwendet. TensorFlow wurde von den Forschern des Google Brain-Teams innerhalb der Google AI-Organisation entwickelt und wird heute von vielen Wissenschaftlern eingesetzt.
- scikit-learn, https://scikit-learn.org/: Es handelt sich um eine Bibliothek für maschinelles Lernen. Sie kann für eine Vielzahl von Anwendungen verwendet werden, darunter Klassifizierung, Regression, Clustering und Modellauswahl.
- Matplotlib, https://matplotlib.org/: Diese Open Source-Bibliothek wird häufig für die Visualisierung mit Hilfe von Diagrammen verwendet. Mit nur wenigen Codezeilen können Grafiken, Tortendiagramme, Streudiagramme, Histogramme usw. erstellt werden.
- SymPy, https://www.sympy.org/: Diese Python-Bibliothek bietet umfassende Methoden für symbolische Berechnungen und kann im Sinne eines Computer Algebra-Systems genutzt werden. Symbolisches Rechnen ermöglicht das Lösen von Gleichungen, zum Beispiel die Auflösung nach einer bestimmten Variablen. Dabei wird eine exakte Lösung ermittelt und nicht nur ein numerischer Näherungswert bestimmt. Symbolisches Rechnen gilt mit Blick auf den Einsatz am Computer als deutlich komplexer als die Verwendung von Näherungsverfahren. Derartige Algorithmen selbst zu entwickeln ist sehr anspruchsvoll.
- Chainer, https://chainer.org/: Es ist eine Bibliothek, um Deep Learning-Modelle zu erstellen. Die drei Hauptschwerpunkte sind: Transportsysteme (autonomes Fahren), Fertigungsindustrie (Objekterkennung, Optimierung, Robotik) und Gesundheitsvorsorge (Bildanalyse).
Um Python und Delphi gemeinsam in einem Softwareprojekt zu verwenden, d.h. aus einem Delphi-Programm die Python-Bibliotheken anzusprechen, kann man mit auf die Bibliotheken DelphiVCLPython und DelphiFMXPython zurückgreifen. Beispielsweise kann man dann ein Python-Skript aus einer Delphi-Applikation starten und dabei die Daten an die Python-Bibliotheken übergeben und die berechneten Ergebnisse empfangen. Informationen zur Interaktion zwischen beiden Programmiersprachen finden sich unter https://www.embarcadero.com/new-tools/python/delphi-4-python und https://blogs.embarcadero.com/top-10-how-tos-delphi-python/
Zusammenfassung und Fazit
Die Geschäftslogik einer Business-Applikation zu erstellen, ist oft aufwändig und erfordert meist ein hohes Maß an Fach- und Domänenwissen. Der Einsatz von Routinen aus den Standard-Bibliotheken kann in vielen Fällen unmittelbar zur Lösung führen. Wir haben es am Beispiel einer finanzmathematischen Berechnung demonstriert. Komplexere Probleme können ggf. mit Hilfe von externen Bibliotheken gelöst werden. Für Anforderungen im Zusammenhang mit Datenauswertungen, künstlicher Intelligenz usw. kann man auch auf die Interaktion mit Python setzen.