2009-05-26 5 views
4

Ich habe gerade bei einem neuen Kommunikationsunternehmen angefangen und wir schauen uns ein Workflow/Intranet-System an, um Jobs und Prozesse zu verwalten.Workflow-System

Grundsätzlich erhalten wir Dateien von Kunden, die wir dann über unsere Systeme verarbeiten.

  1. Empfangsdaten-Datei (FTP, E-Mail, etc.)
  2. Prozessdaten-Datei (entweder generischen Skript mit Datenzuordnung auf die Datei oder maßgeschneidertem ETL-Paket). Adresswert
  3. erstellen print (verarbeitete Datendatei in eine Postscript/PDF Zusammensetzung Motor senden) fügt hinzu: oder E-Mail-Ausgabe
  4. Ausgabe auf Produktionsebene schicken (Kopie an Drucker Eingabestrom, Frankiermaschinen)
  5. Prozess andere Ströme (zB E-Mails/Faxe senden, laden e-Archiv)
  6. Update-internen Systemen (zB Lagerbestand, Fakturierung)

Wir haben auch viele andere interne Geschäftsprozesse (zB Wiederaufbereitung beschädigt Ausgabe, Verarbeitung tot /zurückgegangene Post).

Ich versuche, alle Elemente getrennt zu halten. Einige werden von der Stange sein (z. B. Druckstromzusammensetzung, E-Mail-Versand/Verwaltung, CRM). Einige werden im Haus gebaut (z. B. beschädigte Ausgabe).

Aber ich bin auf der Suche nach etwas, alles zusammen zu binden, und setzen Sie die Business-Workflow-Prozesse in. Z. Jobs planen, Datenverarbeitungsaufgaben nacheinander starten und Fehler verwalten. Viele davon werden menschliche Schritte haben. Auch in SLA-Management und Business Activity Monitoring/Reporting.

Eine wichtige Anforderung in Kürze ist der automatisierte Empfang und die Verarbeitung von Dateien (d. H. Die Überwachung und Zuordnung von Verzeichnissen zu Client/Anwendung).

Ich bin an etwas interessiert, das leicht zu verwalten und zu warten ist (z. B. Hinzufügen neuer Schritte zu einem Workflow oder bedingte Logik oder was auch immer).

Mir ist klar, dass dies eine große Aufgabe ist, und im Moment konzentrieren wir uns auf jede einzelne Komponente und setzen manuelle Prozesse ein, bis wir ein System zur Verwaltung haben. Wir möchten kein gigantisches Maßsystem entwerfen, um alles miteinander zu verbinden, sondern würden lieber eine Art Workflow- oder Integrationssystem kaufen.

Irgendwelche Vorschläge? Ich habe mir BizTalk angeschaut, bin mir aber nicht sicher, ob es übertrieben oder nicht für interne Systeme geeignet ist. Ein anderes Produkt, dem ich ausgesetzt war, ist Sagent Automation, aber es sieht ein wenig schief aus.

- EDIT -

vergessen zu erwähnen, ist unsere bestehende skillset weitgehend Microsoft. Daher wäre alles in Microsoft Technologien/.Net basierend vorzuziehen. Aber wenn es ein fantastisches Produkt gibt, sind wir nicht gegen Upskill

Antwort

3

Check out Apache Active MQ. Es implementiert die Java Message Service 1.1-Spezifikation, Ebenen in einer Servlet-API und verfügt über zahlreiche Funktionen, die Ihren Anforderungen entsprechen sollten. Sie können auch Layer auf Camel, die eine reiche Implementierung von vielen enterprise integration patterns fügt.

In der Regel werden JMS-Nachrichten in einer Transaktionsdatenbank gespeichert, die so konfiguriert werden kann, dass sie extrem hohe Fehlertoleranz bietet (z. B. RAID, Master-Backup-Datenbankpaare, mehrere Kopien von Transaktionsprotokolldateien). An der Oberseite der Datenbank können mehrere App-Server-Computer mit Lastausgleich und Active MQ ausgeführt werden, um Skalierbarkeit und hohe Verfügbarkeit zu gewährleisten. Ich denke, Sie werden feststellen, dass Sie Ihre Komponenten sehr entkoppelt schreiben können, wenn Sie Active MQ als Ihren gemeinsamen Nachrichtenbus verwenden.

Wenn in JMS eine Nachricht von einem Kunden in die Warteschlange eingereiht wird, muss der konsumierende Prozess später bestätigen, dass die Nachricht erfolgreich verarbeitet wurde. Wenn eine Bestätigung nicht rechtzeitig eingeht, wird das JMS-System die Nachricht wiederbeleben, so dass ein anderer konsumierender Prozess versuchen kann, damit umzugehen. Dies bedeutet, dass Sie mehrere Kopien Ihrer Anwendung ausführen können, um Zuverlässigkeit und Fehlertoleranz zu erhalten.

Werfen Sie einen Blick auf O'Reillys Java Message Service, 2nd Edition, die gerade diese Woche herauskam.

Eine andere Möglichkeit wäre, in BPEL (Business Process Execution Languge) zu suchen.

Edit: Ich bin nicht sehr vertraut mit Microsoft-Angeboten, aber MSMQ scheint wie das Äquivalent zu JMS.

Sie sollten in der Lage sein, ActiveMQ in einer Microsoft-Umgebung zu verwenden. Sie behaupten, "cross language clients" wie "C# und .NET" zu unterstützen. Und selbst wenn das problematisch sein sollte, da ActiveMQ eine Java-Servlet-basierte API zum Einreihen und Trennen von Nachrichten hat, muss die Außenwelt nur HTTP-Anforderungen an den ActiveMQ-Server stellen können. Das sollte den Lernaufwand Ihres Teams begrenzen. Viel Glück, das hört sich nach einem tollen Projekt an!

0

SharePoint verfügt über eine Workflow-Engine, die sehr gut funktioniert. Sie können Ihren Workflow mit SharePoint-Designer oder Visual Studio 2008 erstellen. Es verwendet Windows Workflow, der BizTalk ähnelt (wenn nicht die gleiche Suchmaschine), aber ohne die anderen BizTalk-Dienste, die für Ihre Anwendung möglicherweise nicht erforderlich sind.