084 Un Motor De Reglas De Negocio Dinamicas Inserto En El Ecosistema Gene Xus

2,213 views

Published on

Published in: Technology, Travel
  • Be the first to comment

084 Un Motor De Reglas De Negocio Dinamicas Inserto En El Ecosistema Gene Xus

  1. 1. Un Motor de reglas de negocio dinámicas inserto en el ecosistema GeneXus<br />Luciano Silveira<br />lsilveira@artech.com.uy<br />
  2. 2.
  3. 3. It is not the strongest of the species that survives, nor the most intelligent, but those most adaptative to change.<br />Charles Darwin<br />
  4. 4. Desafíos que enfrenta el negocio<br />Toma de Decisiones<br />Regulaciones<br />Tiempo<br />Objetivos<br />Estrategia<br />Incertidumbre<br />
  5. 5. Regla<br /><ul><li>Una declaración que define o restringe algún aspecto del negocio.
  6. 6. El conjunto de reglas de negocio es la colección de políticas y restricciones de negocio de una organización.</li></li></ul><li>Enfoque de Reglas<br />Extraer las reglas de negocio<br />Expresarlas en forma declarativa<br />Independiente de la tecnología<br />Externas a las aplicaciones<br />Compartida y comprendida por la organización<br />Aplicar tecnología<br />
  7. 7. Ejemplos de la vida real<br />Servicios Financieros<br />Seguros<br />Networking<br />Medicina<br />Help Desk<br />Information Centers<br />
  8. 8. IMCI: Iniciativa WHO/UNICEF<br />
  9. 9. Ejemplos de Reglas<br />El total de una orden de compra es la suma de sus líneas.<br />Un cliente nuevo no puede realizar una orden de compra superior a $1000.<br />No enviar órdenes a clientes que no hayan pagado la última factura.<br />Los clientes se identifican por su dirección, código postal y contacto<br />
  10. 10. ¿En GeneXus?<br />Ya existen en Transacciones<br />Rule [ if condition ] [ on event ] [ level att ]<br />AddSubstract<br />Default<br />Error<br />RefcallRefMsgCall<br />
  11. 11. Arquitectura Actual<br />UI<br />BL<br />Base de datos<br />
  12. 12. Propuesta<br />Regla<br />Un objeto en sí mismo<br />Paradigma declarativo<br />Se agrupan<br />Mecanismo de disparo<br />Event<br />Condition<br />Action<br />
  13. 13. Propuesta<br /><ul><li>Rule
  14. 14. [ ifcondition ]
  15. 15. [ onevent… ]
  16. 16. [ levelatt… ]
  17. 17. Rule <nombre>
  18. 18. Propiedades
  19. 19. When
  20. 20. <<condiciones>>
  21. 21. Then
  22. 22. <<Acciones>></li></li></ul><li>Arquitectura Propuesta<br />Edición<br />UI<br />BL<br />Base de datos<br />RuleEngine<br />
  23. 23. Interacción de Objetos<br />Diseño<br />Condición<br />Acción<br />Evento<br />Ejecución<br />Contexto<br />Objeto GX<br />ExternalObject<br />Reglas<br />
  24. 24. Ejemplo de Laboratorio<br />
  25. 25. Clientes<br />Inicialización<br />Segmentación<br />Ejemplo<br />
  26. 26. Un paso más…<br />Experto del Dominio<br />
  27. 27. Lenguaje Alto Nivel<br />
  28. 28. Lenguaje Alto Nivel<br />
  29. 29. Lenguaje Alto Nivel<br />
  30. 30. Factura<br />Validaciones<br />Cálculos<br />Promociones<br />Ejemplo<br />
  31. 31. Flujos<br />Ejemplo<br />
  32. 32. Prototipo<br />Investigación <br />Lenguaje de reglas<br />Lenguaje controlado<br />Interacción con motores existentes<br />
  33. 33. Expresividad<br />
  34. 34. Gerenciamiento de Reglas<br />Repositorio<br />Trazabilidad<br />Temporalidad<br />Test<br />Verificación<br />Validación<br />Simulación<br />
  35. 35. Arquitectura<br />UI<br />BRMS<br />BL<br />Rulebase<br />Base de datos<br />
  36. 36. Resumiendo…<br />Formalizo conocimiento<br />Alto nivel y declarativo<br />Informático Experto<br />Agilidad<br />
  37. 37. Fuente<br />
  38. 38. Event<br />Condition<br />Action<br />
  39. 39. Luciano Silveira<br />lsilveira@artech.com.uy<br />Gracias!<br />

×