• No se han encontrado resultados

Sistema para el Analisis y Monitoreo de Negocios.

N/A
N/A
Protected

Academic year: 2023

Share "Sistema para el Analisis y Monitoreo de Negocios."

Copied!
113
0
0

Texto completo

(1)

I Facultad 1

Sistema para el Análisis y Monitoreo de Negocios.

TRABAJO DE DIPLOMA PARA OPTAR POR EL TÍTULO DE INGENIERO EN CIENCIAS INFORMÁTICAS

Autor(es)

: Arlenys Herrera González Dayron Hernández Ramos

Tutor

: Ing. Jofman Pérez Tarancón

Ciudad de la Habana, 2008

“Año 50 de la Revolución”

(2)

II

“El futuro pertenece a aquellos que creen en la belleza de sus sueños.”

Eleanor Roosevelt

“Una pila de piedras deja de ser una pila de piedras en el momento en que un solo hombre la contempla, concibiendo por dentro la imagen de una catedral.”

Antoine De Saint-Exupery

(3)

III Mi mamá, mi papá, mis abuelos y mi novio.

Arlenys Herrera González

Dedicada:

A mi madrecita linda, la mejor madre del mundo, que supo darme apoyo, comprensión y, sobre todas las cosas, mucho amor.

A mi abuelita que la quiero muchote y quien cree en mi.

A mi hermano que lo he tratado de guiar y que vea en mi más que un hermano, alguien en quien confiar y quien siempre va a estar ahí para ayudarle.

Al viejo por sus consejos, la dedicación durante todos estos años y por estar ahí cada vez que necesite un padre.

A mi pequeña familia que tiene un corazón de gigante, por quererme, comprenderme y apoyarme, gracias a mis tiitas, primos y tíos.

A todos aquellos que me apoyaron, por confiar en mí y hacer posible este sueño.

Dayron

(4)

IV A mi mamá y mi papá por estar conmigo en todo momento, por haberme guiado en la vida y regalarme muchos momentos de felicidad. A ustedes que con su dedicación y entrega me han ayudado a ser lo que soy y que lo son todo para mí….Los quiero mucho, mucho.

A mis abuelos que han estado pendientes de mí toda la vida y me han apoyado en todo momento. Los adoro con la vida.

A mi novio que pacientemente me ha escuchado, me ha aconsejado y me ha apoyado durante este tiempo. Te amo.

A Dayron, mi compañero de tesis, por ser parte del mayor sueño de mi vida.

A toda mi familia que de una forma u otra me ha ayudado y apoyado en los momentos difíciles. Los quiero……

A mis compañeras de apartamento que han estado junto a mí durante estos 5 años.

Las llevo en el corazón.

A todas las personas que me han ayudado y apoyado para lograr este sueño.

Arlenys

Muchas gracias primero que todo a Jofman que ha sido un amigo para mí, que me ha exigido y ha sabido encaminarme en este trabajo, le agradezco de todo corazón que me haya ensenado a no rendirme, y a ser cada día un hombre más preparado profesionalmente.

Muchas gracias a mi compañera de tesis, por compartir este sueño conmigo, creo que sin ella no lo hubiese logrado, muchas gracias Arle.

Muchas gracias a todos los profesores que desde mis estudios más tempranos

sembraron en mí un poquito de su experiencia y conocimiento para que hoy pudieran ver sus frutos.

(5)

V Muchas gracias a todos aquellos que me dieron su mano firme al final de este largo recorrido.

Serian innumerables…pero creo que si se queda alguien, sería un amigo, así que no se pondría bravo…

Muchas gracias a todos los que de una forma u otra hicieron posible que hoy este aquí y sea quien soy.

Dayron

A nuestro tutor por la confianza depositada en la realización de este trabajo.

A nuestro eterno Comandante en Jefe y a la Revolución, que han hecho posible que todos tengamos igualdad de derechos y posibilidades para superarnos

profesionalmente.

A todos aquellos que no vacilaron en ofrecernos su mano amiga en los momentos más difíciles para lograr este objetivo.

Arlenys y Dayron

(6)

VI las Ciencias Informáticas a hacer uso del mismo en su beneficio.

Para que así conste firmo la presente a los ____ días del mes de ________ del año ________.

Autor(es): Arlenys Herrera González Dayron Hernández Ramos ___________________ ____________________

Tutor(a): Ing. Jofman Pérez Tarancón _____________________

(7)

VII Autores:

Tutor: Ing. Jofman Pérez Tarancón

____________________

Fecha: ____________________

(8)

VIII Para llevar a cabo este proyecto se siguieron los pasos que propone el Proceso Unificado de Desarrollo de Software, además se utilizaron las tecnologías J2EE (Java 2 Enterprise Edition), y sus paquetes básicos; para el almacenamiento de datos se puso en marcha un servidor de DB2 Express-C, conjuntamente desarrollando los siguientes componentes:

Modelo: Formado por las clases java que implementarán la lógica de negocio en nuestro sistema BAM Web Center.

Vista: La forma de presentar los datos en nuestro sistema por medio de páginas (HTML y Javascript).

Controlador: Estará compuesto por el Servlet que atienda las peticiones de los navegadores y las clases necesarias para controlar el acceso a los distintos componentes de nuestra aplicación.

Con esto se pretende separar la lógica de negocio, la presentación al usuario y el control del flujo de la aplicación, de manera que cambios en uno de estos componentes afecten en la menor medida posible al resto.

Se emplearon un grupo de tecnologías y librerías open sourse que facilitan el diseño e implementación de un prototipo de solución, que estarán sujetas a cambios a medida que se hagan necesarias en posteriores iteraciones del producto.

El sistema en cuestión tiene las características de ser multiplataforma, las herramientas con las que fue implementado son pertenecientes a la gama de software libre, es genérico, va a permitir realizar un monitoreo proactivo de los negocios y brinda la posibilidad de alertar al personal encargado de la existencia de un problema o una oportunidad. Además de dar un seguimiento estadístico de los sucesos que tienen lugar en los diferentes negocios, con fines de almacenar información inteligente y tomar decisiones a tiempo en condiciones similares.

(9)

1

ÍN Í N DI D IC C E E

Sistema para el Análisis y Monitoreo de Negocios... I DEDICATORIA ... III AGRADECIMIENTOS ... IV DECLARACIÓN DE AUTORÍA ... VI OPINIÓN DEL TUTOR ... VII RESUMEN... VIII

ÍNDICE ... 1

INTRODUCCIÓN ... 4

CAPÍTULO 1 ... 11

Fundamentación Teórica ... 11

1.1 Introducción ... 11

1.2 Business Intelligence (Inteligencia Empresarial o Inteligencia de Negocios) (BI). ... 11

1.3 Conceptos asociados al dominio del problema. ... 12

1.3.1 Business Process Management (Gestión de procesos de negocio) (BPM). ... 12

1.3.2 Arquitectura Orientada a Servicios (Service Oriented Architecture, SOA). ... 14

1.3.2.1 Ventajas de una arquitectura orientada a servicios ... 14

1.3.2.2 Diseño basado en SOA ... 14

1.3.2.3 Elementos de SOA ... 16

1.4 Objeto de estudio ... 19

1.4.1 Descripción General ... 19

1.4.2 Descripción actual del dominio del problema ... 19

1.4.3 Situación problémica... 22

1.4.4 Análisis de otras soluciones existentes ... 23

1.5 Conclusiones ... 26

CAPITULO 2 ... 27

Tendencias y Tecnologías Actuales ... 27

2.1 Introducción ... 27

2.2 Las aplicaciones Web ... 27

2.3 Modelo Cliente Servidor ... 29

