In Computersoftware ist Geschäftslogik oder Domänenlogik der Teil des Programms, der die realen Geschäftsregeln codiert, die bestimmen, wie Daten erstellt, gespeichert und geändert werden können . Dies steht im Gegensatz zum Rest der Software, der sich mit untergeordneten Details der Verwaltung einer Datenbank oder der Anzeige der Benutzeroberfläche, der Systeminfrastruktur oder der allgemeinen Verbindung verschiedener Programmteile befasst.
Details und Beispiel Bearbeiten
Geschäftslogik:
- Gibt an, wie Geschäftsobjekte miteinander interagieren.
- Erzwingt die Routen und Methoden, mit denen auf Geschäftsobjekte zugegriffen und diese aktualisiert werden.
Geschäftsregeln:
- Modellieren realer Geschäftsobjekte (wie Konten, Kredite, Reiserouten und Inventare).
Die Geschäftslogik umfasst: [1]
- Workflows, bei denen es sich um die geordneten Aufgaben der Übergabe von Dokumenten handelt Daten von einem Teilnehmer (einer Person oder einem Softwaresystem) zu einem anderen.
Geschäftslogik sollte von Geschäftsregeln unterschieden werden. [2] Geschäftslogik ist der Teil eines Unternehmenssystems, der bestimmt, wie Daten transformiert oder berechnet werden und wie Es wird an Personen oder Software weitergeleitet (Workflow). Geschäftsregeln sind formale Ausdrücke der Geschäftspolitik. Alles, was ein Prozess oder eine Prozedur ist, ist Geschäftslogik, und alles, was weder ein Prozess noch eine Prozedur ist, ist eine Geschäftsregel. Das Begrüßen eines neuen Besuchers ist ein Prozess (Workflow), der aus zu treffenden Schritten besteht, während das Begrüßen jedes neuen Besuchers eine Geschäftsregel ist. Darüber hinaus ist die Geschäftslogik prozedural, wohingegen Geschäftsregeln deklarativ sind. [3]
Auf einer E-Commerce-Website können Besucher beispielsweise Artikel zu einem Einkaufswagen hinzufügen, eine Versandadresse angeben und Zahlungsinformationen bereitstellen. Die Geschäftslogik der Website kann einen Workflow umfassen, z.
- Die Abfolge der Ereignisse, die während des Bezahlvorgangs auftreten, z. B. ein mehrseitiges Formular, in dem zuerst die Lieferadresse, dann die Rechnungsadresse abgefragt wird. Die nächste Seite enthält die Zahlungsmethode und die letzte Seite enthält Glückwünsche. [19659007] Es wird auch Geschäftsregeln der Website geben:
- Durch mehrfaches Hinzufügen eines Artikels von der Artikelbeschreibungsseite wird die Menge für diesen Artikel erhöht.
- Bestimmte Formate, denen die Adresse, die E-Mail-Adresse und die Kreditkarteninformationen des Besuchers entsprechen müssen.
- Ein bestimmtes Kommunikationsprotokoll zum Sprechen zum Kreditkartennetz
Die Website-Software enthält auch anderen Code, der nicht als Teil der Geschäftslogik oder der Geschäftsregeln betrachtet wird:
- Peripherieinhalte, die nicht mit den Kerngeschäftsdaten in Zusammenhang stehen, wie z. B. der HTML-Code, der die Farben, das Erscheinungsbild, das Hintergrundbild und die Navigationsstruktur der Site definiert.
- Allgemeiner Fehlerbehandlungscode (z. B. mit dem HTTP-Fehlercode 500) page)
- Initialisierungscode, der ausgeführt wird, wenn der Webserver die Site startet, wodurch das System eingerichtet wird.
- Überwacht die Infrastruktur, um sicherzustellen, dass alle Teile der Site ordnungsgemäß funktionieren (z. B. das Abrechnungssystem ist verfügbar). [19659006] Allgemeiner Code zum Herstellen von Netzwerkverbindungen, Übertragen von Objekten in die Datenbank, Analysieren von Benutzereingaben über HTTP-POST-Ereignisse usw.
Geschäftslogik und Ebenen / Schichten Bearbeiten
Geschäftslogik Theoretisch nimmt es die mittlere Ebene einer dreistufigen Architektur ein.Geschäftslogik kann sich an einer beliebigen Stelle in einem Programm befinden. Beispielsweise könnte bei einem bestimmten Format für eine Adresse eine Datenbanktabelle erstellt werden, deren Spalten genau den in der Geschäftslogik angegebenen Feldern entsprechen, und es könnten Typprüfungen hinzugefügt werden, um sicherzustellen, dass keine ungültigen Daten hinzugefügt werden.
Die Geschäftslogik ändert sich häufig. Beispielsweise kann sich der Satz zulässiger Adressformate ändern, wenn ein Online-Händler beginnt, Produkte in ein neues Land zu versenden. Daher wird es oft als wünschenswert angesehen, den Code, der die Geschäftslogik implementiert, relativ isoliert oder lose gekoppelt zu machen. Dies macht es wahrscheinlicher, dass Änderungen an der Geschäftslogik nur in einem Teil des Codes eine kleine Menge von Codeänderungen erfordern. Weiter entfernter, aber stark gekoppelter Code erhöht das Risiko, dass der Programmierer nur einige der erforderlichen Änderungen vornimmt und Teile des Systems übersieht, was zu einer fehlerhaften Funktionsweise führt. [4]
Eine mehrschichtige Architektur wird formalisiert Diese Entkopplung durch Erstellen einer Geschäftslogikschicht die von anderen Ebenen oder Schichten wie der Datenzugriffsschicht oder der Dienstschicht getrennt ist. Jede Ebene "kennt" nur eine minimale Menge des Codes in den anderen Ebenen – gerade genug, um die erforderlichen Aufgaben zu erledigen. In einem Modell-Ansicht-Controller-Paradigma könnten beispielsweise die Controller- und Ansichtsebenen so klein wie möglich gestaltet werden, wobei sich die gesamte Geschäftslogik auf das Modell konzentriert. Im E-Commerce-Beispiel bestimmt der Controller die Reihenfolge der Webseiten in der Checkout-Reihenfolge und ist auch dafür verantwortlich, dass die E-Mail-, Adress- und Zahlungsinformationen den Geschäftsregeln entsprechen (anstatt dies der Datenbank selbst zu überlassen) oder untergeordneter Datenbankzugriffscode).
Alternative Paradigmen sind möglich. Beispielsweise könnten bei relativ einfachen Geschäftsentitäten eine generische Ansicht und ein Controller auf Datenbankobjekte zugreifen, die alle relevanten Geschäftslogiken enthalten, um festzustellen, welche Formate sie akzeptieren und welche Änderungen möglich sind (das so genannte Datenbankmodell).
Einige gestufte Schemata verwenden entweder eine bestimmte Anwendungsschicht oder eine Dienstschicht oder betrachten die Geschäftslogikschicht als dieselbe wie eine dieser.
Tools und Techniken Bearbeiten
Geschäftslogik kann mithilfe eines Geschäftsregelverwaltungssystems (BRMS) aus dem Verfahrenscode extrahiert werden. [5] [19659029] Der Geschäftsregelansatz der Softwareentwicklung verwendet BRMS und erzwingt eine sehr starke Trennung der Geschäftslogik von anderem Code. Verwaltungssysteme für Benutzeroberflächen sind eine weitere Technologie, mit der eine starke Trennung zwischen Geschäftslogik und anderem Code erzwungen wird. Der magische Druckknopf wird als "Anti-Pattern" betrachtet: Eine Technik, die in diesem Fall unerwünschte Einschränkungen erzeugt, die es schwierig machen, Geschäftslogik auf eine einfach zu wartende Weise zu codieren.
Ein Domänenmodell ist eine abstrakte Darstellung der Datenspeichertypen, die von Geschäftsregeln benötigt werden.
Siehe auch [ Bearbeiten ]
Bearbeiten [ Bearbeiten
Weiterführende Literatur Bearbeiten
- Brett McLaughlin (März 2002). "Geschäftslogik, Teil 1". Erstellen von Java Enterprise-Anwendungen, Band I: Architektur . O'Reilly und Mitarbeiter. ISBN 0-596-00123-1 . – McLaughlin diskutiert das Fassadenmuster für die Implementierung der Geschäftsschicht einer Anwendung.
- Kathy Bohrer (November 1997). "Middleware isoliert Geschäftslogik". Object Magazine . New York, USA: SIGS Publications, Inc. 7 (9): 41–46. ISSN 1055-3614.
- Harumi Kuno; Mike Lemon; Alan Karp und Dorothea Beringer (2001). "Gespräche + Schnittstellen = Geschäftslogik". In F. Casati; D. Georgakopoulos & amp; Shan (Hrsg.). Technologies for E-Services: Zweiter internationaler Workshop, TES 2001, Rom, Italien, 14.-15. September 2001, Proceedings . Vorlesungsskript in Informatik . 2193 . Springer Berlin / Heidelberg. ISSN 0302-9743.
- Volker Turau (2002). "Ein Framework für die automatische Generierung von webbasierten Dateneingabeanwendungen auf Basis von XML". Vorträge des ACM-Symposiums zu Applied Computing 2002, Madrid, Spanien: Web- und E-Business-Anwendung . ACM Drücken Sie. S. 1121–1126. ISBN 1-58113-445-2 . – Turau präsentiert ein Anwendungsframework, das unter Verwendung von Java-Servlets und JavaServer-Seiten implementiert wurde und die Trennung zwischen Geschäftslogik und Präsentationslogik ermöglicht und die parallele Entwicklung von beiden ermöglicht auf relativ unabhängigen, aber kooperierenden Wegen.
- Pau, LF. & Vervest, P.H.M. (08.12.2003). "Netzwerkbasiertes Geschäftsprozessmanagement: Einbettung von Geschäftslogik in Kommunikationsnetzwerke". ERIM-Berichtsreihe Research in Management. Erasmus Universität. hdl: 1765/1070. – Pau und Vervest entwickeln einen Ansatz zur Einbettung von Geschäftslogik in das Kommunikationsnetz, der einer verteilten Anwendung mit einer Vielzahl von Akteuren zugrunde liegt, um die Zuordnung von Geschäftsressourcen von einem Netzwerkpunkt aus zu optimieren of view.
Externe Links bearbeiten ]