2009-05-26 9 views
4

Je viens de commencer dans une nouvelle société de communication, et nous étudions un système workflow/intranet pour gérer les tâches et les processus. Fondamentalement, nous recevons des fichiers de données de clients que nous traitons ensuite via nos systèmes.Système de workflow

  1. Recevoir fichier de données (FTP, courrier électronique, etc.)
  2. fichier de données de processus (soit script générique avec le mappage des données dans le fichier, ou package ETL sur mesure). AJOUTE valeurs d'adresse
  3. Créer printstream (envoyer le fichier de données traitées dans un moteur de composition Postscript/PDF), ou créer une sortie email
  4. Envoyer la sortie à l'étage de production (copie au flux d'entrée de l'imprimante, les machines à affranchir)
  5. processus d'autres streams (par exemple, envoyer des e-mails/fax, télécharger vers e-Archive)
  6. Mise à jour des systèmes internes (par exemple le stock, facturation)

Nous avons aussi beaucoup d'autres processus d'affaires internes (par exemple, le retraitement sortie endommagé, traitement morts/courrier retourné). J'essaie de garder tous les éléments séparés. Certains seront disponibles sur le marché (par exemple, composition de printstream, envoi/gestion de courrier électronique, CRM). Certains seront construits dans la maison (par exemple, une sortie endommagée par retraitement). Mais, je cherche quelque chose pour lier tout cela, et mettre les processus de flux de travail d'affaires dans. Par exemple. planifier les tâches, déclencher les tâches de traitement des données en séquence et gérer les erreurs. Beaucoup de cela aura des étapes humaines. En outre, mettre en gestion SLA et suivi des activités/rapports d'activité.

Une condition clé bientôt est pour la réception et le traitement de fichiers automatisés (c'est-à-dire la surveillance d'annuaire et la correspondance avec le client/l'application). J'ai envie de quelque chose qui est facile à gérer et à maintenir (par exemple ajouter de nouvelles étapes à un flux de travail, ou une logique conditionnelle, ou autre). Je réalise que c'est un gros travail, et pour l'instant nous nous concentrons sur chaque composant individuel et mettons en place des processus manuels jusqu'à ce que nous ayons un système pour le gérer. Nous ne voulons pas concevoir un système sur mesure gargantuesque pour relier tout cela, mais plutôt envisager d'acheter un type de workflow ou un système d'intégration.

Des suggestions? J'ai jeté un coup d'œil à Biztalk, mais je ne sais pas si c'est trop ou pas adapté pour les systèmes internes seulement. Un autre produit auquel j'ai été exposé est Sagent Automation, mais il semble un peu pokey.

- EDIT -

oublié de mentionner, notre niveau de compétences existant est en grande partie Microsoft. Donc, n'importe quoi dans les technologies Microsoft/.Net serait préférable. Mais s'il y a un produit fantastique, nous ne sommes pas contre l'amélioration des compétences

Répondre

3

Consultez Apache Active MQ. Il implémente la spécification Java Message Service 1.1, les couches sur une API de servlet et possède des tonnes de fonctionnalités qui répondent à vos besoins. Vous pouvez également calques sur Camel, ce qui ajoute une implémentation riche de nombreux enterprise integration patterns.Généralement, les messages JMS sont conservés dans une base de données transactionnelle configurable pour vous offrir une tolérance aux pannes extrêmement élevée (p. Ex. RAID, paires de machines de base de données maître-sauvegarde, copies multiples de fichiers journaux de transactions). Au-dessus de la base de données peut aller plusieurs machines de serveur d'applications équilibrées de charge exécutant Active MQ, pour vous donner l'évolutivité et la haute disponibilité. Je pense que vous trouverez que vous pouvez écrire vos composants de manière très découplée si vous utilisez Active MQ comme bus de messages commun.

Dans JMS, lorsqu'un message est mis hors-file par un consommateur, le processus consommateur doit confirmer ultérieurement que le message a été traité avec succès. Si une confirmation n'arrive pas à temps, le système JMS relance le message afin qu'un autre processus consommateur puisse tenter de le gérer. Cela signifie que vous pouvez exécuter plusieurs copies de votre application pour gagner en fiabilité et tolérance aux pannes.

Jetez un oeil à O'Reilly Java Message Service, 2nd Edition, qui vient de sortir cette semaine.

Une autre avenue serait de regarder dans BPEL (Business Process Execution Languge).

Modifier: Je ne suis pas très familier avec les offres Microsoft, mais MSMQ semble être l'équivalent de JMS.

Vous devez pouvoir utiliser ActiveMQ dans un environnement Microsoft. Ils prétendent soutenir "cross language clients" comme "C# et .NET". Et même si cela devait poser problème, étant donné qu'ActiveMQ dispose d'une API basée sur les servlets Java pour la mise en file d'attente et la mise en file d'attente des messages, le monde extérieur doit uniquement pouvoir effectuer des requêtes HTTP sur le serveur ActiveMQ. Cela devrait limiter la quantité d'apprentissage que votre équipe devrait faire. Bonne chance, cela ressemble à un projet génial!

0

SharePoint dispose d'un moteur de workflow qui fonctionne très bien. Vous pouvez créer votre flux de travail à l'aide de SharePoint Designer ou de Visual Studio 2008. Il utilise Windows Workflow, similaire à BizTalk (si ce n'est pas le même moteur), mais sans les autres services BizTalk qui peuvent ne pas être nécessaires pour votre application.