2.4 Lenguajes de Programación Web ... 31

2.4.1 Lenguaje de programación Java ... 32

(10)

2

2.4.2 Lenguaje de programación JavaScript ... 34

2.4.3 AJAX: Una técnica de desarrollo Web. ... 35

2.5 Herramienta de desarrollo. ... 37

2.5.1 Eclipse ... 37

2.5.2 Servidor Web Apache ... 38

2.5.3 Apache ActiveMQ ... 40

2.6 Sistema de Gestión de Bases de Datos (SGBD). ... 41

2.6.1 DB2 Express - C ... 42

2.7 Metodología de Desarrollo de Software ... 43

2.8 Lenguaje Unificado de Modelado (UML) ... 47

2.9 Herramienta Case. ... 49

2.10 Conclusiones ... 50

CAPÍTULO 3 ... 51

Presentación de la Solución Propuesta ... 51

3.1 Introducción ... 51

3.2 Modelo de Dominio. ... 51

3.3 Especificación de los requisitos de software del sistema ... 52

3.3.1 Requerimientos funcionales. ... 52

3.3.2 Requerimientos No Funcionales ... 54

3.4 Descripción del Sistema Propuesto ... 58

3.4.1 Descripción de los actores del sistema ... 58

3.4.2 Casos de Uso del Sistema ... 60

3.4.2.1 Diagrama de Casos de uso del sistema. ... 62

3.4.3 Descripción textual de casos de usos del sistema ... 62

3.4.3.1 Caso de Uso “Autenticar usuarios” ... 62

3.4.3.2 Caso de Uso “CU Gestionar tableros de mando” ... 63

3.4.3.3 Caso de Uso “CU Propagar información de un fichero XML” ... 65

3.4.3.4 Caso de Uso “CU Capturar la información de las métricas” ... 66

3.4.3.5 Caso de Uso “CU Procesar información” ... 67

3.4.3.6 Caso de Uso “CU Gestionar usuarios del sistema”... 70

3.4.3.7 Caso de Uso “CU Monitorear las métricas representadas en el tablero de mando” ... 71

3.5 Análisis... 72

3.5.1 Diagrama de clases de análisis ... 72

CAPÍTULO 4 ... 73

Construcción de la Solución Propuesta ... 73

4.1 Introducción ... 73

4.2 Diagramas de Clases ... 73

(11)

3 4.3 El diagrama de clases Web fue definido a partir de los diferentes casos de uso del sistema y

empleando las extensiones de UML para Web. ... 73

4.3.1 Principios de diseño. ... 73

4.3.2 Estándares de la interfaz de la aplicación ... 75

4.3.3 Estándares de Codificación ... 76

4.3.4 Tratamiento de Errores ... 77

4.4 Diseño de la Base de Datos ... 77

4.4.1 Diagrama de Clases Persistentes ... 79

4.4.2 Modelo de Datos ... 80

4.5 Generalidades de la Implementación ... 80

4.6 Modelo de Despliegue ... 82

4.7 Conclusiones ... 83

CONCLUSIONES ... 84

RECOMENDACIONES ... 86

REFERENCIAS BIBLIOGRÁFICAS ... 87

GLOSARIO DE TÉRMINOS ... 90

ANEXOS ... 94

(12)

4

I IN N TR T RO OD D UC U CC C I ÓN N

La automatización de los procesos de negocios en el mundo y en particular en la Oficina Nacional de Identificación y Extranjería (ONIDEX), organización perteneciente a la República Bolivariana de Venezuela, condiciona la necesidad de contar con un sistema que permita la recolección de métricas y la visualización de estas en una interfaz de monitoreo. Todo esto se complementa en un sistema para el análisis y monitoreo de los negocios.

Saber exactamente en qué situación se encuentra un proceso de negocio en tiempo real, permite tener más elementos y tomar decisiones de manera más rápida, lo cual beneficia la gestión asociada a la actividad.

La recolección de información operacional, el seguimiento del curso de sus métricas para detectar posibles anomalías y su visualización gráfica, constituye un aspecto importante para cualquier proceso de negocio. La necesidad de lograr la persistencia y el análisis en tiempo real de los valores acumulados, a través de gráficos y tablas, para lograr la toma rápida de decisiones conlleva al incremento de la competitividad y una mayor eficiencia en los negocios.

En la actualidad la convergencia entre distintas tecnologías está haciendo posible que en las organizaciones exista una recolección instantánea de la información de la mayoría de sus operaciones, la cual puede ser monitoreada y visualizada en cualquier momento para optimizar la gestión. Para lograrlo, se requiere de indicadores de negocio y tecnologías que permitan capturar e integrar la información de distintas áreas de la empresa y sus procesos para que sus directivos y el personal encargado de la gestión de los procesos puedan conocer el estado del negocio con la máxima certeza.

La información generada en las transacciones cotidianas, ya sea en los procesos productivos, logísticos y financieros de las organizaciones, no siempre está disponible en el momento oportuno para prevenir anomalías, aprovechar una oportunidad o solucionar algún problema crítico para el negocio.

El monitoreo de las actividades del negocio es una tecnología emergente que observa y registra las actividades de la empresa, brinda acceso a información en tiempo real y genera alertas para reaccionar más rápido ante eventuales problemas u oportunidades. En julio del

(13)

5 2001, Gartner1 acuñó un término que conceptualiza esta nueva ola de soluciones tecnológicas para apoyar la gestión. Se trata de Business Activity Monitoring o Monitoreo de las Actividades del Negocio (BAM), el cual ha captado el interés de las organizaciones y ha planteado a la industria de las Tecnologías de la Información (TI) un nuevo desafío para el presente y futuro.

El presente trabajo se centra en un estudio exhaustivo de las herramientas para el monitoreo de las actividades de negocio, sus principales características y funcionalidades. Esta información será la base para el diseño y la implementación de un sistema BAM que facilitará el seguimiento de los servicios que ofrece la ONIDEX dentro de los cuales se destacan por su extensión y complejidad los distintos trámites de cedulación, pasaporte, identificación y extranjería que tienen lugar en los distintos centros que pertenecen a dicha organización, siendo como referencia las oficinas regionales, módulos de cedulación, aeropuertos, puertos marítimos y las oficinas centrales, así como para otro proceso de negocios de los cuales se requiera de una solución similar.

Se hace importante definir ¿Cuál es la Situación Problémica existente? para la que se pretende dar una solución con respecto al control y toma de decisiones de los diferentes procesos de negocio en dicha organización.

La necesidad de una herramienta capaz de permitir la visualización, supervisión y constante monitoreo de los datos obtenidos en los procesos de negocio dentro de las organizaciones y en este caso específico dentro de la ONIDEX.

La ausencia de esta herramienta trae como consecuencias que se tarda en dar respuestas a las situaciones anormales que se producen en los distintos procesos.

El problema a resolver queda formulado con la siguiente interrogante:

¿Cómo mejorar el monitoreo de las actividades de los procesos de la organización a través de una herramienta que permita la visualización y supervisión de la información?

El presente trabajo tiene como Objeto de Estudio la tecnología BAM, la cual posee características distintivas dentro del grupo de las TI, una de ellas es que emplea inteligencia de negocios operacional y aplicaciones de tecnologías de integración para supervisar

1 Gartner Group: consultora americana especializada en tecnologías de la información.

(14)

6 procesos y mejorarlos continuamente, basándose en la información que proviene directamente del conocimiento de los eventos operacionales.

Las herramientas BAM permiten el acceso en tiempo real a indicadores de negocios usando alertas para comunicar los problemas y las oportunidades a los ejecutivos o personal encargado. El valor de BAM reside en su habilidad para detectar y responder rápidamente a los eventos que están siendo monitoreados proporcionando como resultado una productividad más alta y costos más bajos.

