Día 2: Create an Application: First Steps, ¿Que te llevas de la actividad?
Discussion posts and replies are publicly visible
Apuntes para:
Buen día
Comparto Resumen, elaborado por Ana Karen Garcia Braulio.
Temas: -Manage Users and Groups- -Expressions: Transform Data-
-Manage Users and Groups-
El objetivo de este módulo es mostrarnos la creación de nuevos usuarios en Appian Designer, la modificación de accesos para los usuarios básicos con grupo de aplicaciones y sistemas.
Los Grupos son los primeros objetos que se tienen que construir en la aplicación, proporcionarán la base para la organización y la seguridad de la aplicación. La edición manual se realiza principalmente en los entornos del desarrollo o de prueba cuando solo necesita un número limitado de usuarios. En producción Appian permite automatizar el proceso de agregar usuarios de forma masiva.
El nivel de permisos de Administradores significa que los miembros de un grupo podrán administrar el objeto, eliminar el objeto o modificar sus seguridad.
Los grupos funcionales se basan en la función o tareas realizadas por los usuarios de grupos.
-Expressions: Transform Data-
El objetivo de este módulo es mostrarnos la creación de carpetas de aplicaciones para almacenar objetos de regla de expresión, identificar diferentes secciones del aditor de expresiones.
Los tipos de datos complejos son estructuras no modificables, utilizar campos que son utilizados por componentes en Appian. Uno de los tipos de datos complejos que encontrará es DataSubset.
Un Tipo de datos personalizado es un objeto que contiene campos definidos por el usuario, con sus campos asociados.
Varias funcionalidades de Appain no se comportan correctamente ando un valor es nulo, lo que se debe hacer es NO ejecutar la función si el valor es nulo, si no que devuelva una cadena de texto o valor de marcador de posición. Únicamente usamos las variables locales cuando necesitamos hacer referencia al mismo conjunto de datos múltiples veces en una sola expresión.
Quedo pendiente para cualquier duda o comentario.
PDFTania Luis
Resumen Appian Essentials
Héctor Muciño
De esta actividad me llevo las nociones básicas de la construcción de una aplicación en Appian y los elementos que la constituyen.
En esta lección me quedaron las bases y buenas prácticas para iniciar una aplicación en Appian. Empezando con la activación del entorno de pruebas a través del portal, donde una vez activado, podemos empezar a crear nuestra aplicación.
Una vez en el entorno, entramos al diseñador de Appian, de donde podemos controlar todas nuestras aplicaciones y objetos, de una forma fácil e intuitiva. Una vez aquí, podemos empezar a crear nuestra aplicación, siguiendo algunas buenas prácticas que se nos recomiendan, como manejar un prefijo único por cada una, así como los objetos con los que cuenta.
Podemos crear la aplicación con la configuración de manera automática o de forma manual, pudiendo crear las carpetas uno mismo, o dejar que Appian nos las cree por nosotros. Es importante mencionar que todos los objetos se almacenan en carpetas, para una mejor organización y seguridad, al poder aplicar permisos en cada una.
Una vez creada la aplicación y las carpetas, se puede revisar los diferentes tipos de objetos con los que cuenta el entorno de Appian, algunos principales tipos de objetos son:
Record Types: Es la forma principal de interactuar y manipular nuestros datos, los cuales pueden venir de diferentes fuentes, como base de datos relacional, Web Service, etc.
Process Models: Permiten crear workflows de los diferentes procesos de la aplicación, ya sea donde interactualn manualmente los usuarios, o crear procesos automatizados para las diferentes tareas.
Expression Rules: Permiten que a través de código escrito manualmente, manipular el funcionamiento de determinados objetos, dando un mayor alcance a su uso.
Interfaces: Permite a través de un canvas, crear Interfaces de usuario de una manera rápida y sencilla, como arrastrar y soltar, teniendo una amplia gama de componentes y herramientas, para crear pantallas bastante avanzadas, con las que interactuará el usuatio final.
Es importante mencionar, que los permisos a los diferentes grupos, que les otorguemos a las carpetas, serán automáticamente heredados a los hijos (objetos) haciendo esto mucho más ágil y seguro.
PDF
Hola buenas noches.
De acuerdo a esta actividad me ayudo a conocer más el entono de trabajo de Appian, el cual seguire descubriendo mas a que es lo que conlleva y seguir aprendiendo de este gran software.
Comparto parte de mis apuntes.
Primer programa Appian.docx
Isaac Balam Lira Ramirez
Create An Application
El “Diseñador de Appian” es en donde crearemos y gestionaremos nuestras aplicaciones. Debemos seleccionar crear una aplicación y rellenar los campos requeridos. Una vez creada la aplicación aparecerá el Diseñador de Appian. La aplicación es un contenedor de los objetos relacionados que se usan para construirla. Al hacer abrir una aplicación primero se mostrará la vista Explorar, dicha vista nos brinda información sobre la estructura de la aplicación, los paquetes y la documentación de respaldo. Finalmente la vista Construir nos permitirá crear y configurar los objetos de una aplicación.
Para crear una nueva aplicación, hacemos clic en Nueva aplicación, después se agrega un nombre y la descripción. Appian creará un prefijo de aplicación. Se nombrará cada objeto con el prefijo de aplicación al comienzo de su nombre (es una práctica recomendada).
Para asignar seguridad a la aplicación debe ser a un grupo de usuarios. El grupo de administración se configura como los administradores de la aplicación y los usuario básicos son espectadores.
Tipos de objetos
Existen distintos espacios de trabajo y podemos acceder a ellos en Appian: Los espacios son los siguientes:
Manage Users and Groups
Los grupos son de los primeros objetos que se construyen en una “App”. Los grupos son muy importantes porque sientan las bases de la organización y seguridad de nuestra aplicación. Es importante a la hora de crear una aplicación mantener seleccionada la casilla “Generate groups and folders to secure and organize objects”. Esto permite a Appian generar los grupos y carpetas básicos de la aplicación.
En Appian hay dos tipos de usuarios:
Por defecto los “Basic Users” no tienen acceso a nada en una aplicación, nosotros tenemos que brindarles el acceso. Para que los usuarios tengan accesos a objetos y funciones de la aplicación hay que ponerlos en grupos.
Los “System admin” tienen accesos administrativo a todo su entorno en Appian que incluye acceso a aplicaciones, pueden diseñar objetos, administrar objetos, y también pueden acceder a la “Admin Console”. También pueden crear y modificar usuarios.
Why Groups? (¿Por qué grupos?)
Grupos son muy importantes porque damos seguridad con ellos a los objetos de diseño para que no puedan ser modificados, y los usamos para definir quien puede o no ver ciertas partes de la aplicación.
Razones por las que se utilizan los grupos:
Grupos de Aplicación
Cada aplicación tendrá su propio conjunto de grupos pero como buenas práctica siempre es indispensable tener los siguiente grupos: All User, Administrators, Functional & Role-Based.
El grupo All Users es el grupo padre de todos los demás, es decir contiene todos los demás grupos dentro de sí mismos y también contiene usuarios; recuerda que no debemos agregar usuarios a este grupo ya que se añadirán automáticamente cuando los agregues a otro grupo si lo configuraste como “parent group”.
El grupo Administrators pueden crear, modificar, modificar y asegurar objetos de la app. En algunas app existe el grupo Designers los cuales tienen derechos de administrador para algún subconjunto de objetos en la aplicación.
Crear grupos
Pasos para crear un nuevo grupo en un app
All Users Group
New > Group > Fill fields (Name: Prefix + All Users, Description, Parent Group: “”, Group Type: Custom, Visibility: Public, Privacy Policy: Low) > Click Create > Click Save
Administrators Group
New > Group > Fill fields (Name: Prefix + Administrators, Description, Parent Group: “AA All Users”, Group Members: Yo, Group Type: Custom, Visibility: Restricted, Privacy Policy: Low) > Click Create > Click Save
Una vez creado el grupo Administrators debemos configurar All Users para darle seguridad con el grupo Administrators.
Click All Users > Gear Icon > Security > Add Users or Groups > Add AA Administrators
Cuando ya hayamos creado nuestros grupos, añadiremos usuarios a los mismos y aseguraremos la aplicación.
Es importante que cuando hayamos creado los grupos, vayamos a la configuración de la aplicación y añadamos los grupos y el nivel de permiso que tienen.
Los cuatro niveles de seguridad son:
Expressions: Transform your Data
Usamos Expression Rules cuando necesitamos manipular datos, estas ejecutan una amplía gama de funciones como la recuperación, el formato y la transformación de datos.
Las expresiones pueden ser creadas y utilizadas en varios objetos de Appian. Se crean a través del editor de expresiones, además son reutilizables. Mientras trabajamos con objetos podemos observar el ícono del editor de expresiones.
Podemos usar expresiones para crear “Record Type Views” y registrar opciones. En las interfaces podemos cambiar a el modo “Expression Mode” y observaremos que las interfaces están escritas como una expresión realmente larga. Aunque mediante la Interfaz de Usuario podemos editar pedazos de esa expresión para hacerlo más fácil de entender.
Antes de empezar a trabajar en una Expression Rule debemos crear un folder. Recordemos que tanto Expression Rules, Queries, Interfaces, Decision & Constants son almacenados en folders, esto con la finalidad de que estén ordenados y puedan ser asegurados. Como las aplicaciones cuentan con muchas rosas es recomendado crear una carpeta “<Prefijo> Ruels” y dentro de ella subcarpetas para organizar.
Nota: Las Expression Rules heredan su seguridad de los folders.
Para crear un folder hacemos
New > Folder > Fill Form
Para crear una Expression Rule
New > Expression Rule > Fill Fields (Name: <Prefijo>_Nombre, Descripción, Save In: Your Rule Folder) > Create. Después de su creación la regla se abrirá el editor de expresiones.
El Editor de Expresiones tiene cuatro secciones principales:
Nota: Guarda seguido, no hay autoguardado en el editor de expresiones.
Tipos de Datos
Tipos de datos primitivos
Tipo de Dato
Text
“Here is a text type”
Numbers
211
Tipos de datos complejos: Son estructura no modificables que cuentan con campos predefinidos
DataSubset
Este tipo de dato representa la estructura devuelta de un query
Tipo de dato “custom”
Son tipos de datos que contienen datos definidos por el usuario.
Funciones Appian
En el editor de funciones puedes ver un icono “fx” con el tooltip “view function”, aquí podemos observar todas las funciones, o podemos teclear “fun” con el mismo propósito.
Función Lógica IF
Devuelve un resultado dependiendo de la condición que se le pase como parámetro. Esta función se puede usar en conjunto con la función “and” o “or”.
Función TODAY
Devuelve la fecha de hoy.
Función NOW
Devuelve la fecha de hoy con la hora y la zona horaria.
Función TEXT
Se usa para transformar datos a tipo texto.
Función LogInUser
Retorna al usuario que está actualmente interactuando con la pantalla.
Variables
Las usamos para representar datos que cambian con el tiempo. Las variables pueden ser definidas como cualquier tipo de dato. Se recomienda escribir el nombre de las variables en “camelCase”. Cuando queremos usar las variables de Rule Input debemos usar el prefijo “ri!”. Si el valor no cambia es mejor usar una Constant. Podemos definir variables locales pero solo pueden usarse dentro de la función que las define (“a!localVariables” se usa para definirlas y dentro de ella usamos “local!” para las variables).
Arrays
Son una colección de datos, y para escribirlos usamos la sintaxis “{ <e>, <e1>, …n }”. En Appian los idex de los Array empiezan en 1. Para obtener el dato de un arreglo usamos “[idx]”. Los diccionarios son usados como un tipo de array, en estos podemos declarar un nombre para un campo en lugar de usar un index. Para extraer datos de un diccionario usamos un punto seguido del nombre del valor o la función index. Si usamos un Map no es necesario hacer conversiones al extraer los datos.
Conversiones
Cuando usamos conversiones, estas funciones normalmente tienen el prefijo “to”, proporcionamos como argumento el valor a ser convertido. Aunque en algunos casos tendremos que usar “cast”.
Calling Objects
Podemos llamar expresiones desde un objeto. Todos los objetos que son considerados “Business Rules” pueden ser llamados entre ellos usando “Expression Rules”. Objetos considerados “Business rules” son Expression Rules, Interfaces, Integrations, Decision Objects & Constants. Para referenciar estos objetos, menos las constantes (“cons!”), usamos “rule!”. Es una buena práctica usar una carpeta global para compartir Expression Rules comúnmente usadas.
Testing and Troubleshooting Expressions
Appian verifica algunos aspectos de una expresión antes del run-time y checa algunas funcionalidades después del run-time. Error antes de run-time aparecerán indicados por un triángulo rojo en el editor. También te indica si te refieres a una expresión no existente al subrayarla con gris. Cuando ejecutas una expresión Appian hace chequeos adicionales, es decir lanza mensajes si por ejemplo no llenas los parámetros de una función. Se recomienda hacer Test seguido. Debemos considerar casos y podemos crear Test Cases para probarlos. También podemos ir guardando versiones y comparar el código con versiones anteriores.
Step-by-step # 2
Step-by-step # 3
Step-by-step # 4
--
Create an Application
Las aplicaciones se crean en the Appian Designer.
The Appian Designer se utiliza para crear y administrar aplicaciones y objetos.
Podemos usar Build view Para crear y configurar objetos de diseño en una aplicación
Tenemos diferentes tipos de iconos para presentar objetos, entre ellos estan los grupos, record types, process models, expression rules, sites e interfaces
Dentro del knowledge center folder debemos guardar : images, documents o cualquier tipo de archivo cargado
Manage U&G
User Types
Basic Users - no tienen acceso a nada de la aplicación hasta que les proveamos acceso al añadirlos a un grupo
System Administrator - tienen acceso por default a toda la aplicación, pueden diseñar o administrar objetos y acceder a la consola de administracion.
Options for adding users
Usualmente añadimos usuarios manualmente cuando estamos trabajando en un ambiente de desarrollo o de prueba debido a que solo necesitamos un numero limitado de usuarios para probar la aplicacion. Sin embargo, al trabajar en un ambiente de production podemos automatizar este proceso utilizando LDAP Y SAML desde la Admin console, LDAP Tools application o Group Management Application.
Why Groups
Debido a que cada grupo tiene distintos niveles de acceso, solo se proporcionan los accesos requeridos para cada grupo, por default solo los administradores tienen acceso a los objetos.
Los grupos ayudan a:
Security (seguridad) - solo se debe tener acceso a lo que corresponda el rol del grupo
Access to App features - acceso a las características de la app dependiendo del grupo al que pertenezcan así como a las vistas a las que deban tener visibilidad
Assignment of task and messaging - dependiendo del grupo se tiene acceso a distintas tareas y mensajes
Best practice - La seguridad siempre debe ser establecida a grupos y no a usuarios especificos
Application Groups
Best practice - todas las aplicaciones deben de contener los siguientes grupos
All users - Es el grupo padre de todos los demas grupos, contiene todos los usuarios y grupos, los usuarios son añadidos a este grupo automaticamente, por lo cual no necesitas añadirlos.
Administratos - Incluye a los usuarios que pueden administrar la aplicación y que tiene la capacidad de crear, modificar, borrar y proveer seguridad los objetos de la aplicacion
Role-based groups - Estos grupos son creados para los usuarios de la aplicación y depende en el contexto de la aplicación (business users)
Functional Groups - Estos grupos están basados en la actividad que realiza el usuario
Best Practice
Create Groups - Pasos para crear grupos en orden siguiendo best practices
Una vez que cree los grupos ¿que sigue?
Add users to your groups - añade usuarios a tus grupos
Secure your application - Permision levels
Transform your data
Rule folder security
Expression rules heredan la seguridad de los folders, por lo cual establecer
La seguridad apropiada en el folder correspondiente ayuda a administrar mas facilmente
Security for rules es unicamente aplicable para developers
Data Types
Primite system data types (basic data types)
Text, numbers, boolean, dates
Complex data types (basic data types) : non-modifiable structure of pre-defined fields
Datasubset : tipo de dato representa los datos retornados por una query/peticion
Custom Data Types : Objeto que contiene los campos definidos por el usuario , emparejados con el tipo de dato
Al testear una "expression" podemos checar que tipo de dato es retornado por la misma mediante el output
Appian Functions
La documentación es mostrada en el editor
Tenemos funciones como if(condicion, si es verdadera, si es falsa)
Tenemos funciones de tiempo date, now
Tenemos la funciona de calendario, cal
Tenemos la funcion loggedinuser, la cual retorna el usuario actual
Funciones de currency o moneda retornar valores de texto
El prefijo a! identifica las funciones de tipo SAIL
Rule input son definidas con ri!, funcionan para pasar informacion en ejecucion
Para manejar algun valor nulo podemos ocupar la funcion "isnull"
Las variables son usadas cuando el tipo de dato es variable
Pueden ser definidas como tipos de datos primitivos, o como objetos. Se recomienda declarar el nombre de la variable en minuscula
Podemos ocupar una "constant" si el valor no va a cambiar y es utilizado en múltiples lugares
Podemos ocupar local variables cuando solo son usadas unicamente dentro de una funcion o son usadas de manera temporal, podemos ocupar la syntax
!localVariables(
Local!a:valor)
Colección de datos pueden contener distintos tipos de datos
Como de texto, numericos, etc.
El index en Arrays comienza en 1
Para definir un array ocupamos la siguientes syntax:
{"azul","verde"}
{1,2}
Podemos utilizar dictionaries para utilizar key:values y posteriormente una conversion o casting
Otra opcion es ocupar la funciona a!map(definir key y values) debido a que evitamos conversion o casting
Conversions
Todate(para convertir un string en un date)
Podemos ocupar touniformstring() para convertir una lista de variantes en texto manteniendo la estructura de la lista, por otro lado si utilizamos tostring convertira la lista en un solo objeto de texto
Nunca usar una interfaz utilizada por otra aplicación, lo correcto es copiarla y utilizarla.
Testing and troubleshooting expressions
Si hay un error en la expresion un triangulo rojo será mostrado
Cada expresión correctamente configurada producirá un output
Testear la expresion al ir construyéndolas nos será de utilidad y lo hará mas sencillo
Podemos crear escenarios y guardarlos como test cases
En este día aprendí sobre cómo se crea una aplicación de Appian, así como su configuración y como usar la plataforma de Appian para la administración de las aplicaciones.
Así como la importancia que tienen los usuarios y los grupos dentro de estas aplicaciones para que tengan una mayor seguridad al limitar las acciones y los permisos que tengan cada usuario y grupo.
Usuarios
Appian tiene 2 tipos de usuariosBasic User y AdministradoresSolo los administradores tienen acceso a la consola de administración. Asi como los usuarios basicos no tienen acceso a algunas funciones de la aplicacción por medio de los sites. Se pueden cambiar los tipos de usuarios y egregarlos a los grupos de desarrolladores de ser necesario.
GruposLa importancia de los grupos es Appian es debido a que se asegura la edición de diseño de los obejtos, asi como para definir la seguridad de quien puede ciertas caracteristicas de la aplicación. El uso de estos grupos se utiliza por 4 razones principales:
Como buena practica es recomendable que para tener una mayor seguridad se asigne las tareas a un grupo y no a una persona individualmente. Tambien se deben de contemplar 3 grupos principales;
Creando el grupo administradores servira para proteger el grupo All Users haciendo que esta se herede en todos los demas grupos que se creen porteriormente y habra una mayor seguridad en la aplicación.
Expressions: Transform Data
El editor de expresiones tiene 4 secciones principales:
Tipos de datos
Funciones en Appian
Así como con los tipos de datos y la plataforma de Appian en general, etsas cuentan con su documentación la cual te ayuda a saber como se utilizan las funciones definidas por el sistema.
Estas son algunas funciones que ya vienen definidas dentro de Appian:
Las funciones de Appian SAIL empezaran con el prefijo "a!" y en su mayor parte funcionan como las otras funciones que no tienen prefijo.
Step-By-Setp #2
Step-By-Step #3
Step-By-Step #4