Einfaches Anwendungsframework VSEF – Vorlage für die Geschäftsdekonstruktion





Wenn mehrere „Geschäftsmodule“ auf einem Anwendungssystem bereitgestellt werden, erwarten wir eine einheitliche Strukturvorlage. Diese Strukturvorlage stellt eine wichtige Verbindung zwischen „Geschäftsarchitektur“ und „technischer Architektur“ dar. Dieser Artikel ist eine Einführung in diese Strukturvorlage. erkunden.


Prototyp


▐Strukturelles Design  


Überprüfen Sie zunächst die in „Architecture of Simple Application Framework VSEF“ erwähnte Gesamtstruktur .

VSEF-Gesamtstruktur

▐Strukturbeispiel _  


Modul:

  1. Client: vsef-archetypes-client

  2. Geschäftslogik: vsef-archetypes-application



vsef-archetypes-application-Verzeichnisstruktur:


Ein Screenshot der Prototyp-Verzeichnisstruktur sieht wie folgt aus:
Screenshot der Prototyp-Verzeichnisstruktur


▐Ausführungsvorlage _  


Hinter der Verarbeitung des Geschäftsprozesses l3.process können einige gemeinsame Dinge als Vorlagen betrachtet werden, um Doppelarbeit zu reduzieren. Einige gemeinsame Punkte sind:
  1. Umgang mit Ausnahmen
  2. Braucht es Idempotenz?
  3. Ist gleichzeitiges Sperren erforderlich?
  4. Ist die Bereitstellung eines Komponentenprotokolls erforderlich?
  5. Gibt es Datenbank- und Nachrichtenoperationen?
  6. .......

Im Prototyp-Beispielverarbeitungsablauf wird die Verarbeitungsvorlage geerbt.



Beispiel für eine Verarbeitungsablauf-Vererbungsverarbeitungsvorlage


In diese Vorlage ist die Abstraktion der „idempotenten Verifizierung und Verarbeitung“ eingebettet.

Die Logik der „idempotenten Verifizierung und Verarbeitung“ wird in der Verarbeitungsvorlage abstrahiert


[Erweiterung] Das Folgende ist eine relativ komplexe Verarbeitungsvorlage im V2-Transaktionsframework, die als abstrakte Gesamtreferenz verwendet werden kann.


▐Modellabstraktion _  


Zusätzlich zur Abstraktion des Verarbeitungsprozesses abstrahieren wir manchmal auch den Verarbeitungskontext, wodurch der Konvertierungsprozess jedes Prozesses eingespart werden kann.

Da die Vorlage keine sehr komplexe spezifische Logikpaketierung enthält und um dem Benutzer nicht zu viele Einschränkungen zu bieten, ist das Modell lediglich eine Abstraktion der Eingabe einer Anforderung und der Ausgabe eines Ergebnisses.


Verarbeitung der Abstraktion des Modells durch die Vorlage im Prototyp


Mit zunehmender Geschäftsaktivität kann es jedoch weiter verfeinert werden, was jedoch auch zu einer Verringerung der Vielseitigkeit führt. Dies sollte nicht Teil des allgemeinen Rahmens sein, sondern Gegenstand spezifischer Diskussionen zur Umsetzungseffizienz sein, auf die nicht eingegangen wird Hier.


[Erweiterung] Nachfolgend wird die endgültige Modelllogik in V2 gezeigt, die als Referenz für das nachfolgende Design verwendet werden kann.


Fall


价保 Preisversicherung  


  • Szeneneinführung


Hauptfunktionen: Berechnen Sie basierend auf den Bestellinformationen der Bestellung, dem Re-Request-Marketing und anderen Systemen den aktuellen Preis und die Preisdifferenz und führen Sie eine Entschädigung durch.

V2-Preisgarantie-Geschäftsaktivitätsanalyse


  • Prototypenstruktur

Der Prototyp wählt vier Eintrittsfälle aus: Beantragung eines Preisgarantiedienstes, Einreichung eines Preisgarantiedienstes, Beantragung und Einreichung eines Dienstes sowie asynchrone Prüfnachrichtenverarbeitung.


Die Hauptstruktur ist in der folgenden Abbildung dargestellt:

Großes Diagramm des funktionalen Aufbaus des Preisgarantie-Prototyps


  • Fokuspunkt


Geschäftstätigkeitsportfolio