La función de Monitoreo de Actividades de Negocios provee un tablero de control o tablero ejecutivo para los directivos y demás personal implicados en la supervisión de los procesos automatizados, resaltando los indicadores de alto rendimiento, excesivos errores de transacciones, tiempos de respuesta, entre otros. Esto conlleva a puntualizar como Campo de Acción el análisis en tiempo real de los indicadores que brindan información del estado de los procesos automatizados en los que la ONIDEX lleva el control.

Se parte de la Hipótesis de que si se desarrolla una herramienta capaz de representar e integrar las métricas asociadas a los diferentes procesos de negocio, se podrían tomar mejores decisiones y el personal encargado podría ser alertado automáticamente ante cualquier problemática que ponga en riesgo al negocio o que represente una oportunidad de éxito.

En aras de dar solución al problema planteado se define como Objetivo General diseñar e implementar una herramienta capaz de integrar, gestionar y visualizar las métricas asociadas a los diferentes procesos de negocio dentro de una empresa, además de alertar en caso necesario el personal correspondiente ante una anomalía en los indicadores de negocio que ponga en riesgo al mismo, permitiendo llevar a cabo el seguimiento de las actividades relacionadas con uno o varios sistemas y procesos de negocios.

Para dar cumplimiento a lo formulado en el objetivo general nos trazamos los siguientes Objetivos Específicos:

Desarrollar funcionalidades que permitan a los usuarios del sistema especificar las reglas para validar, correlacionar y analizar los indicadores de negocio.

(15)

7 Definir una arquitectura que responda a las necesidades del sistema.

Integrar componentes que permitan dar cumplimiento a los requerimientos planteados.

Definimos las Tareas a seguir en la investigación:

Analizar las necesidades y situación actual del cliente.

 Realizar un estudio del arte de los Sistemas de BAM más referenciados actualmente a nivel mundial.

 Búsqueda bibliográfica sobre el tema.

1. Documentos relacionados con las soluciones de BAM.

2. Documentos relacionados con diferentes tecnologías a utilizar.

Aceptación y aprobación de los documentos consultados.

 Modelamiento del Negocio 1. Definición de conceptos

2. Diagrama de Modelo del Dominio.

3. Modelo de Objeto.

Aceptación y aprobación de los artefactos a entregar.

 Especificación de los Requisitos del software.

1. Definición de Requisitos Funcionales 2. Definición de Requisitos no Funcionales.

Modelamiento del Sistema

1. Definición de Actores.

2. Definición de Casos de Uso.

3. Diagramas de Casos de Uso.

4. Descripción expandida de los Casos de Uso.

5. Diagramas de actividades de los Casos de Uso.

Aceptación y aprobación de los artefactos a entregar.

 Realizar el análisis y diseño del sistema a desarrollar.

 Análisis

1. Modelo de clases del análisis.

2. Diagrama de Colaboración

(16)

8 Aceptación y aprobación de los artefactos a entregar.

 Diseño

1. Paquetes y sus relaciones.

2. Diagramas de clases del diseño.

3. Diagrama de Colaboración 4. Diseño de la Base de datos.

5. Diagrama Entidad Relación de la Base de Datos.

6. Descripción de las tablas.

7. Definiciones de diseño que se apliquen.

8. Patrones de arquitectura (MVC).

9. Interfaz.

10. Tratamiento de errores.

11. Diagrama de despliegue.

Aceptación y aprobación de los artefactos a entregar.

 Desarrollar una solución que muestre las funcionalidades básicas de lo que sería un sistema de este tipo, siguiendo los paradigmas de la Arquitectura Orientada a Servicios (SOA).

Implementación.

1. Diagrama de despliegue con los componentes.

2. Diagrama de Componentes.

3. Descripción del diagrama de clases de la Capa de Acceso a Datos (CAD).

4. Descripción de los esquemas de sincronización de datos.

5. Aceptación y aprobación de los artefactos a entregar.

 Procesamiento y análisis de los resultados obtenidos.

1. Diseño Teórico.

2. Diseño Metodológico.

3. Fundamentación teórica.

Aceptación y aprobación de los artefactos a entregar.

(17)

9 Se aplicaron los siguientes Métodos de Investigación Científica:

 Métodos Teóricos

Analítico - sintético: Mediante este método se va a analizar toda la teoría recopilada a través de los diferentes medios bibliográficos que pueda servir para desarrollar mejor el diseño del sistema, y poder aplicar así estos conocimientos en la práctica de manera que se adquiera una mayor preparación sobre el tema en cuestión.

Inducción - deducción: Se seleccionó este método con el objetivo de estructurar el conocimiento científico a partir de la revisión bibliográfica.

Hipotético – deductivo: Ayuda deducir y explicar leyes e hipótesis de menor nivel de generalidad y abstracción a partir de propuestas de mayor nivel de generalidad, abstracción y lógica. Desempeña un papel esencial en el proceso de verificación de las hipótesis y leyes teóricas

Histórico - lógico: Posibilita el análisis histórico de la trayectoria de los procesos de monitoreo de negocios y la documentación del sistema desarrollado anteriormente para encontrar las deficiencias y lograr entender la lógica interna de su funcionamiento.

 Método Empírico

Entrevista: Es necesario el intercambio con el personal capacitado que trabaja en la ONIDEX para obtener información referente al tema, criterios y corregir malas concepciones que se puedan tener para cumplir con los requerimientos deseados.

Capítulo I. Fundamentación Teórica, incluye el análisis de la información existente acerca del tema a tratar a nivel internacional, nacional, de la Universidad y se describe el objeto de estudio en que se desarrolla al sistema.

Capítulo II. Tendencias y tecnologías actuales, incluye el análisis de la información existente acerca de las tendencias y tecnologías actuales que existen en el mundo de los negocios empresariales.

(18)

10 Capítulo III. Presentación de la solución propuesta, se describe el objeto de estudio en términos de negocio, el entorno de trabajo en que se desarrolla el sistema, se especifican los detalles de la construcción del sistema, la propuesta del sistema, requerimientos funcionales y no funcionales y los casos de uso del sistema.

Capítulo IV. Construcción de la solución propuesta, aborda aspectos relacionados con la definición de los modelos de análisis de diseño, se modelan los diagramas de clases web, se plantea el modelo de datos y se describe la distribución física del sistema mediante el modelo de despliegue y el modelo de componentes.

(19)

11

CA C AP ÍT TU UL LO O 1 1 F F u u n n d d a a m m e e n n t t a a c c i i ó ó n n T T e e ó ó r r i i c c a a

1.1 Introducción

Este capítulo aborda aspectos generales de la inteligencia de negocios y las actividades de monitoreo de negocio con fines del mejoramiento en los servicios. Se brinda una breve explicación de los aspectos relacionados sobre procesos que se llevan a cabo dentro de la ONIDEX y en específico los trámites de identificación y extranjería en las que dicha organización llevan el control. Se introduce a los problemas que se presentan en el departamento con el manejo de la información allí generada y se analizan las variantes posibles para la solución de dichos problemas. Se analizan soluciones informáticas existentes que modelan dicho problema, comparando alternativas y buscando una solución factible.

1.2 Business Intelligence (Inteligencia Empresarial o Inteligencia de Negocios) (BI).

“Es la transformación de los datos de la compañía en conocimiento para obtener una ventaja competitiva”. (1)

