Toda la información de producto en wiki.bizagi.com aplica para Bizagi BPM Suite 9.1.X.
Para las nuevas versiones de Bizagi BPM Suite (10.X y superior) visite la Guía de Usuario.
 

Capa SOA

De

<keywords content="keywords"> capa SOA, SOA, capa, metodos de la capa SOA, metodos SOA, workflowenginesoa, entitymanagersoa </keywords> 

Contenido

Capa SOA de Bizagi

Introducción

La capa SOA de Bizagi es una respuesta a uno de los requerimientos de evolución de Bizagi: que las operaciones fundamentales del producto puedan ser integradas con otras aplicaciones (sistemas core, mainframes, sistemas de reporte, CRM, etc.) ofreciendo así una integración B2B que cumple los principios de SOA.


A través de ella, aplicaciones y sistemas externos pueden invocar la funcionalidad completa de los procesos en Bizagi, bajo el estándar de servicios SOAP para la interoperabilidad entre plataformas heterogéneas.


Modelo de datos de Bizagi

Para usar la Capa SOA de Bizagi, es útil previamente consultar sobre cómo representa Bizagi el modelo de datos del proyecto en una estructura XML.

De esta manera, en cualquier método web que se desee invocar de Bizagi, podrá enviar la información desde su sistema externo de una manera consistente a cómo Bizagi la espera.

La opción de Bizagi de Generar esquemas XML permite visualizar la estructura XSD de cualquier entidad o del modelo de datos del proceso.


Adicional a lo anterior, tenga en cuenta que al enviar o actualizar información a Bizagi, puede usar la definición de llaves de negocio para registros existentes.


Servicios web de la Capa SOA Bizagi

Algunas de las características que permiten los servicios web expuestos por la Capa SOA de Bizagi son:

Image:Bulletrojo.gif Acceder al administrador de entidades de Bizagi:

          Image:Bulletazul.gif Consultar las instancias de las entidades Bizagi.
          Image:Bulletazul.gif Añadir o modificar las instancias de las entidades Bizagi.

Image:Bulletrojo.gif Acceder al motor de flujo de trabajo (workflow) para:

          Image:Bulletazul.gif Crear nuevos casos de negocio.
          

Image:Bulletazul.gif Avanzar actividades de negocio.
          

Image:Bulletazul.gif Ejecutar eventos.

Adicionalmente, los servicios relacionados con el administrador de entidades pueden ser invocados por reglas de negocio, lo cual incrementa las oportunidades de modelamiento; adaptándose a las necesidades específicas de cada implementación.


Métodos para manipular el administrador de entidades

El Servicio Web EntityManagerSOA.asmx ofrece los siguientes métodos:

Image:Bulletazul.gif getCaseDataUsingSchema: Obtiene toda la información del caso. Los parámetros de este método son el idCase y un XSD con formato XmlDocument.

Image:Bulletazul.gif getCaseDataUsingSchemaAsString: Obtiene toda la información del caso. Los parámetros de este método son el idCase y un XSD con formato string XML.

Image:Bulletazul.gif getCaseDataUsingSchemaLite: Obtiene toda la información del caso. Los parámetros de este método son el idCase y un XSD con formato XmlDocument. La respuesta a este método no incluye el contenido de los atributos tipo of archiv.

Image:Bulletazul.gif getCaseDataUsingSchemaLiteAsString: Obtiene toda la información del caso. Los parámetros de este método son el idCase y un XSD con formato string XML. La respuesta a este método no incluye el contenido de los atributos tipo of archivo.

Image:Bulletazul.gif getCaseDataUsingXPaths: Obtiene toda la información del caso. El parámetro de este método es un XmlDocument con los XPaths de Bizagi deseados.

Image:Bulletazul.gif getCaseDataUsingXPathsAsString: Obtiene toda la información del caso. El parámetro de este método es un String Xml con los XPaths de Bizagi deseados.

Image:Bulletazul.gif getEntities: Obtiene la información de una entidad en formato XmlDocument.

Image:Bulletazul.gif getEntitiesAsString: Obtiene la información de una entidad en formato string XML.

Image:Bulletazul.gif getEntitiesUsingSchema: Obtiene información de una entidad (or entidades), especificando la información requerida en un XSD, en formato XmlDocument.

Image:Bulletazul.gif getEntitiesUsingSchemaAsString: Obtiene la Información de una entidad (o entidades), especificando la información requerida en un XSD, en formato string XML.

Image:Bulletazul.gif getEntitySchema: Extrae el esquema de una entidad en un XmlDocument usando el nombre de la entidad.

Image:Bulletazul.gif getEntitySchemaStr: Extrae el esquema de una entidad en un string Xml usando el nombre de la entidad.

Image:Bulletazul.gif saveEntity: Este metodo se utiliza para almacenar y actualizar información en Bizagi usando un documento Xml (XmlDocument).

