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:
Acceder al administrador de entidades de Bizagi:
Consultar las instancias de las entidades Bizagi.
Añadir o modificar las instancias de las entidades Bizagi.
Acceder al motor de flujo de trabajo (workflow) para:
Crear nuevos casos de negocio.
Avanzar actividades de negocio.
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:
getCaseDataUsingSchema: Obtiene toda la información del caso. Los parámetros de este método son el idCase y un XSD con formato XmlDocument.
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.
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.
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.
getCaseDataUsingXPaths: Obtiene toda la información del caso. El parámetro de este método es un XmlDocument con los XPaths de Bizagi deseados.
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.
getEntities: Obtiene la información de una entidad en formato XmlDocument.
getEntitiesAsString: Obtiene la información de una entidad en formato string XML.
getEntitiesUsingSchema: Obtiene información de una entidad (or entidades), especificando la información requerida en un XSD, en formato XmlDocument.
getEntitiesUsingSchemaAsString: Obtiene la Información de una entidad (o entidades), especificando la información requerida en un XSD, en formato string XML.
getEntitySchema: Extrae el esquema de una entidad en un XmlDocument usando el nombre de la entidad.
getEntitySchemaStr: Extrae el esquema de una entidad en un string Xml usando el nombre de la entidad.
saveEntity: Este metodo se utiliza para almacenar y actualizar información en Bizagi usando un documento Xml (XmlDocument).
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:
abortCases: Cancela uno o mas casos basado en el número de caso recibido en un XML con formato XmlDocument.
abortCasesAsString: Cancela uno o mas casos basado en el número de caso recibido en un XML con formato string.
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.
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.
getActivities: Puede ser usada para obtener un listado de todas las actividades sin completar (pendientes, suspendidas o inactivas). Envía y recibe un XmlDocument.
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.
getApplications: Obtiene todas las aplicaciones disponibles en Bizagi; no tiene parámetros de entrada.
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.
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.
getCategories: Retorna las categorías dentro de una aplicación dada. Envía y recibe un XML con formato XmlDocument.
getCategoriesAsString: Retorna las categorías dentro de una aplicación dada. Envía y recibe un XML con formato string.
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.
getClosedActivities: Obtiene un listado de todas las actividades completadas. El XML de envío y recepción se encuentra en formato XmlDocument.
getClosedActivitiesAsString: Obtiene un listado de todas las actividades completadas. El XML de envío y recepción se encuentra en formato string XML.
getEvents: Retorna todos los eventos intermedios disponibles en un proceso, usando XMLs con formato XmlDocument.
getEventsAsString: Retorna todos los eventos intermedios disponibles en un proceso, usando XMLs con formato string.
getWorkflowClasses: Obtiene información acerca de los procesos dentro de una categoría. Este método envía y recibe un XmlDocument.
getWorkflowClassesAsString: Obtiene información acerca de los procesos dentro de una categoría. Este método envía y recibe un string XML.
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.
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.
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.
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.
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.
saveActivity: Este método se usa para simular el evento salvar o guardar en actividades manuales. Envía y recibe un XmlDocument.
saveActivityAsString: Este método se usa para simular el evento salvar o guardar en actividades manuales. Envía y recibe un string XML.
setEvent: Use este método para avanzar un evento intermedio, usando XMLs con formato XmlDocument.
setEventAsString: Use este método para avanzar un evento intermedio, usando XMLs con formato string.
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.
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.
assignActivity: Asigna/reasigna la actividad de un caso a un usuario específico. Este método envía y recibe un XmlDocument.
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:
GetActivityForm: Retorna las formas de una actividad o evento (pendiente) en un caso.
GetFormById: Obtiene una forma particular dado su número de identificación.
GetQueryForms: Este método se usa para obtener las formas de Consulta asociadas a un proceso.
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:
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).
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).
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).
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:
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
- Error manejando la invocacíon de Servicios web
- Otras ventajas del uso de las llaves de negocio
- Cargando archivos usando la capa SOA
- Esquemas de Entity Manager para Servicios Web
- Esquemas del motor de flujo de procesos para Servicios Web
<comments />