Bei der Preisgarantie gibt es ein Szenario, bei dem es sich um „Antragstellung und Einreichung eines Preisgarantiedienstes“ handelt. Dieser Dienst muss mit „Erbringung eines Preisgarantiedienstes“ und „Antrag auf einen Preisgarantiedienst“ kombiniert werden. Die Verarbeitungsstrategien können hier Folgendes umfassen:

  1. Prozessunabhängigkeit: Schreiben Sie einen neuen „Antrag und Einreichung des Preisgarantie-Abwicklungsprozesses“ und gestalten Sie ihn unabhängig.

  2. Prozessaggregation: Schreiben Sie einen „Preisgarantiedienst anwenden und einreichen“ und rufen Sie den l3.process-Dienst „Renderpreisgarantiedienst“ und „Preisgarantiedienst beantragen“ auf.

  3. API-Aggregation: Schreiben Sie eine API-Implementierung, die „Preisgarantiedienst anwenden und übermitteln“ und „Preisgarantiedienst rendern“ und „Preisgarantiedienst beantragen“ aufruft.


Die Preisgarantie verwendet die API-Aggregation, da sie zusätzlich zur Kernlogik wie Fehlercodekonvertierung, Strombegrenzung usw. in die API einbezogen wird. Daher ist es besser, die Logik so konsistent wie möglich zu halten Es als Blackbox und aggregierte Dienste zu behandeln. Verstehen Sie die spezifischen Details hinter atomaren Diensten nicht.


abstraktes Modell


In der Preisgarantievorlage behält die Abstraktion des Modells die Idee der „Reduzierung von Einschränkungen“ bei und verwendet abstrakte Typen direkt und ohne Vererbungsbeschränkungen.

Die abstrakte Einschränkung des Preisgarantie-Verarbeitungsvorlagenmodells ist „Keine“.



Ein sehr komfortabler Fall hierfür ist die Verarbeitung von „asynchronen Prüf“-Nachrichten. Sie können den Nachrichtenverarbeitungskontext direkt als Anforderung und Ergebnis verwenden und so die Konvertierungskosten reduzieren. Dies erschwert natürlich die Wiederverwendung aktiver Knoten. Hier ist es besser, die direkte Verbindungsfähigkeit von Dienstskripten zu nutzen. Dennoch ist es sinnvoll, auf der abstrakten Ebene des Modells zu denken.


Verwenden Sie die Nachrichteneingabe und -ausgabe als Kontext des Verarbeitungsprozesses

Geschäftsidentitätsfähigkeit


Jibao verfügt über eine Geschäftsidentitätsfunktion und muss eine Geschäftsidentitätsinstanz für nachfolgende Erweiterungen berechnen, um Plug-Ins zu finden. Die Geschäftsidentitätsstrategie lautet hier: Folgen Sie der Geschäftsidentität, wenn Sie eine Bestellung aufgeben.

Möglichkeit zur Berechnung der Geschäftsidentität mit Preisgarantie


Erweiterter Servicemechanismus


Erweiterung ist ein Dienst und sein Erweiterungsmechanismus kann angepasst werden.


Im Preisgarantie-Prototyp sind einige Geschäftserweiterungen zur Verifizierung, Preisdifferenzberechnung und Darstellung enthalten. Um diese Erweiterungen zu unterstützen, sind im Erweiterungsbereich hauptsächlich mehrere Module konzipiert:

  1. ext – Erweitertes Servicemodul: Implementierung erweiterter Services, verantwortlich für die Suche nach Plug-Ins und Recycling-Ergebnissen.

  2. Plugins – Plug-in-Modul: Plug-ins zur Implementierung der Geschäftserweiterung, die in der Anwendungscodebibliothek gehostet oder über Pakete von Drittanbietern integriert werden können.

  3. SDK – Erweitertes SDK-Modul: Modell- und Methodendefinition, das als Brücke zwischen Ext-Erweiterungsdiensten und Plugins-Plug-In-Implementierung dient.


Preisgarantie-Erweiterungsservice-Design

▐groupon_ _  


  • Szeneneinführung


Hauptfunktionen: Die Händlerseite kann Rabatte und Gruppeninformationen melden. Wenn Sie eine Bestellung aufgeben, halten Sie die Bestellung basierend auf den Einstellungsinformationen. Wenn die Anzahl der bezahlten Bestellungen die Anzahl der Personen in der Gruppe erreicht, ist die Gruppe erfolgreich und ein Logistikauftrag vorliegt wird erstellt; andernfalls schlägt die Gruppe aufgrund einer Zeitüberschreitung fehl und führt eine schnelle Rückerstattung und Schließung der Bestellung durch.

Analyse der Geschäftsaktivitäten der Gruppe


  • Prototypenstruktur