Desde un punto de vista más pragmático y asociándolo directamente a las tecnologías de la información, se puede definir Business Intelligence como: “el conjunto de herramientas, metodologías, aplicaciones y tecnologías que permiten reunir, depurar y transformar datos de los sistemas transaccionales e información desestructurada (interna y externa a la compañía) en información estructurada, para su explotación directa (reporting, análisis OLAP) o para su análisis y conversión en conocimiento soporte a la toma de decisiones sobre el negocio. Con BI se puede crear una base de datos de clientes, prever ventas y devoluciones, compartir información entre diferentes departamentos y mejorar el servicio al cliente”.

Este conjunto de herramientas y metodologías tienen en común las siguientes características:

 Accesibilidad a la información: Los datos son la fuente principal de este concepto. Lo primero que deben garantizar este tipo de herramientas y técnicas será el acceso de los usuarios a los datos con independencia de la procedencia de estos.

(20)

12

 Apoyo en la toma de decisiones: Se busca ir más allá en la presentación de la información, de manera que los usuarios tengan acceso a herramientas de análisis que les permitan seleccionar y manipular sólo aquellos datos que les interesen.

Orientación al usuario final: Se busca independencia entre los conocimientos técnicos de los usuarios y su capacidad para utilizar estas herramientas.

1.3 Conceptos asociados al dominio del problema.

1.3.1 Business Process Management (Gestión de procesos de negocio) (BPM).

Es la metodología empresarial cuyo objetivo es mejorar la eficiencia a través de la gestión sistemática de los procesos de negocio, que se deben modelar, automatizar, integrar, monitorizar y optimizar de forma continua. Se enfoca en la administración de los procesos del negocio.

Un proceso de negocio es un conjunto estructurado de actividades, diseñado para producir una salida determinada o lograr un objetivo. Los procesos describen cómo es realizado el trabajo en la empresa y se caracterizan por ser observables, medibles, mejorables y repetitivos. (2)

Estructuralmente, un proceso de negocio está constituido por un conjunto de actividades. Así, la actividad, como elemento básico, mediante relaciones o dependencias con otras actividades conforma la estructura de un proceso de negocio.

Un proceso de negocio se puede ver como un conjunto estructurado de tareas, que contribuyen colectivamente a lograr los objetivos de una organización. Los procesos de negocio de una organización son parte de su cultura. Se registran y difunden en manuales de procedimientos, diagramas de flujo y hasta en forma verbal. Son la base operativa de una empresa y el éxito de la misma depende fuertemente de la eficiencia con que sean gestionados. Una mala gestión de los procesos trae aparejados altos costos, baja productividad e inadecuados tiempos de respuesta tanto frente a las oportunidades como a las amenazas. Con una solución BAM se establecería un medio de comunicación instantáneo entre los procesos de negocios y los encargados de la gestión de los mismos, sería un complemento a la capacidad de toma de decisiones, además de presentarse como un factor

(21)

13 clave en la detención del caos en los distintos negocios que tengan desplegados una solución BAM, siempre y cuando exista disponible un medio por donde propagarse la información de las métricas en dichos negocios.

Business Service Management (BSM).

Es un enfoque tecnológico que se centra en un principio: dar visibilidad a los procesos de negocio de la empresa en lugar de buscar en una colección de componentes tecnológicos interrelacionados.

BSM es una estrategia de software para administrar la TI desde la perspectiva de negocios. Al implementar BSM, las empresas pueden alinear rápidamente sus operaciones de TI para apoyar directamente los objetivos críticos del negocio. Esta estrategia flexible ayuda a las compañías a identificar rápidamente y optimizar los procesos claves en sus empresas y es un paso importante, debido a que la calidad de los servicios críticos del negocio puede impactar el éxito del mismo. Estos servicios del negocio abarcan múltiples aplicaciones, bases de datos y redes en toda la infraestructura de TI.

Fig. 1.1 Gestión de los servicios de negocio.

(22)

14 1.3.2 Arquitectura Orientada a Servicios (Service Oriented Architecture, SOA).

Es una arquitectura de software que permite la creación y/o cambios de los procesos de negocio desde la perspectiva de TI de forma ágil, a través de la composición de nuevos procesos utilizando las funcionalidades de negocio que están contenidas en la infraestructura de aplicaciones actuales o futuras (expuestas bajo la forma de web services).

Es una filosofía de diseño que permite un mejor alineamiento de las Tecnologías de Información (IT) con las necesidades de negocio, permitiendo a empleados, clientes y socios comerciales responder de forma más rápida y adaptarse adecuadamente a las presiones del mercado.(3)

La Arquitectura Orientada a Servicios (Service-Oriented Architecture, SOA) es un concepto de arquitectura de software que define la utilización de servicios como construcciones básicas para el desarrollo de aplicaciones. Es una arquitectura de una aplicación donde las funcionalidades se definen como servicios independientes, con interfaces invocables bien definidas, que pueden ser llamadas en secuencias dadas para formar procesos de negocios.

1.3.2.1 Ventajas de una arquitectura orientada a servicios

Una estrategia de aplicaciones empresariales debe facilitar su integración. Exponer procesos de negocio como servicios es la clave a la flexibilidad de la arquitectura. Esto permite que otras piezas de funcionalidad (incluso también implementadas como servicios) hagan uso de otros servicios de manera natural, sin importar su ubicación física. Así un sistema evoluciona con la adición de nuevos servicios y su mejoramiento, y cada servicio evoluciona de una manera independiente. La Arquitectura Orientada a Servicios (SOA) resultante, define los servicios de los cuales estará compuesto el sistema, sus interacciones, y con qué tecnologías serán implementados. Las interfaces que utiliza cada servicio para exponer su funcionalidad son gobernadas por contratos, que definen claramente el conjunto de mensajes soportados, su contenido y las políticas aplicables.

1.3.2.2 Diseño basado en SOA

La metodología de modelado y diseño para aplicaciones SOA se conoce como análisis y diseño orientado a servicios. La arquitectura orientada a servicios es tanto un marco de

(23)

15 trabajo para el desarrollo de software como un marco de trabajo de implantación. Para que un proyecto SOA tenga éxito, los desarrolladores de software deben orientarse ellos mismos a esta mentalidad de crear servicios comunes que son orquestados por clientes o middleware para implementar los procesos de negocio. El desarrollo de sistemas usando SOA requiere un compromiso con este modelo en términos de planificación, herramientas e infraestructura . Por otro lado, la implementación ideal de un servicio exige resolver algunos inconvenientes técnicos inherentes a su modelo:

• Los tiempos de llamado no son despreciables, gracias a la comunicación de la red, tamaño de los mensajes, etc. Esto necesariamente implica la utilización de mensajería confiable.

• La respuesta del servicio es afectada directamente por aspectos externos como problemas en la red, configuración, etc. Estos deben ser tenidos en cuenta en el diseño, desarrollándose los mecanismos de contingencia que eviten la parálisis de las aplicaciones y servicios que dependen de él.

• Comunicaciones no confiables, mensajes impredecibles, reintentos, mensajes fuera de secuencia, etc.

A su vez, cuando se usan múltiples servicios para implementar un sistema, es muy fácil que la comunicación entre estos se salga de control. Por ejemplo, se puede tener un servicio que llama a otros seis servicios, algunos de los cuales llaman a otros servicios, y de esta manera, muy fácilmente el sistema se vuelve inmanejable. De esta forma, un sistema grande puede terminar con múltiples dependencias. Detectar un problema de rendimiento o funcionalidad se puede volver muy complicado.

Según lo expresado, si no se cuenta con una estrategia adecuada, se puede llegar a una implementación donde exista una explosión de dependencias entre los diferentes servicios.

Una solución a este problema es extraer los aspectos de procedimiento de varios servicios dentro de uno dedicado, llamado servicio de negocio. Así, un servicio de negocio centraliza la definición del proceso, disminuyendo las dependencias entre servicios y las aplicaciones clientes, ayudando a su vez a facilitar la administración del sistema.

