4.2 Data Analysis
4.2.9 Communication Skills: Speaking Skill
Como se mencionaba el Capítulo I, se han identificado tres objetivos principales: uno dirigido a reducir el gap semántico existente entre los expertos de negocio y las plataformas de gestión de reglas; el segundo, centrado en facilitar la integración de los procesos de desarrollo de reglas de negocio en el proceso de desarrollo software y, un tercero, conseguir que las expresiones de las reglas de negocio puedan llevarse a SGRNs diferentes mediante procesos semi‐automáticos. Cabe destacar que, en la actualidad, el desarrollo de aplicaciones con reglas de negocio comienza por la elección de un SGRN de entre los disponibles (ILOG, JBoss RULES, FIBCO, etc.) lo que impide reutilizar las reglas desarrolladas en caso de cambio de SGRN.
Teniendo en cuenta los objetivos indicados, este trabajo de investigación se orienta en dos direcciones: una dedicada a introducir lenguaje natural y tecnología semántica en el proceso de definición de las reglas, de manera que los expertos de negocio puedan utilizar su propio vocabulario a la hora de expresar las reglas que deben regir el negocio; la otra línea de trabajo se centra en explotar los estándares existentes en el ámbito de los SGRN para facilitar la integración de esta tecnología en el proceso de desarrollo software y, al mismo tiempo, obtener representaciones de reglas de negocio independientes del SGRN seleccionado para implementarlas.
Evidentemente, la posibilidad de utilizar lenguaje natural es el método más sencillo para que los expertos de negocio, que no disponen de conocimientos técnicos, puedan crear reglas de negocio. Surge entonces un problema a la hora de interpretar semánticamente estas frases en lenguaje natural y su transformación en las aplicaciones correspondientes. Para salvar esta distancia, esta tesis plantea explotar tecnologías de la Web Semántica, cuyo fin último está en línea con este objetivo (Gómez‐Pérez et al.,2004). La aplicación del concepto de ontología en el ámbito de las reglas de negocio conduce a una interpretación común y centralizada del conocimiento sobre el negocio susceptible de ser interpretada por sistemas software. Si los conceptos de negocio a los que pueden hacer referencia las reglas se limitan a través de la ontología, cabe la posibilidad de ligar dichos conceptos a los componentes software que los soportan. Con el fin de asegurar que existen estos componentes software como soporte a los conceptos de negocio, en este trabajo de tesis se toman como punto de partida los modelos UML disponibles en la organización, que representan el conocimiento de negocio a un nivel de abstracción menor que el requerido por los expertos de negocio. La secuencia de transformaciones planteadas se representa en la Figura III‐ 1.
Por otro lado, las reglas de negocio en lenguaje natural deben transformarse también en expresiones comprensibles por los SGRN. Con este fin se plantea en esta tesis la utilización de RIF, un lenguaje estándar para representación de reglas de negocio, descrito en II.4.2.4. Este estándar permite expresar reglas de negocio que hacen referencia a conceptos incluidos en ontologías, descritas, a su vez, a través del lenguaje OWL. La correspondencia entre expresiones en lenguaje natural y las estructuras adecuadas en RIF se basan en el estándar SBVR (estudiado en la sección II.4.2.3), dedicado también a la descripción del modelo de conocimiento del negocio y las reglas asociadas a través de lenguaje natural, eso sí, para el idioma inglés. Se emplea también el concepto de lenguaje específico de dominio (en inglés DSL, Domain Specific Language) para la asignación de palabras o
Introduciendo Semántica en un Proceso de Desarrollo Software a través de Reglas de Negocio
términos a las clases UML y, por extensión, a los conceptos de la ontología. En este caso el idioma específico de dominio viene determinado por los elementos que se han identificado en el modelo UML.
Figura III- 1. Secuencia de transformaciones de lenguaje natural (LN) a lenguajes específicos
Una vez obtenida la expresión en RIF, se transforma a OMG PRR. El objetivo de esta transformación es proporcionar expresiones de las reglas de negocio como elementos de UML, de manera que pueden acompañar al modelo definido para el sistema. La idea es completar la información de diseño Reglas en LN UML OWL RIF OMG‐ PRR Transformación de LN a RIF‐OWL Transformación de RIF a OMG‐PRR Transformación de UML a OWL Meno r nivel de abstracció n Lenguaje Específico Transformación de OMG‐ PRR a Lenguaje de Reglas Específico
Introduciendo Semántica en un Proceso de Desarrollo Software a través de Reglas de Negocio
con una descripción de las reglas de negocio que un experto o un desarrollador hayan podido definir para la aplicación en cuestión.
Según se describió en el capítulo anterior, existen muchos otros estándares que, en principio, podrían sustituir a RIF. De entre ellos, los mejores candidatos frente a RIF serían SBVR y SWRL. El primero es directamente descartable debido a que aún no está resuelto el enlace con la tecnología que podría dar soporte al estándar. Aunque existe una propuesta de sintaxis XML para representar los contenidos de SBVR, no está claro cómo se relacionan esos contenidos con los sistemas de información de la organización en la que se están implantando los vocabularios. A fecha de finales de 2009, existen algunas iniciativas que apuntan a la definición de un perfil UML para SBVR, y ya ha habido algún trabajo orientado al tratamiento automático de datos en formato SBVR como (Cabot et al., 2009), donde se plantea emplear información de los modelos UML y restricciones OCL para construir, de manera automática, contenidos en SBVR. El segundo estándar que podría sustituir a RIF sería SWRL, fácilmente integrable con OWL y con herramientas de apoyo disponibles, como es Protégé, que permite incorporar extensiones para la definición y procesamiento de reglas de negocio en formato SWRL. De hecho, fue la primera opción tomada en este trabajo de investigación para representar reglas de negocio en un formato estándar y fácilmente enlazable con las ontologías que definen el vocabulario. El principal problema observado en este estándar reside en su capacidad semántica. Resulta complejo representar muchas expresiones habituales en el entorno de las reglas de negocio, como el operador disyunción, y, por otro lado, es un lenguaje más orientado a la representación de expresiones empleando lógica de predicados de primer orden, propias de la Lógica Descriptiva (Description Logic, en inglés). Esto hace que el estándar resulte difícilmente aplicable en entornos de reglas de producción, donde RIF se adapta mucho mejor y presenta una mayor capacidad semántica que, a la vez, facilita la interrelación con los sistemas de información que deben implementar las reglas de negocio. Con el fin de facilitar la integración de la tecnología de gestión de reglas en el proceso de desarrollo software se adopta un enfoque de arquitectura basada en modelos, tal como MDA, definida por el grupo de estandarización OMG (ver apartado II.5.3). Como es sabido, la idea principal detrás de estas metodologías reside en la descripción de las aplicaciones empleando distintos modelos, adecuados al nivel de abstracción requerido. Estos niveles de abstracción permiten distinguir descripciones de los sistemas independientes de los componentes software o hardware que los implementan de las descripciones de esos mismos sistemas una vez se ha fijado el entorno tecnológico en el que se desenvolverá.
En el proceso de desarrollo de reglas de negocio considerado en este trabajo de tesis se explota una arquitectura basada en modelos que permite transformar de manera automática las distintas expresiones de las reglas de negocio entre los distintos niveles de abstracción considerados. Las transformaciones necesarias son las destacadas en la Figura III‐ 1 y descritas en el siguiente apartado. Gracias a esta aproximación, un usuario capaz de definir reglas en lenguaje natural puede obtener, automáticamente, implementaciones de dichas reglas sin necesidad de tener conocimientos técnicos o sobre estructura de los sistemas de información empleados en la organización.