Image:Bulletazul.gif saveEntityAsString: Este metodo se utiliza para almacenar y actualizar información en Bizagi usando un string Xml.


Métodos para manipular el motor de flujo de trabajo

El Servicio Web WorkflowEngineSOA.asmx ofrece los siguientes métodos:

Image:Bulletazul.gif abortCases: Cancela uno o mas casos basado en el número de caso recibido en un XML con formato XmlDocument.

Image:Bulletazul.gif abortCasesAsString: Cancela uno o mas casos basado en el número de caso recibido en un XML con formato string.

Image:Bulletazul.gif createCases: Crea uno o mas casos de un proceso Bizagi. Es posible crear un caso vacío o con información requerida por el caso. Este método envía y recibe un XmlDocument.

Image:Bulletazul.gif createCasesAsString: Crea uno o mas casos de un proceso Bizagi. Es posible crear un caso vacío o con información requerida por el caso. Este método envía y recibe un string XML.

Image:Bulletazul.gif getActivities: Puede ser usada para obtener un listado de todas las actividades sin completar (pendientes, suspendidas o inactivas). Envía y recibe un XmlDocument.

Image:Bulletazul.gif getActivitiesAsString: Puede ser usada para obtener un listado de todas las actividades sin completar (pendientes, suspendidas o inactivas). Envía y recibe un string XML.

Image:Bulletazul.gif getApplications: Obtiene todas las aplicaciones disponibles en Bizagi; no tiene parámetros de entrada.

Image:Bulletazul.gif getCases: Obtiene información de los casos basado en algunos filtros incluidos en un XmlDocument, la respuesta también tiene este mimo tipo de dato.

Image:Bulletazul.gif getCasesAsString: Obtiene información de los casos basado en algunos filtros incluidos en un XmlDocument con formato string, la respuesta también tiene este mimo tipo de dato.

Image:Bulletazul.gif getCategories: Retorna las categorías dentro de una aplicación dada. Envía y recibe un XML con formato XmlDocument.

Image:Bulletazul.gif getCategoriesAsString: Retorna las categorías dentro de una aplicación dada. Envía y recibe un XML con formato string.

Image:Bulletazul.gif getCategoriesFromApplicationName: Retorna las categorías dentro de una aplicación dada. Este método envía un string y recibe un XML con formato XmlDocument.

Image:Bulletazul.gif getClosedActivities: Obtiene un listado de todas las actividades completadas. El XML de envío y recepción se encuentra en formato XmlDocument.

Image:Bulletazul.gif getClosedActivitiesAsString: Obtiene un listado de todas las actividades completadas. El XML de envío y recepción se encuentra en formato string XML.

Image:Bulletazul.gif getEvents: Retorna todos los eventos intermedios disponibles en un proceso, usando XMLs con formato XmlDocument.

Image:Bulletazul.gif getEventsAsString: Retorna todos los eventos intermedios disponibles en un proceso, usando XMLs con formato string.

Image:Bulletazul.gif getWorkflowClasses: Obtiene información acerca de los procesos dentro de una categoría. Este método envía y recibe un XmlDocument.

Image:Bulletazul.gif getWorkflowClassesAsString: Obtiene información acerca de los procesos dentro de una categoría. Este método envía y recibe un string XML.

Image:Bulletazul.gif getWorkflowClassesFromCategoryName: Este método retorna los procesos dentro de una categoría dada. Este método envía un string y recibe un XML con formato XmlDocument.

Image:Bulletazul.gif perfomActivity: Este método se utiliza para avanzar o continuar una actividad manual (como si se presionara el botón siguiente). Los parámetros de entrada y salida para este método son del tipo XmlDocument.

Image:Bulletazul.gif perfomActivityAsString: Este método se utiliza para avanzar o continuar una actividad manual (como si se presionara el botón siguiente). Los parámetros de entrada y salida para este método son del tipo string XML.

Image:Bulletazul.gif resumeCases: Cuando uno o varios casos han sido suspendidos, este método se usa para continuarlos. Envía y recibe un XML con formato XmlDocument.

Image:Bulletazul.gif resumeCasesAsString: Cuando uno o varios casos han sido suspendidos, este método se usa para continuarlos. Envía y recibe un XML con formato string.

Image:Bulletazul.gif saveActivity: Este método se usa para simular el evento salvar o guardar en actividades manuales. Envía y recibe un XmlDocument.

Image:Bulletazul.gif saveActivityAsString: Este método se usa para simular el evento salvar o guardar en actividades manuales. Envía y recibe un string XML.

Image:Bulletazul.gif setEvent: Use este método para avanzar un evento intermedio, usando XMLs con formato XmlDocument.

Image:Bulletazul.gif setEventAsString: Use este método para avanzar un evento intermedio, usando XMLs con formato string.

Image:Bulletazul.gif suspendCases: Pone un caso en espera de tal forma que el estado de la tarea (on time, expires today and overdue) no se ve afectado. Este método envía y recibe un XmlDocument.