(24)

16 1.3.2.3 Elementos de SOA

Esta arquitectura presenta una forma de construir sistemas distribuidos que entreguen a la aplicación funcionalidad como servicios para aplicaciones de uso final u otros servicios.

• Funciones

 Transporte: es el mecanismo utilizado para llevar las demandas de servicio desde un consumidor de servicio hacia un proveedor de servicio, y las respuestas desde el proveedor hacia el consumidor.

 Protocolo de comunicación de servicios: es un mecanismo acordado a través del cual un proveedor de servicios y un consumidor de servicios comunican qué está siendo solicitado y qué está siendo respondido.

 Descripción de servicio: es un esquema acordado para describir qué es el servicio, cómo debe invocarse, y qué datos requiere el servicio para invocarse con éxito.

 Servicios: describe un servicio actual que está disponible para utilizar.

 Procesos de Negocio: es una colección de servicios, invocados en una secuencia particular con un conjunto particular de reglas, para satisfacer un requerimiento de negocio.

 Registro de Servicios: es un repositorio de descripciones de servicios y datos que pueden utilizar proveedores de servicios para publicar sus servicios, así como consumidores de servicios para descubrir o hallar servicios disponibles.

• Calidad de Servicio

 Política: es un conjunto de condiciones o reglas bajo las cuales un proveedor de servicio hace el servicio disponible para consumidores.

 Seguridad: es un conjunto de reglas que pueden aplicarse para la identificación, autorización y control de acceso a consumidores de servicios.

 Transacciones: es el conjunto de atributos que podrían aplicarse a un grupo de servicios para entregar un resultado consistente.

(25)

17

 Administración: es el conjunto de atributos que podrían aplicarse para manejar los servicios proporcionados o consumidos.

Las colaboraciones en SOA siguen el paradigma find, bind and invoke, donde un consumidor de servicios realiza la localización dinámica de un servicio consultando el registro de servicios para hallar uno que cumpla con un determinado criterio. Si el servicio existe, el registro proporciona al consumidor la interfaz de contrato y la dirección del servicio proveedor.

El siguiente diagrama ilustra las entidades (roles, operaciones y artefactos) en una arquitectura orientada a servicios donde estas colaboran.

Proveedor de Servicios Registro

de Servicios

Consumidor de Servicios

Servicio

Descripción de Servicio Descripción

de Servicio

Liga e Invoca

Publica Descubre

Fig. 1.2 Colaboraciones en SOA.

(26)

18 Cada entidad puede tomar el rol de consumidor, proveedor y/o registro:

• Un consumidor de servicios es una aplicación, un módulo de software u otro servicio que requiere un servicio, y ejecuta el servicio de acuerdo a un contrato de interfaz.

• Un proveedor de servicios es una entidad direccionable a través de la red que acepta y ejecuta consultas de consumidores, y publica sus servicios y su contrato de interfaces en el registro de servicios para que el consumidor de servicios pueda descubrir y acceder al servicio.

• Un registro de servicios es el encargado de hacer posible el descubrimiento de servicios, conteniendo un repositorio de servicios disponibles y permitiendo visualizar las interfaces de los proveedores de servicios a los consumidores interesados.

Las operaciones son:

• Publicar. Para poder acceder a un servicio se debe publicar su descripción para que un consumidor pueda descubrirlo e invocarlo.

• Descubrir. Un consumidor de servicios localiza un servicio que cumpla con un cierto criterio consultando el registro de servicios.

• Ligar e Invocar. Una vez obtenida la descripción de un servicio por parte de un consumidor, éste lo invoca de acuerdo a la información en la descripción del servicio.

Finalmente, los artefactos en una arquitectura orientada a servicios son:

• Servicio. Un servicio que está disponible para el uso a través de una interfaz publicada y que permite ser invocado por un consumidor de servicios.

• Descripción de servicio. Una descripción de servicio especifica la forma en que un consumidor de servicio interactuará con el proveedor de servicio, especificando el formato de consultas y respuestas desde el servicio. Esta descripción también puede especificar el conjunto de pre-condiciones, pos-condiciones y/o niveles de calidad de servicio (QoS).

(27)

19 1.4 Objeto de estudio

1.4.1 Descripción General

El seguimiento de los procesos de negocios y de los indicadores se realiza típicamente empujando información desde múltiples aplicaciones y fuentes de datos para presentarla al usuario en tiempo real en su pantalla, a través de "velocímetros", gráficos de barras, tablas, a los que se conoce como tableros de mando. La información puede ser filtrada para que cada usuario reciba o visualice datos de especial interés en su área.

BAM requiere establecer reglas precisas que permitan disparar alarmas cuando exista alguna tendencia o indicio de algún problema potencial. Dichas alarmas pueden tomar forma de correo electrónico, un mensaje al celular o cualquier otro mecanismo de notificación, lo que posibilita una reacción inmediata. Incluso, las alertas pueden estar asociadas a otras acciones, como el envío de un e-mail a determinadas personas dentro de la empresa, o bien a proveedores, clientes o socios de negocio.

1.4.2 Descripción actual del dominio del problema

El sistema que se propone en este trabajo tiene como objetivo explotar al límite las tecnologías existentes y hacer uso de herramientas factibles en la industria de la producción de software libre, procurando una solución robusta, con una capacidad de adaptarse a los diferentes negocios para los cuales se haga útil su implantación y que pueda ser aplicada en cualquier plataforma.

Se propone para la mejor comprensión de la misma dividirla por módulos:

Primer módulo: Agente de Negocio.

Es un subproducto, desarrollado en java, con algunas funcionalidades descritas en XML y que forma parte de dos procesos que son la base de la propuesta de solución informática. El primero es el proceso de recopilación de la información asociada a los procesos de negocio y el segundo la propagación de la misma hacia un centro de información. Ambos procesos son servicios que se ejecutan constantemente en modo background, más adelante se describen cada uno de ellos.

Segundo módulo: Agente Central

(28)

20 En este subproducto, igualmente desarrollado en java, al cual se denomina en el transcurso de este trabajo: Agente Central BAM, el cual va a recepcionar gran volumen de información proveniente de los distintos negocios que forman parte de su propia red. Cabe señalar que aunque no se implementa en esta primera iteración, sí se encuentra presente en nuestra propuesta de arquitectura. El propio sistema se podrá comunicar con negocios externos, de los cuales se podrá servir de la información que estos publiquen, ya sea un servicio web, u otra forma, o a su vez dará la posibilidad de brindar una cierta y determinada información que se solicite por una entidad externa, siempre con previa autorización del sistema y de la administración de la empresa rectora.

Este segundo módulo además, cuenta con una solución web, implementada en java del lado del servidor, y en la parte del cliente, se determinó usar java script, además se usó Ajax para las peticiones que exige un sistema, con el objetivo de representar la información en distintas formas, simultáneamente, y con diferentes intervalos de periodicidad. Para eso nos apoyamos en un framework (dojo) para que el trabajo con gráficos, tablas y ambiente dieran la sensación y apariencia de estar trabajando una aplicación desktop. La solución web tendrá un alto grado de complejidad, dado que se propone poder crear, modificar y eliminar un tablero, además de poder visualizar uno seleccionado, más adelante se explica cómo fluye este proceso en un entorno web.

Inicialmente para la propuesta del sistema se proponen una serie de mecanismos y tecnologías, que compiten en el mercado, con un alto grado de aceptación, sin descartar el posible empleo de otras sin alterar en absoluto la arquitectura del producto.

