In general, in one aspect, the invention provides a modular application
collaborator for providing inter-operability between applications
including a plurality of connectors for communicating with a like
plurality of applications and an interchange server. The interchange
server includes an application collaboration module and service module.
The service module transfers messages between connectors and the
application collaboration module. The application collaboration defines
the inter-operability between two or more applications. The interchange
server service module includes a transaction service and an error service.
Transactions are executed in the application collaboration module and the
transaction service records each action and a compensating action for
undoing an associated action. An error service monitors for errors in the
interchange server, and, upon detection of an error, stops the execution
of a transaction and initiates the execution of any required compensating
actions to undo the interrupted transaction. The compensating transactions
may be executed at the connectors and are not required to be overseen by
the interchange server.
En general, en un aspecto, la invención proporciona a colaborador modular del uso para proporcionar interoperabilidad entre usos incluyendo una pluralidad de conectadores para comunicarse con a como la pluralidad de usos y un servidor del intercambio. El servidor del intercambio incluye un módulo de la colaboración del uso y el módulo de servicio. El módulo de servicio transfiere mensajes entre los conectadores y el módulo de la colaboración del uso. La colaboración del uso define la interoperabilidad entre dos o más usos. El módulo de servicio del servidor del intercambio incluye un servicio de la transacción y un servicio del error. Las transacciones se ejecutan en el módulo de la colaboración del uso y el servicio de la transacción registra cada acción y una acción que compensa para deshacer una acción asociada. Monitores de un servicio del error para los errores en el servidor del intercambio, y, sobre la detección de un error, paradas la ejecución de una transacción e iniciados la ejecución de cualquieres acciones que compensan requeridas para deshacer la transacción interrumpida. Las transacciones que compensan se pueden ejecutar en los conectadores y no se requieren para ser supervisadas por el servidor del intercambio.