Image:Bulletazul.gif suspendCasesAsString: Pone un caso en espera de tal forma que el estado de la tarea (on time, expires today and overdue) no se ve afectado. Este método envía y recibe un string XML.

Image:Bulletazul.gif assignActivity: Asigna/reasigna la actividad de un caso a un usuario específico. Este método envía y recibe un XmlDocument.

Image:Bulletazul.gif assignActivityAsString: Asigna/reasigna la actividad de un caso a un usuario específico. Este método envía y recibe un string con formato XML.


Métodos para Manejar la Metadata de las Formas

El servicio web RenderSOA.asmx ofrece los siguientes métodos:

Image:Bulletazul.gif GetActivityForm: Retorna las formas de una actividad o evento (pendiente) en un caso.

Image:Bulletazul.gif GetFormById: Obtiene una forma particular dado su número de identificación.

Image:Bulletazul.gif GetQueryForms: Este método se usa para obtener las formas de Consulta asociadas a un proceso.

Image:Bulletazul.gif GetSummaryForms: Con este método es posible obtener la Forma de Resúmen de un caso.


Métodos para Ejecutar las formas de consulta Bizagi

El servicio web QuerySOA.asmx ofrece los siguiente métodos:

Image:Bulletazul.gif QueryCases: Ejecuta una búsqueda usando una forma de consulta de aplicación para obtener información de casos. Este método envía y recibe un documento XML (XmlDocument).

Image:Bulletazul.gif QueryCasesAsString: Ejecuta una búsqueda usando una forma de consulta de aplicación para obtener información de casos. Este método envía y recibe una cadena con formato XML (string).

Image:Bulletazul.gif QueryEntities: Ejecuta una búsqueda usando una forma de consulta de entidad para obtener información al nivel de dicha entidad. Este método envía y recibe un documento XML (XmlDocument).

Image:Bulletazul.gif QueryEntitiesAsString: Ejecuta una búsqueda usando una forma de consulta de entidad para obtener información al nivel de dicha entidad. Este método envía y recibe una cadena con formato XML (string).



Nota: Los métodos Obsoletos son funcionalidades que ya no debe utilizase pero que permanecen únicamente para compatibilidad con versiones anteriores.



Usando los Métodos de la Capa SOA de Bizagi

Cada aplicación web en Bizagi contiene publicados los servicios web mencionados previamente.

Vea mayor información sobre la ubicación de la URL de estos servicios y consideraciones adicionales para el uso de la Capa SOA de Bizagi.



Ejemplo en .Net

En un ambiente .NET estas URLs se usan para crear Referencias Weba los servicios web.



Por lo tanto, se puede escribir un código similar al que se encuentra a continuación para consumir cualquiera de los servicios web(este ejemplo invoca el método getEntities):

//An object reference to the web service EntityManagerSOA is created
EntityManagerSOA.EntityManagerSOA emSOA = new EntityManagerSOA.EntityManagerSOA();

//An XmlDocument object that will contain the XML is created as input
XmlDocument xDoc = new XmlDocument();
xDoc.Load(@"D:\SOA\Inputs\GetEntityRequest.xml");

//The method getEntities of the SOA layer is invoked
XmlNode node = emSOA.getEntities(xDoc);

//Operations are performed to save the results to disk
XmlDocument resp = new XmlDocument();
resp.LoadXml(node.OuterXml);
resp.Save(@"D:\SOA\Outputs\GetEntitiesOutput.xml");

A continuación encontrará el mismo ejemplo pero para el método getEntitiesAsString:

//An object reference to the web service EntityManagerSOA is created
EntityManagerSOA.EntityManagerSOA emSOA = new EntityManagerSOA.EntityManagerSOA();

//An XmlDocument object that will contain the XML is created as input
XmlDocument xDoc = new XmlDocument();
xDoc.Load(@"D:\SOA\Inputs\GetEntityRequest.xml");

//The method getEntitiesAsString of the SOA layer is invoked
string resp = emSOA.getEntitiesAsString(xDoc.OuterXml);

//Operations are performed to save the results to disk
XmlDocument xResp = new XmlDocument();
xResp.LoadXml(resp);
xResp.Save(@"D:\SOA\Outputs\GetEntitiesOutput.xml");



Alerta: Un XML tiene una serie de caracteres especiales que no pueden ser usados en un texto normal, como las cadenas dentro de tags. Estos caracteres son:

  1. Doble comilla(")
  2. Ampersan (&)
  3. Apostrofe (')
  4. Menor que (<)
  5. Mayor que(>)

Si se necesita utilizar una sección CDATA con estos caracteres (vea getEntities).

Por ejemplo: En lugar de <Company>Johnson & Johnson</Company> use <Company><![CDATA[Johnson & Johnson]]></Company>


Temas Relacionados 

<comments />