Descripción de los procesos automatizados por el sistema:

Agente de negocio

En este subsistema se ejecutan varios hilos de procesos, los cuales van a tener el control de la información previamente diseñada con la ayuda de una utilidad, aunque esta puede ser manipulada, se recomienda tener conocimiento del XML como lenguaje. Cuando el agente se inicia en un negocio, recolecciona toda la información descrita en ficheros XML (metadata, iniagente) que le va a ser útil durante su ciclo de vida, ya que si se modifica la información, el agente no podrá verla hasta que sea reiniciado manualmente; una vez que obtiene dicha

(29)

21 información, comienza su ciclo de recolección de la información de las métricas asociada a los procesos de negocio. Esta información es procesada en aras de verificar su autenticidad, es almacenada en un repositorio, para tener un análisis manual o una recreación de la información obtenida en el transcurso del tiempo, y a su vez es enviada por medio de una conexión https con el agente central y se mantiene en constante envío de la información, aún cuando no se está monitoreando por un usuario directo(Ejecutivo), una vez enviada dicha información y verificada la entrega, comienza un nuevo ciclo de procesamiento de la información.

Agente Central BAM

Tiene una interfaz de cara a los negocios que permite que estos puedan comunicarse de forma segura bajo el protocolo https. Teniendo en cuenta que se propone el uso de Apache ActiveMQ (no implementado para esta iteración), el uso de este servidor posibilitará gestionar el flujo de conexiones y de información, de forma tal que ante una ausencia del proceso que procesa la información antes de persistirla en la base de datos BAM, tiene algún inconveniente o simplemente ocurre algún problema en la infraestructura que sostiene el sistema. La información no pierde su valor, aunque no se garantiza la vigencia, puesto que una vez que se recupere la misma habrá transcurrido un breve período de tiempo.

(30)

22

Diagrama de la arquitectura general del sistema.

1.4.3 Situación problémica

Existen aspectos deficientes que han generado la situación problémica que se pretende resolver con este trabajo. En estos momentos el proceso de gestión de la información que se origina producto de los distintos trámites que se llevan a cabo por la ONIDEX como encargada de la identificación y extranjería de los ciudadanos venezolanos se realiza de forma manual.

Diariamente se originan un número elevado de datos que se almacenan en papel provocando

(31)

23 un manejo poco eficiente de tan alto volumen de información, además de que el personal encargado de la recepción y la toma de decisiones como complemento a anomalías que puedan ocurrir en dichos procesos tiene retraso por falta de inmediatez en el flujo de información.

Estos datos son guardados por meses sin tener ningún mecanismo que ayude a su procesamiento; esto hace necesario que todo el volumen de información a papel tenga que almacenarse y conservarse durante tiempo indefinido para evitar pérdidas irreparables. Esto trae como consecuencia que las búsquedas sean cada vez más difíciles de realizar a la vez que son más frecuentes en el trabajo, siendo posible pérdida de conocimiento y alcance en los distintos procesos automatizados donde la ONIDEX tiene el control.

Así ocurre también con el control estadístico de información relacionada con estos procesos, como pueden ser los partes diarios de cada tipo de trámite de pasaportes o el tiempo empleado en cada uno de estos o particular de cada personal encargado del control de un determinado proceso. El proceso de trámites de pasaportes por ejemplo, tiene diferentes pasos donde intervienen distintos factores que pueden hacer de este proceso de negocio una fuente de información para el monitoreo del estado de los trámites en una oficina. Este proceso suele ser muy engorroso y siempre está a expensas de errores humanos que traen como consecuencia que se obtengan resultados no esperados. Pero hoy en día esta organización no cuenta con una solución informática que siga de cerca estos procesos.

En general, no se cuenta en la UCI con una aplicación que dé respuesta a las necesidades de gestión de información requeridas en el servicio de análisis y monitoreo de los procesos de negocio, por lo que se hace necesario la existencia de un sistema automatizado que contribuya a mejorar la calidad de los servicios que presta la ONIDEX, así como en un momento dado pueda servir de solución a otra entidad o proyecto.

1.4.4 Análisis de otras soluciones existentes

Las empresas interesadas en aprovechar al máximo su infraestructura informática enfrentan numerosos problemas, que podemos resumir como complejidad, visibilidad, priorización y costes.

(32)

24 Mientras la infraestructura crece en complejidad con la integración de múltiples servidores, aplicaciones, bases de datos y dispositivos, al departamento de informática le resulta cada vez más difícil comprender las prioridades del negocio y visualizar la forma en que un pequeño fallo en un componente tecnológico puede tener un impacto grave en un servicio de negocio completo.

Igualmente difícil resulta discernir y descartar aquellos fallos técnicos que, aún teniendo una cierta importancia a nivel técnico, en realidad no tienen ningún impacto significativo en el negocio; por ejemplo, cuando un componente particular está replicado, existe una solución alternativa o el problema se da fuera del intervalo crítico de disponibilidad.

La no visibilidad de los procesos de negocio y la dificultad al clasificar y procesar los eventos impiden la adecuada priorización de los problemas que afectan la infraestructura y los resultados de negocio.

Esto se debe a que las herramientas de monitorización disponibles, orientadas a la captura de eventos aislados, producen un elevado número de datos, pero poca información útil o manejable. Algunos estudios estiman que entre el 60 y el 80% del presupuesto de TI se dedica a la gestión de sistemas. Sin embargo, la mayoría de las empresas no dispone de ninguna herramienta para reflejar la relación entre sus servicios de negocio y la infraestructura tecnológica que los soporta.

Como si resolver el problema de la complejidad no fuese suficiente, al mismo tiempo las empresas deben cumplir estrictos objetivos de nivel de servicio y reducir el coste total de sus operaciones.

BAM requiere establecer reglas precisas que permitan disparar alarmas cuando exista alguna tendencia o indicio de algún problema potencial. Dichas alarmas pueden tomar forma de correo electrónico, un mensaje al celular, beeper o cualquier otro mecanismo de notificación, lo que posibilita una reacción inmediata. Incluso, las alertas pueden estar asociadas a otras acciones, como el envío de un e-mail a determinadas personas dentro de la empresa, o bien a proveedores, clientes o socios de negocio.

(33)

25 En el mundo hay muchas empresas que se dedican al desarrollo de soluciones de BAM, estas van dirigidas a algunos problemas de integración; pero son propietarias y caras. Estas van desde soluciones caras para la venta (alto coste, ventas cerradas) hasta soluciones personalizadas desarrolladas en casa (alto mantenimiento, alto coste). La desventaja aplastante de estas soluciones son el alto coste y la baja flexibilidad debido a implementaciones no estándares, entre las que podemos encontrar:

TIBCO Software Inc. (Nasdaq:TIBX), INFORMAT Inc., Capco, Compuware, Quantive LLC, Systar.

Teniendo en cuenta la posibilidad de estudio de la solución que provee Oracle, la utilizaremos como ejemplo para el desarrollo de este trabajo.

Oracle Business Activity Monitoring (Oracle BAM) es una solución completamente propietaria, para la construcción de cuadros de mando interactivos, en tiempo real y con alarmas proactivas que permiten monitorizar los procesos y servicios de negocio. Oracle BAM permite a los directivos de negocio y directores de operaciones obtener la información que necesitan para tomar mejores decisiones de negocio y llevar a cabo acciones correctivas si el entorno de negocio cambia, identificar cuellos de botella en sus procesos de negocio integrando BAM con sus sistemas existentes para hacer el seguimiento de los procesos y capturar los eventos de negocio, reconocer de manera inmediata, e incluso predecir los problemas que se dan en las operaciones de negocio a través del seguimiento proactivo de los eventos apropiados en sus sistemas IT.