Der Prototyp wählt zwei Eingangsfälle aus: Bestellzahlungsinformationen und Gruppengruppenanfragedienst.

Die Hauptstruktur ist in der folgenden Abbildung dargestellt:

Gesamtbild der funktionalen Struktur des Gruppenbeitritts-Prototyps


  • Fokuspunkt


Geschäftsskript


Im Gruppenbildungsprototyp gibt es einen Abfragefall. In diesem Fall wird der Geschäftsskriptdienst direkt verwendet und die Datenfunktion in l5.ability wird im Geschäftsskript aufgerufen, um die Daten abzurufen, und es wird eine einfache Konvertierung durchgeführt.

Der Gruppenbuchungsabfragedienst nutzt direkt l5.ability


Verkettung von Unterprozessen


Wenn Sie einer Gruppe beitreten und Zahlungsinformationen erhalten, müssen Sie zwischen Einzelbestellungen und Gruppenteilnahmebestellungen unterscheiden und unterschiedliche Verarbeitungsverfahren befolgen. Der „Gruppenbeitritts- oder Gruppenstartprozess“ zeigt, wie zwei Geschäftsskripte hintereinander verbunden werden.

„Gruppenbeitritts- oder Gruppenstartprozess“ verbindet zwei Teilgeschäftsprozesse hintereinander


Datenoperationen


Gruppenkauf und Preisgarantie sind gleich. Beim Betrieb von Daten werden sie durch die Definition von Abhängigkeitsschnittstellen entkoppelt. Gleichzeitig verwendet das Modell das „Domänenmodell“ in den Geschäftsfunktionen und verlässt sich nicht direkt auf DO. Der Datendienst ist für das Verständnis domänenabhängiger Schnittstellen und die Implementierung der Datenkonvertierung verantwortlich.

Der Gruppendatendienst ist nicht direkt von DO abhängig


Zusammenfassen


Aufgrund der folgenden Prototypenstruktur ist die Projektstruktur der Preisgarantie und des Gruppenkaufs dieselbe. Wenn die Grenzen dieser ähnlichen „Anwendungsarchitektur“ definiert werden und mehrere „Untergeschäftsanwendungen“ in einer Anwendung bereitgestellt werden, können einheitlichere Dienste bereitgestellt werden (mehr auf Verständnisebene), ähnlich der Idee von Docker. , was auch die schnelle Initialisierung neuer Geschäftsmodule erleichtert. Der Unterschied zu Docker besteht darin, dass diese Abstraktionsebene weiter in bestimmte Geschäftseinheiten hineinreicht.


Geschäftsanwendungsarchitektur – der „Container“ der Geschäftslogikschicht


Teamvorstellung


Wir sind das Produktservice-Team für Handelsplattformen. Das Team befasst sich hauptsächlich mit der Bereitstellung von Transaktionslinks. Während der Bereitstellungsarbeit abstrahiert und erstellt es horizontale Produktfunktionen (z. B. Vorverkäufe, elektronische Gutscheine usw.). Das Team konzentriert sich auf Geschäftsarchitektur, DDD und andere Theorien und Praktiken. und ist bestrebt, Geschäfte effizient und stabil abzuwickeln. Zugang und abstrakte Ermächtigung.


 ¤Lesen  erweitern¤ _

3DXR-Technologie  |  Terminaltechnik  |  Audio- und Videotechnik
Serverseitige Technologie  |  Technische Qualität  |  Datenalgorithmus


Dieser Artikel wurde über das öffentliche WeChat-Konto – Big Taobao Technology (AlibabaMTT) – geteilt.
Bei Verstößen wenden Sie sich bitte zur Löschung an [email protected].
Dieser Artikel ist Teil des „ OSC Source Creation Plan “. Wer liest, ist herzlich eingeladen, mitzumachen und gemeinsam zu teilen.

博通宣布终止现有 VMware 合作伙伴计划 deepin-IDE 版本更新,旧貌换新颜 WAVE SUMMIT 迎来第十届,文心一言将有最新披露! 周鸿祎:鸿蒙原生必将成功 GTA 5 完整源代码被公开泄露 Linus:圣诞夜我不看代码,明年再发布新版 Java 工具集 Hutool-5.8.24 发布,一起发发牢骚 Furion 商业化探索:轻舟已过万重山,v4.9.1.15 苹果发布开源多模态大语言模型 Ferret 养乐多公司确认 95 G 数据被泄露
{{o.name}}
{{m.name}}

Supongo que te gusta

Origin my.oschina.net/u/4662964/blog/10322985
Recomendado
Clasificación