Una de las grandes promesas del uso de BPM, en conjunto con arquitecturas orientadas a servicios, es la capacidad de poder automatizar procesos de negocio de forma flexible, utilizando servicios e información de aplicaciones existentes. El objetivo de este tutorial es mostrar cómo se puede lograr esto a través del Composite Application Framework de SAP.
El Composite Application Framework (CAF) es un conjunto de herramientas para integrar componentes de manera que formen una sola aplicación, enfocándose al diseño y configuración con un mínimo esfuerzo de programación. A través del CAF, podemos ensamblar aplicaciones a partir de cualquier componente definido en SAP NetWeaver, o componentes externos a través de estándares y protocolos como SOAP, XMLA, servicios de SSO, RMI, IIOP, entre otros.
Recordemos que NetWeaver es la plataforma sobre la que se ejecutan las aplicaciones de SAP. Adicionalmente, provee servicios para integración entre aplicaciones e interacción con componentes externos. Así que en resumen, NetWeaver es el middleware de integración y ejecución para las aplicaciones de SAP.
Figura 1. Plataforma NetWeaver
En este tutorial, crearemos un “Guided Procedure”, que es un proceso orientado a usuarios. Esto se hace en el portal de SAP, el cual nos permite diseñar procesos para luego ejecutarlos ahí.
Instalación de SAP NetWeaver Sneak Preview
Afortunadamente, es posible descargar de forma gratuita una versión de evaluación del ambiente de desarrollo y ejecución de la plataforma NetWeaver. Esto se obtiene a través del portal para desarrolladores de SAP (sdn.sap.com).
Una vez que se registran y entran al SDN, en la sección de “Downloads” seleccionan el “Sneak Preview SAP NetWeaver...” y posteriormente seleccionan la “Full Java Edition 2004s”, que es la más completa. Tengan en cuenta que los instalables miden cerca de 5GBs, así que tengan paciencia o descárguenlos desde una conexión muy rápida. También consideren que van a necesitar una máquina con un mínimo de 1GB en memoria.
Comenzando
Una vez hecha la instalación, podemos dedicarnos a desarrollar un workflow. En este caso, vamos a implementar uno muy sencillo con los siguientes tres elementos:
• Captura de información.
• Búsqueda de información relevante a los datos del proceso.
• Autorizaciones de otros usuarios.
Para implementar este proceso, los pasos a grandes rasgos son:
-
1. Crear un usuario y los roles correspondientes.
2. Crear los componentes que se utilizan en el flujo.
3. Crear el flujo y ejecutarlo.
Administración de Usuarios
La administración de usuarios se realiza a través del mismo portal de SAP. Para crear los usuarios seguiremos los siguientes pasos:
-
1. Entrar en el portal utilizando el URL http://localhost:50000/irj con el usuario y password ‘admin’, que son los preestablecidos por default.
2. Seleccionar la ceja “Gestión de usuarios” y la ceja inferior “Usuarios”.
3. Seleccionar la liga “Crear usuarios”, en la sección de Navegación detallada.
4. Llenar los campos obligatorios (son los que tienen un asterisco rojo) y hacer click en el botón “Crear” (hay que hacer scroll hacia abajo). En este ejemplo, crearemos un usuario llamado Blanca Gómez (bgomez).
Ahora asignamos roles a este usuario. En SAP Portal, los roles se relacionan con las páginas y aplicaciones que un usuario puede acceder. Asignaremos los roles para diseñar, ejecutar y administrar guided procedures.
Buscaremos el usuario dentro de la administración de roles y luego le asignamos los pertinentes:
-
1. Seleccionamos la ceja “Gestión de usuarios” y la ceja inferior “Roles”.
2. Seleccionamos “Usuarios” en el dropdown-list y ponemos bgomez en la caja “Buscar”.
3. Hacemos click en “Iniciar”.
4. Cuando muestre el resultado, hacer click en la liga “Tratar”, del renglón de bgomez.
5. En esta pantalla buscaremos el rol *eu* en el panel inferior del lado izquierdo. Seleccionaremos los dos renglones que aparecen y haremos click en “Añadir”.
6. Hacer click en “Guardar”.
Para comprobar que se han asignado correctamente los roles, hay que entrar al portal (http://localhost:50000/irj) con “bgomez” y revisar que se tiene la ceja “Guided Procedures”.
Elementos de un Guided Procedure
Antes de continuar, necesitamos conocer los elementos con que cuentan los Guided Procedures para implementar un flujo de trabajo. Estos son:
Callable Object. Un callable object encapsula un componente técnico para ser usado de forma fácil en un proceso.
Action. Un action (acción) es una actividad en el proceso. La acción a su vez encapsula un callable object, y le agrega atributos como permisos, documentos y atributos de vigencia con notificaciones.
Block. Un block (bloque) es una secuencia de acciones, otros bloques e incluso procesos. Los elementos de un bloque se pueden ejecutar en forma secuencial, en paralelo, en ciclos o de manera discreta (como un block case).
Los datos que fluyen en un bloque se definen relacionando los parámetros de las acciones y bloques que contiene. A este proceso se le llama Consolidación de Parámetros. En un bloque también se definen los responsables que se van a encargar de realizar las acciones. Este proceso se llama Consolidación de Roles. A un bloque también se le pueden asociar documentos y ligas.
Proceso. Un proceso consta de una serie de bloques o procesos, agregando las siguientes características:
• Definir el número de instancias que se pueden ejecutar de manera simultánea.
• Asignar de manera predefinida usuarios o grupos a los roles definidos en los bloques.
• Consolidar roles: crear roles a nivel proceso a partir de los roles de los bloques o procesos que lo conforman.
Uso de la Interfaz Gráfica
La interfaz para definir Guided Procedures se accede por el browser y se encuentra en la ceja “Guided Procedures”, en la ceja inferior “Design Time”. En este caso usaremos a Blanca Gómez como creadora del proceso (los permisos son muy importantes en la creación del proceso).
Los elementos de Guided Procedures (Callable Objects, Acciones, Bloques, etc) se agrupan en una estructura similar a un sistema de archivos. El acceso y administración de estos elementos se hace en la Galería de Guided Procedures.
Tenemos controles para crear y borrar carpetas, ligas para crear componentes y un área que muestra un resumen del componente seleccionado. En todas las pantallas de creación de componentes, existe una liga arriba y del lado izquierdo con la etiqueta “Gallery”, que siempre nos remite a esta interfaz.
Figura 2.. Galería de Guided Procedures
Creación de Callable Objects
Seleccionemos el icono “Root” y luego hagamos click en “Create Folder” al que vamos a bautizar como TutorialGP.
Seleccionemos este nuevo fólder en la galería y luego la liga “Create Callable Object”. Vamos a crear varios objetos de esta manera:
El primer Callable Object que crearemos será un objeto de búsqueda de información. Así que al crear el objeto seleccionaremos el tipo “Web Pages” y lo nombraremos “InfoMarca”. Haciendo click en “Next” nos lleva a la pantalla para definir el URL de la página. Ingresaremos http://www.google.com/search?hl=es. En la siguiente pantalla podemos ingresar los parámetros adicionales para el URL. Vamos a insertar uno con los parámetros “Technical Name” = q y “Name” = Marca. Continuamos con las siguientes pantallas hasta el final en donde hacemos click en “Finish and Open”.
Una vez que hayamos dado click en “Test callable Object” para probar que todo esté bien, debemos activarlo para poder usarlo. Esto se hace con en “Activate Callable Object”.
Es muy importante activar TODOS los objetos creados (Actions, Blocks, etc) para poder utilizarlos.
Para regresar a la galería seleccionamos la liga “Gallery” en la esquina superior izquierda.
El siguiente objeto que crearemos será un Objeto de Captura de datos. El tipo es “Data Forms/Data input form”, y le vamos a poner el nombre CapturaDatos. Seleccionamos “Next” en el paso “Define Object” y en la pantalla siguiente insertamos cuatro campos de tipo string: • nomAsegurado (Nombre) • apAsegurado (Apellidos) • marcaAuto (Marca del auto) • modeloAuto (Modelo del auto)
Finalizamos la creación de nuestro objeto, lo probamos y lo activamos.
Seguimos con un Objeto de aprobación. El tipo es Process Control/Visual approval con el nombre “Aprobacion”. En el paso “Define Input”, crearemos los mismos campos que en el objeto de captura de datos (lo hacemos así por facilidad, pero pudieran tener nombres diferentes). Finalizamos la creación del objeto, lo probamos y lo activamos.
Acciones
Para crear las acciones que necesitamos hacemos lo siguiente:
En la galería, seleccionamos nuestro fólder de trabajo, y “Create action”. Entonces ingresamos “Capturar datos de la póliza” y seleccionamos “Save and open”.
Aquí veremos las actividades para configurar la acción. Damos click en la liga “Callable Objects” y se presenta la pantalla para crear o escoger el Callable Object a asociar a esta acción. Hacemos click en “Choose...” del renglón “Object for Execution”, seleccionamos nuestro objeto CapturaDatos, y damos click en “Save”. Recuerden activar la acción después de hacer esto.
Ahora vamos a crear una acción denominada “Aprobar póliza”, relacionada con el objeto de aprobación. Sin embargo, en esta ocasión asociaremos el objeto de búsqueda como una liga que aparecerá en esa acción, para asistir al usuario a buscar autos. Para esto, seguimos los mismos pasos, pero antes de activar vamos a hacer click en “Add info Callable Objects”, y agregamos el objeto “InfoMarca” y salvamos. Por último, seleccionamos de nuevo “Add Info Callable Objects” y hacemos click en el botón “Map Parameters”. Aquí relacionamos el parámetro del objeto de búsqueda con los parámetros de nuestra acción. Seleccionamos “marca” en ambas listas y click en “Done”. Luego salvamos y activemos la acción.
Definición del Proceso
Utilizaremos un método que crea un proceso con un bloque. Para esto, vamos a la galería y seleccionamos nuestra carpeta y luego “Create Simple Process”. Después de pasar la pantalla de bienvenida, damos nombre al proceso y al bloque que lo compone. Aceptamos el tipo de bloque secuencial y pasamos a la siguiente pantalla.
Flujo. Comencemos por definir el flujo en caso de que la póliza no se apruebe. Para esto, expandamos el elemento “Aprobar póliza”, y seleccionamos “Input data is rejected”. Después hacemos click en “Define Target...” y seleccionamos “Capturar datos de la póliza”. De esta manera indicamos que mientras no se apruebe la póliza, esta va a regresar a la captura.
Consolidación de parámetros. Relacionamos los parámetros de las acciones de nuestro proceso entre sí. Para realizar esta relación seleccionemos los elementos a asociar (Ej. los “nombres”), escribimos un nombre en el campo “Consolidate To” y damos click en “Go”.Posteriormente hacemos lo mismo con los demás parámetros.
Consolidación de roles. Aquí se asocian los roles de diferentes actividades y se les asigna un nombre. Dejemos esta pantalla como está y terminemos el proceso guardando y activando.
Visualizar el panel de ayuda de acciones. Para visualizar el panel de ayuda de las acciones hay que seleccionar el proceso en la galería (hay que actualizar la página) y hacer click en “Open”. Después, seleccionar la liga “Select Views” (aceptar crear una nueva versión en la ventana que se despliega) y presionar el botón “Save”. Activar el proceso de nuevo.
Ejecución del Proceso
Para ejecutar el proceso, nos vamos a la pestaña “Runtime” y seleccionamos la liga “Start a process”. Esto nos presenta la galería, donde seleccionamos nuestro proceso y damos click en “Next”.
- 1. Asignación de grupos y usuarios. Al iniciar un proceso hay que indicar los usuarios de los roles. Tenemos los roles definidos mas tres administrativos. Para asignar usuarios hacemos click en “Add user”, buscamos a “bgomez”, y le asignamos todos los roles.
2. Iniciar el proceso. Damos un nombre a este proceso y seleccionamos “Initiate”.
3. Utilizar el proceso. El sistema nos muestra las tareas y actividades, marcando las actividades realizadas y, presentando en la sección de “Options”, los objetos de ayuda que nosotros asociamos a ciertas acciones.
4. Podemos consultar en la pestaña “Runtime” los procesos en curso y las actividades realizadas y por realizar.
Conclusión
Este tutorial presentó con un ejemplo simple la forma de integrar la información de diversas fuentes y aplicaciones en un flujo de trabajo orientado a usuarios. La manera de configurar y modificar los procesos en Guided Procedures es realmente fácil, utilizando aplicaciones existentes. Para más información, consultar las guías de configuración y desarrollo, en la sección de xApps en: sdn.sap.com
- Log in to post comments