TIBCO Software Inc. (Nasdaq: TIBX), una de las mayores compañías independientes de software de integración empresarial y gestión de procesos que hace posible el negocio en tiempo real, ha dado a conocer su proyecto TIBCO One™, centrado en la experiencia del usuario para la creación y despliegue de aplicaciones de infraestructura en entornos de TI heterogéneos y distribuidos. Dichas aplicaciones reforzarán y ampliarán las ventajas de la arquitectura orientada a servicios (SOA), la gestión de procesos de negocio (BPM) y las aplicaciones basadas en arquitecturas orientadas a eventos.

Systar, proveedor líder en soluciones Business Activity Monitoring (BAM), propone la solución BusinessBridge BusinessVision para la Monitorización de la Actividad del Negocio, una

(34)

26 herramienta que permite a directivos, personal de operaciones, grupos de aplicación y responsables de procesos de negocio, tomar un control proactivo del mismo.

BusinessBridge BusinessVision es una solución estática, que propone unos tableros de mandos con un nivel de aceptación grande para el mundo empresarial, pero su fundamento es solo probabilístico, lo que hace una solución poco flexible, sin ninguna perspectiva de intercambio o mejoras por parte de los usuarios finales. Teniendo en cuenta que es una solución propietaria y con altos costos por conceptos de licencias.

1.5 Conclusiones

En este capítulo se profundizará en el conocimiento de cómo surgen los servicios de monitoreo de los procesos de negocio, cómo funcionan de manera general los estados de los procesos de negocio. Se abordaron además conceptos básicos asociados al dominio del problema y un análisis de las soluciones existentes en la actualidad y si es posible su aplicación para dar solución a la situación problemática planteada a partir del análisis de diferentes factores concurrentes en los procesos que se llevan a cabo en la ONIDEX, en la República de Venezuela.

(35)

27

CA C AP PI IT TU UL LO O 2 2 T T e e n n d d e e n n c c i i a a s s y y T T e e c c n n o o l l o o g g í í a a s s A A c c t t u u a a l l e e s s

2.1 Introducción

En el presente capítulo se hace referencia a una serie de tecnologías útiles para la comprensión del mismo, se expone el estudio del arte de los sistemas BAM como tecnología de inteligencia de negocios, así como se fundamentan un grupo de herramientas útiles en el diseño y elaboración de una solución que se ajuste a nuestro problema.

2.2 Las aplicaciones Web

Una aplicación web es aquella que los usuarios usando un browser acceden a un servidor web a través de Internet o de una intranet. Las aplicaciones web son populares debido a la practicidad del navegador web como cliente ligero. La habilidad para actualizar y mantener aplicaciones web sin distribuir e instalar software en miles de potenciales clientes es otra razón de su popularidad.

En los primeros tiempos de la computación cliente/servidor, cada aplicación tenía su propio programa cliente y su interfaz de usuario, estos tenían que ser instalados separadamente en cada estación de trabajo de los usuarios. Una mejora al servidor, como parte de la aplicación, requería típicamente una mejora de los clientes instalados en cada una de las estaciones de trabajo, añadiendo un costo de soporte técnico y disminuyendo la eficiencia del personal.

En contraste, las aplicaciones web generan dinámicamente una serie de páginas en un formato estándar, soportado por navegadores web comunes como HTML o XHTML. Se utilizan lenguajes interpretados del lado del cliente, tales como Java Script, para añadir elementos dinámicos a la interfaz de usuario. Generalmente cada página web individual es enviada al cliente como un documento estático, pero la secuencia de páginas provee de una experiencia interactiva.

Las aplicaciones Web son una especialización y concreción de las aplicaciones cliente/servidor, o sea, su arquitectura general es la de un sistema cliente/servidor, donde tanto el cliente (el navegador) como el servidor (el servidor Web), y el protocolo mediante el

(36)

28 que se comunican (el HTTP: HyperText Transfer Protocol) son estándar, y no han de ser creados por el desarrollador. La parte del cliente de las aplicaciones Web está formada por el código HTML (HyperText Markup Language) que forma la página Web, con opción a código ejecutable mediante los lenguajes script de los navegadores (JavaScript, VBScript, PerlScript) o mediante pequeños programas (applets) en Java. La parte del servidor está formada por un programa o script que es ejecutado por el servidor Web, y cuya salida se envía al navegador del cliente.

Ventajas de las Aplicaciones Web:

 Multiplataforma: Con un solo programa, un único ejecutable, nuestras aplicaciones pueden ser utilizadas a través de múltiples plataformas, tanto de hardware como de software.

 Actualización instantánea: Debido a que todos los usuarios de la aplicación hacen uso de un sólo programa que radica en el servidor, los usuarios siempre utilizarán la versión más actualizada del sistema.

 Suave curva de aprendizaje: Los usuarios, como utilizan la aplicación a través de un navegador, hacen uso del sistema tal como si estuvieran navegando por Internet, por lo cual su acceso es más intuitivo.

 Fácil de integrar con otros sistemas: Debido a que se basa en protocolos estándares, la información manejada por el sistema puede ser accedida con mayor facilidad por otros sistemas.

 Acceso móvil: El usuario puede acceder a la aplicación con la única restricción de que cuente con un acceso a la red privada de la organización o a Internet, dependiendo de las políticas de dicha organización; puede hacerlo desde una computadora de escritorio, una laptop o desde una agenda electrónica; desde su oficina, hogar u otra parte del mundo.

El desarrollo de aplicaciones Web está siendo utilizado en muchas organizaciones, esta situación va a ir creciendo indefinidamente. Es por ello que día a día se requieren más programadores capacitados para desarrollos basados en el Word Wide Web (W3C).

(37)

29 Existen además algunas desventajas, estas son:

 Acceso limitado, la necesidad de conexión permanente y rápida a Internet hacen que el acceso a estas aplicaciones no esté al alcance de todos.

 La interactividad no se produce en tiempo real, en las aplicaciones web cada acción del usuario conlleva un tiempo de espera, algunas veces excesivo, hasta que se obtiene la reacción del sistema.

 Elementos de interacción muy limitados. En comparación con el software de escritorio, las posibilidades de interacción con el usuario que ofrecen las aplicaciones web (mediante formularios principalmente) son muy escasas.

 Diferencias de presentación entre plataformas y navegadores. La falta de estándares ampliamente soportados dificulta el desarrollo de las aplicaciones.

Aunque muchas variaciones son posibles, una aplicación web está comúnmente estructurada como una aplicación de tres-capas. En su forma más común, el navegador web es la primera capa, un motor usando alguna tecnología web dinámica (ejemplo: GGI, PHP, Java Servlets o ASP) es la capa del medio, y una base de datos como última capa. El navegador web manda peticiones a la capa media, que la entrega valiéndose de consultas y actualizaciones a la base de datos generando una interfaz de usuario.

2.3 Modelo Cliente Servidor

La arquitectura cliente-servidor llamado modelo cliente-servidor o servidor-cliente es una forma de dividir y especializar programas y equipos de cómputo a fin de que la tarea que cada uno de ellos realiza se efectúe con la mayor eficiencia, y permita simplificarlas. (4)

Se dice que la arquitectura Cliente/Servidor es la integración distribuida de un sistema en red, con los recursos, medios y aplicaciones que, definidos modularmente en los servidores, administran, ejecutan y atienden las solicitudes de los clientes; todos interrelacionados física y lógicamente, compartiendo datos, procesos e información. Se establece así un enlace de comunicación transparente entre los elementos que conforman la estructura.

Características de la arquitectura Cliente/Servidor:

(38)

