Flujos de trabajo de Amazon SWF - Amazon Simple Workflow Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Flujos de trabajo de Amazon SWF

¿Qué es un flujo de trabajo?

Mediante Amazon Simple Workflow Service (Amazon SWF), puede implementar aplicaciones asíncronas distribuidas como flujos de trabajo. Los flujos de trabajo coordinan y administran la ejecución de actividades que se pueden ejecutar de forma asíncrona en varios dispositivos informáticos y que pueden realizar procesamiento secuencial y paralelo.

Al diseñar un flujo de trabajo, puede analizar su aplicación para identificar sus tareas de componente. En Amazon SWF, estas tareas se representan mediante actividades. El orden en el que se realizan las actividades viene determinado por la lógica de coordinación del flujo de trabajo.

Un ejemplo de flujo de trabajo sencillo: una aplicación de E-Commerce

Por ejemplo, en el siguiente gráfico se muestra un flujo de trabajo de procesamiento de pedidos de E-Commerce que implica tanto a personas como a procesos automatizados.

Descripción general del flujo de trabajo de ejemplo

Este flujo de trabajo se inicia cuando un cliente realiza un pedido. Incluye cuatro tareas:

  1. Verifique el pedido.

  2. Si el pedido es válido, cargue el cliente.

  3. Si se realiza el pago, envíe el pedido.

  4. Si se envía el pedido, guarde los detalles del pedido.

Las tareas de este flujo de trabajo son secuenciales: un pedido debe verificarse antes de que pueda cargarse una tarjeta de crédito; una tarjeta de crédito debe cargarse correctamente antes de que pueda enviarse un pedido y un pedido debe enviarse antes de que pueda registrarse. Sin embargo, como Amazon SWF admite procesos distribuidos, estas tareas se pueden llevar a cabo en diversas ubicaciones. Si las tareas tienen naturaleza programática, también pueden escribirse en diferentes lenguajes de programación o mediante diversas herramientas.

Además del procesamiento secuencial de tareas, Amazon SWF también admite flujos de trabajo con procesamiento paralelo de tareas. Las tareas paralelas se realizan al mismo tiempo y diferentes aplicaciones o procesos de trabajo humanos pueden llevarlas a cabo de forma independiente. Su flujo de trabajo toma decisiones acerca de cómo continuar una vez completadas una o más de las tareas paralelas.

Ejecución y registro de flujo de trabajo

Después de diseñar la lógica de coordinación y las actividades, puede registrar estos componentes como tipos de actividad y de flujo de trabajo en Amazon SWF. Durante el registro, puede especificar para cada tipo un nombre, una versión y algunos valores de configuración predeterminados.

Solo se pueden utilizar con Amazon SWF los tipos de actividad y de flujo de trabajo registrados. En el ejemplo de E-Commerce, registraría el tipo de flujo de trabajo CustomerOrder y los tipos de actividad VerifyOrder, ChargeCreditCard, ShipOrder y RecordCompletion.

Después de registrar su tipo de flujo de trabajo, puede ejecutarlo tanto como desee. Una ejecución de flujo de trabajo es una instancia en ejecución de un flujo de trabajo. En el ejemplo de E-Commerce, una nueva ejecución de flujo de trabajo se inicia con cada pedido del cliente.

Cualquier proceso o aplicación puede iniciar una ejecución de flujo de trabajo, incluso otra ejecución de flujo de trabajo. En el ejemplo de E-Commerce, el tipo de aplicación que inicia el flujo de trabajo depende de cómo el cliente realiza el pedido. Un sitio web o aplicación móvil, o bien un representante del servicio de atención al cliente podrían iniciar el flujo de trabajo mediante una aplicación de la empresa interna.

Con Amazon SWF, puede asociar un identificador, denominado workflowId, a las ejecuciones de flujo de trabajo, de modo que pueda integrar los identificadores existentes de su negocio en el flujo de trabajo. En el ejemplo de E-Commerce, cada ejecución de flujo de trabajo podría identificarse mediante el número de factura del cliente.

Además del identificador que proporcione, Amazon SWF asocia un identificador único generado por el sistema (un runId) a cada ejecución del flujo de trabajo. Amazon SWF solo permite ejecutar una única ejecución de flujo de trabajo con este identificador en un momento dado; aunque el usuario pueda ejecutar varios flujos de trabajo del mismo tipo, cada ejecución de flujo de trabajo tendrá un runId diferente.

Véase también

Historial de flujos de trabajo de Amazon SWF