Frage

Ich habe von jemandem gehört, dass ein Business Process Automation-Tool mit sie sind (wie Weblogic Integration) als Programmiersprache (was wie etwas Art von dumm klingt), um die Dinge deklarative zu machen. Dann setzten sie die gesamte Logik innerhalb eines Prozesses, jeden einzelnen if und while.

Aber isn't ein Verfahren ein, wie man Schritt-für-Schritt-Einheit, ein Ziel zu erreichen?

Für mich macht es einen Prozess völlig unerlässlich. Was denken Sie?

War es hilfreich?

Lösung

Es ist definitiv nicht das, was die Menschen in der Regel bedeuten, wenn sie über deklarative Programmierung , auch wenn es kann ein Gefühl deklarative genannt werden.

Andere Tipps

Orchestrierung Sprachen sind in der Tat Imperativ Skriptsprachen mit conditionals, Looping und anderen traditionell zwingend Konstrukte ausgedrückt typischerweise durch eine Flussdiagramm-basierte Benutzerschnittstelle. Sie haben sicherlich nicht (in meiner Erfahrung) tail-rekursive funktionale Programmierung, Rückwärtsverkettung oder ein anderes Paradigma implementieren, die vernünftigerweise als deklaratives im landläufigen Sinne bezeichnen könnte.

MS Workflow Foundation wird als mit einer Regelmaschine beworben, aber das ist ziemlich simpel und wirklich nicht nach vorne Chaining, außer in ein etwas Umwegen. ILOG macht eigentlich einen Adapter für ihren Regel-Engine speziell es in MS Workflow Foundation fallen zu lassen.

Andere Workflow-Tools haben eine bessere Regel Motoren und ein richtiges Vorwärtsverkettungssystem, das als deklaratives angesehen werden könnte. Allerdings, wenn Sie in die Workflows selbst mit Looping bekommen und bedingte Verzweigungen Sie sind definitiv auf dem Gebiet der imperativen Programmierung.

Allerdings implementieren einige Systeme auch ein Petri-net oder Zustandsänderung basierendes Auszeichnungssystem für Workflow, die vernünftigerweise als deklarativ beschrieben werden könnte, aber sie immer noch eine dringend notwendige Art der Interaktion mit dem zugrunde liegenden System. Sie noch Variablen aktualisieren und Nebenwirkungen haben.

Ich habe ein oder zwei Anwendungen (zum Beispiel gesehen TOAD für Daten anlaysis ) tatsächlich mit MS Workflow Foundation als Skriptsprache. Als solches ermöglicht es Ihnen, eine Skript Einrichtung der Anwendung hinzuzufügen, die (zumindest für Marketingzwecke) erfordert keine Fähigkeit Programmierung zu verwenden.

In der Praxis ist ein Tool entwickelt, für das Schreiben, Editieren und Ausführen von SQL-Abfragen mit einem Skript Rahmen versehen ist, für 'Nicht-Programmierer macht ein Wunder, was Publikum ihm wirklich angestrebt. Als Skriptsprache sind, Workflow-Modellierungstools ziemlich plump und bieten eine sehr begrenzte Möglichkeiten zur Abstraktion; in der Praxis Mechanismus einer .NET-basierte Skriptsprache wie Ironpython oder Boo, insbesondere in Verbindung mit einem anständigen Templating, wäre eine sehr leistungsstarke Ergänzung zu einem solchen Werkzeug sein.

Ein Punkt über grafische Sprachen dieser Art ist, dass sie nicht gut skalieren mit Komplexität. Ein ähnliches Problem gilt mit ETL-Tool als auch. Ich habe eine Bereitstellungsanwendung gesehen (siehe unten), die getan wurde (ironischerweise) mit Crossworlds (jetzt als Websphere Integrator bekannt). Innerhalb eines Monats über die Anwendung des Starts wurde deutlich, dass die grafische Workflow-Sprache würde nicht mit der Komplexität der Anwendung skalieren und es wurde wieder aufgebaut, basierend auf einem Motor benutzerdefinierte Regeln in Java geschrieben und eine ziemlich großen Menge an maßgeschneiderten Java-Code.

Diese Art von Problem ist nicht ungewöhnlich, mit EAI und Orchestrierung Systemen und ist einer der Gründe dafür, dass SOA ist schwer in die Praxis umzusetzen. Was Sie tun, ist eigentlich Business-Logik in eine sehr ungeschickt Programmierumgebung drängen, die nicht offiziell als solche anerkannt wird. Dies wird in einem einfachen Fall arbeiten, aber ist harte Arbeit an einem komplexen System zu machen -. Diese Art eines schuldigen Geheimnisses in SOA Kreisen

Coda: Eine Bereitstellungsanwendung ist ein System, das Plan für Telekommunikationsdienstleistungsverträge (für ein Mobilfunknetz in diesem Fall) nimmt und drückt Konfigurationsinformationen basierend auf Regeln, um verschiedene Schalter, Billing-Anwendungen und andere Anwendungen. Sie neigen dazu, ziemlich komplex. Wenn Sie ein Handy Plan mit so vielen Minuten kaufen und so viele Texte pro Monat, treibt eine Provisioning-Anwendung heraus Konfigurationsinformationen an den Rest des Systems über den Zugriff und Abrechnungsregeln.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top