30

 Orientado a servicios. El servidor los ofrece y el cliente los consume.

 Compartición de recursos. Servicios ofrecidos a muchos clientes. Un servidor puede atender muchos clientes que solicitan esos servicios.

 Transparencia de ubicación. El servidor es un proceso que puede residir en el mismo ordenador que el cliente o en uno distinto a lo largo de una red. Un programa puede ser un servidor en un momento y convertirse en un cliente posteriormente.

 Mezcla e igualdad. Esta es una de las más importantes ventajas de este paradigma.

Una aplicación cliente/servidor, idealmente es independiente del hardware y de sistemas operativos; mezclando e igualando estas plataformas.

 Interacción a través de mensajes, para envío y respuesta de servicios.

 Servicios encapsulados, exponiendo los servicios a través de interfaces, lo que facilita la sustitución de servidores sin afectar los clientes; permitiendo a la vez una fácil escalabilidad.

Ventajas de la arquitectura cliente/servidor:

 El servidor no necesita potencia de procesamiento, parte del proceso se reparte con los clientes.

 Se reduce el tráfico de red considerablemente. Idealmente, el cliente se conecta al servidor cuando es estrictamente necesario, obtiene los datos que necesita y cierra la conexión dejando la red libre.

Las arquitecturas de dos capas contienen tres componentes distribuidos en dos capas: cliente (solicitante de servicios) y servidor (proveedor de servicios).

Los tres componentes son:

1. Interfaz de usuario al sistema. Tales como una sesión, entradas de texto, desplegado de menús, etc.

2. Administración de procesamiento. Tales como la ejecución de procesos, el monitoreo de los mismos y servicios de procesamiento de recursos.

(39)

31 3. Administración de bases de datos. Tales como los servicios de acceso a datos y

archivos.

La arquitectura de software de tres capas emergió en la década de los noventa para solventar las limitaciones de la arquitectura de dos capas. La tercera capa (capa de servicios) se localiza entre la interfaz de usuarios (cliente) y el administrador de datos (servidor). Esta capa intermedia provee de servicios para la administración de procesos (tal como desarrollo, monitoreo y alimentación de procesos) que son compartidos por múltiples aplicaciones.

El servidor de la capa intermedia (también conocido como servidor de aplicaciones) centraliza la lógica de las aplicaciones, haciendo que la administración de cambios sea más sencilla. En arquitecturas más simples, cualquier cambio en la lógica, implica reescribir todas las aplicaciones que dependan de ésta.

La calidad tan especial de esta arquitectura consiste en aislar la lógica de la aplicación y en convertirla en una capa intermedia bien definida y lógica del software. Esta separación entre la lógica de aplicación de la interfaz de usuario añade una enorme flexibilidad al diseño de la aplicación. Pueden construirse y desplegarse múltiples interfaces de usuario sin cambiar en absoluto la lógica de aplicación siempre que esté presente una interfaz claramente definida a la capa de presentación.

2.4 Lenguajes de Programación Web

La diferencia fundamental de Internet a otros medios de comunicación es la interacción y personalización de la información con el usuario. Esto se logra por medio de alguno de los diferentes lenguajes de programación para Web que existen hoy en día. Dichos lenguajes se clasifican en dos partes fundamentales: los lenguajes del lado del Servidor y los lenguajes del lado del Cliente.

Entre los lenguajes del lado del servidor podemos encontrar entre los más sobresalientes por el auge que estos han tenido, algunos como PERL, ASP, PHP, Java, etc. Estos se caracterizan por desarrollar la lógica de negocio dentro del Servidor, además de ser los encargados del acceso a Bases de Datos, tratamiento de la Información, etc. Del lado del cliente se encuentra principalmente el Java Script, encargado de aportar dinamismo a la

(40)

32 aplicación en los navegadores. Seguidamente se analiza el lenguaje utilizado para el desarrollo de este trabajo.

2.4.1 Lenguaje de programaciónJava

Una de las principales características de Java es que es un lenguaje independiente de la plataforma. Eso quiere decir que si se hace un programa en Java podrá funcionar en cualquier ordenador del mercado. Es una ventaja significativa para los desarrolladores de software, pues antes se debía hacer un programa para cada sistema operativo, por ejemplo Windows, Linux, Apple, etc. Esto lo consigue porque se ha creado una Máquina de Java para cada sistema que hace de puente entre el sistema operativo y el programa de Java y posibilita que este último se entienda perfectamente. La independencia de plataforma es una de las razones por las que Java es interesante para Internet, ya que muchas personas deben tener acceso con ordenadores distintos. Java está desarrollándose incluso para distintos tipos de dispositivos además los ordenadores, como móviles y agendas.

Java es un lenguaje potente, seguro y universal gracias a que lo puede utilizar todo el mundo y es gratuito. Una de los primeros triunfos de Java fue que se integró en el navegador Netscape y permitía ejecutar programas dentro de una página web, hasta entonces impensable con el HTML. Actualmente Java se utiliza en un amplio abanico de posibilidades, se puede utilizar y muchas veces con grandes ventajas.

¿Por qué se propone el uso de Java?

Java es la gran opción de desarrollo de aplicaciones Web porque su código se ejecuta sin cambios en una gran variedad de sistemas, cosas que no pueden decir otras herramientas como ASP de Microsoft, y en distintos servidores. Este lenguaje tiene muchas virtudes que lo han convertido en la opción de muchos programadores debido a que:

 Brinda facilidad de aprendizaje del lenguaje.

 Gran cantidad de funciones desarrolladas (Java incorpora más de 1000 funciones).

 Tiene una amplia disponibilidad de secuencia de comandos regeneradas en Java.

(41)

33

 Tiene la capacidad de incrustar código Java Scrips en las páginas HTML, además se vincula fácilmente con los principales gestores de bases de datos.

 Capacidad de conexión con la mayoría de los manejadores de base de datos que se utilizan en la actualidad.

 Es multiplataforma y multisistema.

 Posee una amplia documentación.

 Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.

 Permite las técnicas de Programación Orientada a Objetos.

 Miles de ejemplos y código fuente disponible.

 No depende de un único proveedor de servicios.

 El código fuente es abierto y gratuito.

Java 2 Enterprise Edition - J2EE

Es la plataforma Java especialmente pensada para crear aplicaciones Web. Ofrece un conjunto de especificaciones y técnicas que proporcionan soluciones completas, seguras, estables y escalables para el desarrollo, despliegue y gestión de aplicaciones de múltiples niveles de funcionalidad basadas en servidores. Se reducen el coste y complejidad de desarrollo, lo cual resulta en servicios que se pueden desplegar y extender muy rápidamente.

De los valores que convierten a Java en algo único en este mercado se destacan:

 Capacidad multiplataforma. Java como capa de abstracción permite que el mismo lenguaje de programación, las mismas herramientas y sobre todo el mismo know-how pueda ser utilizado para desarrollar servicios destinados a un gran ordenador o a una pequeña tarjeta inteligente, lo que lo hace útil para todo tipo de empresas.

 Soporte a Red. Java nace en y para la Red. Como cualquier otro producto de Sun Microsystems no es más que una manifestación del principio que ha inspirado a la compañía desde el primer día: la Red es el ordenador (the network is the computer).

Referencias

Documento similar

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

[r]

SVP, EXECUTIVE CREATIVE DIRECTOR JACK MORTON

Social Media, Email Marketing, Workflows, Smart CTA’s, Video Marketing. Blog, Social Media, SEO, SEM, Mobile Marketing,

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

Pero antes hay que responder a una encuesta (puedes intentar saltarte este paso, a veces funciona). ¡Haz clic aquí!.. En el segundo punto, hay que seleccionar “Sección de titulaciones